Skip to content

docs: qualify TSP framing, soften optimality claims, reframe defensibility#50

Merged
IanMayo merged 1 commit into
mainfrom
claude/funny-johnson-VSUjI
Jun 6, 2026
Merged

docs: qualify TSP framing, soften optimality claims, reframe defensibility#50
IanMayo merged 1 commit into
mainfrom
claude/funny-johnson-VSUjI

Conversation

@IanMayo

@IanMayo IanMayo commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

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) and build are 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.

  • README: describes the engine as multi-leg risk-aware shortest path; a short Origins line keeps the TSP heritage.
  • Approaches §10: legs are routed independently, so the combined route carries no global visit-once guarantee and may revisit cells across legs.
  • Approaches glossary: new Multi-leg routing entry.
  • Demo (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.)
  • Pages index: no change — it doesn't reference TSP.

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.

  • Approaches §10: optimality sentence rewritten — admissible/optimal per-leg on a static map; a high-quality time-aware heuristic, not a proof of optimality, once temporal modifiers are active. h(n) reworded from "admissible" → "distance-based" to match.
  • Approaches §6: Dynamic speed flagged as a greedy, locally-cheapest-not-globally-optimal choice.
  • Approaches §9: tailwind lowers cost below the straight-line floor → heuristic no longer strictly admissible under wind.
  • Approaches §10 (COA fan-out): COA discovery is heuristic by design, but COA ranking is exact (re-scored under real settings).
  • Deck Proof ②: "find the cheapest route is a solved problem" → "finding a cheapest route is a well-understood problem"; speaker notes armed for the optimality question. Determinism claim kept.
  • Deck Proof ③: unchanged (already honest).

Fix 3 — defensibility ≠ correctness

The architecture earns auditability and reproducibility, not objective accuracy — the risk scores and multipliers are modelling judgements.

  • Approaches: new §13 "Assumptions & Limitations" ("model, not measurement") as the one place to point sceptics at (Glossary becomes §14); §1 notes that "risk" means encoded judgement, not measurement.
  • Deck: Defensible card → "the assumptions are explicit, auditable and repeatable"; the honest "the metrics don't make the decision, they make your decision explainable" line promoted from speaker notes onto the closing slide; Proof ④ notes add "under your stated assumptions … doesn't certify them".
  • Demo: an About the model link in the header points at the new Assumptions section.

https://claude.ai/code/session_0179WpdHYU3kt4txMiHqMmUG


Generated by Claude Code

…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
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-06 18:36 UTC

@IanMayo IanMayo merged commit 78259b2 into main Jun 6, 2026
4 checks passed
@IanMayo IanMayo deleted the claude/funny-johnson-VSUjI branch June 6, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants