Add WHITEHAT-WP-0002 receipt example, CLI coverage, and abort records

Meantime polish while live E2 waits on a new trial. Example receipts carry
handles only. admit-plane --receipt is tested. Aborts can be queued without
being target assurance.

Assistant: grok
Assistant-Session: 01a02670-3345-76f2-a014-70fde8e2a2bb
This commit is contained in:
tegwick 2026-08-22 21:40:33 +02:00
parent 45548e44a2
commit 481ed6add5
11 changed files with 247 additions and 5 deletions

View file

@ -102,7 +102,7 @@ class ProbeResult:
class RunReport:
schema_version: str
run_id: str
evidence_class: Literal["fixture", "target"]
evidence_class: Literal["fixture", "target", "abort"]
engagement_id: str
authorization_id: str
target: str

View file

@ -28,13 +28,17 @@ def risk_nexus_message(report: RunReport) -> str:
]
if report.outcome == "finding":
lines.extend(["", "Reporter supplies facts only; risk-nexus owns severity and disclosure."])
if report.evidence_class == "abort":
lines.extend(["", "This is an abort record, not target assurance."])
return "\n".join(lines) + "\n"
def queue_risk_nexus(report: RunReport, outbox: str | Path) -> Path:
"""Persist a delivery artifact. Fixture calibration is not target assurance."""
if report.evidence_class != "target":
if report.evidence_class == "fixture":
raise AuthorizationError("fixture evidence is not delivered as target assurance")
if report.evidence_class not in {"target", "abort"}:
raise AuthorizationError("unsupported evidence class for delivery")
directory = Path(outbox)
directory.mkdir(parents=True, exist_ok=True)
path = directory / f"{report.run_id}.md"