Skip to content

docs(vcr): bootstrap tool-qualification top-of-V (#242)#284

Merged
avrabe merged 2 commits into
mainfrom
docs/vcr-tool-qualification-bootstrap
Jun 9, 2026
Merged

docs(vcr): bootstrap tool-qualification top-of-V (#242)#284
avrabe merged 2 commits into
mainfrom
docs/vcr-tool-qualification-bootstrap

Conversation

@avrabe

@avrabe avrabe commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

What

bootstrap-verification for the VCR verified-codegen program. The codegen STPA front-end already existed (L-CODE-*H-CODE-*SC-CODE-*); the missing piece was the top-of-V tool-qualification root and the upward wiring from the VCR cure to the hazards it eliminates by construction.

New: artifacts/vcr-tool-qualification.yaml

  • VCR-TQ-001 (system-req, req-type: safety) — synth's tool classification across all four target standards, with the uniform conclusion that a code generator whose output isn't independently verified needs product evidence, not trust:

    Standard Clause Class
    DO-178C §12.2 + DO-330 Criteria-1 generator
    ISO 26262-8 §11 TI2/TD3 → TCL3
    IEC 61508-3 §7.4.4 off-line tool T3
    EN 50128 §6.5.4 / Table A.6 T3

    Derives from BR-001 "Safety-critical qualification"; mitigates H-CODE-1 / H-CODE-3.

  • VCR-TQ-002 (sw-req) — the three evidence pillars that discharge it: (1) formal lowering proof (VCR-SEL-001 + ISA-001 + WASM-001) = DO-330 verified-tool / IEC 61508 Route 2s; (2) coverage-guided differential oracle (VCR-ORACLE-001) = ISO 26262 TD measure; (3) frozen-fixture result-identity gate = configuration-controlled baseline.

Wired: VCR-RA-001 → the constraints it satisfies

The SSA allocator + spilling now constraint-satisfies SC-CODE-1 (exclude reserved regs) and SC-CODE-2 (spill, don't wrap) — the two STPA constraints the single-pass allocator violates by construction (H-CODE-1). The structural cure now traces to the hazard it removes.

Oracle

rivet validate: 0 broken cross-refs, 0 net-new errors (36 → 36, all pre-existing). All new trace links resolve. The +3 warnings are the expected coverage notes on proposed backlog items (same as the existing VCR roadmap).

Tool friction (separate follow-up)

The four safety standards are not separately loadable schemas in this rivet install (loaded: common/stpa/aspice/ai-provenance), so multi-standard targeting is captured as content rather than four rivet.yaml presets. Worth a rivet feature request — happy to file via report-tool-friction.

Falsification

This bootstrap is wrong if an assessor for any of the four standards rejects the qualification argument as process-only with no cited product evidence — that means VCR-TQ-002's pillars are insufficient and must be strengthened (stated as VCR-TQ-001's kill-criterion).

🤖 Generated with Claude Code

…egen program (#242)

bootstrap-verification seed for the VCR program (verified selector + SSA
allocator). The codegen STPA front-end already existed (L-CODE / H-CODE /
SC-CODE); what was missing was the top-of-V tool-qualification ROOT and the
upward wiring from the VCR cure to the hazards it eliminates.

Adds artifacts/vcr-tool-qualification.yaml:
  - VCR-TQ-001 (system-req, req-type: safety) — tool classification across all
    four target standards: DO-178C §12.2/DO-330 (Criteria-1 code generator),
    ISO 26262-8 §11 (TI2/TD3 -> TCL3), IEC 61508-3 §7.4.4 (class T3),
    EN 50128 §6.5.4/Table A.6 (class T3). Uniform conclusion: synth-as-shipped
    needs product evidence, not trust. Derives from BR-001 "Safety-critical
    qualification"; mitigates H-CODE-1 / H-CODE-3.
  - VCR-TQ-002 (sw-req) — the three evidence pillars that discharge it:
    (1) formal lowering proof (VCR-SEL-001 + ISA-001 + WASM-001) = DO-330
    verified-tool / IEC 61508 Route 2s; (2) coverage-guided differential oracle
    (VCR-ORACLE-001) = ISO 26262 TD measure / validation-by-testing; (3) frozen-
    fixture result-identity gate = configuration-controlled behavioral baseline.

Wires VCR-RA-001 (SSA allocator + spilling) -> constraint-satisfies SC-CODE-1
(exclude reserved regs) + SC-CODE-2 (spill, don't wrap) — the two STPA
code-generation constraints the single-pass allocator violates by construction.

Oracle: rivet validate — 0 broken cross-refs, 0 net-new errors (36 -> 36,
all pre-existing); the +3 warnings are expected coverage notes on `proposed`
backlog items. All new trace links resolve.

Tool friction (separate follow-up): the four safety standards are not
separately loadable schemas in this rivet install (loaded: common/stpa/aspice/
ai-provenance), so the multi-standard targeting is captured as content rather
than four rivet.yaml presets.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe

avrabe commented Jun 6, 2026

Copy link
Copy Markdown
Contributor Author

Tool-friction follow-up filed: pulseengine/rivet#510 — schema presets for DO-178C / ISO 26262 / IEC 61508 / EN 50128 are not declarable in rivet.yaml, which is why the four-standard targeting in this PR is captured as content rather than typed presets.

@codecov

codecov Bot commented Jun 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

…ips arc)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe avrabe merged commit c963b7d into main Jun 9, 2026
8 checks passed
@avrabe avrabe deleted the docs/vcr-tool-qualification-bootstrap branch June 9, 2026 19:56
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