feat: seed railiance financial baseline

This commit is contained in:
2026-05-24 01:20:07 +02:00
parent 7d9b49764b
commit 13188a6ae1
5 changed files with 247 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ from pathlib import Path
from railiance_fabric.cli import main as cli_main
from railiance_fabric.graph import build_graph
from railiance_fabric.financial import materialize_financial_graph_export
from railiance_fabric.financial_baseline import financial_export_from_legacy
from railiance_fabric.registry import (
RESET_CONFIRMATION_TOKEN,
RegistryError,
@@ -319,6 +320,29 @@ def test_registry_accepts_financial_graph_and_materializes_vnext_fields(tmp_path
assert combined["edges"][0]["relationship_category"] == "utility"
def test_current_graph_projects_to_financial_baseline() -> None:
legacy_graph = build_graph([Path(".")]).to_export()
financial_graph = financial_export_from_legacy(legacy_graph)
validate_graph_export(financial_graph)
validator = draft202012_validator(Path("schemas/state-hub-export.schema.yaml"))
assert list(validator.iter_errors(financial_graph)) == []
assert financial_graph["netkingdom"]["id"] == "railiance.netkingdom"
assert financial_graph["fabrics"][0]["id"] == "fabric.railiance.primary"
assert financial_graph["unresolved"] == []
assert all(node["containment"]["fabric_id"] == "fabric.railiance.primary" for node in financial_graph["nodes"])
assert all(node["ownership"]["owner_actor_id"] == "actor.railiance.primary-lord" for node in financial_graph["nodes"])
def test_export_cli_can_print_financial_baseline(capsys) -> None:
assert cli_main(["export", "--format", "financial", "."]) == 0
payload = json.loads(capsys.readouterr().out)
validate_graph_export(payload)
assert payload["apiVersion"] == "railiance.fabric/v1alpha2"
assert payload["compatibility"]["projected_from_apiVersion"] == "railiance.fabric/v1alpha1"
def test_registry_reset_archive_and_guarded_reset(tmp_path: Path) -> None:
store = RegistryStore(tmp_path / "registry.sqlite3")
store.init_schema()