Skip to content

feat(snapshot): replayable snapshot, version-gated replay, validation path matrix (#790) - #816

Merged
casoon merged 4 commits into
mainfrom
claude/790-snapshot-replay-4a60e7
Oct 31, 2026
Merged

casoon merged 4 commits into
mainfrom
claude/790-snapshot-replay-4a60e7

Conversation

@casoon

@casoon casoon commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Teil von #790 (Issue bleibt offen, Abnahme in #792).

Umgesetzt

  • Vollständiger Snapshot: snapshot.json trägt den ganzen erhobenen Report (Module/Subchecks, Ausführungszustände, audit_scope.measurement_profile, Run-Kontext; ohne Screenshots), Dokument-/Redirect-Identität, Lauf-Sprache und versions (Snapshot-Schema, Fingerprint, Collection-Contract, Messprofil, Evaluation, Decision-Contract, Digest der SHARED_RULES). report.json entfällt für neue Einträge (eine Quelle).
  • Replay: audit::replay / replay_report erzeugen ohne Browser/Netz dasselbe NormalizedReport wie der frische Lauf (nur timestamp, duration_ms, environment.source=replay dürfen abweichen); output::format_json_replay exportiert mit module_detail: full.
  • Inkompatibel/unvollständig: ReplayError::{Incomplete, Incompatible, Contract} benennt Teile bzw. Feld/gespeichert/aktuell; load_artifacts liefert dafür Cache-Miss. CACHE_FMT 24→25.
  • Pfadmatrix: tests/validation_path_matrix.rs – jeder fallible Export-Einstieg lehnt widersprüchliche Daten ab; CLI-Dispatcher und Cache-Hit-Pfad bleiben auf dem validierenden Weg; Ratchet für ungeprüfte normalize()-Aufrufe (tests/fixtures/architecture/unchecked_normalize.txt).
  • Docs: OUTPUT_CONTRACT.md (Abschnitt Snapshot/Replay/Validation), ARCHITECTURE.md, Changelog.

Weiter offen in #790

Geprüft

cargo test (alle), cargo clippy --all-features --all-targets -- -D warnings, cargo check --all-features, cargo fmt --check.

@casoon
casoon merged commit e4b7981 into main Oct 31, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant