53 lines
3.7 KiB
Markdown
53 lines
3.7 KiB
Markdown
---
|
||
phase: quick
|
||
plan: 261026-d95
|
||
subsystem: routing
|
||
tags: [ALT, bidirectional, directional, oracle, benchmark]
|
||
requires: [ARG2 landmark tables, shipped routeAstar]
|
||
provides: [proved pair-domain ALT, isolated research runner, NO-GO verdict]
|
||
affects: []
|
||
tech-stack:
|
||
added: []
|
||
patterns: [pair-restricted landmark family selection, independent A* frontier stop]
|
||
key-files:
|
||
created: [docs/ALT-DIRECTION-SPLIT-EXPERIMENT.md, routing/scripts/experiment-alt-direction-split.mjs, routing/test/alt-direction-split-experiment.test.mjs]
|
||
modified: []
|
||
decisions: [Do not integrate candidate because paired p95 regresses despite reduced expansions]
|
||
metrics:
|
||
completed: 2026-10-26
|
||
---
|
||
|
||
# Quick Plan 261026-d95: Direction-split ALT isolated research summary
|
||
|
||
An independently consistent asymmetric ALT bound can be used on a query-restricted sentinel-free path domain with a conservative single-frontier A* stopping criterion, but this isolated implementation is **NO-GO**: p95 516.778 ms versus original shipped 118.923 ms on paired host measurements.
|
||
|
||
## Tasks and commits
|
||
|
||
1. `57fd5ed` — Proved P-1 and P-2 separately, including sentinel boundary and disconnected-path handling before writing experiment code.
|
||
2. `92fc213` — Added isolated experimental search and adversarial exhaustive Dijkstra-oracle tests (no production imports).
|
||
3. `9a671bd` — Added seeded real-graph oracle, paired original/clone measurement, expansion instrumentation, and recorded exact results/NO-GO in the experiment document.
|
||
|
||
## Validation and verdict
|
||
|
||
- New and existing routing suite: **85 passed, 0 failed**, including unchanged shipped A1/625. Typecheck passed.
|
||
- Fixed-seed 200-pair real graph: 182 routes, 18 unreachable, 120 rejected snap probes, **zero** suboptimal, oracle-mismatch or class-break cases.
|
||
- Extended paired workload: 53 routed/100 drawn, 41 snap misses, 6 unreachable. Two alternate-order rounds. Experiment/isolated shipped clone expansions **0.709×**; experiment/original shipped p95 **4.35× slower**. Original shipped p95 118.923 ms; experimental p95 516.778 ms.
|
||
- D-03 unchanged frozen gate passed. Shipped extended CPU gate **FAILED** at p95 127.933 ms > 8 ms. Representative free-plan Worker CPU: **NOT MEASURED**.
|
||
- Full provenance and proof details: `docs/ALT-DIRECTION-SPLIT-EXPERIMENT.md`. Neither this branch nor the read-only binary symlink was deployed or merged.
|
||
|
||
## Deviations from Plan
|
||
|
||
**[Rule 3 - Blocking]** Local `node_modules` was initially absent (L2 bundle marker failed and `tsc` was unavailable); ran `npm ci --ignore-scripts --no-audit --no-fund`, then tests and typecheck passed. No lockfile changes.
|
||
|
||
**[Rule 1 - Bug]** The initial diagnostic assertion reversed the backward edge inequality in code; corrected to compare the reverse search's `h_b(v)-h_b(u)` on `v→u`. Initial run failed loud on a real edge; rerun passed the 200-pair oracle and new tests.
|
||
|
||
**[Rule 2 - Measurement completeness]** The shipped search does not export expansion counters. Created and automatically removed a source-identical temporary clone with settled counters injected and measured the unmodified original separately; compared every route's seconds across the two controls. No production file modified.
|
||
|
||
## Known Stubs
|
||
|
||
None in the search. Shipped-original settled expansions are deliberately **NOT MEASURED** directly; the source-identical instrumented clone supplies an explicitly labeled proxy rather than fabricated numbers. Worker-host CPU remains NOT MEASURED.
|
||
|
||
## Self-Check: PASSED
|
||
|
||
Verified all three experiment files exist, commits `57fd5ed`, `92fc213`, `9a671bd` exist, branch is `research/alt-direction-split`, and protected production/baseline/roadmap files differ neither from `ceb71c2` nor this task's commits.
|