Skip to content

rivet: promote shipped v0.1–v1.1 features to accepted; FEAT-014 redefine + DD-012#31

Open
avrabe wants to merge 1 commit into
mainfrom
rivet-status-audit
Open

rivet: promote shipped v0.1–v1.1 features to accepted; FEAT-014 redefine + DD-012#31
avrabe wants to merge 1 commit into
mainfrom
rivet-status-audit

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 30, 2026

Summary

Two rivet-artifact changes. rivet validate = PASS (0 warnings).

1. Status audit — shipped features draftaccepted

The 12 genuinely-released features (v0.1–v1.1) are promoted to accepted
(the schema's terminal positive status — there is no implemented value
in the feature status enum; allowed: draft / proposed / accepted /
rejected / deprecated / superseded):

feature release
FEAT-001 v0.1
FEAT-012 v0.2
FEAT-005 v0.3
FEAT-006 v0.4
FEAT-007 v0.5
FEAT-008 v0.6
FEAT-002 v0.7
FEAT-009 v0.8
FEAT-010 v0.9
FEAT-011 v1.0
FEAT-013 v1.1
FEAT-003 wasm-lattice crate (ships)

Deliberately not promoted:

  • proposed (future, not built): FEAT-014 … FEAT-020 (v1.2–v2.0).
  • draft (honestly incomplete): FEAT-004 — signed-attestation consumed
    in the rivet chain
    is not yet wired.

Requirements and design-decisions were left as-is: a requirement's
fulfilment is expressed by incoming satisfies/verifies links, not a
status flip, and "implemented" is not a meaningful status for those types.

2. FEAT-014 (v1.2 witness MC/DC) redefined + new DD-012

A v1.2 feasibility spike showed the naive route fails: witness
instruments core modules only, the analyzer ships as a wasip2
component welded to wit-bindgen, and wasm32-unknown-unknown drops
DWARF line rows under inlining (so witness can't reconstruct decisions).
A throwaway harness over the pure scry-interval crate was prototyped
and rejected as measuring domain arithmetic in isolation, not the
analyzer over the corpus.

DD-012 commits to the faithful route: extract the analyzer's
wasmparser + fixpoint + transfer logic into a pure, bindgen-free
scry-analyze-core crate (same pure-crate pattern as DD-011 /
scry-interval), make the component a thin canonical-ABI wrapper, and
drive its analyze() over the corpus fixtures via witness run --invoke-with-args. FEAT-014's ACs are rewritten accordingly; REQ-010
remains unsatisfied
until that extraction lands.

🤖 Generated with Claude Code

…014 + add DD-012

Two rivet-artifact changes, rivet validate = PASS (0 warnings):

1. Status audit — promote the 12 genuinely-shipped (released) features
   from `draft` to `accepted` (the schema's terminal positive status;
   there is no `implemented` value in the feature status enum —
   allowed: draft/proposed/accepted/rejected/deprecated/superseded):
     FEAT-001 (v0.1) FEAT-012 (v0.2) FEAT-005 (v0.3) FEAT-006 (v0.4)
     FEAT-007 (v0.5) FEAT-008 (v0.6) FEAT-002 (v0.7) FEAT-009 (v0.8)
     FEAT-010 (v0.9) FEAT-011 (v1.0) FEAT-013 (v1.1) FEAT-003 (wasm-lattice crate)
   Left `proposed`: FEAT-014..020 (v1.2–v2.0, not yet built).
   Left `draft`: FEAT-004 (signed-attestation-consumed-in-rivet-chain is
   not yet wired — honest, not done).

2. FEAT-014 (v1.2 witness MC/DC) rewritten around the faithful approach
   after a feasibility spike, + new DD-012 "MC/DC strategy — extract a
   pure analyzer-core crate". The naive route fails (witness instruments
   core modules only; the analyzer is a wasip2 component welded to
   wit-bindgen; unknown-unknown drops DWARF under inlining). DD-012
   commits to extracting a pure bindgen-free scry-analyze-core crate
   (same pattern as DD-011/scry-interval) driven over the corpus via
   witness --invoke-with-args. REQ-010 remains unsatisfied until then.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

📐 rivet artifact delta

PR: #31 Base SHA: 0f6cad6e

Validation

head — `rivet validate` result
Loaded 8 documents with 123 artifact references

Diagnostics:
  INFO: [G-005] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-001] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-002] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-003] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-004] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-005] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-001] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-002] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-003] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-004] Top-level safety goals should have context defining scope and assumptions

Result: PASS (0 warnings)
base — `rivet validate` result (for comparison)
Loaded 8 documents with 123 artifact references

Diagnostics:
  INFO: [G-005] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-001] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-002] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-003] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-004] Every safety goal must be supported by evidence (solution) or decomposed into sub-goals (via strategy), unless marked undeveloped

  INFO: [G-005] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-001] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-002] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-003] Top-level safety goals should have context defining scope and assumptions
  INFO: [G-004] Top-level safety goals should have context defining scope and assumptions

Result: PASS (0 warnings)

Artifact stats

base head
Total artifacts 85 86
full stats — head
Artifact summary:
  academic-reference               11
  design-decision                  12
  feature                          20
  market-finding                    5
  requirement                      10
  safety-context                    3
  safety-goal                       5
  safety-justification              3
  safety-solution                   6
  safety-strategy                   1
  technology-evaluation            10
  TOTAL                            86

Diagnostics: 0 error(s), 0 warning(s), 10 info(s)

Diff (base → head)

+ DD-012  MC/DC strategy — extract a pure analyzer-core crate to make the real decisions instrumentable
~ FEAT-014
  description: changed
  link: + depends-on -> DD-012
  field changed: acceptance-criteria

1 added, 0 removed, 1 modified, 84 unchanged

AADL model — head

spar/scry.aadl: OK

Posted by the rivet-delta workflow. Informational only — does not gate the PR.

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