Let the person inspect one traced planning decision directly on the annual calendar. The trace shows the exact state before or after the decision, highlights changes, nests all rejected candidates, overlays each date’s historical status, and can calculate clearly hypothetical alternatives from the exact pre-decision state.
Acceptance criteria
The trace provides first, previous, next, and last navigation through phases and atomic decisions.
One annual calendar has an explicit before/after control instead of duplicating the full calendar.
Added, moved, removed, shared, and unchanged placements have distinct textual or icon-backed change indicators.
Candidate details are collapsed by default and every actual rejected evaluation remains expandable.
Each horizon date is marked chosen, evaluated and rejected, not examined, or ineligible with its reason.
Historical status comes only from the original trace and is never overwritten by later counterfactual analysis.
A selected decision displays exact comparator values, deltas, first decisive objective, and final tie-breaker.
Counterfactual analysis from the trace uses the exact pre-decision state while preserving the selected placement’s balance, type, and provenance.
Joint multi-date decisions show their actual branch candidates and do not pretend that one isolated date explains the branch.
Domain-readable explanations appear first and raw technical details remain available through expansion.
Stale trace selection or analysis from an older calculation cannot update the current calendar.
#48 — Comparer un placement final sur tout l’horizon
#50 — Compléter la trace des optimisations de qualité
## Parent
#46
## What to build
Let the person inspect one traced planning decision directly on the annual calendar. The trace shows the exact state before or after the decision, highlights changes, nests all rejected candidates, overlays each date’s historical status, and can calculate clearly hypothetical alternatives from the exact pre-decision state.
## Acceptance criteria
- [ ] The trace provides first, previous, next, and last navigation through phases and atomic decisions.
- [ ] One annual calendar has an explicit before/after control instead of duplicating the full calendar.
- [ ] Added, moved, removed, shared, and unchanged placements have distinct textual or icon-backed change indicators.
- [ ] Candidate details are collapsed by default and every actual rejected evaluation remains expandable.
- [ ] Each horizon date is marked chosen, evaluated and rejected, not examined, or ineligible with its reason.
- [ ] Historical status comes only from the original trace and is never overwritten by later counterfactual analysis.
- [ ] A selected decision displays exact comparator values, deltas, first decisive objective, and final tie-breaker.
- [ ] Counterfactual analysis from the trace uses the exact pre-decision state while preserving the selected placement’s balance, type, and provenance.
- [ ] Joint multi-date decisions show their actual branch candidates and do not pretend that one isolated date explains the branch.
- [ ] Domain-readable explanations appear first and raw technical details remain available through expansion.
- [ ] Stale trace selection or analysis from an older calculation cannot update the current calendar.
- [ ] Rendered annual-calendar tests cover before/after state, statuses, rejected candidates, technical details, and pre-decision analysis.
## Blocked by
- #48 — Comparer un placement final sur tout l’horizon
- #50 — Compléter la trace des optimisations de qualité
Before/after replay and candidate disclosure exist. Published dateStatuses switches away from historical trace status when counterfactual results are present, and traceReplay date selection does not independently retain the selected historical date. Local commit 51978f7 repairs the historical/hypothetical separation and trace date selection, but is unpublished. Keep open until those behaviours and atomic branch comparisons are verified on main.
Evidence: reviewed issue requirements/discussions and f1f0835 (published application source; live main 57a39c81 only adds Renovate configuration). Tested an isolated checkout of the published source: 20 test files, 157/157 tests passed, including the five benchmark scenarios. Local commit 51978f7 and uncommitted edits were inspected separately and are not evidence of published completion.
Completion audit — 2026-10-02
Before/after replay and candidate disclosure exist. Published dateStatuses switches away from historical trace status when counterfactual results are present, and traceReplay date selection does not independently retain the selected historical date. Local commit 51978f7 repairs the historical/hypothetical separation and trace date selection, but is unpublished. Keep open until those behaviours and atomic branch comparisons are verified on main.
Evidence: reviewed issue requirements/discussions and f1f0835 (published application source; live main 57a39c81 only adds Renovate configuration). Tested an isolated checkout of the published source: 20 test files, 157/157 tests passed, including the five benchmark scenarios. Local commit 51978f7 and uncommitted edits were inspected separately and are not evidence of published completion.
Implemented with $luna-verified-implement and independently verified.
The calendar replays committed and local branch history before/after a decision, preserves earned balance metadata, and distinguishes observed status from hypothetical analysis and derived source eligibility.
Validation: 198/198 tests across 23 files, app/spec TypeScript checks, ESLint, and production build pass. Chromium keyboard, focus-restoration, background comparison, and responsive checks at 375/768/1440 pixels pass with no page errors. Original benchmark outcomes match the pre-change baseline in all five scenarios, with and without tracing.
The implementation is in the local working tree based on 0ce33cc9d6fe7381965a9162571abe205d0b7350; no commit or push has been made.
Implemented with $luna-verified-implement and independently verified.
The calendar replays committed and local branch history before/after a decision, preserves earned balance metadata, and distinguishes observed status from hypothetical analysis and derived source eligibility.
Validation: 198/198 tests across 23 files, app/spec TypeScript checks, ESLint, and production build pass. Chromium keyboard, focus-restoration, background comparison, and responsive checks at 375/768/1440 pixels pass with no page errors. Original benchmark outcomes match the pre-change baseline in all five scenarios, with and without tracing.
The implementation is in the local working tree based on 0ce33cc9d6fe7381965a9162571abe205d0b7350; no commit or push has been made.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent
#46
What to build
Let the person inspect one traced planning decision directly on the annual calendar. The trace shows the exact state before or after the decision, highlights changes, nests all rejected candidates, overlays each date’s historical status, and can calculate clearly hypothetical alternatives from the exact pre-decision state.
Acceptance criteria
Blocked by
mentioned in issue #54
mentioned in issue #55
Completion audit — 2026-10-02
Before/after replay and candidate disclosure exist. Published dateStatuses switches away from historical trace status when counterfactual results are present, and traceReplay date selection does not independently retain the selected historical date. Local commit 51978f7 repairs the historical/hypothetical separation and trace date selection, but is unpublished. Keep open until those behaviours and atomic branch comparisons are verified on main.
Evidence: reviewed issue requirements/discussions and
f1f0835(published application source; live main57a39c81only adds Renovate configuration). Tested an isolated checkout of the published source: 20 test files, 157/157 tests passed, including the five benchmark scenarios. Local commit 51978f7 and uncommitted edits were inspected separately and are not evidence of published completion.Implemented with $luna-verified-implement and independently verified.
The calendar replays committed and local branch history before/after a decision, preserves earned balance metadata, and distinguishes observed status from hypothetical analysis and derived source eligibility.
Validation: 198/198 tests across 23 files, app/spec TypeScript checks, ESLint, and production build pass. Chromium keyboard, focus-restoration, background comparison, and responsive checks at 375/768/1440 pixels pass with no page errors. Original benchmark outcomes match the pre-change baseline in all five scenarios, with and without tracing.
The implementation is in the local working tree based on 0ce33cc9d6fe7381965a9162571abe205d0b7350; no commit or push has been made.
mentioned in issue #46
Preserved GitLab #51 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 0; visible source notes: 5.
gitlab-35-issue-51.md (SHA-256
336b86dd170c344a7bf62201833a78834c81d5299ec561aa8eeeb5e73bda03db)gitlab-35-issue-51.json (SHA-256
acdc1a7f3bbca2006b2ab23f6672ebb2a17d8d168a59faf918b7a58f3004a381)Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.