Skip to content

rivet: reframe FEAT-057 slice-2 (straight-line poly is vacuous over wrapping ints) - #106

Merged
avrabe merged 1 commit into
mainfrom
feat-057-poly-reframe
Jul 15, 2026
Merged

rivet: reframe FEAT-057 slice-2 (straight-line poly is vacuous over wrapping ints)#106
avrabe merged 1 commit into
mainfrom
feat-057-poly-reframe

Conversation

@avrabe

@avrabe avrabe commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Artifact-only. Records a soundness discovery from wiring FEAT-057 slice-2.

Discovery: the intended additive straight-line polyhedra pass (mirroring the bits/float passes) is near-vacuous, and for a sound reason. Polyhedra's value is general-coefficient facts (z = x + y), but over Wasm's wrapping i32 that equality is unsound unless no-wrap is proven — which needs value bounds → guards → the fixpoint. On straight-line code with unbounded params, every arithmetic result may wrap, so no octagon-beating fact is soundly emittable. (Unlike bits/float, which are wrap-internal.)

Consequence: the polyhedra body requires the full fixpoint integration — a Poly on FuncCtx threaded in lockstep with the octagon, wrap-aware assignment transfers gated on the interval no-wrap result, guard refinement, and Poly::project (FM elimination). A multi-slice arc like the octagon's v1.7–1.9, tracked honestly rather than crammed.

slice-1 (the scry-sai-poly crate) shipped in 3.2.1; this re-scopes slice-2. rivet validate PASS.

🤖 Generated with Claude Code

…wrapping ints

Records the 2026-07-14 discovery: the intended additive straight-line polyhedra
pass (mirroring the bits/float passes) is near-vacuous for a SOUND reason. Over
Wasm's wrapping i32, a general-coefficient fact (z = x+y) is unsound unless
no-wrap is proven, which needs bounds → guards → the fixpoint. So the poly body
requires the full fixpoint integration (Poly on FuncCtx in lockstep with the
octagon, wrap-aware transfers, guards, Poly::project) — a multi-slice arc, not a
straight-line shortcut. Slice-1 (the crate) shipped in 3.2.1; this honestly
re-scopes slice-2.

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

Copy link
Copy Markdown

📐 rivet artifact delta

PR: #106 Base SHA: 6254866b

Validation

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

Result: PASS (110 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)
  SR-11 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-12 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-13 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-2 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-3 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-4 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-5 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-6 (sw-req, status: accepted) — missing: unit-verification, sw-integration-verification
  SR-7 (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
  SYS-1 (system-req, status: accepted) — missing: sys-integration-verification
  SYS-2 (system-req, status: accepted) — missing: sys-integration-verification
  SYS-3 (system-req, status: accepted) — missing: sys-integration-verification
  SYS-4 (system-req, status: accepted) — missing: sys-integration-verification
  SYS-5 (system-req, status: accepted) — missing: sys-integration-verification
  → run `rivet validate --explain SR-1` to see which link type and source types satisfy a gap

Result: PASS (110 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 211 211
full stats — head
Artifact summary:
  academic-reference               24
  competitive-analysis             11
  design-decision                  19
  feature                          62
  market-finding                    7
  requirement                      19
  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                           211

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), 110 warning(s), 16 info(s)

Diff (base → head)

~ FEAT-057
  description: changed

0 added, 0 removed, 1 modified, 210 unchanged

AADL model — head

spar/scry.aadl: OK

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

@avrabe
avrabe merged commit ee04c0e into main Jul 15, 2026
10 checks passed
@avrabe
avrabe deleted the feat-057-poly-reframe branch July 15, 2026 03:09
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