Some checks are pending
CI / lint-and-test (push) Waiting to run
- Compose prepared KB packets in production dependency order with rollback order - Prove full disposable clone apply/rollback while production stays unchanged - Retain missing packet SQL, integrated manifest, state image, and tests `docs/reports/leo-working-state-20260709/current-truth-index.md` `docs/reports/leo-working-state-20260709/helmer-7powers-production-apply-packet-summary.json` `docs/reports/leo-working-state-20260709/helmer-7powers-production-apply-rollback-rehearsal.sql` `docs/reports/leo-working-state-20260709/helmer-7powers-production-postflight.sql` `docs/reports/leo-working-state-20260709/helmer-7powers-production-preflight.sql` `docs/reports/leo-working-state-20260709/leo-db-state-25-integrated-apply-rehearsal.svg` `docs/reports/leo-working-state-20260709/production-apply-authorized-commit.sql` `docs/reports/leo-working-state-20260709/production-apply-packet-summary.json` `docs/reports/leo-working-state-20260709/production-apply-packet.json` `docs/reports/leo-working-state-20260709/production-apply-rollback-rehearsal.sql` `docs/reports/leo-working-state-20260709/production-delete-rollback.sql` `docs/reports/leo-working-state-20260709/production-postflight.sql` `docs/reports/leo-working-state-20260709/production-preflight.sql` `docs/reports/leo-working-state-20260709/working-leo-current-state-20260709.md` `docs/reports/leo-working-state-20260709/working-leo-execution-plan-current.md` `docs/reports/leo-working-state-20260709/working-leo-integrated-clone-rehearsal-current.log` `docs/reports/leo-working-state-20260709/working-leo-integrated-packet-current.md` `docs/reports/leo-working-state-20260709/working-leo-integrated-packet.json` `docs/reports/leo-working-state-20260709/working-leo-integrated-packet.md` `scripts/working_leo_integrated_packet.py` `tests/test_working_leo_integrated_packet.py`
69 lines
2.2 KiB
Python
69 lines
2.2 KiB
Python
"""Tests for scripts/working_leo_integrated_packet.py."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import json
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
REPO_ROOT = Path(__file__).resolve().parents[1]
|
|
sys.path.insert(0, str(REPO_ROOT / "scripts"))
|
|
|
|
import working_leo_integrated_packet as packet # noqa: E402
|
|
|
|
|
|
def test_manifest_apply_and_rollback_order():
|
|
result = packet.build_manifest()
|
|
assert result["production_apply_status"] == "not_executed"
|
|
assert result["apply_order"] == [
|
|
"mapped-rich-base",
|
|
"cross-surface-anchor",
|
|
"rio-strategy-context",
|
|
"governance-concept-schema",
|
|
"helmer-7powers",
|
|
]
|
|
assert result["rollback_order"] == [
|
|
"helmer-7powers",
|
|
"governance-concept-schema",
|
|
"rio-strategy-context",
|
|
"cross-surface-anchor",
|
|
"mapped-rich-base",
|
|
]
|
|
|
|
|
|
def test_manifest_expected_counts_are_composed_from_packets():
|
|
result = packet.build_manifest()
|
|
assert result["expected_after_apply_counts"] == {
|
|
"claim_concept_map_links": 1,
|
|
"claim_edges": 18,
|
|
"claim_evidence": 34,
|
|
"claim_governance_gate_links": 2,
|
|
"claims": 12,
|
|
"concept_maps": 1,
|
|
"cross_surface_anchor_updates": 1,
|
|
"helmer_ledger_rows_marked_applied": 1,
|
|
"reasoning_tools": 1,
|
|
"rio_strategy_anchors": 5,
|
|
"rio_strategy_nodes": 2,
|
|
"sources": 28,
|
|
}
|
|
|
|
|
|
def test_manifest_packet_files_exist_and_are_relative_to_report_dir():
|
|
result = packet.build_manifest()
|
|
report_dir = Path(result["report_dir"])
|
|
for item in result["packets"]:
|
|
assert (report_dir / item["apply_sql"]).exists()
|
|
assert (report_dir / item["rollback_sql"]).exists()
|
|
assert (report_dir / item["packet_json"]).exists()
|
|
assert not Path(item["apply_sql"]).is_absolute()
|
|
|
|
|
|
def test_write_manifest_files(tmp_path: Path):
|
|
result = packet.build_manifest()
|
|
packet.write_manifest_files(result, tmp_path)
|
|
written_json = json.loads((tmp_path / "working-leo-integrated-packet.json").read_text())
|
|
written_md = (tmp_path / "working-leo-integrated-packet.md").read_text()
|
|
assert written_json["apply_order"][0] == "mapped-rich-base"
|
|
assert "## Apply Order" in written_md
|
|
assert "`claims`: `12`" in written_md
|