You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(vex): respect setup state + manual declaration (property 7)
Close the last RED contract pin: VEX now attests a patch only for an ecosystem
that is actually set up — or explicitly declared `manual` — instead of trusting
the whole manifest.
- schema: `SetupConfig` gains a `manual: Vec<String>` array (ecosystem cli_names
the user applies by hand), serde-default + skip-empty alongside `exclude`.
- setup.rs: new `configured_ecosystems(common)` runs the same on-disk hook-
presence probes as `setup --check` and returns the set of set-up ecosystems
(feature-gated per ecosystem). `persist_setup_excludes` now preserves any
existing `manual` when rewriting.
- vex.rs: `generate_vex` filters `outcome.applied` to
`configured_ecosystems ∪ setup.manual` (mapping manual names via
`ecosystem_from_manual_name`), in BOTH verify and `--no-verify` modes, on top
of the existing --ecosystems + on-disk-verification filters.
- The `vex_omits_patches_for_unconfigured_ecosystem` pin is un-ignored and green
(an un-set-up pypi patch, not manual, yields no statements / exit 1).
- VEX-suite migration (single point each): `e2e_vex` / `e2e_embedded_vex`
`write_manifest` helpers now stamp a blanket `setup.manual` so those fixtures
(which test document GENERATION, not setup state) still attest — all 18 of
their tests stay green, including verify-mode omission. CLI_CONTRACT property 7
updated to implemented.
All 5 setup contract-gap pins are now active (0 ignored). Verified: clippy
--features all-eco -D warnings clean; e2e_vex (13) + e2e_embedded_vex (5) +
core lib (933 / 969 with composer) all green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments