{
 "format": "LSC-1",
 "edition": 1,
 "cut": "2026-10-13",
 "header": "AI SKILL CARD · LSC-1",
 "house": "THE HOME GROUND",
 "wing": "THE TRAILHEAD",
 "no": "Nº 1218",
 "name": "THE WEATHER CALL",
 "handle": "weather-call-card",
 "role": "Race-day go, modify, delay or cancel against the director's own thresholds, with the call logged.",
 "description": "Use when an event director checks readings against their own weather thresholds and logs the call. Not a forecast and not a safety standard; the director decides.",
 "wakes_when": {
  "face": "Race-day readings meet the director's own thresholds.",
  "situations": [
   "A director has readings and needs them set against the event's thresholds.",
   "Lightning, heat, wind or air quality is near the event's lines.",
   "The decision needs logging with who made it and when."
  ]
 },
 "loop": [
  "Load the director's thresholds",
  "Take the latest readings and their sources",
  "Each measure: GO, MODIFY, DELAY or CANCEL",
  "Log the call with who decided and when"
 ],
 "never": [
  "Never sets a threshold for the director",
  "Never makes the call",
  "Never uses a stale reading as current"
 ],
 "hand_off": [
  "The forecast itself → the national weather service",
  "Medical response → the event's medical lead",
  "Event logistics → THE RACE DIRECTOR"
 ],
 "in_the_box": [
  "SKILL.md",
  "CARD.md",
  "▣ scripts/weathercall.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/weathercall.py",
  "usage": [
   "python3 scripts/weathercall.py call --thresholds thresholds.json --readings readings.csv --at YYYY-MM-DDTHH:MM [--max-age 30]  — each measure vs your threshold, the readings used and their sources; readings older than --max-age minutes (default 30, set your own) print STALE",
   "python3 scripts/weathercall.py log --decision GO|MODIFY|DELAY|CANCEL --by NAME --at YYYY-MM-DDTHH:MM [--note TEXT] [--decisions decisions.csv]  — append the director's decision; refused without --by",
   "python3 scripts/weathercall.py history [--decisions decisions.csv]  — every logged decision in time order",
   "python3 scripts/weathercall.py export --thresholds thresholds.json --readings readings.csv [--json] [--out file]  — every reading with its call against your thresholds, as CSV (or JSON)",
   "python3 scripts/weathercall.py selftest  — builds fixtures in a temporary folder and runs the numbered checks"
  ],
  "selftest": "17/17"
 },
 "punch": {
  "hex": "849DB42E16DA91B86A66730B",
  "bits": "100001001001110110110100001011100001011011011010100100011011100001101010011001100111001100001011",
  "of": "SKILL.md",
  "method": "first 96 bits of SHA-256"
 },
 "proof": "Machine selftest 17/17 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 162 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, `weathercall.py`, whose selftest passes (17/17); +1 eight or more selftest checks; +1 4 working commands besides the selftest",
   "Law": "+1 3 never-lines; +1 3 hand-offs; +1 a written law; +2 11 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 thresholds, set with your medical lead and governing body.",
  "Readings from the sources you trust, with times."
 ],
 "studio_edition": "Nothing of the studio's is needed; the data is yours.",
 "hold": null,
 "disclaimer": "not safety 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."
}
