d26f20c316
Root Child DOX Index assembled, plus a per-module AGENTS.md across the tree (core/*, infrastructure/*, apps/*, testing/*, and docs/examples/frontend/etc), each following the DOX section shape: Purpose, Ownership, Local Contracts, Work Guidance, Verification, Child DOX Index.
1.5 KiB
1.5 KiB
core/journal — AGENTS.md
Purpose
Decision journal: projects orchestration events into a structured DecisionJournalState (a chronological log of DecisionRecords), renders it for human review, and provides a ProjectMemoryDistiller that condenses journal entries into cross-session memory.
Ownership
CORREX kernel team.
Local Contracts
DecisionRecord— single journal entry: decision point, rationale, outcome.DecisionJournalStaterebuilt fromJournalCompactedEventand orchestration events viaDefaultDecisionJournalReducer+DecisionJournalProjector.DefaultDecisionJournalRepositorywrapsEventReplayer<DecisionJournalState>.DecisionJournalRenderer— formatsDecisionJournalStateas human-readable text for context injection or export.ProjectMemoryDistiller— produces a condensed memory summary from journal state; output is non-authoritative (Hard Invariant #6 applies — compressed output must not replace original events).
Work Guidance
- Follow the standard Events→State→Reducer→Projector→Repository pattern (see
core/AGENTS.md). DefaultDecisionJournalReduceronly doesstate.copy(...).- Distilled memory is a derived view; the event log remains the source of truth.
Verification
./gradlew :core:journal:test --rerun-tasks
Tests in testing/projections/ (DecisionJournalProjectorTest) and testing/replay/ (DecisionJournalReplayTest).
Child DOX Index
No child AGENTS.md (leaf module).