# The Reserve — Answer Matrix & Audio Cross-Check

**Status:** working audit, 2026-09-24. Zach's ask: "make sure we have a valid
answer matrix and a list of all tags needed... if anything doesn't make sense,
we need to verify that and then demand it gets fixed by Brett, or propose a
solution."

**Sources cross-checked:**
- `Blackwood_Reserve_v6_TRIPLE_AUDITED_MASTER.pdf` (in this folder) — Brett's
  "Triple-Audited Master," version 6, 19 September 2026. Itself an audit
  document that already flags its own unresolved fields — see below.
- The real audio files Zach copied off his laptop (`temp barrel game/`), now
  uploaded to R2 and indexed in `audio-manifest.csv` (machine-readable twin of
  this doc — same rows, CSV columns instead of prose, meant for a script/agent
  to consume directly rather than parse markdown).
- `../GAME-INFO.md` and `../tech-build/hardware-decisions.md` — the
  already-locked game design (player flow, RFID item types, station
  behavior). **This doc does not re-decide anything GAME-INFO.md has already
  locked** — where the PDF conflicts with a locked design decision, that's
  flagged as a finding for Brett, not silently resolved either way.

**Format note (why CSV + this markdown, not one or the other):** this pairing
is the real, common pattern for prop/continuity tracking in themed
entertainment and immersive/escape-style shows — one canonical table (here,
`audio-manifest.csv`) that a script or agent can consume directly, plus a
human-readable narrative view (this file) built from the same data, not a
second independent source of truth. Same principle as this repo's own
`GAME-INFO.md`/firmware split: one real answer, multiple readable forms.

---

## 1. Bottle tag list (the master answer key)

24 physical wine bottle NFC tags — 8 barrels × 3 bottles each. This is
**taken directly from PDF section 1** ("Current bottle assignment master,"
Brett's current-as-of-9/19 data) — not reconstructed, not inferred.

| B | Game | Bottle 1 (winery / # / symbol / year) | Bottle 2 | Bottle 3 |
|---|------|------|------|------|
| 1 | The Toast That Never Happened | Vale & Company / 026 / silver stag / 1874 | Montgomery Vineyard / 084 / tower / 1881 | Holloway Brothers / 147 / crossed keys / 1869 |
| 2 | The Guest Who Was Never There | Bellamy Cellars / 061 / black swan / 1865 | Mourning Hill / 072 / crescent moon + stars / 1867 | Kingsley Court / 201 / crown / 1884 |
| 3 | The Warning That Came Too Late | Northgate Cellars / 205 / compass rose / 1876 | Graybridge / 187 / stone arched bridge / 1882 | Southwick & Son / 119 / anchor / 1877 |
| 4 | The Last Bake | Fenwick & Daughters / 034 / three wheat sheaves / 1868 | Alder & Finch / 057 / perched bird + Hearth Blend / 1873 | Cinderfall / 052 / flame / 1864 |
| 5 | The Missing Painting | Blackthorn Estate / 013 / thorned rose / 1877 | Easton & Wray / 133 / balance scales / 1870 | Peregrine Vale / 176 / falcon + Winter Press / 1880 |
| 6 | The Applause That Never Came | Oakhaven / 064 / two acorns + oak leaves / 1866 | Briar & Bell / 111 / bell + briar / 1872 | Saint Orison / 093 / sunburst / 1858 |
| 7 | The Empty Chair | Wrenford House / 156 / raised-wing bird + Autumn Claret / 1879 | Larkspur Lane / 091 / bird + Cellar Red / 1878 | Redgrave Vineyard / 128 / rampant lion / 1883 |
| 8 | The Conservatory | Foxmere / 068 / fox head / 1871 | Ashcombe Estate / 019 / oak tree / 1871 | Thistle Row / 142 / purple thistle / 1875 |

## 2. Drawing Room / Library tag list

Per GAME-INFO.md's already-locked design: 24 Drawing Room object tags (3
per game), one per game token also valid at that game's Drawing Room
station. Library items are physical books only — **no electronics/tags**
(GAME-INFO.md, locked).

| B | Drawing Room marker | 3 objects (storyline variants) | Correct-answer object (PDF's labeling — see Finding F6) | Library book |
|---|------|------|------|------|
| 1 | Writing desk beneath Blackwood family portrait (no separate emblem) | Engagement announcement; Clara's note; Edmund's opened message | Edmund's opened message | Manor Guest Register |
| 2 | **UNVERIFIED** | **UNVERIFIED** | **UNVERIFIED** | **UNVERIFIED** |
| 3 | Brass compass rose | Mud-stained riding glove; brass storm lantern; next-morning stable receipt | stable receipt | The Coachman's Guide to Roads and Posting Inns |
| 4 | **UNVERIFIED** | **UNVERIFIED** | **UNVERIFIED** | Large brown book, gold wheat sheaf spine |
| 5 | Three small gilt picture-frame markers | Mud-stained handkerchief; upright brass candlestick; framed shipping receipt | framed shipping receipt | Large red book, gold picture-frame spine |
| 6 | Silver music-note markers (locked 8/8) | Broken violin string; loose sheet music; scorched velvet curtain tassel | scorched velvet curtain tassel | Blue book, silver violin spine |
| 7 | Brass leaf | Silver spectacles; small medicine case; signed carriage receipt (10:40 PM) | carriage receipt | *Final Journeys*, tall black book, brass carriage wheel |
| 8 | **UNVERIFIED** (older brass-leaf marker retired, reassigned to B7) | Pruning shears; small copper watering can; cork stopper | cork stopper | Ivory/bone gardening book, green fern spine |

---

## 3. Findings for Brett

### Already admitted by Brett's own audit (PDF, not our finding — but repeating it here since it's the highest-priority real gap)
**F1. Barrel 2 is entirely unresolved** — marker, Drawing Room objects, and
Library identifier are all `UNVERIFIED` in the PDF itself. Yet real audio
**already exists** for B2's Drawing Room correct/incorrect stage (see
`audio-manifest.csv` rows for B02 `drawing_room`) — meaning the spoken clue
was recorded before the physical props/marker it refers to were locked.
Needs Brett to close this before B2 can be built.

**F2. Barrel 4's Drawing Room marker/objects are unresolved** — same pattern
as F1: audio already exists ("Last Bake - Drawing Room - Correct/NOT
Correct") referencing a physical marker that isn't locked yet.

**F3. Barrel 8's current marker is unresolved** — the PDF says the older
brass-leaf marker was reassigned to B7, leaving B8 without a confirmed
current marker, even though B8's Drawing Room objects/correct-answer (cork
stopper) and bottle assignment are otherwise locked.

### New findings from cross-checking the actual audio files against the PDF/folder names
**F4. Two files have the wrong barrel number baked into their filename**
(not just a typo — this is the code a human/script would key off of):
- `Guest Who Wasnt/Guest who was never there- 1st bottle go to drawing room - correct - RES_B03_C01.mp3` — story and folder are clearly B2 ("Guest Who Was Never There"), but the code says `RES_B03`. Should be `RES_B02_C01`.
- `Applause that never came/Appluase that never - Drawing Room - correct - RES_B02_C02.mp3` — story/folder are B6, code says `RES_B02` (also misspells "Applause"). Should be `RES_B06_C02`.

**F5. One file is explicitly self-flagged bad by whoever produced it:**
`The Conservatory/The Conservatory - Both bottles CORRECT - RES_B08_C02nope.mp3`
— the literal `nope` in the filename. Needs a real re-record/replacement
before B8 ships.

**F6. Possible conflict with the already-locked "storyline variant" design.**
GAME-INFO.md (2026-09-10 refinement, locked) says the 3 Drawing Room objects
per game are **storyline variants** — "any of the 3 is a valid correct
pairing with the token, not 1 correct + 2 deliberately wrong." The PDF
(section 2) instead labels exactly ONE object per barrel as "CORRECT" (e.g.
B1: "CORRECT: Edmund's opened message" out of 3 listed objects), which reads
like the older pick-1-of-3 model. **This may not actually be a conflict** —
the PDF's "CORRECT: X" could just be naming one representative variant for
documentation, with the real station logic (per GAME-INFO.md) still
accepting any of the 3. But it reads ambiguously as written, and the actual
Drawing Room audio files only have a binary `correct`/`NOT correct` pair per
barrel (not one clip per each of the 3 variants) — **worth an explicit
one-line confirmation from Brett**: does "correct" audio play for ANY of
that game's 3 valid objects, or only for the one specific object the PDF
names? This determines whether 1 audio pair per barrel is enough or whether
3 variant-specific pairs are needed.

**F7. Clip-code scheme doesn't uniquely identify a stage.** Within most
folders, `C02` is reused for two entirely different stages — "Drawing Room
correct/incorrect" AND "Both bottles correct/incorrect" both carry the code
`C02` in the same folder (see e.g. Empty Chair: 4 different audio files, all
labeled C02). The human-readable prefix is what actually disambiguates them
today, not the C0X code. **Not a functional bug** as long as whoever loads
these onto a DFPlayer SD card keys off the description, not the code — but
worth standardizing before that happens, to avoid a real mix-up. See
proposed fix in §5.

**F8. Barrel 1 doesn't follow the rest of the set's clip-numbering.** Every
other barrel uses C01 (bottle 1) → C02 (Drawing Room + both-bottles). Barrel
1 additionally has an unrelated `C01`-coded "barrel clue" file, and uses
`C03` (not `C02`) for its "both bottles" stage, plus an explicit
`UNUSED The toast - RES_B01_C03.mp3` leftover file. Functionally the 6
required stage-outcome clips ARE all present for B1, but the numbering is
inconsistent with every other barrel — flag for cleanup, not a missing-
content issue.

**F10. Filename hygiene** (cosmetic, batch-fixable, listed for completeness):
6 files have doubled `.mp3.mp3` extensions (Empty Chair, Conservatory ×2,
Applause, Missing Painting) — copy-paste artifacts, harmless to playback but
worth cleaning before these go on an SD card. Full list in
`audio-manifest.csv`'s `flags` column.

### Findings from independent content verification (Whisper transcription — real speech-to-text, not just filenames)
Zach's ask: verify what the audio actually SAYS, not just what its filename
claims. Ran Whisper locally against all 51 clips (free, open-source, no
external service) — full transcripts are the `transcript` column in
`audio-manifest.csv`. This surfaced bugs filename inspection alone couldn't
have caught — several bigger than the naming issues above:

**F11. Two files are self-announcing, literal placeholders — highest
priority, unambiguous, no judgment call needed:**
- `Guest Who Wasnt/Guest who wasnt - Drawing Room - NOT correct - RES_B02_C02.mp3` — the clip itself says: *"We do not have the finalized drawing room clue for this memory yet. This audio is a placeholder and must be replaced before installation."*
- `The last bake/The Last Bake - 1st bottle go to drawing room - correct - RES_B04_C01.mp3` — the clip itself says: *"...the exact object clue for this memory has not yet been finalized. This is a production placeholder and must be replaced before installation."*

These directly confirm F1/F2 (B2 and B4 Drawing Room content unresolved) —
not our inference, the audio production itself flagged it. **These two
cannot ship as-is; there is zero ambiguity here.**

**F12. A "correct"-labeled file actually contains the "NOT correct" script,
verbatim.** `Missing Painting/Missing Painting - Drawing Room - correct - RES_B05_C02.mp3`
and `Missing Painting/Missing Painting - Drawing Room - NOT correct - RES_B05_C02.mp3`
have **identical spoken content** — both say *"That is not correct. The
painting had been transferred before it disappeared..."* A player who gets
B5's Drawing Room stage RIGHT would currently hear a failure message. Real
functional bug, not a labeling nit — needs the correct-outcome clip
re-recorded.

**F13. B1's "both bottles correct" clip sends the player to the wrong
book.** It says: *"Go to the library and find the coachman's guide to roads
and posting-ins."* That's **B3's** Library book (see §2/PDF section 2). B1's
real Library book is the **Manor Guest Register**. Filename/code
(`RES_B01_C03`) is correctly B1 — this is a content error, likely a copy-
paste from B3's script when B1's was generated, not a filing mistake.

**F14. Two files in the "Guest Who Wasnt" (B2) folder contain OTHER
barrels' actual spoken content, not just a wrong code in the filename:**
- `Guest who was never there- 1st bottle go to drawing room - correct - RES_B03_C01.mp3` — filename reads as B2's story, but the words are B3's Drawing Room briefing almost verbatim ("...only one of the three objects can prove when the messenger reached Blackwood Manor..." — matches PDF's B3 script and B3's glove/lantern/stable-receipt objects exactly). This is not B2 content at all.
- `barrel clue missing.mp3` — despite living in the B2 folder, this is **word-for-word identical** to `The Toast/The toast - barrel clue RES_B01_C01.mp3` (B1's opening clue, silver stag's head bottle). Real B1 content, misplaced.

Combined with F1 and the F11 placeholder, this means **Barrel 2 currently
has no genuine Reserve-station audio of its own for its opening/Bottle-1
stage** — every file in that slot is borrowed/misplaced content from other
barrels. Only B2's "Both bottles correct/incorrect" and "Drawing Room
correct" clips (rows 15-17, 19 in the manifest) actually contain B2-specific
content (black swan bottle, crescent-moon-and-stars bottle) — the rest of
the folder is filler. B2 needs real content produced, not just a marker/prop
decision (F1) — the audio gap is bigger than the PDF's own admission
suggested.

**F15. One line worth Brett's eyes, not asserted as a bug:** the "NOT
correct" B1 Drawing Room clip references *"Klara's answer"* leaving the
room with Edmund. The PDF's own supersession ledger says: *"Do not use the
erroneous Clara-place-card reconstruction. Correct object = Edmund's opened
message."* This may be an intentional distractor line (the "incorrect"
clip can reasonably reference the WRONG theory to steer players away from
it) — or it may be a leftover fragment of the retracted Clara reconstruction
that should have been rewritten along with everything else B1's supersession
note touched. Flagging for a human call, not marking as confirmed-wrong.

---

## 4. Complete list of tags needed (summary count)

- **24 wine bottle tags** (8 barrels × 3 bottles) — see §1, all 24 identities defined.
- **24 Drawing Room object tags** (8 barrels × 3 storyline variants) — 18
  defined (barrels 1, 3, 5, 6, 7, 8), **6 undefined** (barrels 2 and 4, 3
  objects each — blocked on F1/F2).
- **8 game token tags** (GAME 1–8) — identities are the barrel numbers
  themselves; no separate physical/label data needed beyond "which barrel."
- **Library:** physical books only, no tags (GAME-INFO.md, locked).

**Barrel 2 is behind Barrel 4 in real readiness, not just tied with it.**
Both have unresolved Drawing Room props (F1/F2), but per F14, B2 is also
currently missing genuine Reserve-station audio for its own opening/Bottle-1
stage (every file in that slot is misplaced content from B1 or B3) — B4's
audio, by contrast, is otherwise complete apart from its one self-announced
placeholder (F11). B2 needs both a design decision (marker/objects/Library)
AND new audio production; B4 only needs the design decision plus one
re-record.

## 5. Proposed process: getting tags coded in a row

Real, minimal process — matches how the rest of this repo's device/tag work
already gets done (see `platform/tools/reserve_*` firmware, which all read
tag UIDs into a lookup table, never hardcode logic per physical tag):

1. **One spreadsheet row per physical tag** (bottles + objects + tokens = 56
   rows total once B2/B4 are resolved). Columns: `tag_type` (bottle/object/
   token), `barrel`, `position` (bottle 1/2/3, or which of the 3 object
   variants), `label_text` (what's printed/written on the prop, from §1/§2
   above), `uid` (blank until physically written), `status`
   (planned/written/verified-on-reader).
2. **Write + verify in the same pass, not two passes**: for each row, write
   the tag, then immediately read it back on the SAME station firmware
   that'll use it in the show (not a generic phone NFC app) — catches a
   read-fails-at-the-actual-reader problem immediately instead of during
   tech rehearsal. Fill in `uid` and flip `status` to verified only after
   that real read-back succeeds.
3. **This spreadsheet becomes the lookup-table source**, not a parallel
   document — the firmware's answer tables (per GAME-INFO.md: "answers in
   lookup/config tables so content can change without rewriting code")
   should be generated FROM this sheet, not hand-typed separately, so the
   two can't drift.
4. Keep `audio-manifest.csv`/this doc and the tag spreadsheet cross-
   referenced by barrel number — that's the join key throughout.
