{
  "_ai_door": {
    "see": "https://miscsubjects.com/start",
    "note": "Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."
  },
  "task": {
    "task_id": "WT-0191",
    "kind": "work",
    "objective": "DECISION 4 (owner, final): unified object model v4 §12 choices",
    "detail": "Provider objects: directory rows, planner_visible=0, browse by object. Not a second table.\nsubject_links: replace per-table profile_id. One link table, one backfill.\nT1 row creation: eager only for providers that already have a connection. Lazy for T5 / long tail. No 100k-row dump.\nMerge auto-accept: never on a single email/phone. Auto-accept only with two independent provenances and high confidence. Otherwise a proposal stays a proposal.\noip_work / tasks: freeze + redirect to work_tasks. Do not import into a second task system.\nRate limits: enforce in runHttp (all http rows). Not the resolver. The resolver is not live.\nWT-0187 seam: work.run only. No second parser. No compiler inside the grammar.\nFirst T1 providers: Stripe + GitHub. Third after those two: PagerDuty or Plaid. Not Workday. Not exploded AWS.\n\nSource: owner message, 2026-09-11, verbatim below. Status: FINAL. Do not re-litigate. Implementation is NOT authorized by this row. If later told to build, the order is: (1) freeze v1 parse meanings, (2) typed JSON + account/device actually reaching dispatch, (3) credential from connection_id not only auth string, (4) v2 §17 projections, (5) v4 §4 additions, (6) flow predicates. Every step through scripts/ship.mjs; coding-law lease before the first code edit. Do not: rewrite the Tap & Go drop; put CLI in the drop; add OPENAI_* rows that skip the AI Gateway; invent misc git status; treat Code Mode as already shipped; run Appendix D again.",
    "state": "completed",
    "priority": 1,
    "revision": 5,
    "depends_on": [],
    "permitted_capabilities": [],
    "acceptance_tests": [
      {
        "type": "evidence_present",
        "id": "decision_written_to_spec",
        "field": "commit"
      },
      {
        "type": "evidence_present",
        "id": "decision_path",
        "field": "spec_path"
      }
    ],
    "required_evidence": [
      "commit",
      "spec_path"
    ],
    "parent_task": null,
    "supersedes": null,
    "failure": null,
    "failure_count": 0,
    "last_result": {
      "accepted": true,
      "tests_declared": 2,
      "tests_passed": 2,
      "tests_inherited_from": null,
      "results": [
        {
          "id": "decision_written_to_spec",
          "ok": true,
          "detail": "checked against required_evidence",
          "evidence_field": "commit"
        },
        {
          "id": "decision_path",
          "ok": true,
          "detail": "checked against required_evidence",
          "evidence_field": "spec_path"
        }
      ],
      "missing_evidence": []
    },
    "completed_at": "2026-09-11T14:19:53-07:00",
    "created_at": "2026-09-11T13:55:51-07:00",
    "updated_at": "2026-09-11T14:19:53-07:00",
    "audit": "/api/work/task/WT-0191/audit",
    "submit_to": "/api/work/task/WT-0191/submit"
  }
}