Skip to content

ci: align the zero-leak check to the charter symbol set#449

Merged
mfw78 merged 1 commit into
dev/m1from
feat/m2-zero-leak-check-align
Jul 21, 2026
Merged

ci: align the zero-leak check to the charter symbol set#449
mfw78 merged 1 commit into
dev/m1from
feat/m2-zero-leak-check-align

Conversation

@mfw78

@mfw78 mfw78 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Closes #384

What

Narrows the venue-agnostic CI scan from a broad venue-vocabulary regex to the curated charter symbol set (nexum:intent|value-flow|VenueAdapter|synthesize_venue|nexum:adapter|PoolRouter), scopes it to crates/nexum-runtime/src, and documents the zero-leak charter in the crate's top-level rustdoc.

Why

The old regex over-matched (Cow, intentional, etc. needed manual carve-outs) and scanned the whole crate directory instead of just sources. A curated symbol set tied to the actual forbidden names keeps the scan precise and stops opaque extension payloads from false-flagging, per the M2 zero-leak invariant.

Closes #384

Testing

  • ./scripts/check-venue-agnostic.sh passes locally against the current tree.

AI Assistance

Implemented with Claude Code assistance.

@lgahdl lgahdl left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The false-positive problem this PR fixes (Cow/intentional needing carve-outs, scanning the whole crate dir) is real and worth fixing, but the specific fix trades false positives for false negatives on the current vocabulary. Three of the six charter symbols — nexum:intent, nexum:adapter, PoolRouter — were already renamed away in #428 (to videre:types, folded into videre:venue, and VenueRegistry respectively) and then relocated entirely out of nexum-runtime in #447. Checking for them now is checking for names that can never reappear, since they no longer exist anywhere in the codebase to leak.

More importantly, the current post-rename vocabulary that would actually indicate a real leak — videre:types, videre:venue, VenueRegistry, VenueActor, VenueId — isn't in the charter list at all (only VenueAdapter, a distinct trait name, and the substring value-flow, which happens to still match videre:value-flow, survive by coincidence). Concretely: if a future change reintroduced use videre_host::VenueRegistry into crates/nexum-runtime/src, exactly the regression this check exists to catch, this scan would report a clean pass. Since git blame/history on this check isn't the point — the invariant it's meant to enforce is about the current naming, not the pre-rename one. Worth updating the charter set to the post-rename names (videre:|VenueRegistry|VenueActor|VenueId|VenueAdapter, or similar) rather than the retired ones.

@lgahdl lgahdl left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-posting as an inline comment (my earlier review body-only comment didn't render in the diff view).

Comment thread scripts/check-venue-agnostic.sh Outdated
@mfw78
mfw78 force-pushed the feat/m2-body-versions-handshake branch from d0ec1e9 to bcccf1b Compare July 21, 2026 02:23
Base automatically changed from feat/m2-body-versions-handshake to dev/m1 July 21, 2026 05:16
@mfw78
mfw78 force-pushed the feat/m2-zero-leak-check-align branch from df0bad8 to fa920ed Compare July 21, 2026 05:17
Scan the runtime sources for the charter set only (nexum:intent,
value-flow, VenueAdapter, synthesize_venue, nexum:adapter, PoolRouter),
dropping the loose word-shape sweep that false-flagged the opaque
extension-map fixtures; keep the crate-graph and WIT-leaf checks, and
state the invariant in the nexum-runtime crate charter. The CI job
stays advisory until the physical repo cut.
@mfw78
mfw78 force-pushed the feat/m2-zero-leak-check-align branch from fa920ed to 76bcb9e Compare July 21, 2026 07:19
@mfw78
mfw78 merged commit e845890 into dev/m1 Jul 21, 2026
6 checks passed
@mfw78
mfw78 deleted the feat/m2-zero-leak-check-align branch July 21, 2026 07:28
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.

2 participants