Skip to content

Commit abd8818

Browse files
solomonneasclaude
andcommitted
feat(runs): add shadow projection comparison
Compare committed legacy snapshots with journal projections and store bounded digest-only evidence. Keep legacy writes authoritative while exposing a fail-closed readiness report for later cutover work. Cover canonical parity, lag and mismatch classification, failure containment, crash gaps, corrupt evidence, idempotency, privacy, and counter coherence. Co-Authored-By: Cursor <cursoragent@cursor.com> Co-Authored-By: Codex <codex@openai.com> Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 458dfb7 commit abd8818

4 files changed

Lines changed: 1393 additions & 1 deletion

File tree

src/brigade/aboyeur.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from . import proc, receipt_schema, runguard
2929
from . import run_control
3030
from . import run_lifecycle
31+
from . import run_shadow
3132
from .result_integrity import validate_final_output
3233
from .run_receipts import (
3334
agent_result_from_worker as _agent_result_from_worker,
@@ -502,6 +503,8 @@ def _write_json(path: Path, payload: object) -> None:
502503
incoming_snapshot=payload,
503504
)
504505
localio.write_text_atomic(path, json.dumps(payload, indent=2, sort_keys=True) + "\n")
506+
if path.name == "run.json" and isinstance(payload, dict):
507+
run_shadow.record_shadow_comparison(path.parent, payload)
505508

506509

507510
def _revision_contains(revisions_dir: Path, projection: bytes) -> bool:

0 commit comments

Comments
 (0)