You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add a disposable projection-replay recovery walkthrough #676
The catalog teaches Chronicle diagnosis, but has no dedicated application walkthrough of rebuilding a projection after diagnosis. The existing OperationsDiagnosis README explicitly excludes replay, retry and clearing quarantine; preserve that boundary.
Chronicle already exposes IProjections.Replay<TProjection>() and Replay(ProjectionId), returning Task<JobId>. The inspected 19.115.3 release contains these APIs. This is missing learning coverage, not a claim that the feature is missing or broken.
Proposed scope
Add a small, separate Chronicle/OperationsRecovery sample that seeds deterministic facts into a disposable local event store, builds a side-effect-free projection, explicitly requests its replay, observes the returned job and eventual completion, and verifies the rebuilt read model against known facts.
Reuse existing sample infrastructure where possible; register the project, README and catalog entry.
Show bounded waiting and useful failure output, not unbounded sleeps or an immediate-read assumption after receiving a job id.
Restrict the exercise to its disposable local store; do not offer arbitrary administrative targets.
Document cleanup and distinguish in-process specs from real-kernel verification.
Exclude partition retry, erasure, quarantine clearing and external business side effects from this first walkthrough.
Chronicle issue #4021 concerns owning-product operating documentation/navigation, not this runnable Samples learning journey. Link that guidance rather than duplicate or modify its scope. Existing completed learning-path work #625 remains completed.
Static catalog/source research only; no replay or application was executed for this proposal.
Base:f3234f8 (main, 2026-11-02) Status: proposed Size / release intent: M · minor Reviewed: independent Claude reviewer — dedicated learning gap and released replay API confirmed
Problem and root cause
The catalog's diagnosis exercise intentionally excludes replay. Chronicle19.115.3 already exposes projection Replay methods returning JobId; a separate rebuilding walkthrough is absent.
Approach
Add a small separate OperationsRecovery application using deterministic facts and one side-effect-free projection. Demonstrate explicit replay request, bounded completion observation, and rebuilt-state verification. Leave diagnosis-only behavior intact.
Steps
Drift-check catalog/solution/diagnosis infrastructure and verify selected Chronicle release APIs.
Add separate application/spec project and disposable local-store setup, with a guard against arbitrary administrative targets.
Seed known facts, establish projected output, request replay and observe the returned JobId through supported published APIs until completion or bounded timeout.
Assert rebuilt output, expose useful failure diagnostics, and document cleanup.
Register catalog/solution/CI and link operating guidance without editing Chronicle#4021.
Files to touch
New Chronicle/OperationsRecovery/ application, specs, README and local configuration; Samples.slnx, samples.json, relevant CI project registration.
Public API, compatibility, migration
No product API change. Use existing consumer projection APIs, not invented observer methods or internal kernel contracts.
Performance
Tiny deterministic fixture; bounded polling and container deadlines. Do not busy-loop or assume receiving JobId means completion.
Specs to add (red first)
Verify known seed/projection result, replay JobId observation, eventual rebuilt state, timeout diagnostics and rejection of non-sample targets. Keep in-process and real-server evidence distinct.
Register and substitute the new spec project. Add one bounded real-kernel replay acceptance in the appropriate CI lane; none was run for this proposal.
Done when
Separate catalog sample shows explicit replay, completed job and verified rebuilt data.
Disposable-only safeguards, deadlines, cleanup and error guidance are documented and tested.
Required builds/specs and actual replay acceptance pass.
Risks and open questions
Confirm completion-observation API against the selected published package before implementation; do not invent polling methods.
Out of scope
Partition retry, erasure, clearing quarantine, external effects, arbitrary production targets, and changing the existing diagnosis sample's contract.
Activity
woksin commentedon Nov 2, 2026
Implementation design (rev 1)
Base: f3234f8 (main, 2026-11-02)
Status: proposed
Size / release intent: M · minor
Reviewed: independent Claude reviewer — dedicated learning gap and released replay API confirmed
Problem and root cause
The catalog's diagnosis exercise intentionally excludes replay. Chronicle19.115.3 already exposes projection Replay methods returning JobId; a separate rebuilding walkthrough is absent.
Approach
Add a small separate OperationsRecovery application using deterministic facts and one side-effect-free projection. Demonstrate explicit replay request, bounded completion observation, and rebuilt-state verification. Leave diagnosis-only behavior intact.
Steps
Files to touch
New
Chronicle/OperationsRecovery/application, specs, README and local configuration;Samples.slnx,samples.json, relevant CI project registration.Public API, compatibility, migration
No product API change. Use existing consumer projection APIs, not invented observer methods or internal kernel contracts.
Performance
Tiny deterministic fixture; bounded polling and container deadlines. Do not busy-loop or assume receiving JobId means completion.
Specs to add (red first)
Verify known seed/projection result, replay JobId observation, eventual rebuilt state, timeout diagnostics and rejection of non-sample targets. Keep in-process and real-server evidence distinct.
Gate (exact commands from the repo's CI)
Register and substitute the new spec project. Add one bounded real-kernel replay acceptance in the appropriate CI lane; none was run for this proposal.
Done when
Risks and open questions
Confirm completion-observation API against the selected published package before implementation; do not invent polling methods.
Out of scope
Partition retry, erasure, clearing quarantine, external effects, arbitrary production targets, and changing the existing diagnosis sample's contract.