Skip to content

chore: rivet traceability hygiene — validate clean under 0.22.0#251

Open
avrabe wants to merge 2 commits into
mainfrom
chore/rivet-traceability-hygiene
Open

chore: rivet traceability hygiene — validate clean under 0.22.0#251
avrabe wants to merge 2 commits into
mainfrom
chore/rivet-traceability-hygiene

Conversation

@avrabe

@avrabe avrabe commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Makes rivet validate PASS on loom (was 23 errors / 63 warnings on main → 0 errors / 33 warnings). No code touched — safety/** only.

Fixes

  • CP-1/2/3 undeclared acted-on-by link → moved to the correct forward acts-on direction on the acting controllers; rivet derives the backlink. Same graph, schema-valid.
  • SG-1..6 goal-type: top-level (invalid) → system-level.
  • SOL-3..8 evidence-type: test (invalid) → test-report (SOL-1 analysis / SOL-2 formal-proof left as-is).
  • REQ-1..18 had no verifies backlink → the existing TEST-* artifacts linked with satisfies; switched the 23 REQ-targeted links to verifies (each grounded in a real cargo test / Z3 verify:: / Rocq proof / dogfood / fuzz target — no fabricated coverage).
  • rivet 0.22.0 status-enum drift → 16x TEST-* passingverified, 4x hazard MITIGATEDaccepted.
  • Stripped absolute local paths (/Users, /opt/homebrew) from verification.yaml run: commands → repo-relative + env-driven.

Review note

The 4 hazard MITIGATEDaccepted remaps are a safety-posture wording choice (the 0.22.0 enum has no mitigated). Flag if you'd prefer verified or a schema extension instead.

Residual 33 warnings are coverage nudges / unknown-field INFO (e.g. feature.method), non-failing — a separate follow-up if we want them zero.

avrabe and others added 2 commits July 1, 2026 21:51
… CP links

- CP-1/2/3 (control-structure): replace undeclared inverse link 'acted-on-by'
  with the forward 'acts-on' link on the acting controllers (CTRL-1/2/3/6/7);
  rivet resolves the 'acted-on-by' backlink automatically.
- SG-1..6 (safety-case): goal-type 'top-level' -> 'system-level' (product
  safety goals are system-level per the schema's allowed values).
- SOL-3/4/5/6/7/8 (safety-case): evidence-type 'test' -> 'test-report'
  (SOL-1 analysis / SOL-2 formal-proof already valid).
- verification.yaml: TEST-* -> REQ-* links changed from 'satisfies' to
  'verifies' so every REQ-1..18 has an incoming 'verifies' backlink grounded
  in a real cargo test / Z3 / Rocq / dogfood / fuzz target. Kept a 'satisfies'
  backlink on TEST-CSE-SAFETY-GUARDS -> REQ-2 so REQ-2 stays covered by both
  a satisfier and a verifier (it has no other design-decision/feature satisfier).
- Stripped absolute local paths (/Users, /opt/homebrew) from the run: commands
  so committed artifacts contain no machine-specific paths.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
rivet 0.22.0 tightened the allowed status enum; loom's safety artifacts
still used domain values it rejects (23 validate ERRORs on main). Map to
the nearest lifecycle value:
- 16x TEST-* 'passing' -> 'verified' (verification executed and passing)
- 4x hazard 'MITIGATED' -> 'accepted' (residual risk accepted post-mitigation)

Combined with the earlier hygiene commit (CP link direction, SG goal-type,
SOL evidence-type, REQ verifies backlinks, absolute-path strip), rivet
validate now PASSes: 0 errors, 33 non-failing warnings (down from 23/63).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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