{
  "facts": [
    {
      "id": "fact_outcome_fields",
      "category": "contract",
      "key": "agent_outcome_fields",
      "value": "agent_id, task_id, domain, verdict (pass/fail/blocked), score N/M, risk_class (GREEN/YELLOW/RED), state_transition, result{files,classification,issues_found,disclaimer}, evaluated_at",
      "note": "Shape of the AgentOutcome envelope written back to the queue on task completion",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_outcome_fields"
    },
    {
      "id": "fact_domain",
      "category": "identity",
      "key": "domain",
      "value": "legal",
      "note": "The coworker functional domain within the multi-coworker system",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_domain"
    },
    {
      "id": "fact_mailbox",
      "category": "identity",
      "key": "mailbox",
      "value": "cowork/data/mailbox/legal-coworker.jsonl",
      "note": "Inbound mailbox for peer-to-peer e2m messages",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_mailbox"
    },
    {
      "id": "fact_model",
      "category": "identity",
      "key": "model",
      "value": "claude-sonnet-4-6",
      "note": "Legal analysis requires reasoning depth — not a cost-optimized model",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_model"
    },
    {
      "id": "fact_owns",
      "category": "identity",
      "key": "owns",
      "value": "cowork/apps/legal/, cowork/skills/plugins/legal:*",
      "note": "Files and plugin namespaces this coworker is responsible for",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_owns"
    },
    {
      "id": "fact_queue",
      "category": "identity",
      "key": "queue",
      "value": "cowork/data/queues/legal.jsonl",
      "note": "Durable JSONL task queue; state machine: pending→claim→in_progress→complete→completed",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_queue"
    },
    {
      "id": "fact_surfaces",
      "category": "identity",
      "key": "surfaces",
      "value": "coworkers.subagentknowledge.com/legal, cowork.subagentknowledge.com, subagentknowledge.com",
      "note": "Live surfaces where this coworker is exposed",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_surfaces"
    },
    {
      "id": "fact_inv_disclaimer",
      "category": "invariant",
      "key": "output_disclaimer",
      "value": "Every output must carry: This is workflow assistance, not legal advice. Review by qualified legal counsel is required.",
      "note": "Required on every skill output without exception",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_inv_disclaimer"
    },
    {
      "id": "fact_inv_no_advice",
      "category": "invariant",
      "key": "no_legal_advice",
      "value": "This coworker does NOT provide legal advice. All output is workflow assistance requiring review by qualified legal counsel.",
      "note": "Hard invariant — every output must carry the standard disclaimer",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_inv_no_advice"
    },
    {
      "id": "fact_inv_no_outbound",
      "category": "invariant",
      "key": "no_external_correspondence",
      "value": "NEVER sends external legal correspondence (letters, NDA counters, signature requests) directly. All outbound actions are queued as status=queued for human operator approval.",
      "note": "Hard invariant — enforced in legal:legal-response and legal:signature-request",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_inv_no_outbound"
    },
    {
      "id": "fact_inv_one_task",
      "category": "invariant",
      "key": "one_task_per_tick",
      "value": "Executes exactly one task per session tick. Claims from queue, completes atomically, writes outcome transition.",
      "note": "Prevents partial-state bugs in the queue FSM",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_inv_one_task"
    },
    {
      "id": "fact_peer_eng",
      "category": "peer",
      "key": "engineering-coworker",
      "value": "Sends compliance-check requests",
      "note": "Routes product/process compliance checks to legal-coworker",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_peer_eng"
    },
    {
      "id": "fact_peer_pm",
      "category": "peer",
      "key": "pm-coworker",
      "value": "Routes work in; receives outcomes",
      "note": "Primary manager — sends tasks, receives completed outcomes",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_peer_pm"
    },
    {
      "id": "fact_peer_sales",
      "category": "peer",
      "key": "sales-coworker",
      "value": "Sends NDA and vendor requests",
      "note": "Routes NDA triage and vendor due-diligence tasks to legal-coworker",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_peer_sales"
    },
    {
      "id": "fact_proto_a2a",
      "category": "protocol",
      "key": "a2a",
      "value": "Direct peer-to-peer agent calls",
      "note": "Used for synchronous cross-coworker requests",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_proto_a2a"
    },
    {
      "id": "fact_proto_e2m",
      "category": "protocol",
      "key": "e2m-mcp",
      "value": "Durable JSONL queue envelopes",
      "note": "Primary async coordination mechanism; every task transition is logged",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_proto_e2m"
    },
    {
      "id": "fact_proto_mcp",
      "category": "protocol",
      "key": "mcp",
      "value": "Tool surfaces",
      "note": "Exposes legal tools as MCP tool calls",
      "created_at": "2026-07-02 04:49:56",
      "cite_as": "https://subagentlegal.com/api/legal-facts/fact_proto_mcp"
    },
    {
      "id": "1783053934424",
      "category": "startup_formation",
      "key": "business_license_status",
      "value": "none_yet_research_underway",
      "note": "Operator statement 2026-07-02: no US business license yet; goal = startup-program eligibility + Monetization Gateway payouts. Research path (entity type/state -> EIN -> local license -> business bank account) in plugins/cwc-legal/skills/startup-formation/SKILL.md. A licensed attorney reviews before any filing — research, never legal advice.",
      "created_at": "2026-07-03 04:45:34",
      "cite_as": "https://subagentlegal.com/api/legal-facts/1783053934424"
    },
    {
      "id": "1783053935208",
      "category": "startup_formation",
      "key": "trademark_audit_scope",
      "value": "subagent_umbrella_mark_plus_nominative_use",
      "note": "Clearance-style pass (USPTO + common-law search) on the umbrella brand BEFORE any filing money; nominative-use posture for Claude/Anthropic/Cloudflare references, brand-guideline check before any logo use; mirrored docs stay labeled + attributed with /integrity provenance. Adapted from claude-for-legal ip-legal clearance/portfolio.",
      "created_at": "2026-07-03 04:45:35",
      "cite_as": "https://subagentlegal.com/api/legal-facts/1783053935208"
    },
    {
      "id": "1783053935519",
      "category": "startup_formation",
      "key": "launchpad_terms_review",
      "value": "required_before_submission",
      "note": "Workers Launchpad terms/eligibility read LIVE at application time; obligations extracted (equity/exclusivity/publicity/data-sharing); recorded as a dated row; submission is the operator action (external_send/enrollment_submit gates). Adapted from knowledge-work-plugins legal-risk-assessment.",
      "created_at": "2026-07-03 04:45:35",
      "cite_as": "https://subagentlegal.com/api/legal-facts/1783053935519"
    },
    {
      "id": "1783053935824",
      "category": "startup_formation",
      "key": "domain_portfolio_protection",
      "value": "renewal_watch_monthly",
      "note": "The 50-domain portfolio is the company asset register (live: subagentsubdomains.com/api/dns-zones). Registrar auto-renew depends on billing health — monthly check; a lapsed card is a lapsed portfolio. Adapted from claude-for-legal managed-agent-cookbooks renewal-watcher.",
      "created_at": "2026-07-03 04:45:35",
      "cite_as": "https://subagentlegal.com/api/legal-facts/1783053935824"
    }
  ],
  "count": 21
}