PROCITY/web/js
m3ultra 687d23f654 Lane F R15 (v3.0): identity continuity — wire D's tonight-roster into the crowd (ledger #3)
The ped you followed into a venue now turns up in its crowd. D published the seam in R14; F wires the three touches:
- interior_mode.js: crew.spawn({ roster: rosterOf(shop.id) }) — the front crowd slots become tonight's roster
- index.html: rosterOf=(id)=>citizens.tonightRoster(id) into interior_mode; onAdmit=(e)=>citizens.recordVenueEntry(id,e)
  on the queue (each admit relays into the roster); the clear is automatic on the existing setGig(id,false)
- flags_check.py: smoke_continuity — asserts the seam (crowd includes roster-cap, pedIndex in tonightRoster),
  empty-roster injects nobody (shell side of D's byte-identical law), + ledger #5 settled-tris honesty

Verified: 2 queue admits carry into the crowd; empty roster 0-injected; settled interior 71k->182k tris
(C's finding — interior gate is draws <=54, no violation). 0 console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 11:19:19 +10:00
..
citizens Lane D R15 (v3.0): guitar_amp up-stage per C's §3 ruling (ledger #4) 2026-07-16 10:25:08 +10:00
citygen Lane A round 15: frontage poster +Z street-face flip (ledger #1) + gig golden re-pin 2026-07-16 09:48:17 +10:00
core Lane A round 13: v3.0-beta the district (?gigs=1) — 2–4 venues, week schedule, town-wide posters, verge fix 2026-07-15 22:35:05 +10:00
interiors Lane C R14 (v3.0 release): venue audit + docs freeze + guitar_amp ruling 2026-07-16 08:40:42 +10:00
world Lane F R15 (v3.0): identity continuity — wire D's tonight-roster into the crowd (ledger #3) 2026-07-16 11:19:19 +10:00