chore(store): close memory_store IO-family dichotomy contract BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io (parity aed3c27c, phase B 599978d9)

One-process walk approved->building->verifying->closed via iface.close()
(observed_evidence + scope_files). Evidence: scripts/close_contract_memory_store_io.py,
verification/ms-io-*. Battery 53/53, live parity 22/22, module audit 68/68
with both lanes merged.
This commit is contained in:
Nick committed 2026-10-15 02:03:26 +01:00
1 parent 599978d95b
commit 763ae54874
5 files changed
+6034 -7

No files matched your search

+56 -7
View File
@@ -24,8 +24,8 @@ sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src"))
from rune.construction_interface import ConstructionInterface
PARITY_SHA = "e495d8b2"
PHASEB_SHA = "TBD"
PARITY_SHA = "770dac59"
PHASEB_SHA = "e8a97036"
EVIDENCE = f"parity {PARITY_SHA}, phase B {PHASEB_SHA}"
NEED = (
@@ -85,8 +85,57 @@ for want in ("approved", "building", "verifying"):
sys.exit(1)
phase = want
r = iface.close(cid, contract_quality={"observed_evidence": EVIDENCE})
print("close:", json.dumps(r)[:500])
if not r.get("success"):
sys.exit(1)
print("CLOSED", cid)
r = iface.close(
cid,
observed_evidence=[{
"kind": "port_evidence",
"detail": "memory_store IO-family dichotomy completion — parity "
f"{PARITY_SHA} feat(memory-store-deep): close IO-family "
"gaps (HEAVY-PORT lane rune-wave-dm); pushed gitea/"
"master (ancestor-verified after two sibling-race "
"rebases; observations.jsonl union-resolved). Go port at "
"src/go/memory-store-deep/gaps_io.go (NEW family file, "
"sibling files untouched) closes all 27 IO-family audit "
"name-forms. Generator scripts/"
"gen_memory_store_io_truth.py: 53-row frozen truth "
"(declarative setup-SQL fixtures + files map, "
"clock-free) regenerates byte-identical; battery "
"truth_io_test.go replays 53/53; live parity scripts/"
"check_memory_store_io_parity.py 22/22 (oracle-vs-"
"truth drift + go battery + rebuild/reconcile "
"contracts); gofmt+vet+go build ./...+go test ./... "
"clean (sibling batteries included); Python live pin 87 "
"passed, python pin failure set byte-identical to the "
"stashed base (23 pre-existing, retired _py_* "
"stranglers). Fix-first: removed the function-local "
"import subprocess breaking mine_file html (proven "
"(1, '') after). Phase B "
f"{PHASEB_SHA}: sibling integration (truncateRunesIO/"
"FtsDeleteDB rename after the retrieval lane's "
"gaps_retrieval.go landed mid-flight; same semantics, "
"per-file ownership) + determinism tiebreaks "
"(hierarchy count-desc/name-asc, wakeUp id-ASC, "
"mineDirectory top-level node_modules pruning) — "
"behavior-identical, battery + parity re-green. Module "
"audit 68/68 with both lanes merged; vec0 tables are "
"plain tables with oracle-except-path degradation "
"(documented).",
}],
scope_files=[
"src/go/memory-store-deep/gaps_io.go",
"src/go/memory-store-deep/truth_io.json",
"src/go/memory-store-deep/truth_io_test.go",
"src/rune/memory_store.py",
"scripts/gen_memory_store_io_truth.py",
"scripts/check_memory_store_io_parity.py",
"scripts/open_contract_memory_store_io.py",
"scripts/close_contract_memory_store_io.py",
"verification/summary-ms-io.md",
],
)
print("close:", json.dumps(r)[:400])
final = phase_of(cid)
print("FINAL PHASE:", final)
ok = r.get("success") and final == "closed"
print("CLOSED" if ok else "CLOSE_FAILED", cid)
sys.exit(0 if ok else 1)
@@ -0,0 +1,26 @@
# Contract BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io
**Phase:** closed · **Mode:** n/a · **Depth:** n/a
## What was built
Close memory_store IO/SCHEMA/LIFECYCLE family gaps (dichotomy wave, issue #2479 tranche; HEAVY-PORT lane rune-wave-dm): the oracle is src/rune/memory_store.py (2333 lines, 68 fns) mapped to the memory-store-deep Go corpus (alias). This lane owns the IO family only — connection/schema/entry-lifecycle/working-set/mining: ensure_memory_type_column, _fts_delete, reindex_entries, add_chunk, _extract_epub, mine_file, mine_directory, wake_up, storage_backend, stats_for_path, associate, linked_entries, make_scene, scene_entries, list_scenes, hierarchy, handle_hook, read_query (+ small pure helpers _ctx_budget, now_iso, _embed seam, _temp_json, _entities_to_json, _aaak_summary, _auto_associate, _df_word, _run_lexicon_reconcile). Name-preserving port into a NEW family file gaps_io.go (never touch sibling lane files); SQLite stays facade-side per the landed crate seams. Freeze truth for the family fns via the shared harness + rigs (byte-identical), battery in a family-named test file, live parity 100% on new fns, gofmt+vet + go build ./... clean, Python suite green in BOTH pins. Sibling lane rune-wave-dn owns retrieval/ranking — never touch their functions.
## 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: 6 checkpoint(s) recorded on the contract entity.
- Quality at close: {"candidate_corrections": [], "captured_at": "2026-10-15T00:56:30Z", "contract": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io", "correctly_predicted": [], "evidence_sources": ["unattributed"], "expected_new_entities": [], "expected_new_missing": [], "expected_new_observed": [], "expected_runtime_effects": [], "expected_runtime_missing": [], "expected_runtime_observed": [], "genuinely_unexpected_new": [], "missed": [], "needless": ["module:deploy_qualify"], "observed": [], "observed_existing": [], "observed_new": [], "predicted_but_unaffected": ["module:deploy_qualify"], "predicted_existing_affected": ["module:deploy_qualify"], "scope_check": {"in_scope": [], "out_of_scope": ["scripts/check_memory_store_io_parity.py", "scripts/close_contract_memory_store_io.py", "scripts/gen_memory_store_io_truth.py", "scripts/open_contract_memory_store_io.py", "src/go/memory-store-deep/gaps_io.go", "src/go/memory-store-deep/truth_io.json", "src/go/memory-store-deep/truth_io_test.go", "src/rune/memory_store.py", "verification/summary-ms-io.md"], "reason": "contract has no approved scope", "verdict": "unknown"}}.
## Evidence
- builder:factory-heavy-ms-io
- builder:factory-heavy-ms-io
- parity 770dac59, phase B e8a97036
- parity 770dac59, phase B e8a97036
- parity 770dac59, phase B e8a97036
- closure-record
@@ -6741,3 +6741,7 @@
{"builder": "factory-heavy-ms-io", "detail": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io \u2192 approved", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-14T21:21:28Z", "operation": "transition"}
{"builder": "factory-heavy-ms-io", "detail": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io \u2192 building", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-14T21:21:58Z", "operation": "transition"}
>>>>>>> 583b2693 (chore(store): record memory_store-IO contract open (builder factory-heavy-ms-io))
{"builder": "factory-heavy-ms-io", "detail": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io \u2192 approved", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-15T00:49:24Z", "operation": "transition"}
{"builder": "factory-heavy-ms-io", "detail": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io \u2192 building", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-15T00:49:53Z", "operation": "transition"}
{"builder": "factory-heavy-ms-io", "detail": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io \u2192 verifying", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-15T00:50:18Z", "operation": "transition"}
{"builder": "factory-heavy-ms-io", "detail": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io closed", "kind": "builder_session", "mode": "rune_internal", "observed_at": "2026-10-15T00:56:30Z", "operation": "close"}
+6
View File
@@ -0,0 +1,6 @@
resuming contract: BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io
contract_id: BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io
current phase: verifying
close: {"schema": 1, "operation": "close", "success": true, "ids": {"contract_id": "BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io"}, "state": {"mini_doc": "/mnt/workdrive/rune-wave-dm/store/scaffold/docs/BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io.md", "phase": "closed", "material_change_closure": {"changed": [], "unmodeled": ["src/go/memory-store-deep/gaps_io.go", "src/go/memory-st
FINAL PHASE: closed
CLOSED BUILDER-2026-10-14T21:20:59Z-fce64d-factory-heavy-ms-io