Files
rune/scripts/close_contract_persona_gate.py
T
Nick 678b390cb9
CI Pipeline / best-practices (push) Successful in 8s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / rust-surface (push) Failing after 14s
CI Pipeline / go-surface (push) Failing after 17s
CI Pipeline / gitea-offline (push) Successful in 21s
Auto-version and Release / release (push) Successful in 37s
CI Pipeline / type-check (push) Failing after 51s
CI Pipeline / lint (push) Failing after 1m10s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / canary (push) Canceled after 2m6s
CI Pipeline / unit-tests (push) Canceled after 2m11s
deploy / deploy (push) Canceled after 1m55s
chore(store): close persona_gate dichotomy contract BUILDER-2026-10-13T02:46:21Z-e4c445-factory-gap-pg (parity 0b77dce2, phase B bddc981c)
2026-10-13 04:27:14 +01:00

46 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""Close the #2479 dichotomy-wave persona_gate contract with SHA evidence.
Run on top of CURRENT master (a worktree store close never reaches master
by itself — build_basis/message_queue precedent)."""
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
CID = sys.argv[1] if len(sys.argv) > 1 else ""
PARITY_SHA = sys.argv[2] if len(sys.argv) > 2 else ""
PHASEB_SHA = sys.argv[3] if len(sys.argv) > 3 else ""
if not (CID and PARITY_SHA and PHASEB_SHA):
sys.exit("usage: close_contract_persona_gate.py <contract_id> <parity_sha> <phaseb_sha>")
iface = ConstructionInterface(builder="factory-gap-pg")
c = iface.close(CID, observed_evidence=[{
"kind": "port_evidence",
"detail": (
f"persona_gate GO gap-closing port — parity commit {PARITY_SHA}, "
f"Phase B commit {PHASEB_SHA}; audit fn coverage 7/26 → 26/26 "
"(19 audit-missing functions ported name-preserving); frozen-truth "
"battery 92/92 rows vs live oracle (scripts/gen_persona_gate_truth.py, "
"RUNE_COGNITION_CORE=python pinned, deep-copied inputs), live parity "
"31/31, go test -race green, gofmt/vet clean, Python seam tests 13 "
"passed."
),
}], scope_files=[
"src/rune/persona_gate.py",
"src/go/persona-gate/gaps.go",
"src/go/persona-gate/main.go",
"src/go/persona-gate/phaseb.go",
"src/go/persona-gate/truth_test.go",
"src/go/persona-gate/phaseb_test.go",
"src/go/persona-gate/truth.json",
"scripts/gen_persona_gate_truth.py",
"scripts/parity_persona_gate.py",
"scripts/open_contract_persona_gate.py",
])
print("close:", json.dumps(c)[:400])
print("CONTRACT", CID, "closed" if c.get("success") else "CLOSE_FAILED")