Record the audit-core E2-03 target pass and close T03/T07

Land the sanitized WH-ENG-20260822-AUDIT-E2-03 report, mark the
engagement completed and terminal, and close the applicable E2 harness
and risk-nexus delivery tasks. flex-auth stays pending; tenant-engine
stays not_applicable.

Assistant: grok
Assistant-Session: 01a02670-3345-76f2-a014-70fde8e2a2bb
This commit is contained in:
tegwick 2026-08-23 00:42:31 +02:00
parent 5fcb3ec280
commit 3295b715c5
18 changed files with 293 additions and 72 deletions

View file

@ -47,6 +47,10 @@ class Engagement:
raise AuthorizationError(
"engagement aborted without target evidence; identifier must not be reused"
)
if self.raw.get("status") == "completed":
raise AuthorizationError(
"engagement completed; identifier must not be reused"
)
if self.raw.get("status") == "proposed":
raise AuthorizationError(
"engagement is proposed; operator approval and owner acknowledgement are pending"

View file

@ -17,6 +17,7 @@ TERMINAL_IDS = frozenset({
"WH-ENG-20260821-TENANT-E2",
"WH-ENG-20260822-AUDIT-E2-01",
"WH-ENG-20260822-AUDIT-E2-02",
"WH-ENG-20260822-AUDIT-E2-03",
})
APPROVAL_CLASSES = {
"fixture-e2": frozenset({"e2-differential"}),
@ -43,7 +44,7 @@ def retired_ids(engagements_dir: str | Path | None = None) -> set[str]:
data = json.loads(path.read_text(encoding="utf-8"))
except (OSError, json.JSONDecodeError, ValueError):
continue
if data.get("status") in {"cancelled", "expired", "aborted"} and data.get("engagement_id"):
if data.get("status") in {"cancelled", "expired", "aborted", "completed"} and data.get("engagement_id"):
retired.add(data["engagement_id"])
return retired