docs: qualify TSP framing, soften optimality claims, reframe defensibility#50
Merged
Conversation
…ility Documentation/framing fixes from review (no engine changes): Fix 1 — qualify the TSP framing: - README: describe the engine as "multi-leg risk-aware shortest path"; keep the TSP heritage in a short "Origins" line. - Approaches §10: note multi-leg legs are routed independently, with no global visit-once guarantee, and may revisit cells across legs. - Approaches glossary: add a "Multi-leg routing" entry. - Demo (WaypointsPanel): for 3+ stops, note legs are planned independently and may overlap. Fix 2 — soften the "optimal" guarantees: - Approaches §10: A* is admissible/optimal per-leg on a static map, but a time-aware heuristic (state space is (cell, time), not cell) once temporal modifiers are active; soften the h(n) wording to match. - Approaches §6: flag Dynamic speed as a greedy, locally-cheapest choice. - Approaches §9: tailwind lowers cost, so the distance heuristic is no longer strictly admissible under wind. - Approaches §10: COA discovery is heuristic; ranking is exact. - Deck Proof ②: "well-understood problem" rather than implying global optimality; arm the speaker notes for the optimality question. Fix 3 — defensibility != correctness: - Approaches: new §13 "Assumptions & Limitations" (model, not measurement); §1 notes "risk" is encoded judgement, not measurement. - Deck: Defensible card and closer reframed around explicit, auditable, repeatable assumptions; promote the "metrics make it explainable" line onto the closing slide; arm Proof ④ notes. - Demo: add an "About the model" link to the new Assumptions section. https://claude.ai/code/session_0179WpdHYU3kt4txMiHqMmUG
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Handles the three documentation/framing issues raised in review. No engine changes — wording only, plus one small UI note and an optional docs link.
typecheck,lint,test:run(139 passing) andbuildare all green.Fix 1 — qualify the TSP framing
The engine runs A* independently between consecutive waypoint pairs and concatenates the legs (the optional reorder is a greedy nearest-neighbour pass) — multi-leg shortest path, not tour optimisation. Owned explicitly rather than renaming the project.
WaypointsPanel): for 3+ stops, the waypoint-ordering note now adds that legs are planned independently and may overlap. (Gated to 3+ stops because the clause is only meaningful with 2+ legs.)Fix 2 — soften the "optimal" guarantees
A* is optimal on a static per-leg graph, but not once the temporal layer is active (true search state is (cell, time)), and tailwind reduces cost so the distance heuristic is no longer strictly admissible under wind.
h(n)reworded from "admissible" → "distance-based" to match.Fix 3 — defensibility ≠ correctness
The architecture earns auditability and reproducibility, not objective accuracy — the risk scores and multipliers are modelling judgements.
https://claude.ai/code/session_0179WpdHYU3kt4txMiHqMmUG
Generated by Claude Code