[P2] VPM-B NDL search fails when a long probe has no schedule within 24 hours #31

Closed
opened 2026-10-27 02:59:42 +00:00 by pedro · 1 comment
Owner

Priority: P2
Type: bug
Source: project review requested 2026-10-26 (second pass)

Location: src/models/vpmb.ts:626-627, 652

Problem and evidence

The NDL search probes a 240-minute hold and bisects below it. Any plan error other than the GF-high message is re-thrown, so a probe whose ascent exceeds the 24-hour horizon fails the whole NDL request even though it simply means stops are required. Reproduction (with the bottom-hold fix applied): trimix 10/70, conservatism 3, descend to 50–65 m at 30 m/min, ascent 9 m/min; noStopLimit throws "Projection exceeded the 24-hour limit" instead of returning a number.

Suggested correction

Treat a horizon error on a probe state as "not clear"; still surface errors for the current state.

Acceptance criteria

Regression for the reproduction; VPM convergence/reference checks unchanged; pnpm verify passes.

Scope: maintenance of the educational simulator. Preserve historical R1 acceptance and operational-validation limits.

Priority: P2 Type: bug Source: project review requested 2026-10-26 (second pass) Location: `src/models/vpmb.ts:626-627, 652` Problem and evidence The NDL search probes a 240-minute hold and bisects below it. Any plan error other than the GF-high message is re-thrown, so a probe whose ascent exceeds the 24-hour horizon fails the whole NDL request even though it simply means stops are required. Reproduction (with the bottom-hold fix applied): trimix 10/70, conservatism 3, descend to 50–65 m at 30 m/min, ascent 9 m/min; noStopLimit throws "Projection exceeded the 24-hour limit" instead of returning a number. Suggested correction Treat a horizon error on a probe state as "not clear"; still surface errors for the current state. Acceptance criteria Regression for the reproduction; VPM convergence/reference checks unchanged; pnpm verify passes. Scope: maintenance of the educational simulator. Preserve historical R1 acceptance and operational-validation limits.
Author
Owner

Fixed on maintenance/review-2026-10-27 in af0bc23 — PR #40.

Probe horizon errors count as "stops required"; current-state errors still surface. Trimix 12/60 at 60 m regression; reference output identical.

Branch verification: pnpm verify 145 tests and release budgets; Chromium/Firefox/WebKit review, replay, compatibility and offline lifecycle checks; CI verify runs #111/#112 pass. Record: docs/MAINTENANCE-2026-10-27.md. Closes on merge of PR #40.

Fixed on `maintenance/review-2026-10-27` in `af0bc23` — [PR #40](https://git.guresky.com/pedro/DiveSim/pulls/40). Probe horizon errors count as "stops required"; current-state errors still surface. Trimix 12/60 at 60 m regression; reference output identical. Branch verification: `pnpm verify` 145 tests and release budgets; Chromium/Firefox/WebKit review, replay, compatibility and offline lifecycle checks; CI verify runs #111/#112 pass. Record: `docs/MAINTENANCE-2026-10-27.md`. Closes on merge of PR #40.
pedro closed this issue 2026-10-27 05:39:05 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: pedro/DiveSim#31
No description provided.