gap: the tile-fixture path in two notes moved to crates/geo and was never updated #248

Closed
opened 2026-08-31 02:38:46 +00:00 by viberfox-agent · 0 comments
Collaborator

Found while QA-ing what #192 shipped (#245).

What I did

The CBS note (docs/notes/cbs-neighbourhood-statistics.md) hands one thing forward: a pointer
at the place_labels population figure, sourced to
vector-tile-unused-layers.md. I followed it the way a
future reader would, to check the claim against the fixture that note is measured on.

What happened

The fixture path in that note does not exist:

$ grep -n "cartopolis/tests/fixtures/groningen_z14.mvt" docs/notes/*.md
docs/notes/tile-raster-cost.md:10:(`crates/cartopolis/tests/fixtures/groningen_z14.mvt`, 495 KB, 8552 buildings /
docs/notes/vector-tile-unused-layers.md:10:(`crates/cartopolis/tests/fixtures/groningen_z14.mvt`, 495 KB), by dumping every

$ ls crates/cartopolis/tests/fixtures/
level_crossings_groningen.json  level_crossings_utrecht.json
nav_marks_fixed.json            nav_marks_floating.json

The file is at crates/geo/tests/fixtures/groningen_z14.mvt and has been since
3ef118e (2026-08-06, "refactor(geo): extract the Bevy-free map geodata into its own crate").
Everything else about the citation is right — it is 495,241 bytes, and it is the tile every
cartopolis_geo test loads.

The drift has a specific shape worth recording, because it will recur. At the note's first
commit the path was crates/viberfox/tests/fixtures/groningen_z14.mvt. The later
viberfox → cartopolis crate rename was applied to the note, so the path looks current and
the crate name is genuinely right; only the geo extraction was never applied. A stale path
that was updated once is harder to spot than one that was never touched.

Both notes have been edited since the move (vector-tile-unused-layers.md carries a "Corrected
2026-08-16" paragraph and an updated: 2026-08-26 header), so the path survived two passes.

What a reader would expect instead

These two notes are the "what else is already in the tile" and "what does a tile cost" references
— their whole job is to save someone re-measuring, and the first thing anyone re-measuring does
is open the fixture. ls on the cited directory returns four unrelated JSON files, which reads
as "the fixture is gone" rather than "the fixture moved", and the surveys are dated far enough
back (2026-07-31, 2026-08-10) that a reader may reasonably conclude the whole note is stale and
re-derive it.

Same species as #244 — a note pointing at something that does not exist — and equally cheap to
fix.

Where the seam is

  • docs/notes/vector-tile-unused-layers.md:10
  • docs/notes/tile-raster-cost.md:10

Both want crates/cartopolis/ → crates/geo/. docs/notes/mvt-capacity-guard.md:75 cites
crates/geo/tests/fixtures/lowzoom_*.mvt and is already correct, so this is the only stale pair
I found — I checked every tests/fixtures/ path in docs/notes/.

Found while QA-ing what #192 shipped (#245). ## What I did The CBS note (`docs/notes/cbs-neighbourhood-statistics.md`) hands one thing forward: a pointer at the `place_labels` population figure, sourced to [`vector-tile-unused-layers.md`](../notes/vector-tile-unused-layers.md). I followed it the way a future reader would, to check the claim against the fixture that note is measured on. ## What happened The fixture path in that note does not exist: ``` $ grep -n "cartopolis/tests/fixtures/groningen_z14.mvt" docs/notes/*.md docs/notes/tile-raster-cost.md:10:(`crates/cartopolis/tests/fixtures/groningen_z14.mvt`, 495 KB, 8552 buildings / docs/notes/vector-tile-unused-layers.md:10:(`crates/cartopolis/tests/fixtures/groningen_z14.mvt`, 495 KB), by dumping every $ ls crates/cartopolis/tests/fixtures/ level_crossings_groningen.json level_crossings_utrecht.json nav_marks_fixed.json nav_marks_floating.json ``` The file is at **`crates/geo/tests/fixtures/groningen_z14.mvt`** and has been since `3ef118e` (2026-08-06, "refactor(geo): extract the Bevy-free map geodata into its own crate"). Everything else about the citation is right — it is 495,241 bytes, and it is the tile every `cartopolis_geo` test loads. The drift has a specific shape worth recording, because it will recur. At the note's first commit the path was `crates/viberfox/tests/fixtures/groningen_z14.mvt`. The later `viberfox` → `cartopolis` crate rename was applied to the note, so the path *looks* current and the crate name is genuinely right; only the `geo` extraction was never applied. A stale path that was updated once is harder to spot than one that was never touched. Both notes have been edited since the move (`vector-tile-unused-layers.md` carries a "Corrected 2026-08-16" paragraph and an `updated: 2026-08-26` header), so the path survived two passes. ## What a reader would expect instead These two notes are the "what else is already in the tile" and "what does a tile cost" references — their whole job is to save someone re-measuring, and the first thing anyone re-measuring does is open the fixture. `ls` on the cited directory returns four unrelated JSON files, which reads as "the fixture is gone" rather than "the fixture moved", and the surveys are dated far enough back (2026-07-31, 2026-08-10) that a reader may reasonably conclude the whole note is stale and re-derive it. Same species as #244 — a note pointing at something that does not exist — and equally cheap to fix. ## Where the seam is - `docs/notes/vector-tile-unused-layers.md:10` - `docs/notes/tile-raster-cost.md:10` Both want `crates/cartopolis/` → `crates/geo/`. `docs/notes/mvt-capacity-guard.md:75` cites `crates/geo/tests/fixtures/lowzoom_*.mvt` and is already correct, so this is the only stale pair I found — I checked every `tests/fixtures/` path in `docs/notes/`.
Sign in to join this conversation.
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
jeroen/cartopolis#248
No description provided.