test(performance): enforce semantic artifact authority boundary (#19)
CI / lite (push) Successful in 9s

This commit was merged in pull request #19.
This commit is contained in:
2026-09-01 23:12:10 +08:00
parent a724e1e57a
commit 68dd68392a
7 changed files with 3025 additions and 4 deletions
+8 -1
View File
@@ -16,7 +16,7 @@ def test_module_spec_declares_pure_research_engine_boundary() -> None:
prohibited = " ".join(spec["bounded_context"]["prohibited_responsibilities"]).lower()
for term in ("investment advice", "live order", "credentials", "source facts"):
assert term in prohibited
assert spec["authority"]["revision"] == 4
assert spec["authority"]["revision"] == 5
assert {
(item["contract_id"], item["version"])
for item in spec["contracts"]["provides"]
@@ -25,6 +25,7 @@ def test_module_spec_declares_pure_research_engine_boundary() -> None:
("researchhub.factor-set-ref", "1.0.0"),
("researchhub.backtest-run-ref", "1.0.0"),
("researchhub.backtest-evidence-manifest", "1.0.0"),
("researchhub.performance-evidence", "1.0.0"),
("researchhub.portfolio-decision", "1.0.0"),
("researchhub.risk-assessment", "1.0.0"),
}
@@ -33,6 +34,7 @@ def test_module_spec_declares_pure_research_engine_boundary() -> None:
"researchhub.factor-set-ref": "src/quant_engine/factor_contracts.py",
"researchhub.backtest-run-ref": "src/quant_engine/governed_pipeline.py",
"researchhub.backtest-evidence-manifest": "src/quant_engine/artifact.py",
"researchhub.performance-evidence": "src/quant_engine/artifact.py",
"researchhub.portfolio-decision": "src/quant_engine/portfolio_risk_contracts.py",
"researchhub.risk-assessment": "src/quant_engine/portfolio_risk_contracts.py",
}
@@ -53,6 +55,11 @@ def test_module_spec_declares_pure_research_engine_boundary() -> None:
)
assert spec["dependencies"] == []
capabilities = {item["id"]: item for item in spec["capabilities"]}
evidence_contract = capabilities["backtest-evidence-contracts"]
assert evidence_contract["status"] == "operational"
evidence_summary = evidence_contract["summary"].lower()
for term in ("performance-methodology", "without recomputation", "decision authority"):
assert term in evidence_summary
portfolio_contract = capabilities["portfolio-risk-computation-contracts"]
assert portfolio_contract["status"] == "operational"
summary = portfolio_contract["summary"].lower()