feat: strengthen BSP and PSP validation and handoff

This commit is contained in:
tangfahong committed 2026-09-24 11:52:22 +08:00
1 parent bcea35a91e
commit 1641fac631
39 files changed
+2695 -90

No files matched your search

@@ -111,6 +111,22 @@ def main() -> int:
assert audited["passed"] is True, audited
assert audited["repository_unchanged"] is True
no_reference = create_empty_project(psp_root, "NO-REFERENCE")
empty_manifest = root / "evidence" / "empty-manifest.json"
empty_prepared = psp_project_guard.prepare(
None, no_reference, empty_manifest, [], False, psp_root
)
empty_staging = Path(empty_prepared["staging"])
assert list(empty_staging.iterdir()) == []
assert json.loads(empty_manifest.read_text(encoding="utf-8"))["reference"] is None
(empty_staging / "psp.json").write_text('{"project":"NO-REFERENCE"}', encoding="utf-8")
empty_report = root / "evidence" / "empty-verify.json"
assert psp_project_guard.verify(empty_manifest, ["psp.json"], [], empty_report)["passed"]
psp_project_guard.finalize(empty_manifest, empty_report)
assert psp_project_guard.audit_final(empty_manifest, ["psp.json"], [], None)["passed"]
assert (no_reference / ".git").is_dir()
assert (no_reference / "psp.json").is_file()
missing = psp_root / "MISSING"
expect_guard_error(
lambda: psp_project_guard.prepare(