Separate explanation replay snapshots and rendering

This commit is contained in:
2026-09-07 01:14:17 +00:00
parent 6a1c7df4be
commit 22a03c9f4d
7 changed files with 489 additions and 459 deletions

View File

@@ -51,9 +51,11 @@ module and package documentation boundary. Its implemented public primitives are
`secrets.go`;
- fixed-point tag/predicate/dependency sensitivity classification in `secret.go`;
- frozen-snapshot redaction and canonical effective output in `render.go`;
- bounded immutable input applications, safe historical replay, detached explanation
records, and deterministic human rendering in `explain.go`, with the
only upstream dumper integration isolated in `internal/yaml/write.go`;
- detached public explanation records and coordination in `explain.go`, immutable
input applications/replay and retained-node budgeting in `history.go`, shared
safe snapshot projection in `snapshot.go`, and deterministic human output in
`explain_render.go`; the only upstream dumper integration remains isolated in
`internal/yaml/write.go`;
- a separate maintained `examples/consumers` package with four sanitized consumer
shapes, fixtures, domain validators, and runtime-boundary functions; and
- a fail-fast source-candidate checker in `scripts/release-check.sh`, with local

View File

@@ -338,7 +338,16 @@ ordering by reading the coordinator. Run the complete race suite.
## Stage 8 — Separate explanation replay, snapshots, and rendering
Status: pending.
Status: complete.
Completion: public records and Explain coordination remain in `explain.go`;
immutable applications, replay/coalescing, and shared-node budgeting live in
`history.go`; shared effective/explanation redaction lives in `snapshot.go`;
human output lives in `explain_render.go`. Metadata versus replay ownership is
documented beside history. Existing reconciliation, historical sensitivity,
container/leaf, retained-budget, detachment, and writer-failure tests passed
without expectation changes. Full offline tests, vet, build, and whitespace
checks passed with Go 1.26.7 on Linux/amd64.
Evidence: [explain.go](../../explain.go) combines approximately 576 lines of public
records, replay algorithms, snapshot redaction, retained-history accounting, and