Skip to content

docs(storage): MR-STOR-0030 and MR-STOR-0109 back in §8 - #1074

Merged
cryptskii merged 2 commits into
mainfrom
docs/storage-rows-0030-0109-back-in-section-8
Sep 30, 2026
Merged

cryptskii merged 2 commits into
mainfrom
docs/storage-rows-0030-0109-back-in-section-8

Conversation

@cryptskii

Copy link
Copy Markdown
Collaborator

§8 of CONFORMANCE_GAPS.md has called two storage requirements Violated since #1037, citing code #992 deleted. This corrects the record; no code changes.

What happened

#1037 meant to replace the §8 rows of MR-STOR-0030 and MR-STOR-0109, as it did MR-STOR-0100's. The replacement landed on their rows in the §3.2 status-change table instead:

ci/conformance_evidence.py reads §8, so the intent comparator has read both requirements as Violated since.

What changes

  • §3.2 gets its two history rows back.
  • §8 gets the rows fix: the placeholder sweep of 2026-09-27 #1037 wrote:
    • MR-STOR-0030: Met. No member refuses, replaces or compares what a key holds.
      • The node has no write authorization, and no update or overwrite path.
      • Cells and ByteCommit mirror rows are inserted ON CONFLICT DO NOTHING. The only UPDATE stamps pending cells with their cycle.
      • The immutable store computes its own address. It reports a different tuple at a held address as corruption, and keeps the first.
    • MR-STOR-0109: Missing, as MR-STOR-0100. The spend gate is removed, so no node uses the permission.
  • §7 Totals: storage Met 44, Missing 61, Violated 0; All: Met 344, Missing 119, Violated 8.

Evidence

  • MR-STOR-0030's three tests pass in release on Postgres:
    • cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused
    • cells_keep_everything::only_malformed_requests_are_refused
    • immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly
  • ci/conformance_evidence.py passes: 784 rows, and every cited test is indexed.
  • Neither requirement has an intent-manifest row, so no pin moves.
  • Gemini gate: satisfied.

This branch's Code map fails on the 64 pins #1073 left stale on main. The pin refresh for main is a separate PR.

#1037 meant to replace the §8 rows of MR-STOR-0030 and MR-STOR-0109 after
#992 deleted the legacy object store, PaidK, device_auth and the registry.
The replacement landed on the two rows of the §3.2 status-change table
instead. §3.2 lost its "Met → Violated" history, and §8 kept rows that call
both requirements Violated and cite deleted code: put_object,
delete_object_proto, upsert_object, device_auth, require_paidk and
paidk_gating.rs. ci/conformance_evidence.py reads §8, so the intent
comparator has read both as Violated since.

§3.2 gets its history rows back. §8 gets the rows #1037 wrote:
- MR-STOR-0030 is Met. The storage node has no write authorization and no
  update or overwrite path: a cell and a ByteCommit mirror row are inserted
  ON CONFLICT DO NOTHING, and the only UPDATE stamps pending cells with
  their cycle. The immutable store computes its own address, and reports a
  different tuple at a held address as corruption, keeping the first.
  Nothing the node holds for the spend gate remains.
- MR-STOR-0109 is Missing, as MR-STOR-0100: the spend gate is removed, so
  no node uses the permission.

§7's storage row and the All row follow: Met 44, Missing 61, Violated 0;
All 344, 119 and 8.

MR-STOR-0030's three evidence tests pass in release on Postgres:
- cells_keep_everything::a_second_value_at_a_key_is_kept_after_the_first_never_refused;
- cells_keep_everything::only_malformed_requests_are_refused;
- immutable_store_round_trip::a_put_with_no_authorization_is_taken_on_the_served_assembly.
ci/conformance_evidence.py passes: 784 rows, every cited test indexed.
Neither requirement has a manifest row, so no pin moves.
@cryptskii
cryptskii merged commit c7596ca into main Sep 30, 2026
4 checks passed
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