Skip to content

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

Merged
avrabe merged 3 commits into
mainfrom
rivet-status-audit
May 31, 2026
Merged

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

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 30, 2026

Summary

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

1. Status audit — shipped features → implemented

The 12 features whose releases have shipped (tagged + released) move from
draft/proposed to implemented (rivet's status is a free-form
string — no per-type enum is enforced and validate accepts any value — so
implemented, the natural term for a shipped feature, is used directly):

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 left as-is:

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

Requirements and design-decisions are unchanged: their fulfilment is
expressed by incoming satisfies/verifies links, not a status flip.

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) <[email protected]>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 30, 2026

📐 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-001
  status: - draft -> + implemented
~ FEAT-002
  status: - draft -> + implemented
~ FEAT-003
  status: - draft -> + implemented
~ FEAT-005
  status: - draft -> + implemented
~ FEAT-006
  status: - draft -> + implemented
~ FEAT-007
  status: - draft -> + implemented
~ FEAT-008
  status: - draft -> + implemented
~ FEAT-009
  status: - draft -> + implemented
~ FEAT-010
  status: - draft -> + implemented
~ FEAT-011
  status: - draft -> + implemented
~ FEAT-012
  status: - proposed -> + implemented
~ FEAT-013
  status: - proposed -> + implemented
~ FEAT-014
  description: changed
  link: + depends-on -> DD-012
  field changed: acceptance-criteria

1 added, 0 removed, 13 modified, 72 unchanged

AADL model — head

spar/scry.aadl: OK

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

avrabe and others added 2 commits May 31, 2026 08:27
Status audit of the feature artifacts. The 12 features whose releases
have actually shipped (tagged + released) move from `draft` to
`implemented` via `rivet modify <ID> --set-status implemented`; rivet
validate = PASS (0 warnings):

  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` (future, not built): FEAT-014..020 (v1.2–v2.0).
Left `draft` (honestly incomplete): FEAT-004 — signed AI attestation
*consumed in the rivet chain* is not yet wired.

Note: rivet's `status` field is a free-form string (no per-type enum is
enforced; `rivet validate` accepts any value), so `implemented` — the
natural term for a shipped feature — is used directly. Requirements and
design-decisions are left unchanged: their fulfilment is expressed by
incoming satisfies/verifies links, not a status flip.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Completes the status audit: FEAT-013 lives in roadmap-2.0.yaml (not
requirements.yaml), so its proposed→implemented flip lands here. v1.1 is
released and clean-room verified. rivet validate = PASS.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@avrabe avrabe merged commit 435c291 into main May 31, 2026
9 checks passed
@avrabe avrabe deleted the rivet-status-audit branch May 31, 2026 07:18
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