Skip to content

ci: block the zero-leak gate on router-field and wit-namespace scans#450

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

ci: block the zero-leak gate on router-field and wit-namespace scans#450
mfw78 merged 1 commit into
dev/m1from
feat/m2-zero-leak-blocking

Conversation

@mfw78

@mfw78 mfw78 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Closes #385

What

Flips the venue-agnostic CI check from advisory to blocking, extends scripts/check-venue-agnostic.sh with a privileged router-field scan and a foreign-WIT-namespace scan, and adds an echo-venue boot integration test as the oracle.

Why

A go/no-go gate before repos are cut: the host must boot the echo venue and route a submission through the generic extension seam with no venue/intent/cow crate, charter symbol, router field, or foreign WIT namespace anywhere in its graph.

Testing

  • just check-venue-agnostic
  • cargo test -p videre-host --test zero_leak

AI Assistance

Implemented with Claude Code.

Closes #385

@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 new foreign-WIT-namespace scan is clean and correctly uses the current videre: namespace alongside the old ones, so it would actually catch a real leak. The zero_leak.rs integration test is a genuine functional oracle too (boots via Supervisor::boot, asserts real status-transition delivery), not a shallow smoke test — though note it doesn't itself invoke check-venue-agnostic.sh, so it can't catch problems in the scans below.

Two of the scans this gate now BLOCKS on can never actually fail, which matters a lot more now that this is a hard gate instead of advisory:

  1. The pre-existing charter-symbol scan (unchanged by this diff, flagged already on #449) still checks only pre-rename dead names (nexum:intent, nexum:adapter, PoolRouter) and never the current post-rename vocabulary (videre:types, VenueRegistry, VenueActor, VenueId). That finding's severity goes up here: a scan that can't catch a real leak is now blocking every PR's CI while providing zero actual protection on that axis.

  2. The new router-field scan has the same problem in a new spot.

Comment thread scripts/check-venue-agnostic.sh Outdated
@mfw78
mfw78 force-pushed the feat/m2-zero-leak-check-align branch 2 times, most recently from fa920ed to 76bcb9e Compare July 21, 2026 07:19
Base automatically changed from feat/m2-zero-leak-check-align to dev/m1 July 21, 2026 07:28
@mfw78
mfw78 force-pushed the feat/m2-zero-leak-blocking branch from 16a6724 to 8706226 Compare July 21, 2026 07:31
Drop continue-on-error from the venue-agnostic job, add privileged-field
and host-WIT namespace scans to the zero-leak script, and pin the
invariant with two integration tests: the echo venue boots and routes a
worker's submission purely through the generic extension seam, and the
nexum-runtime crate graph names no venue-shaped crate. A missing wasm
fixture hard-fails the boot oracle under CI so the gate cannot skip
itself.
@mfw78

mfw78 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Superseded at HEAD. This PR was rippled onto the merged #449 (which carries my charter fix), so the scan now uses the post-rename set videre:|videre_host|Venue[A-Z]|EgressGuard|synthesize_venue|value-flow - Venue[A-Z] covers VenueRegistry/VenueActor/VenueId, so a real leak on that axis now fails the (blocking) gate. Bite-tested.

@mfw78
mfw78 force-pushed the feat/m2-zero-leak-blocking branch from 8706226 to cc831bb Compare July 21, 2026 07:44
@mfw78
mfw78 merged commit 9c99e2d into dev/m1 Jul 21, 2026
6 checks passed
@mfw78
mfw78 deleted the feat/m2-zero-leak-blocking branch July 21, 2026 07:50
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