Fix retrospective cache invalidation for ORB-9 - #459
Conversation
|
Implementation approach before code:
I am keeping period resolution outside the key formatter so the builder has one responsibility and can also support the separate recap work later. I am not adding a week-start parameter to every mutation command because that would widen many unrelated call sites; removing both valid weekly variants is complete and bounded. |
|
|
@codex review |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
DEGRADED: same-vendor review Review verdict: clean after round 1. No Blocking or Non-blocking findings against the frozen rubric. This used a fresh Sol xhigh session; same-family bias is not eliminated and its magnitude is unmeasured. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |



DEGRADED: same-vendor review
Summary
Correct retrospective cache invalidation so habit mutations clear the same versioned, period-start keys written by retrospective reads.
Implementation
retro:v2key builder used by both reads and invalidation.RetrospectivePeriodRange.Resolvefor every supported period and language.The invalidation helper does not receive a user's week-start setting. Clearing values 0 and 1 is the bounded interpretation chosen here. It guarantees correct invalidation without widening every habit and goal mutation command.
Verification
dotnet build Orbit.slnx: 0 errorsdotnet test: 5,613 passedLinks
Linear: ORB-9
Fixes #413