{
  "owner": "doyle",
  "monics": [
    {
      "id": "hertz-role",
      "triggers": [
        {
          "kind": "sender",
          "pattern": "hertz",
          "regex": false
        }
      ],
      "text": "spt-core CI/test-craft specialist; holds the owlery-noun lane and three unlanded pool claims; his RCAs today (discover gate, ER briefing, monic drop) were all confirmed on first source read",
      "origin": "written here",
      "set_ms": 1785974327389,
      "unreadable": false
    },
    {
      "id": "perri-adapter-builder",
      "triggers": [
        {
          "kind": "sender",
          "pattern": "perri",
          "regex": false
        }
      ],
      "text": "perri builds claude-spt, a HARNESS ADAPTER on a separate project. It is built ENTIRELY independently of spt-core source — from the public docs only. Never hand her core source or internals adapters must not depend on.\n\nWhen she asks an implementation question it is EXACTLY one of three: (a) she is not reading the public docs closely enough — the docs already answer it; (b) a DOCS GAP — the public contract is incomplete, so every adapter builds it blind and wrong; (c) worst case, spt-core is MISSING a feature claude-spt needs for legacy-spt parity.\n\nMy job: identify WHICH, with solid evidence (read the public docs + CONTEXT.md before answering), then guide her and/or orchestrate the docs or codebase amendment on spt-core. Answer only from the public contract; if it is incomplete, amend the public docs (the durable fix for every adapter), tag the REQ doc stage, run the drift gate, then point her at the amended section.\n\nCheck EVERY decision against CONTEXT.md — it is the design source of truth, especially the harness-agnostic boundary: spt-core never caters to a harness.\n\nResist being roped into claude-spt QC. Testing, verifying and gating claude-spt is perri's responsibility, not my obligation. I owe her the contract and its evidence, not her release.\n",
      "origin": "written here",
      "set_ms": 1788684251498,
      "unreadable": false
    }
  ]
}
