Skip to content

Research sweep + Roadmap 3.0 (release plan: v2.6 → v3.0)#75

Merged
avrabe merged 1 commit into
mainfrom
research-and-roadmap-3.0
Jun 27, 2026
Merged

Research sweep + Roadmap 3.0 (release plan: v2.6 → v3.0)#75
avrabe merged 1 commit into
mainfrom
research-and-roadmap-3.0

Conversation

@avrabe

@avrabe avrabe commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Researches scry's open requirements/gaps, what commercial tools have that we'd want, and old+new academic research that could benefit us — captured in rivet (research schema) and turned into a next-release plan using rivet's new release-planning axis (release: field + rivet release status).

Research captured (artifacts/research-2.yaml)

  • academic-reference AC-012–024 — classic numeric domains scry lacks (polyhedra, Karr equalities, pentagons, array segmentation, gauge), precision (trace partitioning), termination (segmented ranking functions), cost bounds (SPEED), verified-analyzer methodology (Verasco), incremental AI (demanded summarization), and the float/recent frontier (Miné FP octagon, DeepPoly, hybrid Wasm call graph).
  • competitive-analysis CA-001–011 — the sound-analyzer bar (Astrée, aiT/StackAnalyzer, Polyspace, Frama-C/Eva, TrustInSoft), Wasm peers (VeriWasm, Wasmati, symbolic exec, Component-Model green field), CodeQL/Semgrep UX, DO-330/ISO-26262 qualification ecosystem.
  • technology-evaluation TE-011 (AI-agent gap detection — structured-primary; agents under-read charts/SVG, so emit gaps as data not silence) + TE-012 (Apron/ELINA). market-finding MF-006/007 (trap detection is the bar's defining capability scry lacks; no sound Component-Model handle-state analyzer = green field).

Release plan (artifacts/roadmap-3.0.yaml)

New requirements REQ-014 (trap classification), REQ-015 (IEEE-754 float), REQ-016 (surface relational invariants), REQ-017 (machine-readable gap report).

Release Theme Features
v2.6.0 Make the analysis observable FEAT-040 gap report · 041 surface octagon relations · 042 threshold widening · 043 indirect-call stack weighting
v2.7.0 Prove safety (the Astrée/Polyspace headline) FEAT-044 pentagons · 045 div/overflow traps · 046 OOB-memory traps
v3.0.0 Qualifiable + differentiated FEAT-047 float domain · 048 WasmCert-Coq wrap-aware soundness (the differentiator) · 049 Component-Model handle-state (the moat) · 050 qualification dossier

Backlog FEAT-051–058 (Karr, ranking-function termination, incremental summaries, WIT surfacing, counterexamples, sound queryable CPG, polyhedra, array segmentation) — researched, traced, not yet release-scoped.

Track with rivet release status v2.6.0 (etc.). research→requirement→feature traceability wired via references-paper / addresses-finding / evaluates-tech.

Also: back-filled release: tags on shipped v2.1.0–v2.5.0 features so the release axis is accurate; bumped the release.yml compliance action's rivet to v0.22.0 for the release: field. rivet validate PASS (warnings are advisory prose-mentions + future-REQ-not-yet-verified).

🤖 Generated with Claude Code

… release plan

Research the open scry requirements/gaps, what commercial tools have that we'd
want, and old+new academic research that could benefit us — captured in rivet
(research schema) and turned into a next-release plan using rivet's new
release-planning axis (the `release:` field, rivet >= 0.21).

artifacts/research-2.yaml (NEW):
- academic-reference AC-012..024 — classic numeric domains scry lacks (polyhedra,
  Karr, pentagons, array segmentation, gauge), precision (trace partitioning),
  termination (segmented ranking functions), cost bounds (SPEED), verified-
  analyzer methodology (Verasco), incremental AI (demanded summarization), and
  the float/recent frontier (Miné FP octagon, DeepPoly, hybrid Wasm call graph).
- competitive-analysis CA-001..011 — the sound-analyzer bar (Astrée, aiT/Stack-
  Analyzer, Polyspace, Frama-C/Eva, TrustInSoft), the Wasm peers (VeriWasm,
  Wasmati, symbolic exec, Component-Model green field), CodeQL/Semgrep UX, and
  the DO-330/ISO-26262 qualification ecosystem.
- technology-evaluation TE-011 (AI-agent gap detection: structured-primary,
  viz-secondary — agents under-read charts/SVG; emit gaps as data, not silence)
  + TE-012 (Apron/ELINA). market-finding MF-006 (trap detection is the bar's
  defining capability scry lacks) + MF-007 (no sound Component-Model handle-state
  analyzer — uncontested green field).

artifacts/roadmap-3.0.yaml (NEW) — release plan:
- New requirements REQ-014 (trap classification), REQ-015 (IEEE-754 float),
  REQ-016 (surface relational invariants), REQ-017 (machine-readable gap report).
- v2.6.0 "Make the analysis observable": FEAT-040 gap report, FEAT-041 surface
  octagon relations, FEAT-042 threshold widening, FEAT-043 indirect-call stack
  weighting.
- v2.7.0 "Prove safety": FEAT-044 pentagons, FEAT-045 div/overflow traps,
  FEAT-046 OOB-memory traps (the Astrée/Polyspace headline capability).
- v3.0.0 "Qualifiable + differentiated": FEAT-047 float domain, FEAT-048
  WasmCert-Coq wrap-aware soundness (the differentiator) + fix the false Verus
  join proof, FEAT-049 Component-Model handle-state (the moat), FEAT-050
  tool-qualification dossier.
- Backlog FEAT-051..058 (Karr, ranking-function termination, incremental
  summaries, WIT surfacing, counterexamples, sound queryable CPG, polyhedra,
  array segmentation), researched and traced, not yet release-scoped.
- research→requirement→feature traceability wired (references-paper /
  addresses-finding / evaluates-tech). Track with `rivet release status <ver>`.

Also: back-filled `release:` tags on shipped v2.1.0–v2.5.0 features (FEAT-034..039)
so the release axis is accurate; bumped the release.yml compliance action's
rivet to v0.22.0 so it understands the `release:` field. rivet validate PASS
(warnings are advisory prose-mentions + future-REQ-not-yet-verified).

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

Copy link
Copy Markdown

📐 rivet artifact delta

PR: #75 Base SHA: d0fe050f

Validation

head — `rivet validate` result
  SYS-2 (system-req, status: accepted) — missing: sys-integration-verification
  SR-5 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-11 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-2 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-1 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-8 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-9 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-10 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-13 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-7 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SYS-3 (system-req, status: accepted) — missing: sys-integration-verification
  SYS-5 (system-req, status: accepted) — missing: sys-integration-verification
  SR-4 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-3 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SYS-1 (system-req, status: accepted) — missing: sys-integration-verification
  SR-12 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  → run `rivet validate --explain SYS-4` to see which link type and source types satisfy a gap

Result: PASS (74 warnings)
Schemas: common@0.3.0 (embedded), dev@0.2.0 (embedded), research@0.1.0 (embedded), research-ext@0.1.0 (on-disk), safety-case@0.1.0 (embedded), aspice@0.2.0 (embedded)
base — `rivet validate` result (for comparison)
  SYS-4 (system-req, status: accepted) — missing: sys-integration-verification
  SR-7 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-4 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-3 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-13 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SYS-1 (system-req, status: accepted) — missing: sys-integration-verification
  SR-9 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-6 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-11 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-8 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-12 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-2 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SYS-2 (system-req, status: accepted) — missing: sys-integration-verification
  SR-5 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SR-10 (sw-req, status: accepted) — missing: sw-integration-verification, unit-verification
  SYS-3 (system-req, status: accepted) — missing: sys-integration-verification
  → run `rivet validate --explain SYS-5` to see which link type and source types satisfy a gap

Result: PASS (5 warnings)
Schemas: common@0.3.0 (embedded), dev@0.2.0 (embedded), research@0.1.0 (embedded), research-ext@0.1.0 (on-disk), safety-case@0.1.0 (embedded), aspice@0.2.0 (embedded)

Artifact stats

base head
Total artifacts 152 203
full stats — head
Artifact summary:
  academic-reference               24
  competitive-analysis             11
  design-decision                  17
  feature                          58
  market-finding                    7
  requirement                      17
  safety-context                    3
  safety-goal                       5
  safety-justification              3
  safety-solution                   6
  safety-strategy                   1
  stakeholder-req                   3
  sw-req                           13
  sw-verification                  13
  sys-verification                  5
  system-req                        5
  technology-evaluation            12
  TOTAL                           203

Orphan artifacts (no links): 11
  CA-001
  CA-002
  CA-003
  CA-004
  CA-005
  CA-006
  CA-007
  CA-008
  CA-009
  CA-010
  CA-011

Diagnostics: 0 error(s), 74 warning(s), 16 info(s)

Diff (base → head)

~ NEW    WARN: [REQ-017] Every requirement should be verified by at least one test (a `verifies` backlink) — needs an incoming `verifies` link
~ NEW    WARN: [FEAT-050] prose mentions 'CA-011' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-050] prose mentions 'FEAT-040' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-050] prose mentions 'FEAT-045' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-007] prose mentions 'REQ-017' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-002] prose mentions 'FEAT-021' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-002] prose mentions 'AC-018' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-002] prose mentions 'AC-019' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [TE-012] prose mentions 'AC-012' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-007] prose mentions 'REQ-003' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-007] prose mentions 'CA-009' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-007] prose mentions 'AC-009' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-007] prose mentions 'AC-024' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-011] prose mentions 'G-005' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-053] prose mentions 'FEAT-007' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-006] prose mentions 'REQ-014' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-006] prose mentions 'G-005' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [MF-006] prose mentions 'CA-001' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-055] prose mentions 'CA-008' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [AC-012] prose mentions 'TE-012' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-008] prose mentions 'REQ-014' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [AC-024] prose mentions 'FEAT-006' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [AC-024] prose mentions 'AC-008' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [AC-016] prose mentions 'REQ-007' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-001] prose mentions 'TE-001' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-001] prose mentions 'G-005' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-001] prose mentions 'REQ-014' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-001] prose mentions 'REQ-015' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-003] prose mentions 'REQ-016' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-004] prose mentions 'REQ-016' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [AC-019] prose mentions 'CA-002' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-043] prose mentions 'FEAT-006' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-046] prose mentions 'FEAT-038' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-046] prose mentions 'CA-006' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [AC-023] prose mentions 'REQ-001' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-049] prose mentions 'CA-009' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-049] prose mentions 'G-003' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-049] prose mentions 'AC-024' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-056] prose mentions 'CA-007' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-056] prose mentions 'CA-010' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-056] prose mentions 'TE-011' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-057] prose mentions 'FEAT-051' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-009] prose mentions 'REQ-003' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-052] prose mentions 'AC-019' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [FEAT-052] prose mentions 'CA-002' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-005] prose mentions 'REQ-014' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [REQ-016] prose mentions 'CA-004' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [REQ-016] prose mentions 'FEAT-054' but no typed link to it; add a link in `links:` or remove the mention
~ NEW    WARN: [CA-006] prose mentions 'REQ-002' but no typed link to it; add a link in `links:` or remove the mention
0 new errors, 0 resolved errors, 58 new warnings, 0 resolved warnings

AADL model — head

spar/scry.aadl: OK

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

@avrabe avrabe merged commit 316c9e8 into main Jun 27, 2026
10 checks passed
@avrabe avrabe deleted the research-and-roadmap-3.0 branch June 27, 2026 07:44
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