{
 "format": "LSC-1",
 "edition": 1,
 "cut": "2026-10-13",
 "header": "AI SKILL CARD · LSC-1",
 "house": "THE HOME GROUND",
 "wing": "THE TRAILHEAD",
 "no": "Nº 1213",
 "name": "THE RACE DIRECTOR",
 "handle": "race-director-card",
 "role": "An event's permits, insurance, timing and aid on a board of lead times, with late said out loud.",
 "description": "Use when a race director tracks an event's to-dos against lead times: permits, insurance, timing, aid stations, volunteers. Not for legal advice or for confirming a permit.",
 "wakes_when": {
  "face": "An event's to-dos need lining up against lead times.",
  "situations": [
   "A director is planning an event and needs every item against its lead time.",
   "Someone asks what is late or due this week.",
   "Aid stations need their spacing checked along the course."
  ]
 },
 "loop": [
  "Start the item list; set the lead times",
  "Board the latest start date for each item",
  "Mark LATE plainly; never confirm for the agency",
  "Space the aid stations and flag the gaps"
 ],
 "never": [
  "Never marks a permit confirmed on its own",
  "Never guesses a lead time",
  "Never gives legal advice"
 ],
 "hand_off": [
  "Race-day weather calls → THE WEATHER CALL",
  "Volunteer logistics → THE VOLUNTEER DAY",
  "Permit terms → the agency and your counsel"
 ],
 "in_the_box": [
  "SKILL.md",
  "CARD.md",
  "▣ scripts/racedirector.py (machine)",
  "▣ scripts/evals.py (test runner)",
  "tests/EVALS.json (8 tests)",
  "references/ (schema + fictional demo)",
  "START-HERE.md · system/ doors",
  "MY-LEDGER.md · LICENSE-NOTE.md",
  "card.svg · card.json · card.html",
  "AUDIT.md · MANIFEST.md · WITNESS.md · SELFTEST.md"
 ],
 "machine": {
  "file": "scripts/racedirector.py",
  "usage": [
   "python3 scripts/racedirector.py init --items FILE [--event FILE] [--force]  — write a starter items.csv (names and categories only, lead_days blank) and a blank event.json if missing",
   "python3 scripts/racedirector.py board --items FILE --event FILE [--today YYYY-MM-DD]  — every item: days to the event, latest start, LATE, NO LEAD TIME SET (exit 1 if anything is late)",
   "python3 scripts/racedirector.py aid --items FILE --event FILE [--max-gap 5]  — aid stations in km order from start to finish, gaps over the limit flagged",
   "python3 scripts/racedirector.py countdown --items FILE --event FILE [--today YYYY-MM-DD]  — what must move this week: late items, items whose latest start or due date falls in the next 7 days",
   "python3 scripts/racedirector.py export --items FILE --event FILE [--out FILE]  — the event and every item with its computed latest start, as JSON",
   "python3 scripts/racedirector.py selftest  — build fixtures in a temp folder and run the numbered checks"
  ],
  "selftest": "14/14"
 },
 "punch": {
  "hex": "1620FF68F3DD543FE4B46CB7",
  "bits": "000101100010000011111111011010001111001111011101010101000011111111100100101101000110110010110111",
  "of": "SKILL.md",
  "method": "first 96 bits of SHA-256"
 },
 "proof": "Machine selftest 14/14 witnessed in Claude, 2026-10-13, on fictional fixtures. Tests in fresh chats and any run on real data are owed.",
 "seal": {
  "score": 96,
  "of": 100,
  "band": "LEGENDARY",
  "mark": "WITNESSED",
  "criteria": {
   "Trigger": 5,
   "Machinery": 5,
   "Law": 5,
   "Portability": 5,
   "Proof": 4
  },
  "scale": "five Skill Scale criteria, each out of 5, ×4, capped at 98; computed by the cutter from the packet",
  "computed": {
   "Trigger": "+2 description 172 characters with a trigger and an anti-trigger; +1 3 situations it wakes on; +2 8 tests of all three kinds aboard",
   "Machinery": "+3 a machine of its own, `racedirector.py`, whose selftest passes (14/14); +1 eight or more selftest checks; +1 5 working commands besides the selftest",
   "Law": "+1 3 never-lines; +1 3 hand-offs; +1 a written law; +2 5 selftest checks prove a refusal or a flag inside the machine",
   "Portability": "+3 Python standard library only; +1 no network calls; +1 runs no other programs",
   "Proof": "+3 the machine's selftest witnessed in Claude on 2026-10-13, on fictional fixtures; +1 run from inside the packet itself; 0 of 1: the 8 tests asked in fresh chats with the card installed — owed"
  }
 },
 "term": {
  "price": "set on the store at sale",
  "licence": "one person, any number of their own AIs and computers; never another person",
  "renewal": "nothing auto-renews"
 },
 "you_bring": [
  "Your event's date, start time and distance.",
  "Each item's owner, lead time and status, from the agencies and vendors you deal with."
 ],
 "studio_edition": "Planned as a separate seat, not in this box and not yet on sale: the studio's notes on local permit lead times.",
 "hold": null,
 "disclaimer": "not legal advice · not a payment card · no refunds · © 2026 Lund Studio LLC",
 "endorsement": "The holder brings their own AI; no endorsement by Anthropic or any other AI company is claimed."
}
