Per ROUND3_INSTRUCTIONS 'Lane A — on-call + one verification':
- F finding #5 (shops with storeys outside registry range) verified STALE across 8
seeds: zero violations. Single-storey types (video/milkbar/stall) never exceed 1;
the only shops above registry max are the intentional 3-storey corner anchors
(tall-capable types), exactly per CITY_SPEC. Round-1 cornerBoost gate already
prevents the reported bug. This is also the source of qa.sh's 5 benign storeys
warnings (flagged for Lane F to scope to permittedMax).
- Hardened the selfcheck storeys assertion from the too-lax <=max(mx,3) to the exact
permitted range (max>=2 ? min(max+1,3) : max), so a single-storey type exceeding 1
now fails loudly. Proven non-vacuous. selfcheck.js only — plan output/fingerprint
unchanged (golden 0x098eec2b still matches, confirmed per task 2).
- Documented the storeys corner-anchor rule in the CITY_SPEC schema.
- hours/openLate contract unchanged; ready for Lane F's §3.5 consumer.
qa.sh --strict GREEN (4/4). Committed atomically by pathspec (shared-tree race).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
My round-2 Lane A changes were committed under Lane C's message (4235060) due to a
shared-index race. Content is safe & correct; this note flags it for review. Committed
atomically via pathspec to avoid re-triggering the race.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Answers Lane F §8 (the counter is kind:'counter' in `places`) and closes the
keeper-spawn gap: buildInterior now returns room.counter = { mesh, pose, stand }
and tags the counter interactable with userData.keeperStand. `stand` = {x,z,ry}
where a shopkeeper stands (service side, facing the customer), in room-local
space, rig-front = local -Z per keepers.js. Deterministic; purely additive.
Verified in-browser: 36-build type sweep + 50-room soak — stand in-bounds,
faces customer (dot>0 all), carried on `places` (deep-equal), deterministic;
no change to existing placement, path, leaks, or perf (avg 3.6ms / worst 7.7ms,
geo/tex leak 0).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>