QA: what #176 shipped — BGT, the remaining layers: is it worth wiring in? #258

Closed
opened 2026-09-02 00:24:35 +00:00 by viberfox-agent · 2 comments
Collaborator

Issue #176 (“BGT, the remaining layers: is it worth wiring in?”) was built and merged by the unattended lane, and nobody has used it. Walk what it delivered as a player would meet it.

This is a QA pass, not a build. Change no code and open no pull request on this
ticket — the deliverables are findings.

  1. Exercise it for real. Run what a player would touch, headlessly: cargo run -p cartopolis_simulator with a client or a wire/HTTP probe for anything online, the
    loopback tests, cargo run -p cartopolis -- --shot … --dump-state for anything with
    geometry. CLAUDE.md lists every harness. If part of this genuinely needs a screen, a
    phone or a microphone, verify the half a machine can reach and name the half it cannot.
  2. Walk the user's journey, not the happy path. At each step ask what a real user
    would obviously expect to be able to do next — then try exactly that. A refusal or an
    absence that would surprise a user is a finding even when every implemented piece
    works: registration worked, claiming a house worked, and a registered account still
    could not claim a house. No test failed; a user hit a wall.
  3. File each real gap as its own issue: title starting gap:, label qa-gap, with
    what you did, what happened, what a user would expect instead, and where in the code
    the seam is. Use the Forgejo API with the FORGEJO_TOKEN in your environment. Do not
    label them autonomous — a person decides which gaps become work.
  4. Report and close. Your final message: what you exercised, what held, what you
    filed. Nothing found after a genuine pass is a good outcome — say what you checked.
    Then close this ticket through the API; a QA pass has no branch to merge.

Decide it yourself. Nobody is watching this ticket; a question asked here is a
ticket that stops. Judge by what a reasonable player would expect, verify before
claiming, and never post credentials or file contents from outside the repository.

Filed by the autopilot.

Issue #176 (“BGT, the remaining layers: is it worth wiring in?”) was built and merged by the unattended lane, and nobody has used it. Walk what it delivered as a player would meet it. **This is a QA pass, not a build.** Change no code and open no pull request on this ticket — the deliverables are findings. 1. **Exercise it for real.** Run what a player would touch, headlessly: `cargo run -p cartopolis_simulator` with a client or a wire/HTTP probe for anything online, the loopback tests, `cargo run -p cartopolis -- --shot … --dump-state` for anything with geometry. CLAUDE.md lists every harness. If part of this genuinely needs a screen, a phone or a microphone, verify the half a machine can reach and name the half it cannot. 2. **Walk the user's journey, not the happy path.** At each step ask what a real user would obviously expect to be able to do next — then try exactly that. A refusal or an absence that would surprise a user is a finding even when every implemented piece works: registration worked, claiming a house worked, and a registered account still could not claim a house. No test failed; a user hit a wall. 3. **File each real gap as its own issue**: title starting `gap:`, label `qa-gap`, with what you did, what happened, what a user would expect instead, and where in the code the seam is. Use the Forgejo API with the `FORGEJO_TOKEN` in your environment. Do not label them `autonomous` — a person decides which gaps become work. 4. **Report and close.** Your final message: what you exercised, what held, what you filed. Nothing found after a genuine pass is a good outcome — say what you checked. Then close this ticket through the API; a QA pass has no branch to merge. **Decide it yourself.** Nobody is watching this ticket; a question asked here is a ticket that stops. Judge by what a reasonable player would expect, verify before claiming, and never post credentials or file contents from outside the repository. <sub>Filed by the autopilot. <!-- autopilot:qa-reverify-176 --></sub>
Author
Collaborator

🤖 Picked this up — working on branch feat/258-qa-what-176-shipped in a fresh worktree on the VPS. I'll report back here when I'm done.

Label an issue agent:skip to keep me off it, or driven to keep it in a session you are driving.

🤖 Picked this up — working on branch `feat/258-qa-what-176-shipped` in a fresh worktree on the VPS. I'll report back here when I'm done. <sub>Label an issue `agent:skip` to keep me off it, or `driven` to keep it in a session you are driving.</sub>
Author
Collaborator

Issue #258 is closed. Four gaps filed. No code changed — the ticket asked for findings, not a build, so the branch has no commits.

What #176 shipped, and what a player meets

Nothing. It added three entries to a table in surveyed.rs (positions 7 Board, 8 Bin, 9 Recycling) and wrote up a verdict on 49 map collections. Nothing sends those positions, so the street objects it approved do not exist in the world.

What I exercised

I stood in for the missing extractor: a script that reads the five approved collections straight from the national mapping service, writes them into the cell files the client parses, and serves them on this machine. Then I ran the client against it headlessly.

Both test suites pass — 236 tests in the map-data library, 820 in the client.

It works. With the stand-in serving the new content, the client drew 607 street objects and 1,588 walls and hedges, up from 450 and 0. The forms, the wire positions and the cell parsing are all correct.

What I filed

  • #259 — walking up to an electricity cabinet offers "Use Post box". Verified in a screenshot. kast was approved because a matching shape existed; the name attached to that shape is the literal string "Post box", and 162 cabinets across Groningen would each carry it.
  • #260 — a player who has already visited the city never sees the new content. Same host, same viewpoint: a warm cache reports 450 objects and 0 walls, a fresh one 607 and 1,588. The cell cache key is a hard-coded constant and nothing revalidates it. #176 raised this as an open question and closed without answering it.
  • #261 — the approved work has no ticket. The extractor lives in the cartopy repository, which this container cannot read; #176 asked who should do it and closed anyway. The sibling crop-parcels verdict filed #204 for exactly this. I measured the two things #176 left open: the five collections add 35 kB to the heaviest cell (on top of ~60 kB), and the full record counts are roughly twice what a single page showed.
  • #262 — a hedge that turns a corner is drawn as a straight line across the corner. 197 of 756 surveyed hedges are drawn more than a quarter short today. This is already shipped, not new; I filed it because #176 extends the same rule to walls.

What held

The interface, the licence and every count in #176's write-up reproduce exactly. The new positions do not disturb old cell files. Walls are genuinely free-standing masonry — I checked 479 of them against building outlines and none sits on a building, so the layer is not about to draw a second copy of every facade.

For you to decide

#260 has three possible answers and they cost different amounts: bump the cache key by hand each time the data changes, put a version in the coverage file (fixes every map layer at once, touches shared code), or serve new content under a new path.

No commits were made.


🤖 viberfox issue agent on the VPS — 94 turns · $8.89 · session 1192961b-e493-425d-abac-0e5694bb3c8d. Reply with @agent to continue this session.

Issue #258 is closed. Four gaps filed. No code changed — the ticket asked for findings, not a build, so the branch has no commits. ## What #176 shipped, and what a player meets Nothing. It added three entries to a table in `surveyed.rs` (positions 7 `Board`, 8 `Bin`, 9 `Recycling`) and wrote up a verdict on 49 map collections. Nothing sends those positions, so the street objects it approved do not exist in the world. ## What I exercised I stood in for the missing extractor: a script that reads the five approved collections straight from the national mapping service, writes them into the cell files the client parses, and serves them on this machine. Then I ran the client against it headlessly. Both test suites pass — 236 tests in the map-data library, 820 in the client. **It works.** With the stand-in serving the new content, the client drew 607 street objects and 1,588 walls and hedges, up from 450 and 0. The forms, the wire positions and the cell parsing are all correct. ## What I filed - **#259** — walking up to an electricity cabinet offers "Use Post box". Verified in a screenshot. `kast` was approved because a matching shape existed; the name attached to that shape is the literal string "Post box", and 162 cabinets across Groningen would each carry it. - **#260** — a player who has already visited the city never sees the new content. Same host, same viewpoint: a warm cache reports 450 objects and 0 walls, a fresh one 607 and 1,588. The cell cache key is a hard-coded constant and nothing revalidates it. #176 raised this as an open question and closed without answering it. - **#261** — the approved work has no ticket. The extractor lives in the `cartopy` repository, which this container cannot read; #176 asked who should do it and closed anyway. The sibling crop-parcels verdict filed #204 for exactly this. I measured the two things #176 left open: the five collections add 35 kB to the heaviest cell (on top of ~60 kB), and the full record counts are roughly twice what a single page showed. - **#262** — a hedge that turns a corner is drawn as a straight line across the corner. 197 of 756 surveyed hedges are drawn more than a quarter short today. This is already shipped, not new; I filed it because #176 extends the same rule to walls. ## What held The interface, the licence and every count in #176's write-up reproduce exactly. The new positions do not disturb old cell files. Walls are genuinely free-standing masonry — I checked 479 of them against building outlines and none sits on a building, so the layer is not about to draw a second copy of every facade. ## For you to decide #260 has three possible answers and they cost different amounts: bump the cache key by hand each time the data changes, put a version in the coverage file (fixes every map layer at once, touches shared code), or serve new content under a new path. _No commits were made._ --- <sub>🤖 viberfox issue agent on the VPS — 94 turns · $8.89 · session `1192961b-e493-425d-abac-0e5694bb3c8d`. Reply with **@agent** to continue this session.</sub>
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#258
No description provided.