Skip to content

chore: consolidate outstanding work onto main (ADR-054 FFI fix + conformance oracles)#72

Merged
tachyon-beep merged 7 commits into
mainfrom
consolidate/onto-main
Jun 25, 2026
Merged

chore: consolidate outstanding work onto main (ADR-054 FFI fix + conformance oracles)#72
tachyon-beep merged 7 commits into
mainfrom
consolidate/onto-main

Conversation

@tachyon-beep

Copy link
Copy Markdown
Collaborator

Consolidates the outstanding unmerged work onto main (per "stop leaving work in branches"). All locally verified green; merge gated on CI.

What's included

1. fix(plugin-rust): root edition-2024 #[unsafe(no_mangle)]/#[unsafe(export_name)] FFI entry-points (ADR-054)2a0bb91
attr_is_ident_in matched only the bare #[no_mangle]/#[export_name] forms. Edition 2024 (this workspace's pinned edition) makes those a hard error; real FFI code writes #[unsafe(no_mangle)], which syn parses as Meta::List { path: "unsafe", … }, so every edition-2024 FFI export went un-rooted and read as dead. Peels a single #[unsafe(...)] wrapper before the ident check; adds tests for both wrapped forms. (This commit was sitting on local main, never pushed.)

2. test(...): loomweave↔filigree/wardline conformance oraclesfeat/weft-taint-conformance (4 commits)
Producer/consumer wire-conformance oracles + golden fixtures for: wardline taint-fact wire, wardline vocabulary-descriptor, MCP entity-associations seam, and 3 federation seams. Test + fixture only — zero production-source changes.

3. style: satisfy fmt/clippy/ruff on the conformance test filese5b6e4b
The conformance branch was committed without final fmt/lint passes and tripped three floor gates (cargo fmt line-wrapping, a clippy::doc_markdown backtick, ruff format on the python test). Whitespace/doc-comment only.

Verification (local, full floor)

  • Rust: fmt, clippy --all-targets --all-features -D warnings, build, nextest 1940 passed, doc -D warnings, cargo deny — all green.
  • Python: ruff check, ruff format --check, mypy --strict, pytest 220 passed (87% coverage) — all green.

Not included (handled separately)

  • sync-filigree-fixture-v3 / f420ba2: redundant — the identical fixture-v3 change is already contained in the conformance commits.
  • feat/legis-rename-feed-repoint: stale (1 commit, 337 behind, touches the pre-rename crates/clarion-cli/ path) — needs a port-or-abandon decision, not an auto-merge.
  • dependabot/*: bot dependency PRs, reviewed on their own track.

🤖 Generated with Claude Code

tachyon-beep and others added 7 commits June 25, 2026 16:58
Consumer side of the wardline->loomweave wardline-taint-1 taint-fact store seam.
Vendors wardline's authority golden BYTE-IDENTICAL + a Layer-1 blake3 byte-pin +
a NON-CIRCULAR oracle that drives loomweave's REAL storage API
(loomweave_storage::wardline_taint): resolve_wardline_qualname -> upsert_taint_fact
-> get_taint_facts, asserting each fact's wardline_json blob round-trips verbatim
(key order included) off loomweave's store and content_hash_at_compute is
preserved (queryable column + in-blob). Layer-2 drift recheck vs wardline
authority (WARDLINE_REPO), skip-clean absent. 5 tests pass (cargo nextest).
Boundary documented: drives the storage functions the cli HTTP handlers call;
HTTP layer is pub(crate), covered by cli's own tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…escriptor seam

Consumer side of the trust-vocab descriptor seam. loomweave's python plugin
vendors wardline's authority golden BYTE-IDENTICAL (same blob f5ad8d2) + a
Layer-1 byte-pin + a NON-CIRCULAR oracle driving the REAL consumer:
load_wardline_descriptor (read -> version-gate -> parse) then extractor.extract,
asserting the wardline:external_boundary/trust_boundary/trusted tags derive
end-to-end via _attach_wardline_entity_metadata. Version-skew proof: a copy with
only the version bumped flips status enabled->version_skew (the gate keys on
version alone). Layer-2 drift recheck vs wardline authority (WARDLINE_REPO),
skip-clean absent. 5 tests pass; plugin suite 220 passed, ruff(ALL)+mypy(strict)
clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…mer)

Loomweave consumer side of the filigree<->loomweave entity-associations seam.
Reconciles the stale vendored fixture (v1) to filigree's authority (v3,
byte-identical now) + a Layer-1 blake3 byte-pin + a NON-CIRCULAR oracle driving
the REAL parser loomweave_federation::filigree::parse_entity_associations_response
(round-trips the opaque binding, tolerates the pre-26 clarion_entity_id alias,
ignores unmodelled producer fields, degrades absent->empty). Layer-2 byte-drift
recheck vs filigree authority (FILIGREE_REPO) with fail-closed arming
(LOOMWEAVE_DRIFT_REQUIRED: SKIP->FAILURE when armed, mirroring wardline's
_live_oracle primitive) + 3 unit tests over the 2x2. 10 tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- capabilities PRODUCER: Layer-1 blake3 byte-pin of the /api/v1/_capabilities
  golden (the live-handler recheck via the real serve binary already existed)
- loomweave-scan-results PRODUCER: freeze the emitted ScanResultsRequest body
  (authored from the real prepare_batch) + byte-pin + non-circular recheck
- issue-detail CONSUMER: drives the real IssueDetail parse on filigree's golden
  (id<-issue_id alias, title/status/priority non-default -> drop/retype reds)
All byte-pinned, goldens byte-identical to filigree, Layer-2 drift recheck.
loomweave oracles: 5 + 14 + 8 passed (cargo).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ort_name)] FFI entry-points (ADR-054)

`attr_is_ident_in` matched only the bare `#[no_mangle]` / `#[export_name]`
forms. Edition 2024 (this workspace's pinned edition) makes those a hard
error; real FFI code writes `#[unsafe(no_mangle)]`, which syn parses as
`Meta::List { path: "unsafe", tokens: <inner> }`. The export ident was missed,
so every edition-2024 FFI export went un-rooted and read as dead — the
under-rooting failure ADR-054's error-cost asymmetry exists to prevent.

Peel a single `#[unsafe(...)]` wrapper (inner parsed as a full `Meta` to cover
both the bare-path `no_mangle` and the name-value `export_name = "…"` forms)
before the ident check. Add tests for both wrapped forms — the existing FFI
tests used the bare form and masked the gap. Also correct a stale doc comment
in shortcuts.rs that claimed the Rust plugin emits no root tags (false since
ADR-054 shipped them).

Found in detailed pre-push review. Follow-ups filed: clarion-15d11462a6
(module-scope #[allow(dead_code)] / cfg(test) under-rooting), clarion-736ad98353
(root-tag test hardening), clarion-86200a39d2 (http-route faceted precision).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The feat/weft-taint-conformance test files were committed without final
fmt/lint passes and tripped three floor gates:
- cargo fmt line-wrapping in three Rust conformance oracles;
- clippy::doc_markdown backtick on `shape_decl` in serve.rs;
- ruff format on the python wardline vocabulary-descriptor conformance test.
Whitespace/doc-comment only; no behaviour change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@tachyon-beep tachyon-beep merged commit 922dfa2 into main Jun 25, 2026
4 checks passed
@tachyon-beep tachyon-beep deleted the consolidate/onto-main branch June 25, 2026 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant