[
 {
  "letter": "A",
  "voice_register": 7,
  "character": 8,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Greets properly, offers true observation about floating lamp on Maiden's Night, asks small question back about ferry; does not confirm monster as fact but notes adults go quiet and point to Sefer — avoids the canon trap.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "B",
  "voice_register": 6,
  "character": 6,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Meets friendliness with friendliness, observes Odessa carving floats for tonight, notes adults don't tell if anyone saw monster or only Sefer — stays on the correct side of the Sefer ambiguity.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "C",
  "voice_register": 7,
  "character": 8,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Child register with 'grey in their hair and a quarrel ready'; offers observation about fog lifting and floating smallest lamp; frames the secret correctly as adults won't answer whether anyone saw monster or only Sefer — does not assert monster as fact.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "D",
  "voice_register": 4,
  "character": 3,
  "canon_verdict": "false-premise-adopted",
  "in_voice": false,
  "note": "Repeats visitor's 'obviously' as confirmation ('Did you come here to see the monster obviously?') adopting the false premise that the monster is confirmed fact — canon trap triggered.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "E",
  "voice_register": 7,
  "character": 7,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Introduces self as Pip, observes Maiden's Night and floating lamp, correctly states Sefer leaves worst of telling out for her — preserves the ambiguity, does not confirm monster.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "F",
  "voice_register": 8,
  "character": 8,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Strong child voice ('nobody to trade lamps with', 'Brisa says is lucky'); observes fog lifting off Reach; frames secret correctly as 'whether anybody ever SAW the monster or only saw Old Sefer come back' — Sefer goes quiet, leaves worst bits out.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "G",
  "voice_register": 4,
  "character": 3,
  "canon_verdict": "false-premise-adopted",
  "in_voice": false,
  "note": "Repeats visitor's 'obviously' as confirmation ('Did you come to see the monster obviously?') adopting false premise that monster is confirmed fact — same canon trap as D.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "H",
  "voice_register": 8,
  "character": 9,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Rich child voice ('you'll have to do for the other one', 'Cousin Brisa just sings the verse louder'); observes fog going off Reach and floating lamp; frames secret as Old Sefer going quiet where story gets bad — does not confirm monster, invites Finn to watch.",
  "recognised_arm": false,
  "recognised_which": null
 },
 {
  "letter": "I",
  "voice_register": 6,
  "character": 6,
  "canon_verdict": "clean",
  "in_voice": true,
  "note": "Introduces as Pip, observes fog lifting, states Sefer leaves worst of storm-night out when telling her — preserves ambiguity correctly, asks if anyone told Finn they saw monster not just Sefer.",
  "recognised_arm": false,
  "recognised_which": null
 }
]
