The Guild
The running example every page in these docs shares — five guild halls, one quest board, and forty-four contracts.
Every example on this site is about the same thing.
Five guild halls take contracts from one board. The board says what needs doing, where, how bad it is and what it pays; the roster says who can be sent. That is the whole subject matter, and once you have read this page you never have to read it again — the table on the data-table page, the chart on the analytics page and the nodes in the graph showcase are all this.
Why bother
Before this, the examples each invented their own subject: a select offered "My Dataset", a chart
plotted requests against latency (ms), a table listed pipelines and a graph held RDF triples.
Every one was reasonable alone. Together they made the reader re-learn the domain on every page,
and they never let two components be seen agreeing about anything — which is most of what a design
system has to prove.
The halls
A hall is this world's tenant, and the reason the world is a guild rather than a bakery: a hall has colours, and colours are the thing this library themes.
heraldry is not decoration. The two hexes are a brand and a neutral, which is where a theme author starts — so "the Order of Salt's colours" and "that tenant's theme" are the same sentence. Switching halls is how the white-label story gets
told, with no fixture that exists only to demonstrate theming.
| Hall | Seat | Standing | Heraldry |
|---|---|---|---|
| The Amber HallWe were paid to be here | Thornmarch | #c97a1e#6f6152 | |
| The Order of SaltNothing keeps forever | Saltmere | #1c7f92#586a70 | |
| The NineCount again | Coldiron | #5a4bc8#616188 | |
| Ash & CompanyBring it back cold | Ashfall Reach | #b03a35#6e6764 | |
| The Lanternwood CompactSomeone has to walk it | Duskfen | #3f7f4e#5d6a5c |
The work
A contract passes through five states, in order. Two of them are terminal, which is what lets an example show a row action that is legal on some rows and not others.
| State | On the board | Contracts |
|---|---|---|
| Posted to the board. Anyone chartered may claim it. | 16 | |
| A party has signed, and has not left yet. | 2 | |
| The party is out. No word is expected before the due date. | 3 | |
| Delivered, verified by an archivist, and paid. | 17 | |
| Abandoned, expired, or the party did not come back. | 6 |
Difficulty is a grade from 1 to 5, named as well as numbered — a Rating wants the number and
a tooltip wants the word. Reward tracks grade, then travel, so a reward column that sorts wrong is
visibly wrong:
| Grade | Name | What it means | Median reward |
|---|---|---|---|
| 1 | Errand | A long walk with a bad smell at the end | 6 gold |
| 2 | Nuisance | One thing, and it is smaller than you | 16 gold |
| 3 | Contract | The ordinary work the halls were chartered for | 38 gold |
| 4 | Hazard | Bring a cantor. Bring two. | 86 gold |
| 5 | Writ | Requires a hall's seal and a written heir | 190 gold |
The people
Thirty-five members across the five halls. Six roles, each with a duty a rule can actually require — which is why the rule language can say a party this size must carry a cantor and mean something.
| Role | Duty | On the roster |
|---|---|---|
| Warden | Holds the line and signs for the party | 7 |
| Scout | Walks it first, alone, and comes back | 7 |
| Cantor | Keeps the wards lit and the dead quiet | 5 |
| Sapper | Opens doors that were not doors | 6 |
| Alchemist | Carries what must not be dropped | 5 |
| Archivist | Reads the contract before anyone signs it | 5 |
Availability is derived from the board, never authored beside it. The first version of this
world authored both and they disagreed within the hour: the generator staffed a member marked
missing onto a contract that had just been signed. Now being out is computed from who is on a
live contract, and only the narrative exceptions — resting, wounded, missing — are written down.
Both can be true
Dagfinn Roe is wounded and afield, on a grade-5 contract that is six days overdue with a party of two and no cantor. The condition wins the label, because that is the one a quartermaster needs to see. That contract is also the one the rule examples reject — a real violation rather than a hypothetical one.
| Member | Hall | Role | Rank | Availability | Settled |
|---|---|---|---|---|---|
RS Ravenna Sarkis@ravenna | Amber Hall | warden | gold | afieldon Q-1070 | 71 |
PM Piet Marrow@marrow | Amber Hall | sapper | silver | afieldon Q-1074 | 38 |
OB Oyelaran Bell@bell | Amber Hall | cantor | silver | afieldon Q-1070 | 44 |
IV Inés Vault@vault | Amber Hall | archivist | iron | resting | 19 |
TQ Tomas Quill@quill | Amber Hall | scout | iron | ready | 23 |
HV Hesper Vane@hesper | Amber Hall | alchemist | silver | ready | 40 |
BT Bram Tallow@bram | Amber Hall | warden | iron | ready | 22 |
HG Halla Grieve@grieve | Salt | warden | adamant | afieldon Q-1056 | 118 |
SO Sabin Okonkwo@sabin | Salt | alchemist | gold | ready | 66 |
MC Mirén Costa@miren | Salt | scout | silver | afieldon Q-1070 | 41 |
OL Otto Lindqvist@otto | Salt | sapper | copper | wounded | 6 |
YH Yusra Halim@yusra | Salt | cantor | silver | afieldon Q-1056 | 47 |
NS Nerea Solano@nerea | Salt | archivist | silver | ready | 45 |
TC Tobias Creel@creel | Salt | scout | copper | ready | 11 |
CD Corvin Delacroix@corvin | The Nine | archivist | gold | afieldon Q-1074 | 58 |
BS Baruch Stiles@stiles | The Nine | warden | silver | ready | 35 |
LV Ludmila Vrána@vrana | The Nine | alchemist | adamant | afieldon Q-1056 | 103 |
FA Fenn Aldabra@fenn | The Nine | scout | copper | missingon Q-1078 | 4 |
KA Kesi Adeyemi@kesi | The Nine | cantor | iron | ready | 21 |
ID Ilse Danner@ilse | The Nine | sapper | silver | ready | 37 |
OV Ozren Vuk@ozren | The Nine | warden | iron | ready | 26 |
DR Dagfinn Roe@roe | Ash Co. | warden | gold | woundedon Q-1058 | 63 |
SM Solveig Marsh@solveig | Ash Co. | sapper | silver | afieldon Q-1058 | 39 |
RF Rui Ferreiro@rui | Ash Co. | alchemist | iron | ready | 17 |
NK Nadia Kestrel@kestrel | Ash Co. | scout | silver | ready | 43 |
EC Emrys Coldwell@emrys | Ash Co. | archivist | copper | resting | 8 |
PL Perpetua Lund@perpetua | Ash Co. | cantor | silver | ready | 42 |
FA Faisal Amari@faisal | Ash Co. | sapper | iron | afieldon Q-1056 | 20 |
WH Wren Halloway@wren | Lanternwood | scout | adamant | ready | 96 |
AT Ansel Thibault@ansel | Lanternwood | cantor | gold | afieldon Q-1078 | 61 |
BO Beatrix Odemba@beatrix | Lanternwood | warden | iron | afieldon Q-1078 | 24 |
SA Silas Aughton@silas | Lanternwood | sapper | copper | resting | 9 |
DM Doro Mikkelsen@doro | Lanternwood | alchemist | iron | ready | 18 |
ÁR Ágata Reyes@agata | Lanternwood | archivist | silver | ready | 36 |
CL Cuthbert Lyle@lyle | Lanternwood | scout | copper | afieldon Q-1056 | 7 |
The beasts
Eight, which is not an arbitrary number: eight is how many categorical slots a theme publishes, so a chart coloured by beast is the one place in these docs where the data's cardinality and the scheme's capacity are the same number on purpose.
| Beast | Where it turns up | Contracts | Sightings |
|---|---|---|---|
| Wyrm | Under granaries, following the warmth | 2 | 15 |
| Basilisk | Quarries and cut stone | 2 | 10 |
| Grimalkin | Roofs, and only at the turn of the season | 3 | 15 |
| Bog-hound | Wet ground, in threes | 3 | 18 |
| Harpy | Cliffs above a road | 2 | 10 |
| Revenant | Where a ward was allowed to go out | 7 | 56 |
| Mimic | Anywhere with a door and a lock | 4 | 12 |
| Stoneback | River fords, mistaken for the ford | 2 | 11 |
The archive
The board is what is happening. The archive is what has happened — every contract the halls have closed, going back about eight years.
It exists because of the graph. A network view is only worth a WebGL canvas when things share: the same member turns up on contract after contract, the same beast in region after region, so lassoing a cluster pulls in work you did not know was related. Forty-four contracts cannot do that.
But it is history rather than padding, and this is the part worth knowing if you ever edit the world. Each member's settled count on the roster above used to be a number with no cause. Parties in the archive are drawn against that count as a quota, until the quota is spent — so the archive is the history those numbers were counting, and a test fails if the two ever stop agreeing.
| The archive holds | Count |
|---|---|
| Closed contracts | 536 |
| Field reports filed against them | 938 |
| Nodes, once members, beasts, regions and tags join them | 1543 |
| …of which Halla Grieve closed | 118 |
| …of which Ludmila Vrána closed | 103 |
| …of which Wren Halloway closed | 96 |
The board
Forty-four contracts. Five pages at ten a page, so pagination is doing something and the last page is not a stub.
The derived half — ids, rewards, dates, parties — comes from one seeded stream, so this is the same
board in every browser and every build. Nothing in the world reads the clock: today is
14 September 1312, and a test fails if any fixture calls Date.now(). A reader who sees 1312
in a date field knows immediately that it is the example world talking and not their own data.
| Contract | Region | Grade | State | Party | Reward | Due |
|---|---|---|---|---|---|---|
| Something is eating the bell-ropesQ-1041 · Amber Hall | Thornmarch | 2 | — | 16 | 1312-10-15 | |
| A wyrm under the granaryQ-1042 · Amber Hall | Thornmarch | 3 | EC DR ID | 33 | 1312-05-29 | |
| Nine goats, one roadQ-1043 · Amber Hall | Thornmarch | 1 | TQ | 5 | 1312-07-24 | |
| The miller's second cellarQ-1044 · Amber Hall | Thornmarch | 2 | NS RF | 13 | 1312-05-18 | |
| The orchard is counting wrongQ-1045 · Amber Hall | Thornmarch | 2 | BO HV | 15 | 1312-06-17 | |
| Escort the assessor as far as the fordQ-1046 · Amber Hall | Thornmarch | 1 | OL | 6 | 1312-07-15 | |
| A stoneback has taken the lower fordQ-1047 · Amber Hall | Thornmarch | 3 | — | 30 | 1312-09-14 | |
| Audit the Ash & Co. expense ledgerQ-1048 · Amber Hall | Thornmarch | 1 | — | 6 | 1312-10-17 | |
| The tide brought back the wrong boatQ-1049 · Salt | Saltmere | 3 | — | 41 | 1312-09-29 | |
| Whatever is in the salt-house, it is not saltQ-1050 · Salt | Saltmere | 3 | — | 41 | 1312-10-10 | |
| The lighthouse keeper has stopped answeringQ-1051 · Salt | Saltmere | 4 | — | 78 | 1312-11-03 | |
| Three fords, one stonebackQ-1052 · Salt | Saltmere | 3 | LV SO DM | 38 | 1312-05-10 | |
| Harpies above the cliff roadQ-1053 · Salt | Saltmere | 4 | KA CL CD +1 | 75 | 1312-08-14 | |
| Survey the drowned quarter before the spring tideQ-1054 · Salt | Saltmere | 2 | CD HV | 18 | 1312-05-01 | |
| Do not let the assessor drink the sampleQ-1055 · Salt | Saltmere | 1 | ÁR | 7 | 1312-05-04 | |
| The quarry has opened onto somethingQ-1056 · Ash Co. | Ashfall Reach | 5 | HG LV YH +2 | 194 | 1312-09-08 | |
| Recover the seal from the burned wingQ-1057 · Ash Co. | Ashfall Reach | 3 | — | 42 | 1312-10-03 | |
| A basilisk, and it knows the routeQ-1058 · Ash Co. | Ashfall Reach | 5 | DR SM | 190 | 1312-09-08 | |
| Cold work at the smelterQ-1059 · Ash Co. | Ashfall Reach | 4 | ID OB ÁR +1 | 103 | 1312-07-25 | |
| The road above the cliffs, againQ-1060 · Ash Co. | Ashfall Reach | 3 | NK RF EC | 44 | 1312-06-24 | |
| Map what is left of the upper galleriesQ-1061 · Ash Co. | Ashfall Reach | 2 | — | 21 | 1312-09-26 | |
| Standing bounty: revenants, any regionQ-1062 · Ash Co. | Ashfall Reach | 4 | TQ IV NK +1 | 110 | 1312-05-13 | |
| The ward on the north gate went outQ-1063 · The Nine | Coldiron | 4 | RS CD ID +1 | 96 | 1312-06-26 | |
| Count the graves at Coldiron and reportQ-1064 · The Nine | Coldiron | 2 | — | 21 | 1312-09-22 | |
| Sealed orders. Do not open them.Q-1065 · The Nine | Coldiron | 3 | IV HG ID | 45 | 1312-05-03 | |
| The locksmith's own doorQ-1066 · The Nine | Coldiron | 3 | YH PL PM | 45 | 1312-06-29 | |
| Winter survey: the upper terracesQ-1067 · The Nine | Coldiron | 2 | — | 20 | 1312-10-24 | |
| A wyrm has found the forge-fluesQ-1068 · The Nine | Coldiron | 4 | — | 84 | 1312-10-08 | |
| Escort the charter to ThornmarchQ-1069 · The Nine | Coldiron | 2 | RF FA | 18 | 1312-08-10 | |
| The children say the well talksQ-1070 · Amber Hall | Greenhollow | 3 | RS OB MC | 32 | 1312-09-27 | |
| Mimics in the tithe-barnQ-1071 · Amber Hall | Greenhollow | 2 | — | 15 | 1312-10-26 | |
| Map the drowned laneQ-1072 · Lanternwood | Greenhollow | 2 | WH SA | 16 | 1312-05-11 | |
| Second attempt: the drowned laneQ-1073 · Lanternwood | Greenhollow | 3 | — | 36 | 1312-10-24 | |
| Bog-hounds took the herd dogQ-1074 · Amber Hall | Greenhollow | 2 | PM CD | 15 | 1312-09-30 | |
| The hedge has moved eleven feetQ-1075 · Lanternwood | Greenhollow | 1 | — | 6 | 1312-09-25 | |
| Grimalkin, but only at duskQ-1076 · Amber Hall | Greenhollow | 2 | OV CD | 14 | 1312-03-24 | |
| Walk the lantern-line before the frostQ-1077 · Lanternwood | Duskfen | 2 | PM ID | 16 | 1312-08-19 | |
| Something is relighting the lampsQ-1078 · Lanternwood | Duskfen | 4 | FA AT BO | 86 | 1312-09-12 | |
| Grimalkin on the chapel roofQ-1079 · Lanternwood | Duskfen | 2 | ID HV | 15 | 1312-05-29 | |
| Retrieve the surveyor's kit, and the surveyorQ-1080 · Lanternwood | Duskfen | 3 | LV TQ BS | 36 | 1312-03-25 | |
| The ferryman wants a warden presentQ-1081 · Lanternwood | Duskfen | 1 | — | 7 | 1312-10-24 | |
| Bog-hounds, in threes, along the causewayQ-1082 · Salt | Duskfen | 3 | OB RS NS | 36 | 1312-02-17 | |
| The lamp-oil accounts do not add upQ-1083 · Lanternwood | Duskfen | 1 | SM | 7 | 1312-06-09 | |
| Whatever walks the causeway, it is not a lampQ-1084 · Lanternwood | Duskfen | 5 | — | 172 | 1312-10-21 |