"""Exact closed source bindings predating canonical Forge identity. These are frozen historical source views, not aliases or UUID allocation rules. An altered/missing source requires explicit owner review; generic source UUIDs remain untrusted. Shared Activity views represent the one archived parent. """ from pathlib import Path from hashlib import sha256 import json BINDINGS = json.loads(r'''[ { "repo": "activity-core", "path": "workplans/archived/260707-custodian-WP-0003-event-bridge.md", "sha256": "83ea8bcb151e003419b73c59dbd028f4a1ce3d1120a82e4a128a772503ff3b76", "record_id": "custodian-WP-0003", "uuid": "b4eb45a9-69e3-4ab0-b00c-67a53c3117c5", "parent_record_id": "custodian-WP-0003" }, { "repo": "activity-core", "path": "workplans/custodian-WP-0001-temporal-backbone.md", "sha256": "020e2eac973f2daa41c1687f8e867da9d521f945547e6aa82c87993b3ff6fc64", "record_id": "custodian-WP-0001", "uuid": "e22516cc-4fdf-4dad-a928-a9e04a9fa7c7", "parent_record_id": "custodian-WP-0001" }, { "repo": "activity-core", "path": "workplans/custodian-WP-0002-triggers-ops.md", "sha256": "d8cbc61631c01b6f11a03a63f2fb6275fc853ff7f7459ce65973ed1a233daa01", "record_id": "custodian-WP-0002", "uuid": "3a4f47d9-8bc1-434e-acb4-bed5d4dacda0", "parent_record_id": "custodian-WP-0002" }, { "repo": "activity-core", "path": "workplans/custodian-WP-0003a-event-bridge-model-rules-registry.md", "sha256": "ffa6682e9ba3aaf559bd44203d561c90dea69bcf1b1e778209a7b209e6e5cdd3", "record_id": "custodian-WP-0003a", "uuid": "b4eb45a9-69e3-4ab0-b00c-67a53c3117c5", "parent_record_id": "custodian-WP-0003" }, { "repo": "activity-core", "path": "workplans/custodian-WP-0003b-event-bridge-parser-workflow-triggers.md", "sha256": "4fc34e0f821e2df51e5c08c7ab34da35b65690381d01f0cfdf55d00c970b414c", "record_id": "custodian-WP-0003b", "uuid": "b4eb45a9-69e3-4ab0-b00c-67a53c3117c5", "parent_record_id": "custodian-WP-0003" }, { "repo": "activity-core", "path": "workplans/custodian-WP-0003c-event-bridge-context-integration.md", "sha256": "b6cd62b26515e509670ca39736b6bcec9633beedd46c9bd8f7598c06bac7276b", "record_id": "custodian-WP-0003c", "uuid": "b4eb45a9-69e3-4ab0-b00c-67a53c3117c5", "parent_record_id": "custodian-WP-0003" }, { "repo": "activity-core", "path": "workplans/custodian-WP-0004-railiance-ops.md", "sha256": "20df02eea740e109c937130e7f8801a636fc0990ed8c6d2ced55659f8957adb1", "record_id": "custodian-WP-0004", "uuid": "759b1255-aa78-42b5-8fab-c5fcf168f5f4", "parent_record_id": "custodian-WP-0004" }, { "repo": "the-custodian", "path": "workplans/ADHOC-2026-08-25-retired.md", "sha256": "344a1293dbb3a67a944eb34ca4a0337487d8f047226027a2107922346fbab2dd", "record_id": "CUST-WP-ADHOC-2026-08-25-RETIRED", "uuid": "1c53d3db-6633-5e2d-987f-10706d73be9e", "parent_record_id": "CUST-WP-ADHOC-2026-08-25-RETIRED" }, { "repo": "railiance-cluster", "path": "workplans/archived/260622-RAIL-BS-WP-0002-k3s-baseline.md", "sha256": "8d6f8533c119117686bc0d5bb9ed5349726aa6c3189ff98b53409c68ac685ca9", "record_id": "RAIL-BS-WP-0002", "uuid": "4c63dfc6-9eac-4e79-9f77-8f644ad7147d", "parent_record_id": "RAIL-BS-WP-0002", "tasks": [ { "label": "T01", "uuid": "3f042630-eab0-4c6a-9167-e2b28ff20e40", "status": "done" }, { "label": "T02", "uuid": "e8510646-46ed-4697-a345-f3d3009eea78", "status": "done" }, { "label": "T03", "uuid": "dab2c07f-8aa0-4635-8df6-857e87e93fc5", "status": "done" }, { "label": "T04", "uuid": "5c3d40e4-239b-488e-9519-6f7a38d2325f", "status": "done" }, { "label": "T05", "uuid": "7f9e0e58-a130-467a-a2d0-b3f2564e496f", "status": "done" } ] }, { "repo": "railiance-cluster", "path": "workplans/archived/260622-RAIL-BS-WP-0003-pgpool-ha-failover-fix.md", "sha256": "4dc2f61e15adc3c5c81f9ecf8b933512275b95e8f829fac52ae7cde1385cea4a", "record_id": "RAIL-BS-WP-0003", "uuid": "7ee9ee22-1fae-4567-9194-8d70a9e0f45b", "parent_record_id": "RAIL-BS-WP-0003", "tasks": [ { "label": "T01", "uuid": "6841c93a-f146-47eb-9f7c-8fa0e02c1bbc", "status": "done" }, { "label": "T02", "uuid": "ab166073-30a7-4702-a037-4091e8706e20", "status": "done" }, { "label": "T03", "uuid": "140da396-8e30-4f4d-b88c-c42c0cd46c01", "status": "done" }, { "label": "T04", "uuid": "d8a3ba40-fda0-4c1f-a9f1-ffcd621a5b3d", "status": "done" } ] }, { "repo": "railiance-cluster", "path": "workplans/archived/260622-RAIL-BS-WP-0004-safety-net.md", "sha256": "04f787078232395bd2d43861de16c521848559fa286f06e1caa9cb779aa71ac3", "record_id": "RAIL-BS-WP-0004", "uuid": "7e8b0c20-51eb-40c9-9e3b-85dd380d7625", "parent_record_id": "RAIL-BS-WP-0004", "tasks": [ { "label": "T01", "uuid": "4526a842-ea31-4874-9231-92ab556cfe7b", "status": "done" }, { "label": "T02", "uuid": "a6313e06-1976-46a7-8e31-df4eb2eca880", "status": "done" }, { "label": "T03", "uuid": "05d42a55-921f-4aa7-bb76-e8af9c7e0ac3", "status": "done" }, { "label": "T04", "uuid": "08233868-d522-4117-bc4e-6c0f52545665", "status": "done" }, { "label": "T05", "uuid": "2d5acff7-4a4e-4ddd-ad06-08237ad3dac8", "status": "done" }, { "label": "T06", "uuid": "f8e4a094-c367-40eb-b895-da17bc144b07", "status": "done" } ] } ]''') def bound_sources(repo_root: Path, repo_slug: str): entries = [entry for entry in BINDINGS if entry["repo"] == repo_slug] result = [] for entry in entries: path = repo_root / entry["path"] if path.is_symlink() or not path.is_file(): raise ValueError("Historical source binding missing or symlinked: " + entry["path"]) data = path.read_bytes() if sha256(data).hexdigest() != entry["sha256"]: raise ValueError("Historical source binding changed: " + entry["path"]) result.append((entry, data.decode("utf-8"))) return result # Only the three existing full-task Cluster bindings have immutable DB rows. # Other historical views retain their existing compatibility behavior. FROZEN_CLUSTER_BINDINGS = tuple( entry for entry in BINDINGS if entry["repo"] == "railiance-cluster" and "tasks" in entry ) def frozen_cluster_binding(binding): """Validate a claimed frozen binding; unrelated requests remain ordinary.""" matches = [entry for entry in FROZEN_CLUSTER_BINDINGS if str(binding["workplan_id"]) == entry["uuid"] or (binding["repo_slug"] == "railiance-cluster" and (binding["relative_path"] == entry["path"] or binding["filename"] == Path(entry["path"]).name))] if not matches: return None if len(matches) != 1: raise ValueError("frozen historical binding is ambiguous") entry = matches[0] expected = { "workplan_id": entry["uuid"], "repo_slug": entry["repo"], "filename": Path(entry["path"]).name, "relative_path": entry["path"], "archived": True, "status": "finished", } if any((str(binding[key]) if key == "workplan_id" else binding[key]) != value for key, value in expected.items()): raise ValueError("frozen historical binding metadata changed") return entry def validate_frozen_cluster_rows(entry, parent, tasks, repo_id): """Receiving requires the exact existing terminal closure, never repair.""" if (parent is None or str(parent.id) != entry["uuid"] or repo_id is None or parent.repo_id != repo_id or parent.status not in {"done", "finished", "archived", "completed"}): raise ValueError("frozen historical parent missing, foreign or nonterminal") local = {str(task.id): task for task in tasks if task.workplan_id == parent.id} if any(task["uuid"] not in local or local[task["uuid"]].status not in {"done", "cancel"} for task in entry["tasks"]): raise ValueError("frozen historical task missing, foreign or nonterminal")