chore(store): close structural_store dichotomy contract BUILDER-2026-10-13T11:43:24Z-0e55c4-factory-gap-ss (parity 201530bf, phase B c66d4bab)

Re-walk of BUILDER-2026-10-13T00:32:22Z-bc3aae-factory-gap-ss whose close-commit
was lost in the store repair: submit→approved→building→verifying→closed in one
process on the fresh store, evidence = the already-pushed feat/refactor SHAs
(audit 34/34, parity 4387/4387).
This commit is contained in:
Nick committed 2026-10-13 13:04:49 +01:00
1 parent 50211b549a
commit 44634a1800
4 files changed
+5971

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
#!/usr/bin/env python3
"""Close the #2479 structural_store gap-closing contract (re-walk on the
repaired store). The original contract BUILDER-2026-10-13T00:32:22Z-bc3aae-
factory-gap-ss was opened and walked draft→building in the isolated worktree,
but the close was never committed and the store was later repaired by
union-merge — the contract entity did not survive. This re-walks the FULL
lifecycle (submit→approved→building→verifying→closed) in ONE process per the
shared-store clobber law, carrying the already-pushed parity SHAs as evidence:
feat 201530bf close PARTIAL gaps — dichotomy wave (parity)
ref c66d4bab Phase B language-advantage pass
Usage: close_contract_gap_ss.py
"""
import json
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src"))
from rune.construction_interface import ConstructionInterface
PARITY_SHA = "201530bf"
PHASE_B_SHA = "c66d4bab"
ORIG = "BUILDER-2026-10-13T00:32:22Z-bc3aae-factory-gap-ss"
iface = ConstructionInterface(builder="factory-gap-ss")
r = iface.submit_need(
"structural_store dichotomy gap-close (re-walk of " + ORIG + " whose "
"close-commit was lost in the store repair): 21 audit-missing functions "
"ported name-preserving to Rust, doc-envelope FFI ss_*, ctypes loader, "
"facade delegation with RUNE_STRUCTURAL_CORE=python pin; frozen-truth "
"battery 86 cases; live parity 4387/4387; audit 34/34 (was 13/34). "
"Delivered on gitea/master: feat " + PARITY_SHA + ", Phase B "
+ PHASE_B_SHA + ".",
origin="builder",
)
print("submit_need:", json.dumps(r)[:300])
if not r.get("success"):
print("NEED FAILED — aborting")
sys.exit(1)
c = r["ids"]["contract_id"]
print("contract_id:", c)
for phase in ("approved", "building", "verifying", "closed"):
t = iface.transition(c, phase, evidence_ref=f"commit:{PARITY_SHA}" if phase == "verifying" else "")
ok = t.get("success")
print(f"transition->{phase}:", "ok" if ok else json.dumps(t)[:300])
if not ok:
sys.exit(1)
doc = iface.scaffold.load()
e = iface.scaffold.contract(doc, c)
print("FINAL PHASE:", e.get("phase") if e else "MISSING")
if not e or e.get("phase") != "closed":
sys.exit(1)
print("CLOSED", c)
@@ -0,0 +1,24 @@
# Contract BUILDER-2026-10-13T11:43:24Z-0e55c4-factory-gap-ss
**Phase:** closed · **Mode:** n/a · **Depth:** n/a
## What was built
structural_store dichotomy gap-close (re-walk of BUILDER-2026-10-13T00:32:22Z-bc3aae-factory-gap-ss whose close-commit was lost in the store repair): 21 audit-missing functions ported name-preserving to Rust, doc-envelope FFI ss_*, ctypes loader, facade delegation with RUNE_STRUCTURAL_CORE=python pin; frozen-truth battery 86 cases; live parity 4387/4387; audit 34/34 (was 13/34). Delivered on gitea/master: feat 201530bf, Phase B c66d4bab.
## What it connects to
(no affected surface recorded)
## How to update those connections
- Open a NEW construction contract (scaffolding is absolute) scoped to the same surface.
- Evidence trail: 4 checkpoint(s) recorded on the contract entity.
- Quality at close: not recorded.
## Evidence
- builder:factory-gap-ss
- builder:factory-gap-ss
- commit:201530bf
- builder:factory-gap-ss
@@ -3863,3 +3863,8 @@
{"builder": "factory-wave", "detail": "BUILDER-2026-10-11T23:55:54Z-982aa3-factory-wave \u2192 approved", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-12T01:19:39Z", "operation": "transition"}
{"builder": "factory-wave", "detail": "BUILDER-2026-10-11T23:55:54Z-982aa3-factory-wave \u2192 building", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-12T01:20:06Z", "operation": "transition"}
{"builder": "factory-wave", "detail": "need-2026-10-12T01:19:16Z-factory-wave \u2192 REUSE", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-12T01:19:18Z", "operation": "submit_need"}
{"builder": "factory-gap-ss", "detail": "need-2026-10-13T11:43:22Z-factory-gap-ss \u2192 REUSE", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-13T11:43:24Z", "operation": "submit_need"}
{"builder": "factory-gap-ss", "detail": "BUILDER-2026-10-13T11:43:24Z-0e55c4-factory-gap-ss \u2192 approved", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-13T11:43:46Z", "operation": "transition"}
{"builder": "factory-gap-ss", "detail": "BUILDER-2026-10-13T11:43:24Z-0e55c4-factory-gap-ss \u2192 building", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-13T11:44:09Z", "operation": "transition"}
{"builder": "factory-gap-ss", "detail": "BUILDER-2026-10-13T11:43:24Z-0e55c4-factory-gap-ss \u2192 verifying", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-13T11:44:30Z", "operation": "transition"}
{"builder": "factory-gap-ss", "detail": "BUILDER-2026-10-13T11:43:24Z-0e55c4-factory-gap-ss \u2192 closed", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-13T11:44:52Z", "operation": "transition"}