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:
1 parent
599978d95b
commit
763ae54874
5 files changed
+6034
-7
No files matched your search
@@ -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
|
||||
+5942
File diff suppressed because it is too large.
Load diff
@@ -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"}
|
||||
@@ -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
|
||||
Reference in new issue
Block a user