What changed in four days: the codebase cleanup from the code report, getting production back onto main, clearing out old branches, and the OSM-vs-imagery divergence detector with a new High Point test set.
The code report graded the repo B−: clean modules, one 17.6k-line server.py, private coupling, stale docs, no lint or CI. Two of its fixes were already on main (PRs #51–#54). The rest ran as reviewed, test-gated steps, each checked against an identity test: all 233 eval-corpus plans byte-identical to main.
Afterwards: 40 old ttcp-* worktrees removed (about 15 GB) and local branches cut from 94 to 4. Files found nowhere else were archived to reports/archive-2026-10-17/ first.
Production now runs main dd5cf06 (API revision ttcp-api-00004, web ttcp-web-00006). Health reports row-level security enforced; both existing invite links intact.
The detector measures how far the road in NC OneMap imagery sits from OSM's lane model, so a reviewer can tell a planner bug from bad map data. Its problem was coverage: it answered about 8 % of road sections. A cross-check between its two edge estimators vetoed too much. The new method (div-2) only vetoes when they disagree by more than 1 m.
| Truth set | Method | Sections | Median | p90 | Worst | < 0.5 m |
|---|---|---|---|---|---|---|
| Raleigh + Greensboro, all | div-1 | 29 | 0.16 | 0.28 | 0.43 | 100 % |
| Raleigh + Greensboro, all | div-2 | 51 | 0.21 | 0.41 | 0.49 | 100 % |
| High Point streets | div-1 | 21 | 0.20 | 0.62 | 1.11 | 81 % |
| High Point streets | div-2 | 32 | 0.20 | 0.62 | 1.11 | 81 % |
Removing the veto entirely doubled coverage but put Greensboro answers 1.3 m wrong, so the 1 m veto stays.
Greensboro publishes no pavement layer, and its 6 labelled tiles are all intersections. High Point publishes edge-of-pavement lines (CC0). From them: 40 random 160 m street windows, 25 arterial and 15 local, each inspected over the imagery before use. No frame shift (signed offset error +0.06 m).