Expliquer un calcul incomplet #52

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

Explain a calculation that stops before completing the planning objective order. When an incumbent exists, the person receives the same stable plan explanation as for a completed plan, while the original trace ends at the real interruption point and distinguishes completed from unexecuted phases. An interruption without an incumbent remains understandable without inventing a plan.

Acceptance criteria

  • PlanningIncomplete with an incumbent exposes the chronological plan explanation bound to the original input snapshot.
  • The trace contains every event captured before the actual interruption and no event after it.
  • Completed, interrupted, and unexecuted phases are visibly distinguishable.
  • The last completed checkpoint and incumbent remain identical to an uninstrumented calculation under the same planning-work budget.
  • PlanningIncomplete without an incumbent explains why no plan is available and never renders stale placements.
  • Trace loading or explanation failure does not replace the existing incomplete outcome or lose its incumbent.
  • Deadline, worker-unavailable, worker-error, and planner-error reasons remain distinct.
  • The annual calendar clears any previous calculation context before displaying the incomplete result.
  • Public planner tests cover interruption during early and quality phases; rendered tests cover incumbent and no-incumbent states.

Blocked by

  • #50 — Compléter la trace des optimisations de qualité
## Parent #46 ## What to build Explain a calculation that stops before completing the planning objective order. When an incumbent exists, the person receives the same stable plan explanation as for a completed plan, while the original trace ends at the real interruption point and distinguishes completed from unexecuted phases. An interruption without an incumbent remains understandable without inventing a plan. ## Acceptance criteria - [ ] `PlanningIncomplete` with an incumbent exposes the chronological plan explanation bound to the original input snapshot. - [ ] The trace contains every event captured before the actual interruption and no event after it. - [ ] Completed, interrupted, and unexecuted phases are visibly distinguishable. - [ ] The last completed checkpoint and incumbent remain identical to an uninstrumented calculation under the same planning-work budget. - [ ] `PlanningIncomplete` without an incumbent explains why no plan is available and never renders stale placements. - [ ] Trace loading or explanation failure does not replace the existing incomplete outcome or lose its incumbent. - [ ] Deadline, worker-unavailable, worker-error, and planner-error reasons remain distinct. - [ ] The annual calendar clears any previous calculation context before displaying the incomplete result. - [ ] Public planner tests cover interruption during early and quality phases; rendered tests cover incumbent and no-incumbent states. ## Blocked by - #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:27 +02:00 (Migrated from 172.24.0.1:8928)

Completion audit — 2026-10-02

Incumbent and no-incumbent explanations exist. On the published worker timeout/error path, fail() terminates the worker and supplies only fallbackTrace plus explanationError rather than preserving the actual captured prefix and materializing the incumbent explanation. Early/quality interruption trace fidelity and the distinct worker/planner failure cases remain to verify through the public seam.

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 Incumbent and no-incumbent explanations exist. On the published worker timeout/error path, fail() terminates the worker and supplies only fallbackTrace plus explanationError rather than preserving the actual captured prefix and materializing the incumbent explanation. Early/quality interruption trace fidelity and the distinct worker/planner failure cases remain to verify through the public seam. 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:31 +02:00 (Migrated from 172.24.0.1:8928)

Implemented with $luna-verified-implement and independently verified.

Incomplete calculations retain the valid incumbent and stable explanation, preserve the real interruption prefix and phase states, and distinguish deadline, planner, and worker errors. Emergency recovery uses the exact checkpoint without re-optimization.

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. Incomplete calculations retain the valid incumbent and stable explanation, preserve the real interruption prefix and phase states, and distinguish deadline, planner, and worker errors. Emergency recovery uses the exact checkpoint without re-optimization. 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:31 +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 #52 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 0; visible source notes: 5.

gitlab-35-issue-52.md (SHA-256 8f9bce3f271d8186feadfa065cda85e7403df53b3b54224bc7d3f60c452e7ad4)

gitlab-35-issue-52.json (SHA-256 7a1d1c070d04f672aaf8b08693ccc2d883910860badee25975d3cbe996d79dd1)

Old CI job execution and reports are omitted. Original source files and rollback backups remain protected.

<!-- gitlab-to-gitea-history:35:Issue:52 --> Preserved GitLab #52 history: source attribution, exact timestamps, discussion grouping and review positions. Historical diff snapshots: 0; visible source notes: 5. [gitlab-35-issue-52.md](https://gitea.nessar.fr/attachments/6dacc0c6-c237-43dd-a53a-909791b322d2) (SHA-256 `8f9bce3f271d8186feadfa065cda85e7403df53b3b54224bc7d3f60c452e7ad4`) [gitlab-35-issue-52.json](https://gitea.nessar.fr/attachments/198dcec0-2189-43ac-9875-478599924f0c) (SHA-256 `7a1d1c070d04f672aaf8b08693ccc2d883910860badee25975d3cbe996d79dd1`) 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#52