{
  "_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-0182",
    "kind": "work",
    "objective": "Lane 7 of the connections layer: the counterparty layer. A contacts table joining a person to their identity on each channel (phone for iMessage/WhatsApp/Signal, Slack user id per workspace, email, X handle, Telegram id), seeded from existing PROFILE_*/CONTACT_* rows and the Mac Contacts, and one directory row REACH that takes {person, identity_kind, text} and resolves at run time to the live connection that can deliver as that identity, receipted on the ledger.",
    "detail": "Design context in bridge/client-bridge/HANDOFF.md. The connections table models the owner's side only; this lane models the other party so a flow step can read 'reach this person as owner' and never name a mechanism. Resolution order is the connection preference order (Lane 8) filtered by state=connected and by where the person is reachable. Public projection carries counts only, never identities.",
    "state": "superseded",
    "priority": 1,
    "revision": 2,
    "depends_on": [
      "WT-0176"
    ],
    "permitted_capabilities": [
      "CODE_LEASE_START",
      "CODE_LEASE_COMMIT",
      "DEPLOY_LEASE",
      "D1_QUERY",
      "DIR_PATCH",
      "LOCAL_EXEC",
      "KV_PUT_JSON",
      "KV_GET_JSON",
      "CAP_MINT",
      "CAP_EXPLAIN"
    ],
    "acceptance_tests": [
      {
        "id": "contacts_table",
        "type": "sql_count_at_least",
        "sql": "SELECT COUNT(*) FROM contacts",
        "min": 50
      },
      {
        "id": "identities",
        "type": "sql_count_at_least",
        "sql": "SELECT COUNT(*) FROM contact_identities",
        "min": 100
      },
      {
        "id": "channels",
        "type": "sql_count_at_least",
        "sql": "SELECT COUNT(DISTINCT channel) FROM contact_identities",
        "min": 3
      },
      {
        "id": "reach_row",
        "type": "contains",
        "url": "/api/directory/REACH",
        "needle": "identity_kind",
        "scope": "raw"
      },
      {
        "id": "reach_green",
        "type": "contains",
        "url": "/api/directory/REACH",
        "needle": "works",
        "scope": "raw"
      },
      {
        "id": "evidence",
        "type": "evidence_present",
        "field": "reach_as_owner_trace"
      }
    ],
    "required_evidence": [
      "reach_as_owner_trace",
      "resolution_explanation"
    ],
    "parent_task": null,
    "supersedes": null,
    "failure": null,
    "failure_count": 0,
    "last_result": null,
    "completed_at": null,
    "created_at": "2026-09-10T22:36:03-07:00",
    "updated_at": "2026-09-10T23:10:15-07:00",
    "audit": "/api/work/task/WT-0182/audit",
    "submit_to": "/api/work/task/WT-0182/submit"
  }
}