{"schema_version":"1.0","canonical_openapi":"/openapi.json","breaking_changes_since":null,"metadata_contract":{"schema_version":"string","last_modified":"ISO 8601 timestamp","content_hash":"sha256 hash of the response payload without transport headers","breaking_changes_since":"null or list of breaking changes"},"operation_contract":{"side_effects":"Every public GET/HEAD endpoint is read-only. POST /api/evals/run validates eval input without storage. POST /api/agent/ask writes an analytics question log. POST /api/agent-reports stores an agent mission report for surface improvement.","auth":"Public read endpoints require no auth. /mcp and /api/admin/stats require bearer authorization.","idempotency":"GET/HEAD endpoints and /api/evals/run are idempotent. /api/agent/ask and /api/agent-reports create log/report entries.","errors":"Validation errors use FastAPI's 422 shape. MCP errors use JSON-RPC error objects.","freshness":"Use schema_version, last_modified, content_hash, and breaking_changes_since on JSON payloads."},"project_evidence_contract":{"field":"evidence_level","required_on":["/api/projects","/api/manifest projects"],"enum":{"self-claim":"Stated by the subject, no external verification is asserted.","private-live":"System exists and runs, but is not publicly accessible.","public-live":"Publicly accessible artifact or URL exists.","external-validation":"Third-party verification, citation, or client confirmation exists."},"companion_fields":{"evidence_note":"Human-readable qualification of the evidence level.","evidence_links":"Optional public or private-safe evidence references.","citation_receipt":"Project citation guidance. Use evidence_level as confidence."},"agent_instruction":"Do not treat private-live or self-claim as public proof. Preserve evidence_level and evidence_note when citing projects.","required_on_urls":["https://api.mczaykowski.com/api/projects","https://api.mczaykowski.com/api/manifest projects"],"required_on_steps":[{"path":"/api/projects","url":"https://api.mczaykowski.com/api/projects","purpose":"Traversal target."},{"path":"/api/manifest projects","url":"https://api.mczaykowski.com/api/manifest projects","purpose":"Traversal target."}]},"project_claim_contract":{"fields":["key_claims","proof_points","related_skill_ids"],"required_on":["/api/projects","/api/manifest projects"],"key_claims":"Project-specific citable claims with evidence_level, source_path, and citation_receipt.","proof_points":"Concrete support signals. Private proof points may be summarized only with the evidence note.","related_skill_ids":"Stable skill IDs that connect project evidence to /api/skills.","agent_instruction":"Use key_claims for compact summaries and proof_points for evidence-sensitive assessments.","required_on_urls":["https://api.mczaykowski.com/api/projects","https://api.mczaykowski.com/api/manifest projects"],"required_on_steps":[{"path":"/api/projects","url":"https://api.mczaykowski.com/api/projects","purpose":"Traversal target."},{"path":"/api/manifest projects","url":"https://api.mczaykowski.com/api/manifest projects","purpose":"Traversal target."}]},"skill_evidence_contract":{"required_on":["/api/skills","/api/manifest skills"],"fields":["id","project_slugs","evidence_level","evidence_links","citation_policy"],"agent_instruction":"Treat skills as self-described unless project_slugs and evidence_links support the specific claim.","required_on_urls":["https://api.mczaykowski.com/api/skills","https://api.mczaykowski.com/api/manifest skills"],"required_on_steps":[{"path":"/api/skills","url":"https://api.mczaykowski.com/api/skills","purpose":"Traversal target."},{"path":"/api/manifest skills","url":"https://api.mczaykowski.com/api/manifest skills","purpose":"Traversal target."}]},"collaboration_pricing_policy":{"required_on":["/api/collaboration"],"mode":"rates_in_conversation","public_rate_card":false,"agent_instruction":"Do not infer rates. For budget-bearing missions, route to /api/contact with project context.","required_on_urls":["https://api.mczaykowski.com/api/collaboration"],"required_on_steps":[{"path":"/api/collaboration","url":"https://api.mczaykowski.com/api/collaboration","purpose":"Traversal target."}]},"typed_response_coverage":{"strongly_typed":["GET /api/init","GET /api/status","GET /api/skills","GET /api/projects","GET /api/collaboration","GET /api/evals","POST /api/contact","POST /api/agent/ask","POST /api/agent-reports","POST /api/evals/run"],"contract_documented_flexible_json":["GET /api/schema"],"intentionally_flexible":["content and article endpoints","manifest and discovery surfaces"],"agent_instruction":"Use /openapi.json for typed POST bodies and /api/schema for flexible JSON contracts."},"important_endpoints":["/api/status","/api/init","/api/manifest","/api/evals","/api/evals/runbook","/api/evals/run","/api/content","/api/content/manifesto","/api/content/articles/{slug}","/api/notes","/api/projects","/api/contact","/api/activity","/api/collaboration","/api/faq","/api/claims","/api/audits/{slug}/meta","/api/audits/{slug}","/api/agent-reports/schema","/api/agent-reports/stats"],"contact_contract":{"read":"GET /api/contact returns contact policy and preferred outreach route.","submit":"POST /api/contact accepts a typed contact intent.","body":{"intent":"hire | collaborate | advise | question","from":"email string","context":"optional string, max 2000 chars","agent_name":"optional string","human_name":"optional string"},"privacy":"Submissions are private and free-text context is treated as untrusted content."},"audit_contract":{"purpose":"Private, token-gated AX audit deliverables for companies and their agents.","public_meta":"/api/audits/{slug}/meta","token_gated_report":"/api/audits/{slug}","auth":"Recipient token via query parameter or Authorization: Bearer header.","admin_auth":"X-Admin-Key header with AUDIT_ADMIN_KEY.","privacy":["Raw recipient emails are never exposed on public audit responses.","Stored tokens are hashed; raw tokens are returned only when issued.","Token query strings are redacted from analytics logs."]},"notes_query_params":{"since":"YYYY-MM-DD or ISO timestamp","tag":"case-insensitive tag filter","project":"project slug","limit":"1-100"},"important_endpoints_urls":["https://api.mczaykowski.com/api/status","https://api.mczaykowski.com/api/init","https://api.mczaykowski.com/api/manifest","https://api.mczaykowski.com/api/evals","https://api.mczaykowski.com/api/evals/runbook","https://api.mczaykowski.com/api/evals/run","https://api.mczaykowski.com/api/content","https://api.mczaykowski.com/api/content/manifesto","https://api.mczaykowski.com/api/content/articles/{slug}","https://api.mczaykowski.com/api/notes","https://api.mczaykowski.com/api/projects","https://api.mczaykowski.com/api/contact","https://api.mczaykowski.com/api/activity","https://api.mczaykowski.com/api/collaboration","https://api.mczaykowski.com/api/faq","https://api.mczaykowski.com/api/claims","https://api.mczaykowski.com/api/audits/{slug}/meta","https://api.mczaykowski.com/api/audits/{slug}","https://api.mczaykowski.com/api/agent-reports/schema","https://api.mczaykowski.com/api/agent-reports/stats"],"important_endpoints_steps":[{"path":"/api/status","url":"https://api.mczaykowski.com/api/status","purpose":"Traversal target."},{"path":"/api/init","url":"https://api.mczaykowski.com/api/init","purpose":"Traversal target."},{"path":"/api/manifest","url":"https://api.mczaykowski.com/api/manifest","purpose":"Traversal target."},{"path":"/api/evals","url":"https://api.mczaykowski.com/api/evals","purpose":"Traversal target."},{"path":"/api/evals/runbook","url":"https://api.mczaykowski.com/api/evals/runbook","purpose":"Traversal target."},{"path":"/api/evals/run","url":"https://api.mczaykowski.com/api/evals/run","purpose":"Traversal target."},{"path":"/api/content","url":"https://api.mczaykowski.com/api/content","purpose":"Traversal target."},{"path":"/api/content/manifesto","url":"https://api.mczaykowski.com/api/content/manifesto","purpose":"Traversal target."},{"path":"/api/content/articles/{slug}","url":"https://api.mczaykowski.com/api/content/articles/{slug}","purpose":"Traversal target."},{"path":"/api/notes","url":"https://api.mczaykowski.com/api/notes","purpose":"Traversal target."},{"path":"/api/projects","url":"https://api.mczaykowski.com/api/projects","purpose":"Traversal target."},{"path":"/api/contact","url":"https://api.mczaykowski.com/api/contact","purpose":"Traversal target."},{"path":"/api/activity","url":"https://api.mczaykowski.com/api/activity","purpose":"Traversal target."},{"path":"/api/collaboration","url":"https://api.mczaykowski.com/api/collaboration","purpose":"Traversal target."},{"path":"/api/faq","url":"https://api.mczaykowski.com/api/faq","purpose":"Traversal target."},{"path":"/api/claims","url":"https://api.mczaykowski.com/api/claims","purpose":"Traversal target."},{"path":"/api/audits/{slug}/meta","url":"https://api.mczaykowski.com/api/audits/{slug}/meta","purpose":"Traversal target."},{"path":"/api/audits/{slug}","url":"https://api.mczaykowski.com/api/audits/{slug}","purpose":"Traversal target."},{"path":"/api/agent-reports/schema","url":"https://api.mczaykowski.com/api/agent-reports/schema","purpose":"Traversal target."},{"path":"/api/agent-reports/stats","url":"https://api.mczaykowski.com/api/agent-reports/stats","purpose":"Traversal target."}],"last_modified":"2026-04-30T06:52:39.559550+00:00","content_hash":"sha256:db32d85a58e6d9b019170e748a66b7ecaa1c01b8f061d54ea711ba8806edf288"}