CI Pipeline / best-practices (push) Successful in 7s
CI Pipeline / documentation (push) Successful in 7s
CI Pipeline / rust-surface (push) Failing after 11s
CI Pipeline / go-surface (push) Failing after 14s
CI Pipeline / required-checks (push) Canceled after 0s
CI Pipeline / CI Pipeline / notify-event-bridge (push) Canceled after 0s
CI Pipeline / gitea-offline (push) Canceled after 18s
CI Pipeline / unit-tests (push) Canceled after 25s
Auto-version and Release / release (push) Canceled after 26s
CI Pipeline / lint (push) Canceled after 26s
CI Pipeline / canary (push) Canceled after 25s
deploy / deploy (push) Canceled after 15s
CI Pipeline / type-check (push) Canceled after 21s
44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
"""Close the #2479 dichotomy-wave forge_client 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_forge_client.py <contract_id> <parity_sha> <phaseb_sha>")
|
|
|
|
iface = ConstructionInterface(builder="factory-wave")
|
|
|
|
c = iface.close(CID, observed_evidence=[{
|
|
"kind": "port_evidence",
|
|
"detail": (
|
|
f"forge_client GO dichotomy port — parity commit {PARITY_SHA}, "
|
|
f"Phase B commit {PHASEB_SHA}; parity 49/49 frozen rows vs live "
|
|
"oracle (scripts/gen_forge_client_truth.py), go test -race green, "
|
|
"gofmt/vet clean, Python oracle tests 18 passed."
|
|
),
|
|
}], scope_files=[
|
|
"src/rune/forge_client.py",
|
|
"src/go/forge_client/forge_client.go",
|
|
"src/go/forge_client/phaseb.go",
|
|
"src/go/forge_client/replay.go",
|
|
"src/go/forge_client/main.go",
|
|
"src/go/forge_client/truth_test.go",
|
|
"src/go/forge_client/phaseb_test.go",
|
|
"src/go/forge_client/truth.json",
|
|
"src/go/forge_client/go.mod",
|
|
"scripts/gen_forge_client_truth.py",
|
|
"scripts/open_contract_forge_client.py",
|
|
])
|
|
print("close:", json.dumps(c)[:400])
|
|
print("CONTRACT", CID, "closed" if c.get("success") else "CLOSE_FAILED")
|