Skip to content

Commit e13357b

Browse files
avrabeclaude
andauthored
chore(rivet): mark shipped requirements as implemented (#211)
Brings the rivet traceability requirement statuses in line with what has actually shipped on main. 24 draft + 2 planned (SR-33, SR-35) → implemented; SR-34 and SR-36 deliberately held at `planned`. Basis (status `implemented` = code exists and works, full test suite green; NOT `verified` = per-requirement formal verification, which is a separate pass): - SR-35 DWARF address remap → shipped v0.16–v0.20 (DwarfHandling::Remap, dwarf.rs); in-tree witness oracle passes. NB its stated verification is a cross-repo witness smoke that is NOT yet done — hence implemented, not verified. - SR-33 cross-component stream fusion → v0.9.0 (#141). - SR-31 multiply-instantiated detection → LS-M-5, ls_m_5_* regression test. - SR-19 deterministic output → LS-A-15. - SR-1..SR-25 (parser / canonical-ABI / merger / adapter / wrapping) → foundational subsystems shipped across v0.1–v0.20; exercised end-to-end by the wasmtime runtime tests (real components fused + executed). Held at `planned` (honesty — not on main): - SR-34 static stream validation: (i)/(iii) merged, (iv) is in the unmerged PR #210, (ii) bounded-capacity is N/A. Flip to implemented when #210 merges. - SR-36 synthesised DWARF DIEs for adapters: DWARF Phase 3 (#144), not started. `rivet validate` error count is unchanged (164 pre-existing schema-drift / broken-link errors, none introduced by this change). Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 23bdb31 commit e13357b

1 file changed

Lines changed: 26 additions & 26 deletions

File tree

safety/requirements/safety-requirements.yaml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ artifacts:
2525
description: >
2626
The parser shall extract all core modules from a component,
2727
including those nested within component instances at any depth.
28-
status: draft
28+
status: implemented
2929
tags: [stpa-derived]
3030
links:
3131
- type: derives-from
@@ -46,7 +46,7 @@ artifacts:
4646
description: >
4747
The parser shall extract every import and export entry declared
4848
by a component, preserving names, types, and kind.
49-
status: draft
49+
status: implemented
5050
tags: [stpa-derived]
5151
links:
5252
- type: derives-from
@@ -65,7 +65,7 @@ artifacts:
6565
canonical_abi_element_size shall return the correctly aligned
6666
element size for all Canonical ABI types, including records with
6767
heterogeneous field alignments.
68-
status: draft
68+
status: implemented
6969
tags: [stpa-derived]
7070
links:
7171
- type: derives-from
@@ -91,7 +91,7 @@ artifacts:
9191
The parser shall reject components that do not pass wasmparser
9292
validation with feature flags locked to the Component Model
9393
baseline spec.
94-
status: draft
94+
status: implemented
9595
tags: [stpa-derived]
9696
links:
9797
- type: derives-from
@@ -116,7 +116,7 @@ artifacts:
116116
The resolver shall match every import to exactly one export with
117117
a matching interface name and compatible type. Ambiguous matches
118118
(multiple exports with the same name) shall produce an error.
119-
status: draft
119+
status: implemented
120120
tags: [stpa-derived]
121121
links:
122122
- type: derives-from
@@ -141,7 +141,7 @@ artifacts:
141141
type into the correct CopyLayout. Types with inner pointer fields
142142
(strings, lists, records containing pointers) shall be classified
143143
as Elements with inner_pointers, not as Bulk.
144-
status: draft
144+
status: implemented
145145
tags: [stpa-derived]
146146
links:
147147
- type: derives-from
@@ -168,7 +168,7 @@ artifacts:
168168
component appears after all components it imports from. Dependency
169169
cycles shall be detected and reported as an error (or handled by
170170
cycle-tolerant sort with documented semantics).
171-
status: draft
171+
status: implemented
172172
tags: [stpa-derived]
173173
links:
174174
- type: derives-from
@@ -198,7 +198,7 @@ artifacts:
198198
The merger shall compute each component's function base offset
199199
as the cumulative sum of all preceding components' total function
200200
counts (imports + defined functions).
201-
status: draft
201+
status: implemented
202202
tags: [stpa-derived]
203203
links:
204204
- type: derives-from
@@ -220,7 +220,7 @@ artifacts:
220220
The rewriter shall remap indices in all instruction types that
221221
reference functions, memories, tables, globals, or types. This
222222
includes multi-index instructions (memory.copy, memory.init).
223-
status: draft
223+
status: implemented
224224
tags: [stpa-derived]
225225
links:
226226
- type: derives-from
@@ -248,7 +248,7 @@ artifacts:
248248
The merger shall reindex data segment memory indices, element
249249
segment table indices, and global indices in init expressions
250250
using the correct per-kind base offset.
251-
status: draft
251+
status: implemented
252252
tags: [stpa-derived]
253253
links:
254254
- type: derives-from
@@ -269,7 +269,7 @@ artifacts:
269269
description: >
270270
The merger shall process components in the same order as the
271271
resolver's topological sort output.
272-
status: draft
272+
status: implemented
273273
tags: [stpa-derived]
274274
links:
275275
- type: derives-from
@@ -292,7 +292,7 @@ artifacts:
292292
resolved cross-component call whose signature includes pointer
293293
types (string, list, record with pointer fields) in multi-memory
294294
mode.
295-
status: draft
295+
status: implemented
296296
tags: [stpa-derived]
297297
links:
298298
- type: derives-from
@@ -310,7 +310,7 @@ artifacts:
310310
description: >
311311
The adapter shall call cabi_realloc using the post-merge function
312312
index of the destination component's allocator.
313-
status: draft
313+
status: implemented
314314
tags: [stpa-derived]
315315
links:
316316
- type: derives-from
@@ -334,7 +334,7 @@ artifacts:
334334
indices for all memory.copy, i32.load, and i32.store instructions.
335335
Source = caller's memory, destination = callee's memory for
336336
arguments; reversed for return values.
337-
status: draft
337+
status: implemented
338338
tags: [stpa-derived]
339339
links:
340340
- type: derives-from
@@ -359,7 +359,7 @@ artifacts:
359359
description: >
360360
The adapter shall compute list copy byte length as element_count
361361
multiplied by canonical_abi_element_size of the element type.
362-
status: draft
362+
status: implemented
363363
tags: [stpa-derived]
364364
links:
365365
- type: derives-from
@@ -381,7 +381,7 @@ artifacts:
381381
each inner pointer to reference the destination memory. The loop
382382
stride shall equal canonical_abi_element_size. The loop shall
383383
process exactly element_count iterations.
384-
status: draft
384+
status: implemented
385385
tags: [stpa-derived]
386386
links:
387387
- type: derives-from
@@ -407,7 +407,7 @@ artifacts:
407407
String transcoding adapters shall produce valid output encoding
408408
for all valid input, including characters outside the BMP
409409
(surrogate pair handling for UTF-16).
410-
status: draft
410+
status: implemented
411411
tags: [stpa-derived]
412412
links:
413413
- type: derives-from
@@ -426,7 +426,7 @@ artifacts:
426426
The adapter shall emit instructions in the correct order:
427427
cabi_realloc before memory.copy, memory.copy before callee
428428
function call.
429-
status: draft
429+
status: implemented
430430
tags: [stpa-derived]
431431
links:
432432
- type: derives-from
@@ -448,7 +448,7 @@ artifacts:
448448
description: >
449449
Given identical input component bytes and identical FuserConfig,
450450
meld shall produce byte-identical output across invocations.
451-
status: draft
451+
status: implemented
452452
tags: [stpa-derived]
453453
links:
454454
- type: derives-from
@@ -469,7 +469,7 @@ artifacts:
469469
out-of-bounds index, malformed input), meld shall abort with a
470470
diagnostic error. Partial or best-effort output shall not be
471471
produced.
472-
status: draft
472+
status: implemented
473473
tags: [stpa-derived]
474474
links:
475475
- type: derives-from
@@ -496,7 +496,7 @@ artifacts:
496496
each canon lower shall reference the correct memory index and
497497
cabi_realloc for the importing component. The stubs module shall
498498
define all memories needed by the fused module.
499-
status: draft
499+
status: implemented
500500
tags: [stpa-derived]
501501
links:
502502
- type: derives-from
@@ -545,7 +545,7 @@ artifacts:
545545
module:field name but different type signatures. In multi-memory mode,
546546
imports from different components shall be kept separate even if they
547547
share the same name, to allow per-component canon lower configuration.
548-
status: draft
548+
status: implemented
549549
tags: [stpa-derived]
550550
links:
551551
- type: derives-from
@@ -596,7 +596,7 @@ artifacts:
596596
The adapter shall pass resource handles through cross-component calls
597597
without modification (no pointer copy or fixup). Resource drop
598598
functions shall be forwarded directly.
599-
status: draft
599+
status: implemented
600600
tags: [stpa-derived]
601601
links:
602602
- type: derives-from
@@ -645,7 +645,7 @@ artifacts:
645645
may support multi-module component output (per cfallin's "simple
646646
component" proposal), but until then, fail-fast rejection is
647647
required.
648-
status: draft
648+
status: implemented
649649
tags: [stpa-derived]
650650
links:
651651
- type: derives-from
@@ -724,7 +724,7 @@ artifacts:
724724
(b) different-memory (multi-memory): `stream_read` → in-module copy
725725
loop → `stream_write` chain, with `cabi_realloc` null-guard policy
726726
per LS-A-7.
727-
status: planned
727+
status: implemented
728728
tags: [roadmap, p3-async, v0.9.0]
729729
links:
730730
- type: derives-from
@@ -780,7 +780,7 @@ artifacts:
780780
`.debug_str` / `.debug_abbrev` pass through with string-pool dedup /
781781
byte-equal merge. End-to-end verified by witness MC/DC integration:
782782
≥ X% of `br_if` byte offsets in fused output resolve to source.
783-
status: planned
783+
status: implemented
784784
tags: [roadmap, dwarf, witness-mc-dc, v0.10.0]
785785
links:
786786
- type: derives-from

0 commit comments

Comments
 (0)