teleo-infrastructure/scripts/kb_cross_surface_resolution_packet.py
twentyOne2x f34feb0ffb
Some checks are pending
CI / lint-and-test (push) Waiting to run
Add Working Leo cross-surface KB proof
- Add broad Cory-style outcome scenarios to the open-ended benchmark so regular-use ambiguity is tested, not only exact ID canaries.

- Add a clone-proven cross-surface strategy anchor packet that updates the mapped rich proposal anchor only after Claim D exists.

- Retain VPS Docker DB, claim/body metadata, and cross-surface proof reports with ruff plus 37 focused tests passing.

`docs/reports/leo-working-state-20260709/cory-expected-working-leo-outcomes-20260709.md`

`docs/reports/leo-working-state-20260709/cross-surface-apply-authorized-commit.sql`

`docs/reports/leo-working-state-20260709/cross-surface-clone-rehearsal-current.log`

`docs/reports/leo-working-state-20260709/cross-surface-clone-rehearsal-failed-source-id-constraint.log`

`docs/reports/leo-working-state-20260709/cross-surface-delete-rollback.sql`

`docs/reports/leo-working-state-20260709/cross-surface-packet.json`

`docs/reports/leo-working-state-20260709/cross-surface-postflight.sql`

`docs/reports/leo-working-state-20260709/cross-surface-preflight.sql`

`docs/reports/leo-working-state-20260709/cross-surface-resolution-current.md`

`docs/reports/leo-working-state-20260709/current-truth-index.md`

`docs/reports/leo-working-state-20260709/leo-db-state-17-cory-outcome-benchmark.svg`

`docs/reports/leo-working-state-20260709/leo-db-state-18-db-vs-workspace.svg`

`docs/reports/leo-working-state-20260709/leo-db-state-19-claims-body-metadata.svg`

`docs/reports/leo-working-state-20260709/leo-db-state-20-cross-surface-anchor.svg`

`docs/reports/leo-working-state-20260709/working-leo-current-state-20260709.md`

`docs/reports/leo-working-state-20260709/working-leo-definition-20260709.md`

`docs/reports/leo-working-state-20260709/working-leo-execution-plan-current.md`

`docs/reports/leo-working-state-20260709/working-leo-open-ended-benchmark-spec.json`

`scripts/kb_cross_surface_resolution_packet.py`

`scripts/working_leo_open_ended_benchmark.py`

`tests/test_kb_cross_surface_resolution_packet.py`

`tests/test_working_leo_open_ended_benchmark.py`
2026-07-09 23:39:51 +02:00

297 lines
11 KiB
Python

#!/usr/bin/env python3
"""Generate a cross-surface companion packet for mapped rich KB proposals.
The mapped rich proposal packet creates claim/source/evidence/edge rows. Some
approved fragments target non-claim surfaces. This packet handles the one
currently safe cross-surface write: after Claim D exists, move the active Leo
policy anchor from the retired compressed internet-finance claim to Claim D.
Other fragments are retained as explicit deferrals because the current schema
does not provide a safe direct relationship from claims to governance gates,
concept maps, or Rio strategy context.
"""
from __future__ import annotations
import argparse
import json
import sys
from pathlib import Path
from typing import Any
HERE = Path(__file__).resolve().parent
sys.path.insert(0, str(HERE))
from kb_rich_proposal_creation_plan import _sql_literal # noqa: E402
POLICY_NODE_ID = "52bc4264-330e-489d-920c-a493fd2d985a"
POLICY_NODE_TITLE = "Multi-agent public intelligence"
POLICY_TELOS_ANCHOR_ID = "c7dd984c-ac1b-43f9-9996-576ddf61c6d2"
TELOS_SHARED_ROOT_ID = "13100000-0000-0000-0000-000000000001"
OLD_INTERNET_FINANCE_CLAIM_ID = "d0000000-0000-0000-0000-000000000005"
CLAIM_D_ID = "e6ce4e36-15d2-53bc-8b74-dda0efc095c1"
APPROVAL_SOURCE_ID = "9a0d2429-b98b-585a-980c-0176db7f9fe7"
ANCHOR_ID = "47f128a0-36c5-4b60-97d4-48c32fa48bc7"
QUALITY_GATE_ID = "fa88e31b-6fca-4801-bf72-f5db81950a11"
EVIDENCE_BAR_ID = "45695897-2a9c-4279-ac25-e59f166dec6a"
ANCHOR_NOTE = (
"Mapped rich proposal 14fa5ecc applied: active Leo policy now anchors to Claim D "
"(internet finance is a candidate mechanism, not the telos) instead of the retired "
"compressed internet-finance claim."
)
OLD_ANCHOR_NOTE = (
"Telos/policy grounding approved by m3ta: capital allocation expresses priorities "
"and must be coordinated with collective intelligence."
)
def _uuid_values(values: list[str], *, column_name: str = "id") -> str:
rows = ",\n ".join(f"('{value}'::uuid)" for value in values)
return f"(values\n {rows}\n ) as v({column_name})"
def build_preflight_sql() -> str:
return f"""\\set ON_ERROR_STOP on
-- Cross-surface companion preflight. Read-only.
-- Run after the mapped rich proposal claim/source packet has been applied.
select 'policy_anchor_current' as check_name,
id::text,
from_node_id::text,
anchor_role,
claim_id::text,
source_id::text,
left(note, 220) as note
from public.strategy_node_anchors
where id = { _sql_literal(ANCHOR_ID) }::uuid;
select 'base_claim_d_exists' as check_name,
id::text,
status,
left(text, 220) as text
from public.claims
where id = { _sql_literal(CLAIM_D_ID) }::uuid;
select 'approval_source_exists' as check_name,
id::text,
source_type,
left(coalesce(excerpt, ''), 220) as excerpt
from public.sources
where id = { _sql_literal(APPROVAL_SOURCE_ID) }::uuid;
select 'telos_anchor_already_exists' as check_name,
id::text,
from_node_id::text,
anchor_role,
to_shared_root_id::text,
left(note, 220) as note
from public.strategy_node_anchors
where id = { _sql_literal(POLICY_TELOS_ANCHOR_ID) }::uuid;
select 'governance_gate_known' as check_name,
id::text,
name,
left(criteria, 180) as criteria,
left(evidence_bar, 180) as evidence_bar
from public.governance_gates
where id in (select id from {_uuid_values([QUALITY_GATE_ID, EVIDENCE_BAR_ID])})
order by name;
"""
def build_apply_sql(*, commit: bool) -> str:
terminator = "commit;" if commit else "rollback;"
return f"""\\set ON_ERROR_STOP on
begin;
do $$
declare
updated int;
begin
if not exists (select 1 from public.claims where id = { _sql_literal(CLAIM_D_ID) }::uuid) then
raise exception 'cross-surface packet requires Claim D % to exist before anchor update', { _sql_literal(CLAIM_D_ID) };
end if;
if not exists (select 1 from public.sources where id = { _sql_literal(APPROVAL_SOURCE_ID) }::uuid) then
raise exception 'cross-surface packet requires approval source % to exist before anchor update', { _sql_literal(APPROVAL_SOURCE_ID) };
end if;
update public.strategy_node_anchors
set claim_id = { _sql_literal(CLAIM_D_ID) }::uuid,
weight = 0.85,
note = { _sql_literal(ANCHOR_NOTE) }
where id = { _sql_literal(ANCHOR_ID) }::uuid
and from_node_id = { _sql_literal(POLICY_NODE_ID) }::uuid
and anchor_role = 'justified_by'
and claim_id = { _sql_literal(OLD_INTERNET_FINANCE_CLAIM_ID) }::uuid;
get diagnostics updated = row_count;
if updated <> 1 then
raise exception 'cross-surface anchor update affected % row(s), expected 1; anchor was not at old claim state', updated;
end if;
end $$;
{terminator}
"""
def build_postflight_sql() -> str:
return f"""\\set ON_ERROR_STOP on
-- Cross-surface postflight row-level readback.
select id::text,
from_node_id::text,
anchor_role,
claim_id::text,
source_id::text,
weight,
left(note, 240) as note
from public.strategy_node_anchors
where id = { _sql_literal(ANCHOR_ID) }::uuid;
select c.id::text,
c.status,
c.superseded_by::text,
left(c.text, 240) as text
from public.claims c
where c.id in (select id from {_uuid_values([OLD_INTERNET_FINANCE_CLAIM_ID, CLAIM_D_ID])})
order by c.id;
select id::text,
anchor_role,
to_shared_root_id::text,
left(note, 240) as note
from public.strategy_node_anchors
where id = { _sql_literal(POLICY_TELOS_ANCHOR_ID) }::uuid;
"""
def build_delete_rollback_sql() -> str:
return f"""\\set ON_ERROR_STOP on
begin;
do $$
declare
restored int;
begin
update public.strategy_node_anchors
set claim_id = { _sql_literal(OLD_INTERNET_FINANCE_CLAIM_ID) }::uuid,
source_id = null,
weight = 0.7,
note = { _sql_literal(OLD_ANCHOR_NOTE) }
where id = { _sql_literal(ANCHOR_ID) }::uuid
and from_node_id = { _sql_literal(POLICY_NODE_ID) }::uuid
and anchor_role = 'justified_by'
and claim_id = { _sql_literal(CLAIM_D_ID) }::uuid;
get diagnostics restored = row_count;
if restored <> 1 then
raise exception 'cross-surface anchor rollback affected % row(s), expected 1; anchor was not at Claim D state', restored;
end if;
end $$;
commit;
"""
def build_packet() -> dict[str, Any]:
return {
"packet_version": 1,
"purpose": "Companion packet for mapped rich proposal non-claim surfaces.",
"production_apply_status": "not_executed",
"base_packet_required_first": "production-apply-packet-mapped-20260709",
"safe_writes": [
{
"table": "public.strategy_node_anchors",
"operation": "update",
"id": ANCHOR_ID,
"from_node_id": POLICY_NODE_ID,
"from_node_title": POLICY_NODE_TITLE,
"old_claim_id": OLD_INTERNET_FINANCE_CLAIM_ID,
"new_claim_id": CLAIM_D_ID,
"approval_source_id": APPROVAL_SOURCE_ID,
"reason": "Replace the active Leo policy anchor that points at the retiring compressed internet-finance claim with the approved Claim D boundary claim.",
}
],
"already_represented": [
{
"target": "teleo telos",
"table": "public.strategy_node_anchors",
"id": POLICY_TELOS_ANCHOR_ID,
"to_shared_root_id": TELOS_SHARED_ROOT_ID,
"reason": "The active Leo policy already serves the Teleo telos shared root; the Claim D anchor update keeps internet finance subordinate to that telos.",
}
],
"known_non_writable_targets": [
{
"target": "governance_gate:quality-gate",
"existing_row_id": QUALITY_GATE_ID,
"reason": "Governance gate exists, but current schema has no claim-to-governance-gate edge/anchor table.",
},
{
"target": "governance_gate:evidence-bar",
"existing_row_id": EVIDENCE_BAR_ID,
"reason": "Governance gate exists, but current schema has no claim-to-governance-gate edge/anchor table.",
},
{
"target": "concept_map:distributed_market_intelligence",
"existing_row_id": None,
"reason": "No first-class concept-map table exists in the current live schema.",
},
{
"target": "rio:capital-deployment-layer",
"existing_row_id": None,
"reason": "No exact Rio strategy node or claim target exists in the current live schema.",
},
{
"target": "rio:active strategy v1 / internet-finance capital product",
"existing_row_id": None,
"reason": "No exact Rio active strategy node exists in the current live schema.",
},
],
"sql": {
"preflight": build_preflight_sql(),
"apply_rollback_rehearsal": build_apply_sql(commit=False),
"apply_commit": build_apply_sql(commit=True),
"postflight": build_postflight_sql(),
"delete_rollback": build_delete_rollback_sql(),
},
}
def write_packet_files(packet: dict[str, Any], output_dir: Path) -> None:
output_dir.mkdir(parents=True, exist_ok=True)
sql = packet["sql"]
(output_dir / "cross-surface-preflight.sql").write_text(sql["preflight"], encoding="utf-8")
(output_dir / "cross-surface-apply-rollback-rehearsal.sql").write_text(
sql["apply_rollback_rehearsal"], encoding="utf-8"
)
(output_dir / "cross-surface-apply-authorized-commit.sql").write_text(sql["apply_commit"], encoding="utf-8")
(output_dir / "cross-surface-postflight.sql").write_text(sql["postflight"], encoding="utf-8")
(output_dir / "cross-surface-delete-rollback.sql").write_text(sql["delete_rollback"], encoding="utf-8")
summary = {key: value for key, value in packet.items() if key != "sql"}
(output_dir / "cross-surface-packet.json").write_text(
json.dumps(summary, indent=2, sort_keys=True) + "\n", encoding="utf-8"
)
def parse_args(argv: list[str]) -> argparse.Namespace:
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--output-dir", type=Path, help="directory to write packet files")
return parser.parse_args(argv)
def main(argv: list[str] | None = None) -> int:
args = parse_args(sys.argv[1:] if argv is None else argv)
packet = build_packet()
if args.output_dir:
write_packet_files(packet, args.output_dir)
print(json.dumps({key: value for key, value in packet.items() if key != "sql"}, indent=2, sort_keys=True))
return 0
if __name__ == "__main__":
raise SystemExit(main())