Explorer une décision de trace sur le calendrier #51

Closed
opened 2026-08-30 20:20:17 +02:00 by nessar · 6 comments
nessar commented 2026-08-30 20:20:17 +02:00 (Migrated from 172.24.0.1:8928)

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é
## 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é
nessar commented 2026-08-30 20:20:18 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #54

mentioned in issue #54
nessar commented 2026-08-30 20:20:19 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #55

mentioned in issue #55
nessar commented 2026-10-02 14:54:28 +02:00 (Migrated from 172.24.0.1:8928)

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.

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.
nessar commented 2026-10-03 15:17:30 +02:00 (Migrated from 172.24.0.1:8928)

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.
nessar (Migrated from 172.24.0.1:8928) closed this issue 2026-10-03 15:17:30 +02:00
nessar commented 2026-10-03 16:23:32 +02:00 (Migrated from 172.24.0.1:8928)

mentioned in issue #46

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.

<!-- gitlab-to-gitea-history:35:Issue:51 --> 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](https://gitea.nessar.fr/attachments/17297560-8be1-4706-b08a-df6e54b56c15) (SHA-256 `336b86dd170c344a7bf62201833a78834c81d5299ec561aa8eeeb5e73bda03db`) [gitlab-35-issue-51.json](https://gitea.nessar.fr/attachments/605793be-644c-400f-a2ad-43e6e92bb776) (SHA-256 `acdc1a7f3bbca2006b2ab23f6672ebb2a17d8d168a59faf918b7a58f3004a381`) Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.
gitea-emergency added this to the Development project 2026-10-11 22:14:32 +02:00
gitea-emergency moved this to Closed in Development on 2026-10-11 22:14:32 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: nessar/vac-optimizer#51