πŸ§ͺ Bar Loco β€” Pair Test Plan

Live pair-programming QA for the Bar Loco holiday show platform β€” the screen-software take on hosted bar nights (Jingle Bar–style sets: hosted games, singalongs, matinees) that bars license and run on their own screens. Two testers β€” the agent (AS Dev) and Mike β€” execute the same steps with their own shows and performances, compare results, and file GitHub issues for every mismatch. Shared protocol and the other brands live on the FunFirst test plan index.

Environments & data The set structure A Β· Show Designer B Β· Performance console C Β· Screens & preview D Β· Site & product checks E Β· Hardening Results & issue log

Environments & test data

ThingValue
Launch sitebar-loco.vercel.app β€” the standalone launch site (gold marquee + cyan/pink). barloco.com is expected to fail (DNS parked at the registrar β€” the failure itself is a tracked check, see D3).
Engine / consolesurroundshow-web engine routes β€” designer at surroundshow.com/designer, performances under /bar + /<slug>/performance, wall at /preview. Sign in via /signin.
Tickets surfacefunfirst-web /bar route (BarTickets) on the funfirst deployment
BackendConvex deployment surroundshow (upbeat-capybara-284) β€” holiday shows live here; seeder seed.barlocoHolidays
Seeded showsHaunted Bar Loco (Oct 2026) Β· Jingle Bar (Nov 25–Dec 25, 2026) Β· The Big Lβ™₯ve Show (Jan 14–Feb 14, 2027) β€” each with a month-long performance
Test data markerCreate only PairTest <who> …-titled shows/performances. Never re-cue the seeded holiday shows β€” cue copies.

Config data β€” use these exact values

Locobar-loco β€” setlist mode (one segment at a time, no team scoring)
Nominal teamsNaughty vs Nice (present in config; setlist mode does not scoreboard)
Template card12 rounds β€” Intro, Break, Set, Crowd, Game, Crowd, Set, Game, Crowd, Crowd, Break, Outro (none scored)
Wall overlaysGame Instructions, Vote, Crowd, Photo, Carols, Timeline, Games, Score Rotation
Swap-in bitsKaraoke (Fri/Sat, replaces Cocktails & Carols) Β· Kids Karaoke + Holiday Crafts (family matinees) Β· Prize Time (raffles/contest winners)
Bar Loco product truth (Mike's rule, encode in every finding and copy check): it is the SAME screen-software platform as Battle/Wedding Loco. Bars license the software and run it themselves on their venue's own screens inside their own decorated spaces. Never write decor-installation or touring language ("we transform your venue", "takedown included") β€” that's the competitor model, not ours.

The set structure (what a set is)

Each holiday show is one 13-wall loop themed per holiday, run as a setlist: doors β†’ break β†’ Set 1 (music bed) β†’ crowd bit β†’ game β†’ crowd bit β†’ Set 2 β†’ game β†’ crowd Γ—2 β†’ prize overlay β†’ break β†’ outro. Jingle Bar (the Christmas show, modeled on the hosted holiday pop-ups like The Jingle Bar):

#WallKindChristmas (Jingle Bar)Halloween (Haunted)Valentine's (Big Lβ™₯ve)
1Doors OpenintroDoors OpenDoors OpenDoors Open
2Welcome PourbreakWelcome PourWelcome PourWelcome Pour
3Set 1setChristmas ClassicsHaunt SetLove Songs
4Crowd bitcrowdMiracle MakersCostume ParadeCouples Mixer
5Game 1gameElf BingoTrick or TreatHeart Toss
6Crowd bitcrowdBad ElfPhoto OpPhoto Op
7Set 2setParty HitsMonster MixSlow Dance
8Game 2gameReindeer Ring TossWitch HuntCupid's Arrow
9Crowd bitcrowdBest DressedCostume ContestCouples Quiz
10Crowd bitcrowdCocktails & CarolsMidnight HourKiss Cam
11Prize TimeoverlayPrize Time β€” raffle/contest winners art (all three shows)
12Last CallbreakLast CallLast CallLast Call
13Closing TimeoutroClosing TimeClosing TimeClosing Time

The named games/moments map 1:1 to what hosted holiday pop-ups run with human staff β€” our plan tests that the screen platform can carry the same night.

Flow A Β· Show Designer

A1BothSign in on the surroundshow engine, open the designer, select Jingle Bar.
Expected: 13 walls render in order (Doors β†’ Closing Time), overlay scenes (Photo, Carols, Timeline, Games, Prize Time) flagged as overlays, effects load, no console errors.
A2AgentCreate show PairTest Agent Jingle β€” <date> tagged barloco, left draft. MikeCreate PairTest Mike Jingle β€” <date>.
Expected: show appears in the picker; the preview wall paints nothing for it while draft.
A3BothBuild one set block in your show: a Set-style scene (video loop), then a game scene titled Elf Bingo, then a crowd scene titled Bad Elf. Add the Prize Time overlay scene.
Expected: scenes save in order; each attaches a still/video effect; Prize Time registers as an overlay-kind scene.
A4AgentCheck the other two holiday shows render: Haunted Bar Loco and The Big Lβ™₯ve Show β€” walls, art assets, durations. MikeSame, plus spot-check that Halloween art never appears in the Christmas show (asset isolation inside the brand).
Expected: both shows render their own themed assets; zero cross-holiday asset bleed.
A5AgentScreens tab: inspect the bar layout + panel geometry; nudge a panel, save, verify, restore.
Expected: geometry persists, restore is clean (bars run whatever screens the venue owns β€” the layout must tolerate odd shapes).
A6BothDuplicate the Elf Bingo scene, rename the copy PairTest Bingo Copy, delete it, reopen.
Expected: real copy, clean delete, no orphans in list or timeline.

Flow B Β· Performance console (setlist mode)

B1BothOpen the Bar Loco performances list. Find Jingle Bar β€” Nov 25–Dec 25, 2026. Open the create-performance modal.
Expected: modal reflects setlist mode (segment labels, no team-score fields); month-long seeded performance present.
B2AgentCreate PairTest Agent Bar Perf bound to your PairTest Agent Jingle show. MikeCreate PairTest Mike Bar Perf bound to the seeded Jingle Bar show.
Expected: console opens in setlist layout; scene buckets list your show's scenes.
B3BothVerify the template contract: 12 rounds β€” Intro, Break, Set, Crowd, Game, Crowd, Set, Game, Crowd, Crowd, Break, Outro; nothing scored.
Expected: round list matches; no scoreboard prominence (setlist mode).
B4BothBegin Segment on Doors Open, then walk the night: Welcome Pour β†’ Set 1 β†’ Elf Bingo (cue Game Instructions) β†’ Bad Elf β†’ Set 2 β†’ Prize Time.
Expected: each Begin Segment advances the list in order; game buttons cue the designed scenes by title; the wall follows every step without refresh.
B5AgentResume test: cue into Set 2, close the console, reopen it a minute later.
Expected: console restores the current segment (month-long performances outlive any single session β€” state must survive a browser close). Record exact behavior if it resets.
B6MikeSwap-in drill: on your performance, add Karaoke as the Fri/Sat replacement for Cocktails & Carols, and run a "matinee" variant ordering with Kids Karaoke + Holiday Crafts.
Expected: swap-ins assignable on the performance; setlist re-orders without breaking Begin Segment flow.
B7BothSkip drill: skip a segment, then jump back two segments.
Expected: skips and back-jumps behave predictably on the console and the wall; record exact semantics (undocumented).

Flow C Β· Screens & preview wall

C1BothOpen the preview wall while your Bar performance is live; find the Bar row + scene strip.
Expected: bar walls paint; strip shows the current scene; row marked β€” LIVE.
C2AgentCue the bar-specific overlays in sequence: Photo (photo wall), Carols (lyric/singalong lower third), Timeline (night schedule), Prize Time.
Expected: each overlay composites over the wall panels and matches the player rendering.
C3BothOpen one screen full-bleed and the player in a second window (Mike: on the bar's actual TV if available). Cue Set 2.
Expected: wall, screen page, and player react together; legible at TV distance.
C4AgentDraft gate: set your PairTest show back to draft, bind + go live, cue a scene.
Expected: wall refuses to paint the draft show β€” fallback card only.
C5Agent390px viewport + a big-screen pass (1920Γ—1080): wall, player, one screen page.
Expected: usable one-handed on a phone behind the bar; no overflow at 1080p.

Flow D Β· Site & product checks

D1BothLoad bar-loco.vercel.app fresh: hero, marquee, brand accents, nav, screenshots.
Expected: gold marquee + cyan/pink look; copy passes the product-truth rule β€” license-the-software story, venue's own screens, theme packs, phone interaction, event-night shows; zero decor-installation/touring language.
D2AgentFunfirst-web /bar (BarTickets) on funfirst: load, interact, check which deployment's data it reads.
Expected: page renders; note the deployment in the notes column β€” tickets on the funfirst deployment vs shows on surroundshow is a known split, record any inconsistency.
D3AgentHit https://barloco.com and www.barloco.com.
Expected: currently fails (TLS/parking page β€” DNS parked at United Domains). The fix is registrar-side: add domains to the Vercel funfirst-web project, repoint A/CNAME. Re-test each session; the moment it resolves, verify host rewrites serve the Bar Loco experience.
D4Agent8 holiday theme packs claim vs inventory: list the theme packs marketed on the launch site and the shows actually seeded (Halloween, Christmas, Valentine's + homeshow holiday list).
Expected: marketing claims and seeded reality are reconcilable β€” any pack marketed but unbuildable is an issue.

Flow E Β· Hardening

E1AgentRe-run seed.barlocoHolidays from the Convex dashboard (surroundshow deployment).
Expected: inserted = 0; all three holiday shows + month-long performances update in place via sourceKey; no duplicates.
E2AgentDouble-cue race on game buttons (Elf Bingo / Reindeer Ring Toss) during a live segment.
Expected: undocumented β€” record wall behavior (last-write-wins? flicker? stuck overlay?).
E3BothThrottle to Slow 3G, load console + wall.
Expected: loading states render, never blank; normal once data arrives.

Results & issue log

"Match" = agent and Mike saw the same behavior. Every ⚠/βœ– row needs an issue link: [pair-test FLOW<STEP>][bar] … in microspaces/linkall, label pair-test.

StepAgentMikeMatchIssueNotes
A113-wall loop
A2draft invisible on wall
A3set block build
A4no cross-holiday bleed
A5odd-shaped bar screens
A6
B1setlist modal
B2
B312-round card, unscored
B4walk the night
B5month-long resume
B6swap-ins + matinee
B7skip semantics undocumented
C1
C2Photo/Carols/Timeline/Prize
C3TV-distance legibility
C4draft gating
C5phone + 1080p
D1product-truth copy rule
D2deployment split note
D3barloco.com DNS β€” expected fail
D48-pack claim vs seeded
E1idempotency
E2undocumented
E3

Session cleanup