{
 "format": "LSC-1",
 "edition": 1,
 "cut": "2026-10-13",
 "header": "AI SKILL CARD · LSC-1",
 "house": "THE HOME GROUND",
 "wing": "THE MARKET ROW",
 "no": "Nº 1221",
 "name": "THE COMPS LEDGER",
 "handle": "comps-ledger-card",
 "role": "What things actually sold for: sold only, dated, counted, and never a guess below three.",
 "description": "Use when pricing a used or rare item from what similar items actually sold for, kept in your own ledger. Not for appraisals, asking-price lists or investment advice.",
 "wakes_when": {
  "face": "Someone prices an item from what similar ones sold for.",
  "situations": [
   "Someone is pricing a used bike or a rare item from past sales.",
   "A seller wants a model's price trend over time.",
   "Asking prices need keeping apart from real sales."
  ]
 },
 "loop": [
  "Log each sale with grade, price, fees, date",
  "Comp sold rows inside the age window",
  "Below three sales, say so: no median",
  "Show the trend; keep asking prices apart"
 ],
 "never": [
  "Never counts an asking price as a sale",
  "Never gives a median on fewer than three",
  "Never appraises"
 ],
 "hand_off": [
  "Condition grading → THE SIX ANGLES",
  "Provenance for the listing → THE PROVENANCE FILE",
  "Formal valuations → a certified appraiser"
 ],
 "in_the_box": [
  "SKILL.md",
  "CARD.md",
  "▣ scripts/comps.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/comps.py",
  "usage": [
   "python3 scripts/comps.py add --sales sales.csv --category C --make M --model M --grade A|B|C|D --price N --status sold|listed|withdrawn [--year Y] [--size S] [--fees N] [--venue V] [--sold-on YYYY-MM-DD] [--link URL]  — append one row (sold rows need --sold-on)",
   "python3 scripts/comps.py comp --sales sales.csv --make M --model M [--year Y] [--size S] [--grade G] [--today YYYY-MM-DD] [--max-age 365] [--min-n 3]  — sold rows only, inside max-age days: n, median, low, high, IQR, date range, median net of fees (365 and 3 are defaults; set your own)",
   "python3 scripts/comps.py trend --sales sales.csv --make M --model M [--min-n 3]  — median sold price by calendar quarter with n per quarter",
   "python3 scripts/comps.py listed --sales sales.csv [--make M] [--model M]  — listed rows apart, labelled asking, not sold",
   "python3 scripts/comps.py export --sales sales.csv [--json] [--out file]  — every row with whether it can enter a comp, as CSV (or JSON)",
   "python3 scripts/comps.py selftest  — builds fixtures in a temporary folder and runs the numbered checks"
  ],
  "selftest": "13/13"
 },
 "punch": {
  "hex": "C69CDF913827B85BBBFD5743",
  "bits": "110001101001110011011111100100010011100000100111101110000101101110111011111111010101011101000011",
  "of": "SKILL.md",
  "method": "first 96 bits of SHA-256"
 },
 "proof": "Machine selftest 13/13 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 165 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, `comps.py`, whose selftest passes (13/13); +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 4 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 own record of sales: make, model, year, size, grade, price, fees, venue, date."
 ],
 "studio_edition": "Planned as a separate seat, not in this box and not yet on sale: the studio's own comps ledger for the categories it trades.",
 "hold": null,
 "disclaimer": "not an appraisal or financial 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."
}
