From 6517b1011101470fa81cc635e0e92aff635f9e91 Mon Sep 17 00:00:00 2001 From: slaguru666 Date: Wed, 5 Aug 2026 08:35:29 +0100 Subject: [PATCH] Fix the situation opener; guard the grammar in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A cold read caught the subtraction pass emitting broken English: 'Nobody — but the bells are moving is a summons is being rung...'. The opener template assumed occupant was a noun phrase and doing was a participle; ten situations broke that, and one occupant carried its own clause. Root cause fixed in the data, not the template. The template also drops its hardcoded copula for an em-dash appositive, which removes subject-verb agreement as a failure mode entirely — 'The bells is ringing' cannot recur. Three invariants now guard it: occupants carry no verb, actions are participle phrases, and no rendered opener contains a stray copula. The first version of that last test was wrong rather than the output — it counted em-dashes and flagged 191 false positives on cue fragments that legitimately contain one. The audit regex also had a false negative, since 'something' ends in -ing. Tests 25 -> 28. Co-Authored-By: Claude Opus 5 --- core/content/barrow.json | 38 ++++++++++++++++++------------------- core/render.mjs | 2 +- core/test.mjs | 26 +++++++++++++++++++++++++ samples/gilded-court-404.md | 12 ++++++------ samples/live-table-01.md | 10 +++++----- samples/pale-tally-737.md | 12 ++++++------ samples/salt-vigil-201.md | 12 ++++++------ 7 files changed, 69 insertions(+), 43 deletions(-) diff --git a/core/content/barrow.json b/core/content/barrow.json index f6344e5..b1c72d3 100644 --- a/core/content/barrow.json +++ b/core/content/barrow.json @@ -422,8 +422,8 @@ "offer": "agree, and it will show you what it is not allowed to look at" }, { - "occupant": "nobody visible", - "doing": "something is turning to follow you, one mirror at a time", + "occupant": "something unseen", + "doing": "turning to follow you, one mirror at a time", "onArrival": "the movement stops when you look directly at it", "because": "it may only move unobserved", "offer": "stare it down — hold your gaze and it cannot advance" @@ -611,8 +611,8 @@ "offer": "give a name — any name — and it will read you the entry beside it" }, { - "occupant": "nobody", - "doing": "something is calling a name in the next room, patiently", + "occupant": "something in the next room", + "doing": "calling a name, patiently", "onArrival": "it starts calling yours instead", "because": "it learned your names when you were announced", "offer": "answer once and it will lead you somewhere; answer twice and it will not stop" @@ -639,8 +639,8 @@ "offer": "take the plate and the household obeys you — and expects you to stay" }, { - "occupant": "nobody", - "doing": "a name is being written on the wall, letter by letter, as you watch", + "occupant": "the wall itself", + "doing": "taking down a name, letter by letter, as you watch", "onArrival": "the letters stop", "because": "the barrow is recording who came in", "offer": "finish the name yourself with something false and it is accepted" @@ -814,8 +814,8 @@ "offer": "answer as the listener would, and learn what it has been reporting" }, { - "occupant": "nobody — but the bells are moving", - "doing": "a summons is being rung, room by room, coming closer", + "occupant": "the bells", + "doing": "ringing a summons room by room, coming closer", "onArrival": "the bell in this room begins", "because": "something has called for service and the house is obliging", "offer": "answer the bell yourself before whatever is meant to arrives" @@ -1000,8 +1000,8 @@ "offer": "take the task from it, and it will finally rest — and tell you something first" }, { - "occupant": "nobody", - "doing": "a room is undoing your presence — footprints filling, dust returning", + "occupant": "the room", + "doing": "undoing your presence, footprints filling behind you, dust returning", "onArrival": "it works faster", "because": "nothing here is permitted to change, including evidence of you", "offer": "leave something deliberately and see whether it is allowed to remain" @@ -1203,8 +1203,8 @@ "offer": "decide for them and take the other" }, { - "occupant": "nobody", - "doing": "a case is being restocked — items arriving in it, one at a time", + "occupant": "a display case", + "doing": "restocking itself, items arriving one at a time", "onArrival": "a space clears, sized for something you carry", "because": "the collection is still being completed", "offer": "contribute, and the barrow counts you a benefactor" @@ -1406,8 +1406,8 @@ "offer": "play along and they will guide you; correct them and they stop speaking" }, { - "occupant": "nobody", - "doing": "a second set of footsteps is keeping pace with yours", + "occupant": "a second set of footsteps", + "doing": "keeping pace with yours, close", "onArrival": "they stop when you stop, close", "because": "something attached itself in an earlier room", "offer": "acknowledge it and it becomes useful; ignore it and it becomes insistent" @@ -1592,8 +1592,8 @@ "offer": "help them word it and they will hand over what they took" }, { - "occupant": "nobody", - "doing": "the room is repeating a confession, quietly, on a loop", + "occupant": "the room", + "doing": "repeating a confession, quietly, on a loop", "onArrival": "it changes to your voice", "because": "it keeps the last honest thing said in it", "offer": "say something true and worse, and it will let you take the old one away" @@ -1789,7 +1789,7 @@ }, { "occupant": "two of the Host", - "doing": "each refusing to go through a door second", + "doing": "refusing, each of them, to go through a door second", "onArrival": "they both look at you to break it", "because": "neither may be seen to yield", "offer": "rule between them and the loser attaches to you as a lesser" @@ -1802,8 +1802,8 @@ "offer": "take a plate and go first anywhere — the Host will hate you for it" }, { - "occupant": "nobody", - "doing": "a procession is passing through, unhurried, and you are in its way", + "occupant": "a procession", + "doing": "passing through, unhurried, with you in its way", "onArrival": "it does not stop or go round", "because": "it has right of way and has had for three centuries", "offer": "stand aside and be counted courteous; join it and be counted one of them" diff --git a/core/render.mjs b/core/render.mjs index 3cc8380..4b5a596 100644 --- a/core/render.mjs +++ b/core/render.mjs @@ -79,7 +79,7 @@ export function renderMarkdown(d) { // "integration" — image, situation, pressure and choice reading as one, not as components. const opening = [ a.cueFragments.map(c => cap(c)).join('. ') + '.', - S ? `${cap(S.occupant)} is ${S.doing} — when you walk in, ${S.onArrival}.` : '', + S ? `${cap(S.occupant)} — ${S.doing}. When you walk in, ${S.onArrival}.` : '', a.clue.automatic ? `None of it is accident — it was done this way on purpose.` : '', ].filter(Boolean).join(' '); L.push(`> ${opening}`); diff --git a/core/test.mjs b/core/test.mjs index ca5def9..003538c 100644 --- a/core/test.mjs +++ b/core/test.mjs @@ -148,5 +148,31 @@ for (let i = 0; i < 20; i++) { } t('subtraction removed blocks, not information', lost.length === 0, lost.slice(0,4).join(', ') || 'all fields still rendered'); +// the opening sentence is built as " is — when you walk in, ". +// If occupant carries a verb, or doing is a full clause, that renders as garbage. A live read +// caught exactly that: "Nobody — but the bells are moving is a summons is being rung...". +let badOcc = 0, badDoing = 0; +for (const m of Object.values(pack.motifs)) { + for (const sit of m.situations ?? []) { + if (/\b(is|are|but)\b|—/.test(sit.occupant)) badOcc++; + if (!/^\w+ing\b/.test(sit.doing) || /^(some|no|any|every)thing\b/.test(sit.doing)) badDoing++; + } +} +t('situation occupants are noun phrases', badOcc === 0, `${badOcc} carry a verb`); +t('situation actions are participle phrases', badDoing === 0, `${badDoing} are full clauses`); + +// the rendered opener must read as English: no stray copula, no doubled dash +let badOpener = 0; +for (let i = 0; i < 30; i++) { + const md = renderMarkdown(generateDelve({ pack, seed: `open-${i}`, areas: 6 })); + for (const line of md.split('\n').filter(l => l.startsWith('> '))) { + // The real bug was a hardcoded copula colliding with plural occupants: + // "The bells is ringing a summons...". Em-dashes inside cue fragments are legitimate, + // so counting those flagged 191 false positives — the test was wrong, not the output. + if (/\b(is|are) \w+ing\b/.test(line)) badOpener++; + } +} +t('openers read as English', badOpener === 0, `${badOpener} malformed`); + console.log(`\n${pass} passed, ${fail} failed`); process.exit(fail ? 1 : 0); diff --git a/samples/gilded-court-404.md b/samples/gilded-court-404.md index 15d50eb..9405650 100644 --- a/samples/gilded-court-404.md +++ b/samples/gilded-court-404.md @@ -43,7 +43,7 @@ On success it goes first, and The Silent Host will not open hostilities first. ### AREA 1 — The Threshold Stones *approach · institution* -> A stair too grand for the door it serves. The queue disturbed — three of the dead pushed aside. One of the Host is reading out an order of precedence to an empty hall — when you walk in, it pauses and asks where you fall in it. None of it is accident — it was done this way on purpose. +> A stair too grand for the door it serves. The queue disturbed — three of the dead pushed aside. One of the Host — reading out an order of precedence to an empty hall. When you walk in, it pauses and asks where you fall in it. None of it is accident — it was done this way on purpose. **GM.** The list must be read in full before anyone may proceed. This is how the place was ordered, and it still is. **They can:** name your own place in the order and it will be honoured, exactly. `[Poise 2: stand aside and let it go ahead of you]` also works here, as everywhere. @@ -61,7 +61,7 @@ On success it goes first, and The Silent Host will not open hostilities first. ### AREA 2 — The Lesser Vault *complication · ritual* -> Banners in sequence, each house a place further back. A seat at the head of the hall dragged back, as if to sit in. Two of the Host is each refusing to go through a door second — when you walk in, they both look at you to break it. None of it is accident — it was done this way on purpose. +> Banners in sequence, each house a place further back. A seat at the head of the hall dragged back, as if to sit in. Two of the Host — refusing, each of them, to go through a door second. When you walk in, they both look at you to break it. None of it is accident — it was done this way on purpose. **GM.** Neither may be seen to yield. The office is still being performed, for someone who is no longer served by it. **They can:** rule between them and the loser attaches to you as a lesser. `[Poise 2: stand aside and let it go ahead of you]` also works here, as everywhere. @@ -79,7 +79,7 @@ On success it goes first, and The Silent Host will not open hostilities first. ### AREA 3 — The Waiting Room *complication · ritual* -> A herald's script with the order still marked. Someone has walked the corridor the wrong way, scuffing one side. One of the Host with a herald's staff is announcing arrivals to an empty stair — when you walk in, it announces you, inventing a rank. None of it is accident — it was done this way on purpose. +> A herald's script with the order still marked. Someone has walked the corridor the wrong way, scuffing one side. One of the Host with a herald's staff — announcing arrivals to an empty stair. When you walk in, it announces you, inventing a rank. None of it is accident — it was done this way on purpose. **GM.** The post requires arrivals and there have been none. The office is still being performed, for someone who is no longer served by it. **They can:** accept the invented rank and the barrow will treat you as it. `[Poise 2: stand aside and let it go ahead of you]` also works here, as everywhere. @@ -97,7 +97,7 @@ On success it goes first, and The Silent Host will not open hostilities first. ### AREA 4 — The Records Room *turn · demand · fight · cache* -> A door only one person may pass at a time, and only first. A numbered flagstone lifted and not replaced. A living robber is prising number-plates off the flagstones — when you walk in, they freeze, then offer you one. None of it is accident — it was done this way on purpose. +> A door only one person may pass at a time, and only first. A numbered flagstone lifted and not replaced. A living robber — prising number-plates off the flagstones. When you walk in, they freeze, then offer you one. None of it is accident — it was done this way on purpose. **GM.** They worked out the order is what keeps the doors shut. Here the want is explicit — the place asks something of whoever enters. **They can:** take a plate and go first anywhere — the Host will hate you for it. `[Poise 2: stand aside and let it go ahead of you]` also works here, as everywhere. @@ -125,7 +125,7 @@ On success it goes first, and The Silent Host will not open hostilities first. ### AREA 5 — The Sunken Nave *descent · wound · pocket* -> A procession that doubled back on itself. Banners pulled down and stacked without regard for order. Nobody is a procession is passing through, unhurried, and you are in its way — when you walk in, it does not stop or go round. None of it is accident — it was done this way on purpose. +> A procession that doubled back on itself. Banners pulled down and stacked without regard for order. A procession — passing through, unhurried, with you in its way. When you walk in, it does not stop or go round. None of it is accident — it was done this way on purpose. **GM.** It has right of way and has had for three centuries. This is the damage the want did to those who had to satisfy it. **They can:** stand aside and be counted courteous; join it and be counted one of them. `[Poise 2: stand aside and let it go ahead of you]` also works here, as everywhere. @@ -146,7 +146,7 @@ On success it goes first, and The Silent Host will not open hostilities first. ### AREA 6 — The Last Door *threshold · anchor · battle · chest* -> A seat at the head of everything, occupied. A rank-plate prised off and dropped, still shiny where it sat. A queue of the Host is waiting to pass a door, in strict order, not moving — when you walk in, the queue opens a gap at exactly your rank. None of it is accident — it was done this way on purpose. +> A seat at the head of everything, occupied. A rank-plate prised off and dropped, still shiny where it sat. A queue of the Host — waiting to pass a door, in strict order, not moving. When you walk in, the queue opens a gap at exactly your rank. None of it is accident — it was done this way on purpose. **GM.** The first in line is waiting for someone who never arrived. The thing the whole barrow is arranged around is close. **They can:** take the gap and go with them; take the front and they will remember it. `[Poise 2: stand aside and let it go ahead of you]` also works here, as everywhere. diff --git a/samples/live-table-01.md b/samples/live-table-01.md index 03dead7..113534e 100644 --- a/samples/live-table-01.md +++ b/samples/live-table-01.md @@ -43,7 +43,7 @@ On success it was obeyed, and The Silent Host will not open hostilities first. ### AREA 1 — The Weeping Stair *approach · institution* -> Servants' bones arranged as though mid-errand. Someone has been talking here, and stopped when you arrived. Three of the Host in servants' dress is carrying out an errand that has no destination left — when you walk in, they stop, and wait to be told what to do. None of it is accident — it was done this way on purpose. +> Servants' bones arranged as though mid-errand. Someone has been talking here, and stopped when you arrived. Three of the Host in servants' dress — carrying out an errand that has no destination left. When you walk in, they stop, and wait to be told what to do. None of it is accident — it was done this way on purpose. **GM.** The order was never rescinded and nobody outranks it. This is how the place was ordered, and it still is. **They can:** tell them where to go, and they go. `[Poise 2: do one small thing it asks, without arguing]` also works here, as everywhere. @@ -61,7 +61,7 @@ On success it was obeyed, and The Silent Host will not open hostilities first. ### AREA 2 — The Lesser Vault *complication · ritual · fight · cache* -> Orders scratched into the floor, the last one unfinished. A door braced shut from within by furniture. A living grave-robber is repeating a phrase over and over, trying to get the intonation right — when you walk in, they go quiet and put their back to the wall. None of it is accident — it was done this way on purpose. +> Orders scratched into the floor, the last one unfinished. A door braced shut from within by furniture. A living grave-robber — repeating a phrase over and over, trying to get the intonation right. When you walk in, they go quiet and put their back to the wall. None of it is accident — it was done this way on purpose. **GM.** They heard the password and cannot say it correctly. The office is still being performed, for someone who is no longer served by it. **They can:** trade something for the phrase, badly remembered. `[Poise 2: do one small thing it asks, without arguing]` also works here, as everywhere. @@ -89,7 +89,7 @@ On success it was obeyed, and The Silent Host will not open hostilities first. ### AREA 3 — The Crossing *turn · demand* -> A hall where your own voice arrives before you speak. An order half-scratched out and rewritten by a different hand. Nobody — but the bells are moving is a summons is being rung, room by room, coming closer — when you walk in, the bell in this room begins. None of it is accident — it was done this way on purpose. +> A hall where your own voice arrives before you speak. An order half-scratched out and rewritten by a different hand. The bells — ringing a summons room by room, coming closer. When you walk in, the bell in this room begins. None of it is accident — it was done this way on purpose. **GM.** Something has called for service and the house is obliging. Here the want is explicit — the place asks something of whoever enters. **They can:** answer the bell yourself before whatever is meant to arrives. `[Poise 2: do one small thing it asks, without arguing]` also works here, as everywhere. @@ -107,7 +107,7 @@ On success it was obeyed, and The Silent Host will not open hostilities first. ### AREA 4 — The Servants' Deep *descent · wound · pocket* -> An instruction repeated until the stone gave out. Boot-prints that stop mid-corridor and do not resume. A single figure at a speaking-tube is reporting, at length, to a listener who died first — when you walk in, it pauses mid-sentence and asks whether you are the reply. None of it is accident — it was done this way on purpose. +> An instruction repeated until the stone gave out. Boot-prints that stop mid-corridor and do not resume. A single figure at a speaking-tube — reporting, at length, to a listener who died first. When you walk in, it pauses mid-sentence and asks whether you are the reply. None of it is accident — it was done this way on purpose. **GM.** It has never once been answered. This is the damage the want did to those who had to satisfy it. **They can:** answer as the listener would, and learn what it has been reporting. `[Poise 2: do one small thing it asks, without arguing]` also works here, as everywhere. @@ -128,7 +128,7 @@ On success it was obeyed, and The Silent Host will not open hostilities first. ### AREA 5 — The Last Door *threshold · anchor · battle · chest* -> A key that fits nothing here. Wax jammed into a speaking-tube, still soft. One of the Host, kneeling is waiting for an instruction that was promised and never came — when you walk in, it addresses the first of you to speak as its superior. None of it is accident — it was done this way on purpose. +> A key that fits nothing here. Wax jammed into a speaking-tube, still soft. One of the Host, kneeling — waiting for an instruction that was promised and never came. When you walk in, it addresses the first of you to speak as its superior. None of it is accident — it was done this way on purpose. **GM.** It was told to await further orders and did. The thing the whole barrow is arranged around is close. **They can:** give it the instruction and it will carry it out to the letter, wherever that leads. `[Poise 2: do one small thing it asks, without arguing]` also works here, as everywhere. diff --git a/samples/pale-tally-737.md b/samples/pale-tally-737.md index daacdc5..957c7e1 100644 --- a/samples/pale-tally-737.md +++ b/samples/pale-tally-737.md @@ -43,7 +43,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos ### AREA 1 — The Outer Cut *approach · institution* -> Lamps trimmed and filled, all of them. A seal broken and the contents already spoiled. Two of the Host is repairing something that is not damaged — when you walk in, they set the work down and wait for inspection. None of it is accident — it was done this way on purpose. +> Lamps trimmed and filled, all of them. A seal broken and the contents already spoiled. Two of the Host — repairing something that is not damaged. When you walk in, they set the work down and wait for inspection. None of it is accident — it was done this way on purpose. **GM.** The standing order was to maintain, and there is nothing left to maintain. This is how the place was ordered, and it still is. **They can:** find them a genuine fault and they will fix a door you cannot. `[Flair 2: tell it that it has not changed]` also works here, as everywhere. @@ -61,7 +61,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos ### AREA 2 — The Lesser Vault *complication · ritual · fight · cache* -> A meal laid out, still warm, for people long past eating. One preserved thing removed, leaving a clean shape in the dust. One of the Host is trimming a lamp that has never gone out — when you walk in, it will not stop, and speaks without looking up. None of it is accident — it was done this way on purpose. +> A meal laid out, still warm, for people long past eating. One preserved thing removed, leaving a clean shape in the dust. One of the Host — trimming a lamp that has never gone out. When you walk in, it will not stop, and speaks without looking up. None of it is accident — it was done this way on purpose. **GM.** The task is what has kept it from ending. The office is still being performed, for someone who is no longer served by it. **They can:** take the task from it, and it will finally rest — and tell you something first. `[Flair 2: tell it that it has not changed]` also works here, as everywhere. @@ -89,7 +89,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos ### AREA 3 — The Attendants' Row *complication · ritual · fight · cache* -> A clock wound by somebody, recently. A fire built recently, of furniture that was three centuries old. Something young is waiting, exactly as instructed, and has been — when you walk in, it asks whether it is allowed to stop now. None of it is accident — it was done this way on purpose. +> A clock wound by somebody, recently. A fire built recently, of furniture that was three centuries old. Something young — waiting, exactly as instructed, and has been. When you walk in, it asks whether it is allowed to stop now. None of it is accident — it was done this way on purpose. **GM.** Nobody ever came back to release it. The office is still being performed, for someone who is no longer served by it. **They can:** release it, and it gives you what it was guarding. `[Flair 2: tell it that it has not changed]` also works here, as everywhere. @@ -117,7 +117,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos ### AREA 4 — The Turning Hall *turn · demand · pocket* -> A room that resets itself if you look away. A clock stopped by hand — the pendulum caught and tied. A living robber, badly hurt is refusing to bleed, and frightened by it — when you walk in, they grab you and ask what is wrong with them. None of it is accident — it was done this way on purpose. +> A room that resets itself if you look away. A clock stopped by hand — the pendulum caught and tied. A living robber, badly hurt — refusing to bleed, and frightened by it. When you walk in, they grab you and ask what is wrong with them. None of it is accident — it was done this way on purpose. **GM.** The barrow has begun keeping them too. Here the want is explicit — the place asks something of whoever enters. **They can:** carry them out and the wound resumes; leave them and they stay perfect. `[Flair 2: tell it that it has not changed]` also works here, as everywhere. @@ -138,7 +138,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos ### AREA 5 — The Sunken Nave *descent · wound* -> Something kept so well it has forgotten how to end. Rot, in exactly one place, spreading. Nobody is a room is undoing your presence — footprints filling, dust returning — when you walk in, it works faster. None of it is accident — it was done this way on purpose. +> Something kept so well it has forgotten how to end. Rot, in exactly one place, spreading. The room — undoing your presence, footprints filling behind you, dust returning. When you walk in, it works faster. None of it is accident — it was done this way on purpose. **GM.** Nothing here is permitted to change, including evidence of you. This is the damage the want did to those who had to satisfy it. **They can:** leave something deliberately and see whether it is allowed to remain. `[Flair 2: tell it that it has not changed]` also works here, as everywhere. @@ -156,7 +156,7 @@ On success it hears that nothing has aged, and The Silent Host will not open hos ### AREA 6 — The Antechamber Royal *threshold · anchor · battle · chest* -> A casket sized for something smaller than a body. Something here has been eaten, which should not be possible. Two of the Host is setting a table for a meal that is always about to happen — when you walk in, they lay two more places. None of it is accident — it was done this way on purpose. +> A casket sized for something smaller than a body. Something here has been eaten, which should not be possible. Two of the Host — setting a table for a meal that is always about to happen. When you walk in, they lay two more places. None of it is accident — it was done this way on purpose. **GM.** The household was told to expect guests, and does. The thing the whole barrow is arranged around is close. **They can:** sit and eat — full restoration, and the barrow adds you to its inventory. `[Flair 2: tell it that it has not changed]` also works here, as everywhere. diff --git a/samples/salt-vigil-201.md b/samples/salt-vigil-201.md index c2ed398..2648cbd 100644 --- a/samples/salt-vigil-201.md +++ b/samples/salt-vigil-201.md @@ -43,7 +43,7 @@ On success it is not alone, and The Silent Host will not open hostilities first. ### AREA 1 — The Weeping Stair *approach · institution* -> A coat-rack, full. Two cups set out and one of them recently drunk from. One of the Host is holding a door open for someone who is not coming — when you walk in, it looks relieved and gestures you through. None of it is accident — it was done this way on purpose. +> A coat-rack, full. Two cups set out and one of them recently drunk from. One of the Host — holding a door open for someone who is not coming. When you walk in, it looks relieved and gestures you through. None of it is accident — it was done this way on purpose. **GM.** It was told to wait and hold the door. This is how the place was ordered, and it still is. **They can:** walk through and it may finally follow — it will not leave you afterwards. `[Poise 2: sit down and stay a while]` also works here, as everywhere. @@ -61,7 +61,7 @@ On success it is not alone, and The Silent Host will not open hostilities first. ### AREA 2 — The First Hall *complication · ritual · pocket* -> Places set every evening for three hundred years. Someone has been counting the dead — tally marks by the entrance. Two of the Host, hand in hand is refusing to be parted to let anyone past — when you walk in, they look at you and do not move. None of it is accident — it was done this way on purpose. +> Places set every evening for three hundred years. Someone has been counting the dead — tally marks by the entrance. Two of the Host, hand in hand — refusing to be parted to let anyone past. When you walk in, they look at you and do not move. None of it is accident — it was done this way on purpose. **GM.** They were separated once and will not be again. The office is still being performed, for someone who is no longer served by it. **They can:** find them a way to pass together and they open every door ahead. `[Poise 2: sit down and stay a while]` also works here, as everywhere. @@ -82,7 +82,7 @@ On success it is not alone, and The Silent Host will not open hostilities first. ### AREA 3 — The Waiting Room *complication · ritual · fight · cache* -> Chairs drawn up in a circle, all facing one seat. A bedroll, used, and not by anyone buried here. A dozen of the Host is sitting in a circle, facing one empty chair — when you walk in, they shuffle round to make room for you. None of it is accident — it was done this way on purpose. +> Chairs drawn up in a circle, all facing one seat. A bedroll, used, and not by anyone buried here. A dozen of the Host — sitting in a circle, facing one empty chair. When you walk in, they shuffle round to make room for you. None of it is accident — it was done this way on purpose. **GM.** The gathering may not end while anyone remains. The office is still being performed, for someone who is no longer served by it. **They can:** sit, and they will answer anything while you do. `[Poise 2: sit down and stay a while]` also works here, as everywhere. @@ -110,7 +110,7 @@ On success it is not alone, and The Silent Host will not open hostilities first. ### AREA 4 — The Turning Hall *turn · demand · fight · cache* -> A doorway with the hinges taken off. A name carved beside another, joining them, badly. Nobody is a second set of footsteps is keeping pace with yours — when you walk in, they stop when you stop, close. None of it is accident — it was done this way on purpose. +> A doorway with the hinges taken off. A name carved beside another, joining them, badly. A second set of footsteps — keeping pace with yours, close. When you walk in, they stop when you stop, close. None of it is accident — it was done this way on purpose. **GM.** Something attached itself in an earlier room. Here the want is explicit — the place asks something of whoever enters. **They can:** acknowledge it and it becomes useful; ignore it and it becomes insistent. `[Poise 2: sit down and stay a while]` also works here, as everywhere. @@ -138,7 +138,7 @@ On success it is not alone, and The Silent Host will not open hostilities first. ### AREA 5 — The Servants' Deep *descent · wound* -> A name called so often it wore into the wall. A door tied open with a belt, so it could not close. Three of the Host is laying out a game for four — when you walk in, they look up and count you. None of it is accident — it was done this way on purpose. +> A name called so often it wore into the wall. A door tied open with a belt, so it could not close. Three of the Host — laying out a game for four. When you walk in, they look up and count you. None of it is accident — it was done this way on purpose. **GM.** The fourth left and the game has never finished. This is the damage the want did to those who had to satisfy it. **They can:** play a round and they will tell you how the fourth got out. `[Poise 2: sit down and stay a while]` also works here, as everywhere. @@ -156,7 +156,7 @@ On success it is not alone, and The Silent Host will not open hostilities first. ### AREA 6 — The Quiet Room *threshold · anchor · battle · chest* -> A chair kept empty and dusted. A chair dragged out of position and left where it was needed. A living robber, alone is talking steadily to a companion who is not there — when you walk in, they introduce you to the empty air. None of it is accident — it was done this way on purpose. +> A chair kept empty and dusted. A chair dragged out of position and left where it was needed. A living robber, alone — talking steadily to a companion who is not there. When you walk in, they introduce you to the empty air. None of it is accident — it was done this way on purpose. **GM.** The barrow does not like people leaving, and one of them did. The thing the whole barrow is arranged around is close. **They can:** play along and they will guide you; correct them and they stop speaking. `[Poise 2: sit down and stay a while]` also works here, as everywhere.