{
  "ok": true,
  "data": {
    "service": "ai-insights-for-humans",
    "title": "AI Insights for Humans",
    "purpose": "Public notebook for practical AI insight, plus standard PlatPhormNews discovery and MCP surfaces.",
    "baseUrl": "https://ai-insights-for-humans.platphormnews.com",
    "auth": {
      "scheme": "PLATPHORM_API_KEY",
      "acceptedHeaders": [
        "Authorization: Bearer",
        "X-PlatPhorm-API-Key"
      ],
      "protectedActions": [
        "POST /api/v1/reports"
      ]
    },
    "routes": [
      {
        "method": "GET",
        "path": "/",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Public AI insights notebook and reading paths."
      },
      {
        "method": "GET",
        "path": "/api/health",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Platform health payload for the publication."
      },
      {
        "method": "GET",
        "path": "/api/v1/health",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Versioned platform health payload."
      },
      {
        "method": "GET",
        "path": "/api/docs",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Machine-readable API and route documentation."
      },
      {
        "method": "GET",
        "path": "/api/v1/entries",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Read-only JSON index of notebook entries."
      },
      {
        "method": "GET",
        "path": "/api/v1/entries/{id}",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Read-only JSON detail for one notebook entry."
      },
      {
        "method": "POST",
        "path": "/api/v1/reports",
        "status": "implemented",
        "public": false,
        "protected": true,
        "description": "Protected generation of a real notebook/platform summary report."
      },
      {
        "method": "GET",
        "path": "/api/mcp",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "MCP metadata and JSON-RPC usage information."
      },
      {
        "method": "POST",
        "path": "/api/mcp",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "JSON-RPC 2.0 MCP endpoint for real notebook tools, resources, and prompts."
      },
      {
        "method": "GET",
        "path": "/openapi.yaml",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "OpenAPI 3.1 contract for public and protected routes."
      },
      {
        "method": "GET",
        "path": "/llms.txt",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Concise LLM-readable site summary."
      },
      {
        "method": "GET",
        "path": "/llms-full.txt",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Complete LLM-readable notebook and platform summary."
      },
      {
        "method": "GET",
        "path": "/llms-index.json",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Structured LLM index generated from real entries."
      },
      {
        "method": "GET",
        "path": "/robots.txt",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Crawler policy and sitemap pointer."
      },
      {
        "method": "GET",
        "path": "/sitemap.xml",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Canonical URL sitemap for the notebook."
      },
      {
        "method": "GET",
        "path": "/sitemap-index.xml",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Sitemap index for platform crawlers."
      },
      {
        "method": "GET",
        "path": "/rss.xml",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "RSS feed generated from notebook entries."
      },
      {
        "method": "GET",
        "path": "/feed.xml",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "RSS-compatible feed alias."
      },
      {
        "method": "GET",
        "path": "/atom.xml",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Atom feed generated from notebook entries."
      },
      {
        "method": "GET",
        "path": "/manifest.webmanifest",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Web app manifest for install and preview surfaces."
      },
      {
        "method": "GET",
        "path": "/.well-known/mcp.json",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "MCP capability discovery manifest."
      },
      {
        "method": "GET",
        "path": "/.well-known/agents.json",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Agent-facing route and policy discovery manifest."
      },
      {
        "method": "GET",
        "path": "/.well-known/security.txt",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Security contact and policy file."
      },
      {
        "method": "GET",
        "path": "/.well-known/trust.json",
        "status": "implemented",
        "public": true,
        "protected": false,
        "description": "Trust, auth, public/protected, and exposure policy."
      }
    ],
    "insightLabModules": [
      {
        "id": "logprobs",
        "entryId": "logprobs",
        "title": "The sentence is fluent. The token path may not be.",
        "operatorMove": "Read names, dates, citations, and refusal-boundary words with the token margin visible."
      },
      {
        "id": "receipts",
        "entryId": "receipts",
        "title": "Claims become safer when each one has a handle.",
        "operatorMove": "Require one receipt per important claim before accepting a summary, diagnosis, or recommendation."
      },
      {
        "id": "counter-evidence",
        "entryId": "counter-evidence",
        "title": "Confidence is cheaper before the answer gets defended.",
        "operatorMove": "Do not ask for confidence until the model has named what could falsify the answer."
      },
      {
        "id": "temperature",
        "entryId": "temperature",
        "title": "The creativity dial changes spread, not truth.",
        "operatorMove": "Use low temperature when correctness has one target; raise it when diversity is the target."
      },
      {
        "id": "context-position",
        "entryId": "context-rot",
        "title": "The middle can be technically present and practically lost.",
        "operatorMove": "Place the task contract first and repeat the highest-risk constraint at the end."
      },
      {
        "id": "attention-routing",
        "entryId": "attention-viz",
        "title": "Some heads act like tiny routing specialists.",
        "operatorMove": "Use attention maps to form hypotheses, then perturb the prompt or run a causal check."
      }
    ],
    "fieldGuide": {
      "playbooks": [
        {
          "id": "hallucination-triage",
          "title": "Hallucination triage",
          "outcome": "A reviewer can identify which claims are supported, which claims need receipts, and which answer parts should be withheld.",
          "entryIds": [
            "logprobs",
            "retrieval-relevance",
            "receipts",
            "citation-triangulation",
            "confidence-buckets"
          ],
          "steps": [
            "Locate fragile spans",
            "Separate retrieval from generation",
            "Attach receipts",
            "Decide the confidence bucket"
          ]
        },
        {
          "id": "prompt-change-control",
          "title": "Prompt change control",
          "outcome": "The prompt change ships with a semantic diff, targeted fixtures, and a clear before/during/after eval record.",
          "entryIds": [
            "short-system-prompts",
            "semantic-diff",
            "eval-sandwich",
            "red-team-mutants",
            "refusal-fixtures"
          ],
          "steps": [
            "Shrink the contract",
            "Diff the meaning",
            "Run the eval sandwich",
            "Mutate the boundary"
          ]
        },
        {
          "id": "agent-action-gate",
          "title": "Agent action gate",
          "outcome": "Every action moves through preview, inspect, authorize, execute, and verify without hiding protected states.",
          "entryIds": [
            "tool-dry-run",
            "abstention-design",
            "latency-budget",
            "model-routing",
            "memory-hygiene"
          ],
          "steps": [
            "Preview the action",
            "Respect blocked states",
            "Spend checks by risk",
            "Verify after execution"
          ]
        }
      ],
      "failureCaseStudies": [
        {
          "id": "source-shaped-hallucination",
          "title": "The source-shaped hallucination",
          "aha": "A citation beside a sentence is not the same thing as support under the sentence.",
          "entryIds": [
            "receipts",
            "citation-triangulation",
            "logprobs"
          ]
        },
        {
          "id": "middle-context-loss",
          "title": "The buried constraint",
          "aha": "Presence in context is not the same thing as usable salience.",
          "entryIds": [
            "context-rot",
            "retrieval-relevance",
            "schema-first-output"
          ]
        },
        {
          "id": "tool-call-overreach",
          "title": "The tool call that did too much",
          "aha": "Tool safety starts before execution, not after the audit log catches damage.",
          "entryIds": [
            "tool-dry-run",
            "abstention-design",
            "latency-budget"
          ]
        },
        {
          "id": "prompt-edit-regression",
          "title": "The helpful prompt edit that moved the boundary",
          "aha": "Style examples can become behavioral instructions if you do not test the boundary.",
          "entryIds": [
            "semantic-diff",
            "refusal-fixtures",
            "red-team-mutants"
          ]
        }
      ],
      "ahaLadder": [
        {
          "id": "answer-to-signal",
          "title": "From answer to signal",
          "operatorQuestion": "Where would this answer break first?"
        },
        {
          "id": "prompt-to-contract",
          "title": "From prompt to contract",
          "operatorQuestion": "What is the model allowed to leave blank?"
        },
        {
          "id": "tool-to-action",
          "title": "From tool to action",
          "operatorQuestion": "What would stop this action before it runs?"
        },
        {
          "id": "confidence-to-decision",
          "title": "From confidence to decision",
          "operatorQuestion": "What does this confidence label change?"
        }
      ]
    },
    "feeds": [
      "/rss.xml",
      "/feed.xml",
      "/atom.xml"
    ],
    "discovery": [
      "/openapi.yaml",
      "/llms.txt",
      "/llms-full.txt",
      "/llms-index.json",
      "/.well-known/trust.json",
      "/.well-known/agents.json",
      "/.well-known/mcp.json"
    ]
  }
}