{"openapi":"3.1.0","info":{"title":"Commentary Public API","version":"0.1.0","summary":"Authenticated API and MCP surfaces for Commentary review automation.","description":"This contract documents the stable external API surface. Browser, internal, provider-ingress, and test routes are intentionally excluded.","x-commentary-feature-key":"api.openapi_docs","x-commentary-api-version":"v1","x-commentary-compatibility-policy":"/docs/api/versioning.md"},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","x-commentary-reserved-project-contract":{"contractVersion":"1","owner":"projects-integration/agent-platform","implementation":"authorized_http_mcp_sdk","schemas":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://commentary.dev/contracts/projects-agent-v1","$defs":{"RendererDefinition":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"name":{"type":"string","maxLength":200,"minLength":1},"protocol":{"const":"commentary-tracker-v1"},"operations":{"type":"array","items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]},"maxItems":14,"minItems":0,"uniqueItems":true},"trackerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageRevisionId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"anchors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"pageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"blockId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["id","pageId"]},"maxItems":100,"minItems":0},"kind":{"const":"hosted"},"uploadId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"entry":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},"required":["key","name","protocol","operations","kind","uploadId","entry"],"allOf":[{"anyOf":[{"required":["trackerId"]},{"required":["packageId","packageRevisionId"]}]},{"dependentRequired":{"packageId":["packageRevisionId"],"packageRevisionId":["packageId"]}},{"if":{"not":{"required":["trackerId"]}},"then":{"properties":{"operations":{"maxItems":0}}}}]},{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"name":{"type":"string","maxLength":200,"minLength":1},"protocol":{"const":"commentary-tracker-v1"},"operations":{"type":"array","items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]},"maxItems":14,"minItems":0,"uniqueItems":true},"trackerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageRevisionId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"anchors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"pageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"blockId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["id","pageId"]},"maxItems":100,"minItems":0},"kind":{"const":"external"},"externalUrl":{"type":"string","maxLength":2048,"format":"uri"}},"required":["key","name","protocol","operations","kind","externalUrl"],"allOf":[{"anyOf":[{"required":["trackerId"]},{"required":["packageId","packageRevisionId"]}]},{"dependentRequired":{"packageId":["packageRevisionId"],"packageRevisionId":["packageId"]}},{"if":{"not":{"required":["trackerId"]}},"then":{"properties":{"operations":{"maxItems":0}}}}]}]},"RendererPublication":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"name":{"type":"string","maxLength":200,"minLength":1},"protocol":{"const":"commentary-tracker-v1"},"operations":{"type":"array","items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]},"maxItems":14,"minItems":0,"uniqueItems":true},"trackerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageRevisionId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"anchors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"pageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"blockId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["id","pageId"]},"maxItems":100,"minItems":0},"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["hosted","external"]},"entry":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"externalUrl":{"type":"string","maxLength":2048},"externalOrigin":{"type":"string","maxLength":2048}},"required":["key","name","protocol","operations","id","version","digest","kind","anchors"]},"RevisionImpact":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["available","unavailable"]},"reason":{"type":"string","maxLength":2000},"fromRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"toRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"identity":{"type":"string","maxLength":2048},"path":{"type":"string","maxLength":2048},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","maxLength":2048},"href":{"type":"string","maxLength":8192},"uncertainty":{"type":"string","maxLength":2000},"status":{"type":"string","enum":["added","removed","changed","moved"]},"previousPath":{"type":"string","maxLength":2048},"previousHref":{"type":"string","maxLength":8192},"comparisonHref":{"type":"string","maxLength":8192},"provenance":{"const":"deterministic"}},"required":["identity","path","sha256","kind","status","provenance"]},"maxItems":100,"minItems":0},"counts":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"moved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added","removed","changed","moved"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextOffset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["status","fromRevisionId","toRevisionId","items","counts","total"]},"PackageSourceMapping":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["component","api_operation","api_schema"]},"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"occurrenceId":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"pageId":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"anchorId":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"pageSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string","maxLength":200,"minLength":1},"explanation":{"type":"string","maxLength":2000},"provenance":{"type":"string","enum":["human_authored","agent_suggestion"]},"visualBinding":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["mermaid_node","markup_marker"]},"key":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"}},"required":["kind","key"]},"sources":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/$defs/ExactTarget"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"lineStart":{"type":"integer","minimum":1,"maximum":10000000},"lineEnd":{"type":"integer","minimum":1,"maximum":10000000}},"required":["target","path","blobHash","sha256","lineStart","lineEnd"]},"maxItems":10,"minItems":0},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":10,"minItems":0}},"required":["kind","id","occurrenceId","pageId","anchorId","pageSha256","title","explanation","provenance","sources","relations"]},"PackageSourceMappings":{"type":"array","items":{"$ref":"#/$defs/PackageSourceMapping"},"maxItems":100,"minItems":0},"Resource":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["repository","pull_request","document","draft_review","form","research_study","knowledge_brain","web_app_review","project","tracker","review_package","project_review_session","source_snapshot"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"PackageReference":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["repository","pull_request","document","draft_review","form","research_study","knowledge_brain","web_app_review","project","tracker","review_package","project_review_session","source_snapshot"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","maxLength":2000}},"required":["type","id"]},"PackageSourceReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"resource":{"$ref":"#/$defs/Resource"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","resource","commitSha"]},"PackageNavigation":{"type":"object","additionalProperties":false,"properties":{"pageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"label":{"type":"string","maxLength":200},"children":{"type":"array","items":{"$ref":"#/$defs/PackageNavigation"},"maxItems":10000,"minItems":0}},"required":["pageId","label"]},"Actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent","service","system"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"ExactTarget":{"type":"object","additionalProperties":false,"properties":{"resource":{"$ref":"#/$defs/Resource"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","maxLength":200}},"required":["resource","revisionId","sha256"]},"Project":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]},"lifecycle":{"type":"string","enum":["active","completed","archived"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"ownerViewerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"creator":{"$ref":"#/$defs/Actor"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"archivedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},{"type":"null"}]}},"required":["id","initialWorkspaceId","name","descriptionMarkdown","objectivesMarkdown","visibility","lifecycle","version"]},"ProjectParticipant":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","projectId","actor","role","grantId","version"]},"ProjectExternalReference":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"url":{"type":"string","maxLength":2048},"purpose":{"type":"string","maxLength":200}},"required":["id","projectId","url","purpose"]},"ProjectChange":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"$ref":"#/$defs/Actor"},"occurredAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","projectId","version","operation","actor","occurredAt"]},"ResourceLink":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/Resource"},"pinnedRevisionId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"purpose":{"type":"string","maxLength":200},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["id","projectId","target","pinnedRevisionId","purpose","orderKey"]},"Relationship":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"targetProjectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relation":{"type":"string","enum":["related","implements"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","projectId","targetProjectId","relation","version"]},"TrackerContract":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_tracker"},"contractVersion":{"const":1},"name":{"type":"string","minLength":1,"maxLength":200},"descriptionMarkdown":{"type":"string","maxLength":32768},"fields":{"type":"array","minItems":1,"maxItems":100,"items":{"$ref":"#/$defs/field"}},"views":{"type":"array","items":{"$ref":"#/$defs/view"},"maxItems":100},"transitions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"from":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"to":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"when":{"$ref":"#/$defs/logic"}},"required":["field","from","to"]},"maxItems":100},"acceptance":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["optional","required"]},"policyRef":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"}},"required":["mode"]},"metadata":{"type":"object"}},"required":["kind","contractVersion","name","fields","views"],"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://commentary.dev/schemas/tracker-contract-v1.schema.json","$defs":{"field":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"type":{"type":"string","enum":["text","markdown","number","boolean","enum","multiselect","date","datetime","actor_ref","actor_refs","status","priority","url","artifact_ref","artifact_refs","resource_ref","resource_refs","record_ref","record_refs","metadata"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"default":{},"options":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"label":{"type":"string","minLength":1,"maxLength":200}},"required":["id","label"]}},"schema":{"$ref":"#/$defs/valueSchema"},"ui":{"type":"object","additionalProperties":false,"properties":{"placeholder":{"type":"string","maxLength":32768},"helpMarkdown":{"type":"string","maxLength":32768},"multiline":{"type":"boolean"},"width":{"type":"string","enum":["compact","normal","wide"]}},"required":[]}},"required":["id","type","label"],"allOf":[{"if":{"properties":{"type":{"enum":["enum","multiselect","status","priority"]}}},"then":{"required":["options"]},"else":{"not":{"required":["options"]}}},{"if":{"properties":{"type":{"const":"text"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"markdown"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"number"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"}},"required":[]}}}},{"if":{"properties":{"type":{"const":"boolean"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"enum"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"multiselect"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"date"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"datetime"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"actor_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"actor_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"status"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"priority"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"url"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"artifact_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"artifact_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"resource_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"resource_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"record_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"record_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"metadata"}}},"then":{"properties":{"schema":{"allOf":[{"$ref":"#/$defs/valueSchema"},{"required":["type"],"properties":{"type":{"const":"object"}}}]}}}}]},"view":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"renderer":{"type":"string","enum":["checklist","list","table","board","timeline","calendar","gantt","summary"]},"mappings":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","minLength":1},"visibility":{"type":"string","enum":["personal","shared"]},"visibleFields":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"maxItems":100},"filter":{"anyOf":[{"$ref":"#/$defs/logic"},{"type":"object","maxProperties":1,"additionalProperties":true}]},"sort":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"maxItems":10},"groupBy":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"layout":{"type":"object","additionalProperties":false,"properties":{"density":{"type":"string","enum":["compact","comfortable"]},"timezone":{"type":"string","minLength":1},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"granularity":{"enum":["week","month"]},"mode":{"enum":["overlap","unscheduled","outside","invalid","all"]},"presentation":{"enum":["visual","agenda"]}},"required":[]},"completedValues":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"}}},"required":["key","renderer","mappings"],"allOf":[{"if":{"properties":{"renderer":{"const":"checklist"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"completed":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","completed"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"list"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"display":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"table"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"display":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","display"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"board"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","group"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"timeline"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"date":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"start":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"end":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":[],"anyOf":[{"required":["date"]},{"required":["start","end"]}]},"layout":{"required":["timezone"]}},"required":["layout"]}},{"if":{"properties":{"renderer":{"const":"calendar"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"date":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["date"]},"layout":{"required":["timezone"]}},"required":["layout"]}},{"if":{"properties":{"renderer":{"const":"gantt"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"start":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"end":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"dependencies":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","start","end","dependencies"]},"layout":{"required":["timezone"]}},"required":["layout"]}},{"if":{"properties":{"renderer":{"const":"summary"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"acceptance":{"const":"$acceptance"},"date":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"start":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"end":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["execution"]}},"required":[]}}]},"logic":{"oneOf":[{"type":["null","boolean","number","string"]},{"type":"array","items":{"$ref":"#/$defs/logic"},"maxItems":256},{"type":"object","additionalProperties":false,"properties":{"var":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["var"]},{"type":"object","additionalProperties":false,"properties":{"exists":{"oneOf":[{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},{"type":"object","additionalProperties":false,"properties":{"var":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["var"]}]}},"required":["exists"]},{"type":"object","additionalProperties":false,"properties":{"not":{"$ref":"#/$defs/logic"}},"required":["not"]},{"type":"object","additionalProperties":false,"properties":{"equals":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["equals"]},{"type":"object","additionalProperties":false,"properties":{"notEquals":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["notEquals"]},{"type":"object","additionalProperties":false,"properties":{"gt":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["gt"]},{"type":"object","additionalProperties":false,"properties":{"gte":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["gte"]},{"type":"object","additionalProperties":false,"properties":{"lt":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["lt"]},{"type":"object","additionalProperties":false,"properties":{"lte":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["lte"]},{"type":"object","additionalProperties":false,"properties":{">":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":[">"]},{"type":"object","additionalProperties":false,"properties":{">=":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":[">="]},{"type":"object","additionalProperties":false,"properties":{"<":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["<"]},{"type":"object","additionalProperties":false,"properties":{"<=":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["<="]},{"type":"object","additionalProperties":false,"properties":{"in":{"type":"array","items":{"$ref":"#/$defs/logic"},"minItems":2,"maxItems":2}},"required":["in"]},{"type":"object","additionalProperties":false,"properties":{"and":{"type":"array","items":{"$ref":"#/$defs/logic"},"maxItems":256}},"required":["and"]},{"type":"object","additionalProperties":false,"properties":{"or":{"type":"array","items":{"$ref":"#/$defs/logic"},"maxItems":256}},"required":["or"]}]},"valueSchema":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","array","object","null"]},"properties":{"type":"object","maxProperties":100,"additionalProperties":{"$ref":"#/$defs/valueSchema"}},"required":{"type":"array","items":{"type":"string","maxLength":32768},"maxItems":100},"additionalProperties":{"oneOf":[{"type":"boolean"},{"$ref":"#/$defs/valueSchema"}]},"items":{"$ref":"#/$defs/valueSchema"},"enum":{"type":"array","minItems":1,"maxItems":100},"minimum":{"type":"number"},"maximum":{"type":"number"},"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0},"uniqueItems":{"type":"boolean"}},"required":[]}},"description":"Tracker Contract v1 wire shape. Run the parser for field uniqueness, mapping compatibility, safe JSON bounds, credential checks and semantic diagnostics."},"TrackerViewDefinition":{"$ref":"https://commentary.dev/schemas/tracker-contract-v1.schema.json#/$defs/view"},"TrackerParticipant":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"Tracker":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"lifecycle":{"type":"string","enum":["active","archived"]},"authority":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["commentary","git"]},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["mode"]},"ownerViewerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/$defs/TrackerParticipant"},"maxItems":100,"minItems":0},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"contractVersion":{"const":1},"migrationId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"migrationTargetSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","initialWorkspaceId","name","schemaRevisionId","version","lifecycle","authority","ownerViewerId","visibility","participants","contentHash","contractVersion","migrationId","createdAt","updatedAt"]},"Record":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"},"values":{"type":"object","maxProperties":100,"additionalProperties":true},"auditActor":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id","workspaceId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"const":"system"},"id":{"const":"project_progress"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id","workspaceId"]}]},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","trackerId","schemaRevisionId","version","orderKey","archived","values","auditActor","createdAt","updatedAt"]},"TrackerSchemaVersion":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/$defs/TrackerContract"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"actor":{"$ref":"#/$defs/Actor"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","contract","contentHash","actor","createdAt"]},"TrackerMigrationMapping":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["recordId","etag","values"]},"TrackerMigrationOutcome":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["success"]},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"}},"required":["recordId","outcome","etag"]},{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["failed"]},"error":{"$ref":"#/$defs/Error"}},"required":["recordId","outcome","error"]}]},"TrackerDiagnostic":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","maxLength":1024},"message":{"type":"string","maxLength":1024},"severity":{"type":"string","enum":["error","warning"]}},"required":["code","path","message","severity"]},"TrackerSchemaResult":{"type":"object","additionalProperties":false,"properties":{"compatible":{"type":"boolean"},"diagnostics":{"type":"array","items":{"$ref":"#/$defs/TrackerDiagnostic"},"maxItems":2000,"minItems":0},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"comparison":{"type":"object","additionalProperties":false,"properties":{"compatible":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["additive","breaking"]},"path":{"type":"string","maxLength":1024},"message":{"type":"string","maxLength":1024},"fieldId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","path","message"]},"maxItems":1000,"minItems":0},"affectedViews":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0}},"required":["compatible","changes","affectedViews"]},"records":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"valid":{"type":"boolean"},"diagnostics":{"type":"array","items":{"$ref":"#/$defs/TrackerDiagnostic"},"maxItems":2000,"minItems":0},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"}},"required":["recordId","valid","diagnostics","etag"]},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]},"migration":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["running","completed"]},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcomes":{"type":"array","items":{"$ref":"#/$defs/TrackerMigrationOutcome"},"maxItems":100,"minItems":0}},"required":["id","state","remaining","processed","outcomes"]},{"type":"null"}]}},"required":["compatible","diagnostics","schemaRevisionId"]},"View":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"visibility":{"type":"string","enum":["personal","shared"]},"definition":{"$ref":"#/$defs/TrackerViewDefinition"},"diagnostics":{"type":"array","items":{"$ref":"#/$defs/TrackerDiagnostic"},"maxItems":2000,"minItems":0},"compatible":{"type":"boolean"},"isDefault":{"type":"boolean"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["id","trackerId","version","visibility","definition","diagnostics","compatible","isDefault","schemaRevisionId"]},"Predicate":{"$ref":"https://commentary.dev/schemas/tracker-contract-v1.schema.json#/$defs/logic"},"ScheduleWindow":{"type":"object","additionalProperties":false,"properties":{"startField":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"endField":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"from":{"type":"string","maxLength":10},"to":{"type":"string","maxLength":10},"timezone":{"type":"string","maxLength":100},"mode":{"type":"string","enum":["overlap","unscheduled","outside","invalid","all"]}},"required":["startField","from","to","timezone"]},"Query":{"type":"object","additionalProperties":false,"properties":{"schedule":{"anyOf":[{"$ref":"#/$defs/ScheduleWindow"},{"type":"null"}]},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"search":{"type":"string","maxLength":200},"filter":{"anyOf":[{"type":"boolean"},{"type":"object","maxProperties":1,"additionalProperties":true}]},"manual":{"type":"boolean"},"sort":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"maxItems":10,"minItems":0},"groupBy":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":[]},"TrackerQueryResult":{"type":"object","additionalProperties":false,"properties":{"scheduleCounts":{"type":"object","additionalProperties":false,"properties":{"scopeTotal":{"type":"integer","minimum":0,"maximum":9007199254740991},"overlap":{"type":"integer","minimum":0,"maximum":9007199254740991},"unscheduled":{"type":"integer","minimum":0,"maximum":9007199254740991},"outside":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scopeTotal","overlap","unscheduled","outside","invalid"]},"reviewFacts":{"type":"null"},"items":{"type":"array","items":{"$ref":"#/$defs/Record"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]},"hasMore":{"type":"boolean"},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"groups":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"value":{},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"]},"maxItems":100,"minItems":0},"schema":{"$ref":"#/$defs/TrackerContract"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"diagnostics":{"type":"array","items":{"$ref":"#/$defs/TrackerDiagnostic"},"maxItems":100,"minItems":0},"permissions":{"type":"object","additionalProperties":false,"properties":{"read":{"type":"boolean"},"edit":{"type":"boolean"},"manage":{"type":"boolean"}},"required":["read","edit"]},"refresh":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["authoritative_poll"]},"minimumIntervalMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"durableCursor":{"type":"null"}},"required":["mode","minimumIntervalMs","durableCursor"]}},"required":["items","nextCursor","hasMore","total","groups","schema","schemaRevisionId","trackerVersion","orderVersion","diagnostics","permissions","refresh"]},"Page":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Resource"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"RecordPatch":{"type":"object","additionalProperties":false,"properties":{"values":{"type":"object","maxProperties":100,"additionalProperties":true},"unset":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true}},"required":["values"]},"BulkItem":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"},"patch":{"$ref":"#/$defs/RecordPatch"},"correlationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["recordId","etag","patch"]},"BulkResult":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"index":{"type":"integer","minimum":0,"maximum":99},"correlationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["success"]},"record":{"$ref":"#/$defs/Record"},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"}},"required":["recordId","index","correlationId","outcome","record","etag"]},{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"index":{"type":"integer","minimum":0,"maximum":99},"correlationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["conflict","validation","denied"]},"error":{"$ref":"#/$defs/Error"}},"required":["recordId","index","correlationId","outcome","error"]}]},"PortableRecord":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["id","schemaRevisionId","version","orderKey","archived","values"]},"PortableTracker":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_tracker_export"},"formatVersion":{"const":1},"tracker":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"orderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"lifecycle":{"type":"string","enum":["active","archived"]}},"required":["id","version","schemaRevisionId","orderVersion","lifecycle"]},"schemas":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"contract":{"$ref":"#/$defs/TrackerContract"}},"required":["id","contentHash","contract"]},"maxItems":100,"minItems":1},"records":{"type":"array","items":{"$ref":"#/$defs/PortableRecord"},"maxItems":1000,"minItems":0},"views":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"},"definition":{"$ref":"#/$defs/TrackerViewDefinition"}},"required":["id","schemaRevisionId","version","visibility","isDefault","definition"]},"maxItems":100,"minItems":0},"history":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["recordId","schemaRevisionId","version","orderKey","archived","values"]},"maxItems":5000,"minItems":0},"receipts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["decision","verification"]},"readOnly":{"const":true},"provenance":{"type":"object","additionalProperties":false,"properties":{"resourceType":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"resourceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["resourceType","resourceId"]}},"required":["id","kind","readOnly","provenance"]},"maxItems":1000,"minItems":0}},"required":["kind","formatVersion","tracker","schemas","records","views"]},"TrackerGitSourceResult":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourceRef":{"type":"string","maxLength":200}},"required":["trackerId","baseCommitSha","sourceRef"]},"TrackerSyncStatus":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/SyncOperation"},"maxItems":20,"minItems":0},"nextCursor":{"type":"null"},"source":{"type":"object","additionalProperties":false,"properties":{"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourceRef":{"type":"string","maxLength":200},"sourcePath":{"type":"string","maxLength":1024},"bundleHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["baseCommitSha","sourceRef","sourcePath","bundleHash"]}},"required":["items","nextCursor","source"]},"SyncConflictValue":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"present":{"const":false}},"required":["present"]},{"type":"object","additionalProperties":false,"properties":{"present":{"const":true},"value":{}},"required":["present","value"]}]},"SyncConflict":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","maxLength":1024},"kind":{"type":"string","enum":["field","record","schema","view","order","deletion"]},"base":{"$ref":"#/$defs/SyncConflictValue"},"current":{"$ref":"#/$defs/SyncConflictValue"},"proposed":{"$ref":"#/$defs/SyncConflictValue"}},"required":["id","path","kind","base","current","proposed"]},"SyncOperation":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"confirmedCommitSha":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{40,64}$"},{"type":"null"}]},"publishedCommitSha":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{40,64}$"},{"type":"null"}]},"publicationBranch":{"type":"string","maxLength":200},"author":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"state":{"type":"string","enum":["pending","queued","leased","conflict","unavailable","published","committed","cancelled"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"diagnostics":{"type":"array","items":{"$ref":"#/$defs/TrackerDiagnostic"},"maxItems":10000,"minItems":0},"conflicts":{"type":"array","items":{"$ref":"#/$defs/SyncConflict"},"maxItems":10000,"minItems":0},"completedBatches":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalBatches":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","trackerId","baseCommitSha","confirmedCommitSha","publishedCommitSha","publicationBranch","author","state","version","diagnostics","conflicts","completedBatches","totalBatches"]},"UploadFile":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"bytes":{"type":"integer","minimum":0,"maximum":26214400},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200}},"required":["path","bytes","sha256","mime"]},"UploadManifest":{"type":"object","additionalProperties":false,"properties":{"files":{"type":"array","items":{"$ref":"#/$defs/UploadFile"},"maxItems":10000,"minItems":1}},"required":["files"]},"UploadBundle":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":262144000},"files":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"etag":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","minimum":0,"maximum":26214400},"contentType":{"const":"application/octet-stream"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"detectedMime":{"type":"string","maxLength":200}},"required":["key","sha256","etag","sizeBytes","contentType","path","detectedMime"]},"maxItems":10000,"minItems":1}},"required":["id","workspaceId","manifestSha256","sha256","bytes","files"]},"Upload":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bytes":{"type":"integer","minimum":0,"maximum":262144000},"receivedBytes":{"type":"integer","minimum":0,"maximum":262144000},"maxChunkBytes":{"type":"integer","minimum":1,"maximum":4194304},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"state":{"type":"string","enum":["uploading","validating","complete","expired","failed","canceled"]},"expiresAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"receivedChunks":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"offset":{"type":"integer","minimum":0,"maximum":262144000},"bytes":{"type":"integer","minimum":1,"maximum":4194304},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["offset","bytes","sha256"]},"maxItems":63,"minItems":0},"bundle":{"anyOf":[{"$ref":"#/$defs/UploadBundle"},{"type":"null"}]}},"required":["id","workspaceId","bytes","receivedBytes","maxChunkBytes","sha256","state","expiresAt","manifestSha256","receivedChunks","bundle"]},"PackageManifest":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["commentary_review_package"]},"manifestVersion":{"const":1},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"backingDraftRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"entryPageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"pages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"documentVersionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":2097152},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["id","path","documentVersionId"]},"maxItems":10000,"minItems":1},"assets":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":26214400},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifactId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["path","mime","bytes","sha256","artifactId"]},"maxItems":10000,"minItems":0},"files":{"type":"array","items":{"$ref":"#/$defs/UploadFile"},"maxItems":10000,"minItems":1},"title":{"type":"string","maxLength":200},"purpose":{"type":"string","maxLength":2000},"navigation":{"type":"array","items":{"$ref":"#/$defs/PackageNavigation"},"maxItems":10000,"minItems":0},"trustTier":{"type":"string","enum":["static","executable_bundle"]},"relatedResources":{"type":"array","items":{"$ref":"#/$defs/PackageReference"},"maxItems":1000,"minItems":0},"sourceReferences":{"type":"array","items":{"$ref":"#/$defs/PackageSourceReference"},"maxItems":1000,"minItems":0},"evidenceReferences":{"type":"array","items":{"$ref":"#/$defs/PackageReference"},"maxItems":1000,"minItems":0},"sourceMappings":{"$ref":"#/$defs/PackageSourceMappings"},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":["kind","manifestVersion","packageId","backingDraftRevisionId","entryPageId","pages","assets"]},"PackageFile":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":26214400},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","mime","bytes","sha256"]},"Package":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"readiness":{"type":"string","enum":["uploading","validating","indexing","ready","failed"]},"collaboration":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"required":["id","initialWorkspaceId","title","revisionId","version","manifestSha256","readiness"]},"ReviewTargetState":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/$defs/ExactTarget"},"status":{"type":"string","enum":["available","unavailable"]}},"required":["target","status"]},"ReviewArtifactContext":{"type":"object","additionalProperties":false,"properties":{"sessionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/ExactTarget"},"file":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},{"type":"null"}]},"anchor":{"anyOf":[{"type":"string","maxLength":500,"pattern":"^[^\\u0000-\\u001f]*$"},{"type":"null"}]},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"mapping":{"type":"string","maxLength":650,"minLength":1,"pattern":"^[^\\u0000-\\u001f]+$"},"mappedSource":{"type":"integer","minimum":0,"maximum":9}},"required":["sessionRevisionId","target"]},"SessionDiscussionComment":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000},"actor":{"$ref":"#/$defs/Actor"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"actorLabel":{"type":"string","maxLength":200}},"required":["id","bodyMarkdown","actor","createdAt"]},"SessionDiscussion":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"comments":{"type":"array","items":{"$ref":"#/$defs/SessionDiscussionComment"},"maxItems":100,"minItems":0},"hasOlderComments":{"type":"boolean"},"context":{"$ref":"#/$defs/ReviewArtifactContext"}},"required":["threadId","revisionId","comments","hasOlderComments"]},"ReviewManifest":{"type":"object","additionalProperties":false,"properties":{"manifestVersion":{"const":1},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":0}},"required":["manifestVersion","sessionId","revisionId","targets"]},"ReviewSession":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"ownerViewerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"manifest":{"$ref":"#/$defs/ReviewManifest"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"revisionSetFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"visibility":{"type":"string","enum":["workspace","participants"]},"lifecycle":{"type":"string","enum":["active","archived"]},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"archivedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},{"type":"null"}]},"discussionThreadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"collaboration":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"required":["id","initialWorkspaceId","ownerViewerId","title","purposeMarkdown","version","manifest","manifestSha256","revisionSetFingerprint","visibility","lifecycle","createdAt","updatedAt","archivedAt"]},"SourceReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops","uploaded"]},"resource":{"type":"object","additionalProperties":false,"properties":{"type":{"const":"repository"},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"commitSha":{"type":"string","pattern":"^[a-fA-F0-9]{40}$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["provider","resource"]},"SourceReviewAnchor":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"repositoryId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","maxLength":128},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"selectedText":{"type":"string","maxLength":65536},"prefixText":{"type":"string","maxLength":4096},"suffixText":{"type":"string","maxLength":4096},"symbolId":{"type":"string","maxLength":200},"componentId":{"type":"string","maxLength":200}},"required":["snapshotId","repositoryId","path","blobHash","sha256","lineStart","lineEnd","selectedText","prefixText","suffixText"]},"SourceReviewThread":{"type":"object","additionalProperties":true,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"filePath":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"sourceAnchor":{"$ref":"#/$defs/SourceReviewAnchor"},"sourceVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"status":{"type":"string","enum":["open","resolved"]},"syncMode":{"const":"app_only"},"comments":{"type":"array","items":{"type":"object"},"maxItems":100,"minItems":0}},"required":["id","filePath","sourceAnchor","sourceVersion","status","syncMode","comments"]},"SourceSnapshot":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"reference":{"$ref":"#/$defs/SourceReference"},"provenance":{"type":"string","enum":["provider_confirmed","uploaded"]},"capturePolicy":{"type":"string","enum":["selected","full"]},"selectedPaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":1000,"minItems":0},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"state":{"type":"string","enum":["pending","ready","partial","failed","canceled","purged"]},"completeness":{"type":"string","enum":["pending","selected_only","complete","incomplete","purged"]},"filesProcessed":{"type":"integer","minimum":0,"maximum":9007199254740991},"bytesProcessed":{"type":"integer","minimum":0,"maximum":9007199254740991},"failureCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"retentionUntil":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"collaboration":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"required":["id","initialWorkspaceId","reference","provenance","capturePolicy","selectedPaths","manifestSha256","version","state","completeness","filesProcessed","bytesProcessed","failureCode","retentionUntil","createdAt"]},"SourceFile":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","maxLength":128},"kind":{"type":"string","enum":["file","directory","submodule"]},"capture":{"type":"string","enum":["retained","uncaptured","unavailable"]},"content":{"anyOf":[{"type":"string","maxLength":2097152},{"type":"null"}]},"contentTruncated":{"type":"boolean"},"base64":{"anyOf":[{"type":"string","maxLength":25165824},{"type":"null"}]},"bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"binary":{"type":"boolean"},"nextLine":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["path","blobHash","capture","content","nextCursor"]},"Evidence":{"$ref":"#/$defs/EvidenceRecord"},"Requirement":{"$ref":"#/$defs/EvidenceRecord"},"Claim":{"$ref":"#/$defs/EvidenceRecord"},"Verification":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["queued","running","completed","failed","canceled"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"attempts":{"type":"integer","minimum":0,"maximum":5},"nextAttemptAt":{"type":"string","maxLength":40},"failureCode":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"providerReceiptId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"receipt":{"anyOf":[{"$ref":"#/$defs/VerificationReceipt"},{"type":"null"}]},"content":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"artifactId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expiresAt":{"type":"string","maxLength":40},"availability":{"type":"string","enum":["available","expired","revoked"]}},"required":["id","artifactId","sha256","expiresAt","availability"]},"maxItems":20,"minItems":0}},"required":["id","evidenceRevisionId","state","version","attempts","nextAttemptAt","failureCode","providerReceiptId","receipt","content"]},"Activity":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"eventType":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"occurredAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"resource":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","maxLength":80},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"aggregateVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"retrievalUrl":{"type":"string","maxLength":2048},"change":{"type":"string","maxLength":200}},"required":["id","eventType","occurredAt","resource","aggregateVersion","retrievalUrl","change"]},"Feedback":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"resource":{"$ref":"#/$defs/Resource"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":32768}},"required":["threadId","resource","revisionId","bodyMarkdown"]},"ProgressRule":{"type":"object","additionalProperties":false,"properties":{"state":{"type":"string","enum":["working","ready_for_review","requested_changes","accepted","stale","blocked"]},"label":{"type":"string","maxLength":100},"executionValue":{"type":["string","boolean"],"maxLength":100},"mode":{"type":"string","enum":["suggest","automatic"]}},"required":["state","label","mode"]},"ProgressPolicy":{"type":"object","additionalProperties":false,"properties":{"executionField":{"type":"string","maxLength":64},"completeValues":{"type":"array","items":{"type":["string","boolean"],"maxLength":100},"maxItems":100,"minItems":0},"rules":{"type":"array","items":{"$ref":"#/$defs/ProgressRule"},"maxItems":6,"minItems":0}},"required":["completeValues","rules"]},"ProgressItem":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"href":{"type":"string","maxLength":4096},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/ReviewAcceptanceTarget"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relationVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"execution":{"type":"string","enum":["reported_complete","in_progress","not_configured"]},"artifact":{"type":"string","enum":["available","source_unavailable"]},"review":{"type":"string","enum":["ready","requested_changes","open_concerns","not_ready"]},"acceptance":{"type":"string","enum":["not_required","not_requested","pending","accepted","stale","requested_changes","rejected","expired","revoked","unsatisfiable","unknown"]},"verification":{"type":"string","enum":["independently_verified","reported","failed","unknown"]},"openConcerns":{"type":"integer","minimum":0,"maximum":9007199254740991},"blockers":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":10,"minItems":0},"state":{"type":"string","enum":["working","ready_for_review","requested_changes","accepted","stale","blocked"]},"decision":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"status":{"type":"string","maxLength":100},"receiptIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"href":{"type":"string","maxLength":4096}},"required":["interactionId","actionId","status","receiptIds","href"]},{"type":"null"}]},"nextAction":{"type":"object","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":100},"href":{"type":"string","maxLength":4096},"rule":{"$ref":"#/$defs/ProgressRule"}},"required":["label","href"]}},"required":["id","title","href","sessionId","target","execution","artifact","review","acceptance","verification","openConcerns","blockers","state","decision","nextAction"]},"Progress":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ProgressItem"},"maxItems":1000,"minItems":0},"nextAfter":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]},"projection":{"type":"string","enum":["current","pending","failed"]},"countsScope":{"const":"visible_page"},"counts":{"type":"object","additionalProperties":false,"properties":{"visible":{"type":"integer","minimum":0,"maximum":9007199254740991},"reportedComplete":{"type":"integer","minimum":0,"maximum":9007199254740991},"accepted":{"type":"integer","minimum":0,"maximum":9007199254740991},"needsAttention":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["visible","reportedComplete","accepted","needsAttention"]}},"required":["items","nextAfter","projection","countsScope","counts"]},"ApprovalAggregate":{"type":"object","additionalProperties":false,"properties":{"state":{"type":"string","enum":["pending","approved","rejected","expired","unsatisfiable"]},"approvals":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","minimum":0,"maximum":9007199254740991},"eligibleNext":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"completedSteps":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalSteps":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["state","approvals","required","eligibleNext","completedSteps","totalSteps"]},"ExactAcceptance":{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target":{"$ref":"#/$defs/ReviewAcceptanceTarget"},"currency":{"type":"string","enum":["current","stale"]},"status":{"type":"string","enum":["pending","accepted","rejected","requested_changes","stale","expired","revoked","unsatisfiable"]},"approval":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["pending","approved","rejected","expired","unsatisfiable"]},"approvals":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","minimum":0,"maximum":9007199254740991},"completedSteps":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalSteps":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["actionId","state","approvals","required","completedSteps","totalSteps"]},{"type":"null"}]},"receipts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","maxLength":40},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decidedAt":{"type":"string","maxLength":40},"contentPurged":{"type":"boolean"}},"required":["id","outcome","proposalFingerprint","decidedAt","contentPurged"]},"maxItems":100,"minItems":0}},"required":["interactionId","interactionRevisionId","actionId","actionFingerprint","target","currency","status","approval","receipts"]},"ReviewAcceptanceTarget":{"type":"object","additionalProperties":false,"properties":{"version":{"const":1},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sessionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionSetFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","enum":["deliverable","session"]},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"supportingRevisions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","evidence"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["kind","id","revisionId","sha256"]},"maxItems":100,"minItems":0}},"required":["version","sessionId","sessionRevisionId","revisionSetFingerprint","manifestSha256","scope","targets","supportingRevisions"]},"Acceptance":{"type":"object","additionalProperties":false,"properties":{"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"aggregate":{"$ref":"#/$defs/ApprovalAggregate"},"currency":{"type":"string","enum":["current","stale"]}},"required":["manifestSha256","interactionId","interactionRevisionId","actionId","actionFingerprint","decisionIds","aggregate","currency"]},"Error":{"type":"object","additionalProperties":false,"properties":{"version":{"const":"1"},"code":{"type":"string","enum":["authentication_required","insufficient_scope","not_found","validation_failed","capability_unsupported","contract_version_unsupported","precondition_required","precondition_failed","version_conflict","idempotency_key_required","idempotency_key_reused","source_access_revoked","source_unavailable","unsupported_provider_write","source_conflict","upload_expired","checksum_mismatch","schema_incompatible","limit_reached","rate_limited","event_cursor_resync_required","bridge_disconnected","verification_unavailable","internal_error"]},"message":{"type":"string","maxLength":4096},"correlationId":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,128}$"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","maxLength":1024},"issue":{"type":"string","maxLength":1024}},"required":["field","issue"]},"maxItems":100,"minItems":0},"retryable":{"type":"boolean"}},"required":["version","code","message","correlationId"]},"EvidenceRecord":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"actor":{"$ref":"#/$defs/Actor"},"title":{"type":"string","maxLength":200},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"archived":{"type":"boolean"},"contentSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"createdAt":{"type":"string","maxLength":40},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768},"acceptanceScope":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"statementMarkdown":{"type":"string","maxLength":32768},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"source":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"supplied"},"report":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"format":{"type":"string","enum":["html","xml","json","log"]},"capturedSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"capturedBytes":{"type":"integer","minimum":0,"maximum":262144},"sanitizedSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sanitizedBytes":{"type":"integer","minimum":0,"maximum":262144},"diagnostics":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":100,"minItems":0},"expiresAt":{"type":"string","maxLength":40}},"required":["id","format","capturedSha256","capturedBytes","sanitizedSha256","sanitizedBytes","diagnostics","expiresAt"]},{"type":"null"}]}},"required":["kind","report"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"provider_reference"},"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["kind","provider","runId","commitSha"]}]},"result":{"type":"string","enum":["passed","failed","unknown"]},"status":{"type":"string","enum":["reported","referenced","observed","provider_verified","failed","missing","stale","conflicting","restricted","unknown","pending","canceled","unsupported","mismatched","inaccessible"]},"provenance":{"type":"string","enum":["reported","observed","provider_verified"]},"currency":{"type":"string","enum":["current","stale","revoked"]},"observedAt":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"providerReceiptId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"providerVerificationId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"acceptance":{"const":"not_assessed"}},"required":["id","revisionId","context","kind","actor","title","version","archived","contentSha256","createdAt","targets","relations","status","provenance","currency","observedAt","providerReceiptId","acceptance"]},"VerificationReceipt":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"provenance":{"type":"string","enum":["observed","provider_verified"]},"result":{"type":"string","enum":["passed","failed","pending","canceled","unknown","unsupported","mismatched","stale","inaccessible"]},"provider":{"type":"string","enum":["github","azure_devops"]},"repositoryId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","maxLength":40},"state":{"type":"string","enum":["passed","failed","pending","canceled","unknown","unsupported","mismatched","stale","inaccessible"]},"observedAt":{"type":"string","maxLength":40},"runAttempt":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"assertions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["run","job","check","test_run"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["passed","failed","pending","canceled","unknown","unsupported","mismatched","stale","inaccessible"]}},"required":["kind","id","state"]},"maxItems":201,"minItems":0},"artifacts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["available","expired","inaccessible","unsupported","mismatched"]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"providerDigest":{"anyOf":[{"type":"string","maxLength":71},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"reports":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","maxLength":1024},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"format":{"type":"string","enum":["junit","sarif","axe","load","migration","unsupported"]},"provenance":{"const":"reported"},"result":{"type":"string","enum":["passed","failed","unknown"]},"counts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["path","sha256","format","provenance","result","counts"]},"maxItems":100,"minItems":0}},"required":["id","state","sha256","providerDigest","expiresAt","reports"]},"maxItems":20,"minItems":0},"completeness":{"type":"string","enum":["complete","bounded"]},"adapter":{"type":"string","maxLength":40},"adapterVersion":{"const":"1"},"scope":{"type":"string","maxLength":200},"artifactSha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1}},"required":["id","verificationId","evidenceRevisionId","provenance","result","provider","repositoryId","runId","commitSha","state","observedAt","runAttempt","assertions","artifacts","completeness","adapter","adapterVersion","scope","artifactSha256","targets"]},"createProjectInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200,"minLength":1},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["workspaceId","name"]},"createProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Project"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectsInput":{"type":"object","additionalProperties":false,"properties":{"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"search":{"type":"string","maxLength":200},"lifecycle":{"type":"string","enum":["active","completed","archived"]},"visibility":{"type":"string","enum":["workspace","participants"]},"sort":{"type":"string","enum":["recent","name"]}},"required":["workspaceId"]},"listProjectsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Project"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"getProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Project"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectStatusInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"getProjectStatusOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Progress"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"getProjectProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/$defs/ProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"setProjectProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"policy":{"$ref":"#/$defs/ProgressPolicy"}},"required":["projectId","policy"]},"setProjectProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/$defs/ProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"getTrackerProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/$defs/ProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"setTrackerProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"policy":{"$ref":"#/$defs/ProgressPolicy"}},"required":["trackerId","policy"]},"setTrackerProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/$defs/ProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerReviewProgressInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"getTrackerReviewProgressOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Progress"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"reconcileTrackerReviewProgressInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"reconcileTrackerReviewProgressOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"relationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["applied","suggestion","conflict","unchanged"]},"recordVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["relationId","outcome"]},"maxItems":250,"minItems":0}},"required":["items"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"configureTrackerReviewRelationInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/ReviewAcceptanceTarget"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"acceptanceRequired":{"type":"boolean"},"expectedRelationVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackerId","recordId","target","acceptanceRequired","expectedRelationVersion"]},"configureTrackerReviewRelationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/ReviewAcceptanceTarget"},"actionId":{"type":["string","null"]},"acceptanceRequired":{"type":"boolean"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"expectedRecordVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","trackerId","recordId","sessionId","target","actionId","acceptanceRequired","version","expectedRecordVersion"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"removeTrackerReviewRelationInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedRelationVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackerId","recordId","sessionId","expectedRelationVersion"]},"removeTrackerReviewRelationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"type":"boolean"}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200,"minLength":1},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["projectId"]},"updateProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Project"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"archiveProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Project"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"restoreProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"restoreProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Project"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"completeProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"completeProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Project"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectResourcesInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"section":{"type":"string","enum":["work","reviews"]}},"required":["projectId"]},"listProjectResourcesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ResourceLink"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"linkProjectResourceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/Resource"},"pinnedRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"purpose":{"type":"string","maxLength":200}},"required":["projectId","target"]},"linkProjectResourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ResourceLink"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"unlinkProjectResourceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"linkId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","linkId"]},"unlinkProjectResourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectRelationshipsInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"listProjectRelationshipsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Relationship"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"linkProjectRelationshipInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"targetProjectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relation":{"type":"string","enum":["related","implements"]}},"required":["projectId","targetProjectId","relation"]},"linkProjectRelationshipOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Relationship"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"unlinkProjectRelationshipInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relationshipId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","relationshipId"]},"unlinkProjectRelationshipOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectParticipantsInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"listProjectParticipantsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ProjectParticipant"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"setProjectParticipantInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","actor","role"]},"setProjectParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ProjectParticipant"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"removeProjectParticipantInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"participantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","participantId"]},"removeProjectParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectExternalReferencesInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"listProjectExternalReferencesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ProjectExternalReference"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"linkProjectExternalReferenceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"url":{"type":"string","maxLength":2048},"purpose":{"type":"string","maxLength":200}},"required":["projectId","url"]},"linkProjectExternalReferenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ProjectExternalReference"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"unlinkProjectExternalReferenceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"referenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","referenceId"]},"unlinkProjectExternalReferenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectChangesInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"listProjectChangesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ProjectChange"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"linkProjectWorkspaceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","workspaceId"]},"linkProjectWorkspaceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"linked":{"const":true}},"required":["linked"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"validateTrackerContractInput":{"type":"object","additionalProperties":false,"properties":{"contract":{"$ref":"#/$defs/TrackerContract"}},"required":["contract"]},"validateTrackerContractOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"valid":{"const":true},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["valid","contentHash"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createTrackerInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/$defs/TrackerContract"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/$defs/TrackerParticipant"},"maxItems":100,"minItems":0}},"required":["workspaceId","contract"]},"createTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Tracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackersInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["workspaceId"]},"listTrackersOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Tracker"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"getTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Tracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/$defs/TrackerParticipant"},"maxItems":100,"minItems":0}},"required":["trackerId"]},"updateTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Tracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerSchemaInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"getTrackerSchemaOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerContract"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackerSchemasInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId"]},"listTrackerSchemasOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/TrackerSchemaVersion"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"previewTrackerSchemaInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/$defs/TrackerContract"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId","contract","expectedSchemaRevisionId"]},"previewTrackerSchemaOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerSchemaResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"applyTrackerSchemaInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/$defs/TrackerContract"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"allowBreaking":{"type":"boolean"},"migrationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mappings":{"type":"array","items":{"$ref":"#/$defs/TrackerMigrationMapping"},"maxItems":100,"minItems":0}},"required":["trackerId","contract","expectedSchemaRevisionId"]},"applyTrackerSchemaOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerSchemaResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"archiveTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Tracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"restoreTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"restoreTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Tracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"queryTrackerRecordsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"query":{"$ref":"#/$defs/Query"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","query"]},"queryTrackerRecordsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerQueryResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","recordId"]},"getTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Record"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackerRecordHistoryInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId","recordId"]},"listTrackerRecordHistoryOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Record"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["trackerId","schemaRevisionId","values"]},"createTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Record"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"patchTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"patch":{"$ref":"#/$defs/RecordPatch"}},"required":["trackerId","recordId","schemaRevisionId","patch"]},"patchTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Record"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","recordId"]},"archiveTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Record"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"bulkTrackerRecordsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"items":{"type":"array","items":{"$ref":"#/$defs/BulkItem"},"maxItems":100,"minItems":1},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","items","schemaRevisionId"]},"bulkTrackerRecordsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/BulkResult"},"maxItems":100,"minItems":1}},"required":["items"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"reorderTrackerRecordsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":1,"uniqueItems":true},"beforeRecordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"afterRecordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedOrderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"query":{"$ref":"#/$defs/Query"}},"required":["trackerId","recordIds","expectedOrderVersion"]},"reorderTrackerRecordsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"orderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["orderVersion"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackerViewsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId"]},"listTrackerViewsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/View"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","viewId"]},"getTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/View"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"definition":{"$ref":"#/$defs/TrackerViewDefinition"},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"}},"required":["trackerId","definition","visibility"]},"createTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/View"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"definition":{"$ref":"#/$defs/TrackerViewDefinition"},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"}},"required":["trackerId","viewId","definition"]},"updateTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/View"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"deleteTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","viewId"]},"deleteTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"TrackerPortabilityReceipt":{"type":"object","additionalProperties":false,"properties":{"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["preview","running","completed","cancelled","rejected"]},"processed":{"type":"integer","minimum":0,"maximum":1000},"total":{"type":"integer","minimum":0,"maximum":1000},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"mode":{"type":"string","enum":["clone","create-new","reconcile-existing","git","commentary"]},"diagnostics":{"type":"array","items":{"$ref":"#/$defs/TrackerDiagnostic"},"maxItems":10000,"minItems":0},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["tracker","schemas","records","views"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","id"]},"maxItems":1201,"minItems":0},"idMap":{"type":"object","additionalProperties":false,"properties":{"tracker":{"type":"object","maxProperties":1000,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"schemas":{"type":"object","maxProperties":100,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"records":{"type":"object","maxProperties":1000,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"views":{"type":"object","maxProperties":100,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}},"required":["tracker","schemas","records","views"]},"counts":{"type":"object","additionalProperties":false,"properties":{"records":{"type":"integer","minimum":0,"maximum":1000},"views":{"type":"integer","minimum":0,"maximum":100},"schemas":{"type":"integer","minimum":0,"maximum":100},"history":{"type":"integer","minimum":0,"maximum":5000}},"required":["records","views","schemas","history"]},"schemaDifferences":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["additive","breaking"]},"path":{"type":"string","maxLength":1024},"message":{"type":"string","maxLength":1024}},"required":["kind","path","message"]},"maxItems":1000,"minItems":0},"proposalState":{"type":"string","enum":["pending_git"]},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"binding":{"type":"object","additionalProperties":false,"properties":{"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","maxLength":1024},"bundleHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["sourceSnapshotId","commitSha","sourcePath","bundleHash"]}},"required":["previewId","trackerId","state","processed","total","expectedSchemaRevisionId","expectedVersion","mode","diagnostics","idMap","counts","schemaDifferences"]},"exportTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"exportTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/PortableTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"previewTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/$defs/PortableTracker"},"mode":{"type":"string","enum":["reconcile-existing"]},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","bundle","mode","expectedSchemaRevisionId"]},"previewTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"previewNewTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/$defs/PortableTracker"},"mode":{"type":"string","enum":["clone","create-new"]}},"required":["workspaceId","bundle","mode"]},"previewNewTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"applyTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"batchSize":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId","previewId","expectedSchemaRevisionId"]},"applyTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","previewId"]},"getTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"cancelTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","previewId"]},"cancelTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"previewTrackerAuthorityInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mode":{"type":"string","enum":["commentary","git"]},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","maxLength":1024},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","mode","expectedSchemaRevisionId"]},"previewTrackerAuthorityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"migrateTrackerAuthorityInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mode":{"type":"string","enum":["commentary","git"]},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","mode","previewId","expectedSchemaRevisionId"]},"migrateTrackerAuthorityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"stageTrackerProposalInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/$defs/PortableTracker"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","bundle","expectedSchemaRevisionId","baseCommitSha"]},"stageTrackerProposalOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"bindTrackerGitSourceInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sourceRef":{"type":"string","maxLength":200},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","sourceRef","baseCommitSha"]},"bindTrackerGitSourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerGitSourceResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"getTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerSyncStatus"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getTrackerSyncProposalInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","operationId"]},"getTrackerSyncProposalOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"base":{"$ref":"#/$defs/PortableTracker"},"proposed":{"$ref":"#/$defs/PortableTracker"}},"required":["base","proposed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"previewTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","baseCommitSha"]},"previewTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"applyTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","operationId","baseCommitSha"]},"applyTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"resolveTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"resolutions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"conflictId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"choose":{"type":"string","enum":["base","current","proposed"]}},"required":["conflictId","choose"]},"maxItems":10000,"minItems":0}},"required":["trackerId","operationId","resolutions"]},"resolveTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"retryTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","operationId","baseCommitSha"]},"retryTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"cancelTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","operationId"]},"cancelTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"refreshTrackerGitSourceInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"refreshTrackerGitSourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/TrackerGitSourceResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"PublicationManifest":{"type":"object","additionalProperties":false,"properties":{"sourceMappings":{"$ref":"#/$defs/PackageSourceMappings"},"kind":{"type":"string","enum":["commentary_review_package"]},"manifestVersion":{"const":1},"title":{"type":"string","maxLength":200},"entryPage":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"entryPageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"pages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"title":{"type":"string","maxLength":200},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":2097152}},"required":["id","path"]},"maxItems":10000,"minItems":1},"assets":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":26214400}},"required":["path"]},"maxItems":10000,"minItems":0},"trustTier":{"type":"string","enum":["static","executable_bundle"]},"purpose":{"type":"string","maxLength":2000},"navigation":{"type":"array","items":{"$ref":"#/$defs/PackageNavigation"},"maxItems":10000,"minItems":0},"relatedResources":{"type":"array","items":{"$ref":"#/$defs/PackageReference"},"maxItems":1000,"minItems":0},"sourceReferences":{"type":"array","items":{"$ref":"#/$defs/PackageSourceReference"},"maxItems":1000,"minItems":0},"evidenceReferences":{"type":"array","items":{"$ref":"#/$defs/PackageReference"},"maxItems":1000,"minItems":0},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":["kind","manifestVersion"]},"preparePackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bytes":{"type":"integer","minimum":1,"maximum":262144000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"manifest":{"$ref":"#/$defs/UploadManifest"}},"required":["workspaceId","bytes","sha256","manifest"]},"preparePackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Upload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getPackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["uploadId"]},"getPackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Upload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"transferPackageChunkInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"offset":{"type":"integer","minimum":0,"maximum":262144000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"contentBase64":{"type":"string","maxLength":5592408,"pattern":"^[A-Za-z0-9+/]*={0,2}$"}},"required":["uploadId","offset","sha256","contentBase64"]},"transferPackageChunkOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Upload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"finalizePackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["uploadId"]},"finalizePackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/UploadBundle"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"cancelPackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["uploadId"]},"cancelPackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Upload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"publishReviewPackageInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifest":{"$ref":"#/$defs/PublicationManifest"},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId"],"anyOf":[{"required":["uploadId"]},{"required":["manifest"]}]},"publishReviewPackageOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Package"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getReviewPackageInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId"]},"getReviewPackageOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Package"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listPackageRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["packageId"]},"listPackageRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Package"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"publishPackageRevisionInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifest":{"$ref":"#/$defs/PublicationManifest"},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":["packageId"]},"publishPackageRevisionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Package"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getPackageManifestInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId","revisionId"]},"getPackageManifestOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/PackageManifest"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"downloadPackageFileInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},"required":["packageId","revisionId","path"]},"downloadPackageFileOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/PackageFile"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"retryPackageIndexingInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId","revisionId"]},"retryPackageIndexingOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Package"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listPackageCommentsInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["packageId","path"]},"listPackageCommentsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"blockId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"status":{"type":"string","enum":["open","resolved"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"filePath":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"comments":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000},"authorType":{"type":"string","enum":["human","agent"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","bodyMarkdown","authorType","createdAt"]},"maxItems":100,"minItems":0},"hasOlderComments":{"type":"boolean"}},"required":["threadId","blockId","status","revisionId","filePath","comments","hasOlderComments"]},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"mutatePackageReviewCommentInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["create","reply","edit","resolve","reopen","reattach"]},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"blockId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"documentVersionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"nodeType":{"type":"string","maxLength":100},"sourceLineStart":{"type":"integer","minimum":1,"maximum":10000000},"sourceLineEnd":{"type":"integer","minimum":1,"maximum":10000000},"bodyMarkdown":{"type":"string","maxLength":20000,"minLength":1},"selectedText":{"type":"string","maxLength":4096},"prefixText":{"type":"string","maxLength":4096},"suffixText":{"type":"string","maxLength":4096},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["packageId","revisionId","action"],"allOf":[{"if":{"properties":{"action":{"const":"create"}}},"then":{"required":["path","blockId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"reply"}}},"then":{"required":["threadId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"edit"}}},"then":{"required":["threadId","commentId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"resolve"}}},"then":{"required":["threadId"]}},{"if":{"properties":{"action":{"const":"reopen"}}},"then":{"required":["threadId"]}},{"if":{"properties":{"action":{"const":"reattach"}}},"then":{"required":["threadId","documentVersionId","blockId"]}}],"x-commentary-max-body-bytes":262144,"x-commentary-action-scopes":{"resolve":["commentary.comments.status"],"reopen":["commentary.comments.status"],"reattach":["commentary.comments.status"]}},"mutatePackageReviewCommentOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"ok":{"const":true},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"status":{"type":"string","enum":["open","resolved"]}},"required":["ok","packageId","revisionId","threadId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId","title","targets"]},"createProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewSessionsInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["workspaceId"]},"listProjectReviewSessionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ReviewSession"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewCandidatesInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["workspaceId"]},"listProjectReviewCandidatesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"getProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"reviseProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1}},"required":["sessionId","targets"]},"reviseProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectReviewManifestInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId","revisionId"]},"getProjectReviewManifestOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewManifest"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["sessionId"]},"updateProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"archiveProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"restoreProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"restoreProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId"]},"listProjectReviewRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ReviewManifest"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewTargetsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId"]},"listProjectReviewTargetsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ReviewTargetState"},"maxItems":100,"minItems":0},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","total","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"setProjectReviewParticipantInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId","actor","role"]},"setProjectReviewParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"removeProjectReviewParticipantInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},"required":["sessionId","actor"]},"removeProjectReviewParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewDiscussionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId"]},"listProjectReviewDiscussionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/SessionDiscussion"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createProjectReviewDiscussionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000},"context":{"$ref":"#/$defs/ReviewArtifactContext"},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["sessionId","bodyMarkdown"]},"createProjectReviewDiscussionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewDiscussionCommentsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId","threadId"]},"listProjectReviewDiscussionCommentsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/SessionDiscussionComment"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"replyProjectReviewDiscussionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000}},"required":["sessionId","threadId","bodyMarkdown"]},"replyProjectReviewDiscussionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/ReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"requestProjectReviewInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"recipientIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":1},"messageMarkdown":{"type":"string","maxLength":32768}},"required":["sessionId","manifestSha256","recipientIds"]},"requestProjectReviewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["interactionId","interactionRevisionId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"requestProjectAcceptanceInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/$defs/ReviewAcceptanceTarget"},"consequence":{"type":"string","maxLength":2000,"minLength":1},"approvalPolicy":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["sessionId","target","consequence"]},"requestProjectAcceptanceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["interactionId","interactionRevisionId","actionId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectAcceptanceInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"after":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"getProjectAcceptanceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/ExactAcceptance"},"maxItems":25,"minItems":0},"nextAfter":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextAfter"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"publishSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"reference":{"$ref":"#/$defs/SourceReference"},"capturePolicy":{"type":"string","enum":["selected","full"]},"selectedPaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":1000,"minItems":0},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId","reference","capturePolicy"]},"publishSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"getSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getSourceTreeInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"path":{"type":"string","maxLength":1024}},"required":["snapshotId"]},"getSourceTreeOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/SourceFile"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]},"completeness":{"type":"string","enum":["pending","selected_only","complete","incomplete"]},"availability":{"type":"string","enum":["available","unavailable"]}},"required":["items","nextCursor","completeness","availability"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getSourceFileInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"startLine":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["snapshotId","path"]},"getSourceFileOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceFile"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getSourceCaptureInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"getSourceCaptureOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"retrySourceCaptureInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"retrySourceCaptureOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"cancelSourceCaptureInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"cancelSourceCaptureOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"purgeSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"purgeSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/SourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"exportSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["snapshotId"]},"exportSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"snapshot":{"$ref":"#/$defs/SourceSnapshot"},"files":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","maxLength":128},"kind":{"type":"string","enum":["file","directory","submodule"]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"capture":{"type":"string","enum":["retained","uncaptured"]},"base64":{"anyOf":[{"type":"string","maxLength":25165824},{"type":"null"}]}},"required":["path","blobHash","kind","sha256","capture","base64"]},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["snapshot","files","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"searchSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"query":{"type":"string","maxLength":200},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["snapshotId","query"]},"searchSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/SourceFile"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listSourceReviewThreadsInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["snapshotId","path"]},"listSourceReviewThreadsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/SourceReviewThread"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"mutateSourceReviewThreadInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["create","reply","edit","delete","status","reattach"]},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"blobHash":{"type":"string","maxLength":128},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bodyMarkdown":{"type":"string","maxLength":8192},"status":{"type":"string","enum":["open","resolved"]},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["snapshotId","action"]},"mutateSourceReviewThreadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"deleted":{"type":"boolean"}},"required":["threadId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"repairSourceReviewThreadsInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["snapshotId","sourceSnapshotId"]},"repairSourceReviewThreadsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"processed":{"type":"integer","minimum":0,"maximum":25},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["processed","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"attachProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"reportUploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"result":{"type":"string","enum":["passed","failed","unknown"]},"retentionDays":{"type":"integer","minimum":1,"maximum":365}},"required":["context","targets","result"]},"attachProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Evidence"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"acceptanceScope":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["context","expectedOutcomeMarkdown","acceptanceScope"]},"createProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Requirement"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"createProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["context","statementMarkdown","targets","evidenceRevisionIds"]},"createProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Claim"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId"]},"getProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"archived":{"type":"boolean"},"search":{"type":"string","maxLength":200}},"required":["context"]},"listProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/EvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"reportUploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"result":{"type":"string","enum":["passed","failed","unknown"]},"retentionDays":{"type":"integer","minimum":1,"maximum":365}},"required":["evidenceId"]},"updateProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":["evidenceId","archived"]},"archiveProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"requirementId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["requirementId"]},"getProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectRequirementsInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"archived":{"type":"boolean"},"search":{"type":"string","maxLength":200}},"required":["context"]},"listProjectRequirementsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/EvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"requirementId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200,"minLength":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"acceptanceScope":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["requirementId"]},"updateProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"requirementId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":["requirementId","archived"]},"archiveProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"claimId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["claimId"]},"getProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectClaimsInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"archived":{"type":"boolean"},"search":{"type":"string","maxLength":200}},"required":["context"]},"listProjectClaimsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/EvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"updateProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"claimId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["claimId"]},"updateProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"archiveProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"claimId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":["claimId","archived"]},"archiveProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/EvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectEvidenceHistoryInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["evidenceId"]},"listProjectEvidenceHistoryOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/EvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"linkProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["evidenceId","relations"]},"linkProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Evidence"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"readProjectEvidenceReportInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId"]},"readProjectEvidenceReportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"exportProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},"required":["context"]},"exportProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_evidence"},"contractVersion":{"const":1},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"result":{"type":"string","enum":["passed","failed","unknown"]},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"archived":{"type":"boolean"}},"required":["id","revisionId","kind","title","targets","relations","archived"]},"maxItems":100,"minItems":0}},"required":["kind","contractVersion","entries"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"importProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"bundle":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_evidence"},"contractVersion":{"const":1},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/$defs/ExactTarget"},"maxItems":100,"minItems":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/$defs/ExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"result":{"type":"string","enum":["passed","failed","unknown"]},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"archived":{"type":"boolean"}},"required":["id","revisionId","kind","title","targets","relations","archived"]},"maxItems":100,"minItems":0}},"required":["kind","contractVersion","entries"]}},"required":["context","bundle"]},"importProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/EvidenceRecord"},"maxItems":100,"minItems":0}},"required":["items"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"requestProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"artifacts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["id"]},"maxItems":20,"minItems":0}},"required":["evidenceId","evidenceRevisionId","provider","runId","commitSha"]},"requestProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Verification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"getProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId"]},"getProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Verification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"cancelProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId"]},"cancelProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Verification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"retryProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId"]},"retryProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/Verification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"downloadProjectVerificationArtifactInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId","contentId"]},"downloadProjectVerificationArtifactOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"base64":{"type":"string","maxLength":25165824},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"contentType":{"const":"application/zip"}},"required":["base64","sha256","contentType"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackerRenderersInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"listTrackerRenderersOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/RendererPublication"},"maxItems":100,"minItems":0},"limit":{"const":100}},"required":["items","limit"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"manageTrackerRendererPublicationInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["publish","revokePublication"]},"definition":{"$ref":"#/$defs/RendererDefinition"},"publicationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","action"],"anyOf":[{"properties":{"action":{"const":"publish"}},"required":["definition"],"not":{"required":["publicationId"]}},{"properties":{"action":{"const":"revokePublication"}},"required":["publicationId"],"not":{"required":["definition"]}}]},"manageTrackerRendererPublicationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"oneOf":[{"$ref":"#/$defs/RendererPublication"},{"type":"object","additionalProperties":false,"properties":{"revoked":{"const":true}},"required":["revoked"]}]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listPackageRenderersInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId"]},"listPackageRenderersOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/RendererPublication"},"maxItems":100,"minItems":0},"limit":{"const":100}},"required":["items","limit"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"managePackageRendererPublicationInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["publish","revokePublication"]},"definition":{"$ref":"#/$defs/RendererDefinition"},"publicationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId","action"],"anyOf":[{"properties":{"action":{"const":"publish"}},"required":["definition"],"not":{"required":["publicationId"]}},{"properties":{"action":{"const":"revokePublication"}},"required":["publicationId"],"not":{"required":["definition"]}}]},"managePackageRendererPublicationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"oneOf":[{"$ref":"#/$defs/RendererPublication"},{"type":"object","additionalProperties":false,"properties":{"revoked":{"const":true}},"required":["revoked"]}]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"comparePackageRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"fromRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"toRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"offset":{"type":"integer","minimum":0,"maximum":1000000}},"required":["packageId","fromRevisionId","toRevisionId"]},"comparePackageRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/RevisionImpact"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"compareProjectReviewRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"fromRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"toRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"offset":{"type":"integer","minimum":0,"maximum":1000000}},"required":["sessionId","fromRevisionId","toRevisionId"]},"compareProjectReviewRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/$defs/RevisionImpact"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectActivityInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["projectId"]},"listProjectActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["projectId"]},"listProjectFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackerActivityInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["trackerId"]},"listTrackerActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listTrackerFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["trackerId"]},"listTrackerFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listPackageActivityInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["packageId"]},"listPackageActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listPackageFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["packageId"]},"listPackageFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewActivityInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["sessionId"]},"listProjectReviewActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"listProjectReviewFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["sessionId"]},"listProjectReviewFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/$defs/Activity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]}}},"operations":[{"operationId":"createProject","family":"commentary_projects","action":"create","method":"POST","path":"/api/v1/projects","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"createProjectInput","outputSchema":"createProjectOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"listProjects","family":"commentary_projects","action":"list","method":"GET","path":"/api/v1/projects","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectsInput","outputSchema":"listProjectsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"getProject","family":"commentary_projects","action":"get","method":"GET","path":"/api/v1/projects/{projectId}","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"getProjectInput","outputSchema":"getProjectOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"getProjectStatus","family":"commentary_projects","action":"status","method":"GET","path":"/api/v1/projects/{projectId}/status","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"getProjectStatusInput","outputSchema":"getProjectStatusOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-025"},{"operationId":"getProjectProgressPolicy","family":"commentary_projects","action":"progress_policy_get","method":"GET","path":"/api/v1/projects/{projectId}/progress-policy","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"getProjectProgressPolicyInput","outputSchema":"getProjectProgressPolicyOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-025"},{"operationId":"setProjectProgressPolicy","family":"commentary_projects","action":"progress_policy_set","method":"PATCH","path":"/api/v1/projects/{projectId}/progress-policy","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"setProjectProgressPolicyInput","outputSchema":"setProjectProgressPolicyOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-025"},{"operationId":"getTrackerProgressPolicy","family":"commentary_trackers","action":"progress_policy_get","method":"GET","path":"/api/v1/trackers/{trackerId}/progress-policy","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"getTrackerProgressPolicyInput","outputSchema":"getTrackerProgressPolicyOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-025"},{"operationId":"setTrackerProgressPolicy","family":"commentary_trackers","action":"progress_policy_set","method":"PATCH","path":"/api/v1/trackers/{trackerId}/progress-policy","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"setTrackerProgressPolicyInput","outputSchema":"setTrackerProgressPolicyOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-025"},{"operationId":"getTrackerReviewProgress","family":"commentary_trackers","action":"review_progress","method":"GET","path":"/api/v1/trackers/{trackerId}/review-progress","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"getTrackerReviewProgressInput","outputSchema":"getTrackerReviewProgressOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-025"},{"operationId":"reconcileTrackerReviewProgress","family":"commentary_trackers","action":"review_progress_reconcile","method":"POST","path":"/api/v1/trackers/{trackerId}/review-progress/reconcile","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"reconcileTrackerReviewProgressInput","outputSchema":"reconcileTrackerReviewProgressOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-025"},{"operationId":"configureTrackerReviewRelation","family":"commentary_trackers","action":"review_relation_set","method":"POST","path":"/api/v1/trackers/{trackerId}/records/{recordId}/review-relations","scopes":["commentary.trackers.write","commentary.project_reviews.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"configureTrackerReviewRelationInput","outputSchema":"configureTrackerReviewRelationOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-025"},{"operationId":"removeTrackerReviewRelation","family":"commentary_trackers","action":"review_relation_remove","method":"DELETE","path":"/api/v1/trackers/{trackerId}/records/{recordId}/review-relations/{sessionId}","scopes":["commentary.trackers.write","commentary.project_reviews.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"removeTrackerReviewRelationInput","outputSchema":"removeTrackerReviewRelationOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-025"},{"operationId":"updateProject","family":"commentary_projects","action":"update","method":"PATCH","path":"/api/v1/projects/{projectId}","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"updateProjectInput","outputSchema":"updateProjectOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"archiveProject","family":"commentary_projects","action":"archive","method":"POST","path":"/api/v1/projects/{projectId}/archive","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"archiveProjectInput","outputSchema":"archiveProjectOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"restoreProject","family":"commentary_projects","action":"restore","method":"POST","path":"/api/v1/projects/{projectId}/restore","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"restoreProjectInput","outputSchema":"restoreProjectOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"completeProject","family":"commentary_projects","action":"complete","method":"POST","path":"/api/v1/projects/{projectId}/complete","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"completeProjectInput","outputSchema":"completeProjectOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"listProjectResources","family":"commentary_projects","action":"resources_list","method":"GET","path":"/api/v1/projects/{projectId}/resources","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectResourcesInput","outputSchema":"listProjectResourcesOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"linkProjectResource","family":"commentary_projects","action":"resources_link","method":"POST","path":"/api/v1/projects/{projectId}/resources","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"linkProjectResourceInput","outputSchema":"linkProjectResourceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"unlinkProjectResource","family":"commentary_projects","action":"resources_unlink","method":"DELETE","path":"/api/v1/projects/{projectId}/resources/{linkId}","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"unlinkProjectResourceInput","outputSchema":"unlinkProjectResourceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"listProjectRelationships","family":"commentary_projects","action":"relationships_list","method":"GET","path":"/api/v1/projects/{projectId}/relationships","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectRelationshipsInput","outputSchema":"listProjectRelationshipsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"linkProjectRelationship","family":"commentary_projects","action":"relationships_link","method":"POST","path":"/api/v1/projects/{projectId}/relationships","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"linkProjectRelationshipInput","outputSchema":"linkProjectRelationshipOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"unlinkProjectRelationship","family":"commentary_projects","action":"relationships_unlink","method":"DELETE","path":"/api/v1/projects/{projectId}/relationships/{relationshipId}","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"unlinkProjectRelationshipInput","outputSchema":"unlinkProjectRelationshipOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"listProjectParticipants","family":"commentary_projects","action":"participants_list","method":"GET","path":"/api/v1/projects/{projectId}/participants","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectParticipantsInput","outputSchema":"listProjectParticipantsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"setProjectParticipant","family":"commentary_projects","action":"participants_set","method":"POST","path":"/api/v1/projects/{projectId}/participants","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"setProjectParticipantInput","outputSchema":"setProjectParticipantOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"removeProjectParticipant","family":"commentary_projects","action":"participants_remove","method":"DELETE","path":"/api/v1/projects/{projectId}/participants/{participantId}","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"removeProjectParticipantInput","outputSchema":"removeProjectParticipantOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"listProjectExternalReferences","family":"commentary_projects","action":"references_list","method":"GET","path":"/api/v1/projects/{projectId}/references","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectExternalReferencesInput","outputSchema":"listProjectExternalReferencesOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"linkProjectExternalReference","family":"commentary_projects","action":"references_link","method":"POST","path":"/api/v1/projects/{projectId}/references","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"linkProjectExternalReferenceInput","outputSchema":"linkProjectExternalReferenceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"unlinkProjectExternalReference","family":"commentary_projects","action":"references_unlink","method":"DELETE","path":"/api/v1/projects/{projectId}/references/{referenceId}","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"unlinkProjectExternalReferenceInput","outputSchema":"unlinkProjectExternalReferenceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"listProjectChanges","family":"commentary_projects","action":"history","method":"GET","path":"/api/v1/projects/{projectId}/history","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectChangesInput","outputSchema":"listProjectChangesOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-007"},{"operationId":"linkProjectWorkspace","family":"commentary_projects","action":"workspaces_link","method":"POST","path":"/api/v1/projects/{projectId}/workspaces","scopes":["commentary.projects.write"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"linkProjectWorkspaceInput","outputSchema":"linkProjectWorkspaceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-007"},{"operationId":"validateTrackerContract","family":"commentary_trackers","action":"validate","method":"POST","path":"/api/v1/trackers/validate","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"validateTrackerContractInput","outputSchema":"validateTrackerContractOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"createTracker","family":"commentary_trackers","action":"create","method":"POST","path":"/api/v1/trackers","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"createTrackerInput","outputSchema":"createTrackerOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"listTrackers","family":"commentary_trackers","action":"list","method":"GET","path":"/api/v1/trackers","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"listTrackersInput","outputSchema":"listTrackersOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTracker","family":"commentary_trackers","action":"get","method":"GET","path":"/api/v1/trackers/{trackerId}","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"getTrackerInput","outputSchema":"getTrackerOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"updateTracker","family":"commentary_trackers","action":"update","method":"PATCH","path":"/api/v1/trackers/{trackerId}","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"updateTrackerInput","outputSchema":"updateTrackerOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTrackerSchema","family":"commentary_trackers","action":"schema_get","method":"GET","path":"/api/v1/trackers/{trackerId}/schema","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"getTrackerSchemaInput","outputSchema":"getTrackerSchemaOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"listTrackerSchemas","family":"commentary_trackers","action":"schemas_list","method":"GET","path":"/api/v1/trackers/{trackerId}/schemas","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"listTrackerSchemasInput","outputSchema":"listTrackerSchemasOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"previewTrackerSchema","family":"commentary_trackers","action":"schema_preview","method":"POST","path":"/api/v1/trackers/{trackerId}/schema/preview","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"previewTrackerSchemaInput","outputSchema":"previewTrackerSchemaOutput","ifMatch":true,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"applyTrackerSchema","family":"commentary_trackers","action":"schema_apply","method":"POST","path":"/api/v1/trackers/{trackerId}/schema/apply","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"applyTrackerSchemaInput","outputSchema":"applyTrackerSchemaOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"archiveTracker","family":"commentary_trackers","action":"archive","method":"POST","path":"/api/v1/trackers/{trackerId}/archive","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"archiveTrackerInput","outputSchema":"archiveTrackerOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"restoreTracker","family":"commentary_trackers","action":"restore","method":"POST","path":"/api/v1/trackers/{trackerId}/restore","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"restoreTrackerInput","outputSchema":"restoreTrackerOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"queryTrackerRecords","family":"commentary_trackers","action":"records_query","method":"POST","path":"/api/v1/trackers/{trackerId}/records/query","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"queryTrackerRecordsInput","outputSchema":"queryTrackerRecordsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTrackerRecord","family":"commentary_trackers","action":"records_get","method":"GET","path":"/api/v1/trackers/{trackerId}/records/{recordId}","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"getTrackerRecordInput","outputSchema":"getTrackerRecordOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"listTrackerRecordHistory","family":"commentary_trackers","action":"records_history","method":"GET","path":"/api/v1/trackers/{trackerId}/records/{recordId}/history","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"listTrackerRecordHistoryInput","outputSchema":"listTrackerRecordHistoryOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"createTrackerRecord","family":"commentary_trackers","action":"records_create","method":"POST","path":"/api/v1/trackers/{trackerId}/records","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"createTrackerRecordInput","outputSchema":"createTrackerRecordOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"patchTrackerRecord","family":"commentary_trackers","action":"records_patch","method":"PATCH","path":"/api/v1/trackers/{trackerId}/records/{recordId}","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"patchTrackerRecordInput","outputSchema":"patchTrackerRecordOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"archiveTrackerRecord","family":"commentary_trackers","action":"records_archive","method":"POST","path":"/api/v1/trackers/{trackerId}/records/{recordId}/archive","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"archiveTrackerRecordInput","outputSchema":"archiveTrackerRecordOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"bulkTrackerRecords","family":"commentary_trackers","action":"records_bulk","method":"POST","path":"/api/v1/trackers/{trackerId}/records/bulk","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"bulkTrackerRecordsInput","outputSchema":"bulkTrackerRecordsOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"reorderTrackerRecords","family":"commentary_trackers","action":"records_reorder","method":"POST","path":"/api/v1/trackers/{trackerId}/records/reorder","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"reorderTrackerRecordsInput","outputSchema":"reorderTrackerRecordsOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"listTrackerViews","family":"commentary_trackers","action":"views_list","method":"GET","path":"/api/v1/trackers/{trackerId}/views","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"listTrackerViewsInput","outputSchema":"listTrackerViewsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTrackerView","family":"commentary_trackers","action":"views_get","method":"GET","path":"/api/v1/trackers/{trackerId}/views/{viewId}","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"getTrackerViewInput","outputSchema":"getTrackerViewOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"createTrackerView","family":"commentary_trackers","action":"views_create","method":"POST","path":"/api/v1/trackers/{trackerId}/views","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"createTrackerViewInput","outputSchema":"createTrackerViewOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"updateTrackerView","family":"commentary_trackers","action":"views_update","method":"PATCH","path":"/api/v1/trackers/{trackerId}/views/{viewId}","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"updateTrackerViewInput","outputSchema":"updateTrackerViewOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"deleteTrackerView","family":"commentary_trackers","action":"views_delete","method":"DELETE","path":"/api/v1/trackers/{trackerId}/views/{viewId}","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.native_views"],"inputSchema":"deleteTrackerViewInput","outputSchema":"deleteTrackerViewOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"exportTracker","family":"commentary_trackers","action":"export","method":"GET","path":"/api/v1/trackers/{trackerId}/export","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"exportTrackerInput","outputSchema":"exportTrackerOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"previewTrackerImport","family":"commentary_trackers","action":"import_preview","method":"POST","path":"/api/v1/trackers/{trackerId}/import/preview","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"previewTrackerImportInput","outputSchema":"previewTrackerImportOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"previewNewTrackerImport","family":"commentary_trackers","action":"import_new_preview","method":"POST","path":"/api/v1/trackers/import/preview","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"previewNewTrackerImportInput","outputSchema":"previewNewTrackerImportOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"applyTrackerImport","family":"commentary_trackers","action":"import_apply","method":"POST","path":"/api/v1/trackers/{trackerId}/import/apply","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"applyTrackerImportInput","outputSchema":"applyTrackerImportOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTrackerImport","family":"commentary_trackers","action":"import_get","method":"GET","path":"/api/v1/trackers/{trackerId}/import/{previewId}","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"getTrackerImportInput","outputSchema":"getTrackerImportOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"cancelTrackerImport","family":"commentary_trackers","action":"import_cancel","method":"POST","path":"/api/v1/trackers/{trackerId}/import/{previewId}/cancel","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"cancelTrackerImportInput","outputSchema":"cancelTrackerImportOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"previewTrackerAuthority","family":"commentary_trackers","action":"authority_preview","method":"POST","path":"/api/v1/trackers/{trackerId}/authority/preview","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability","trackers.git_source"],"inputSchema":"previewTrackerAuthorityInput","outputSchema":"previewTrackerAuthorityOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"migrateTrackerAuthority","family":"commentary_trackers","action":"authority_migrate","method":"POST","path":"/api/v1/trackers/{trackerId}/authority","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability","trackers.git_source"],"inputSchema":"migrateTrackerAuthorityInput","outputSchema":"migrateTrackerAuthorityOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"stageTrackerProposal","family":"commentary_trackers","action":"proposal_stage","method":"POST","path":"/api/v1/trackers/{trackerId}/proposals","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.portability"],"inputSchema":"stageTrackerProposalInput","outputSchema":"stageTrackerProposalOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"bindTrackerGitSource","family":"commentary_trackers","action":"source_bind","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/source","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"bindTrackerGitSourceInput","outputSchema":"bindTrackerGitSourceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTrackerSync","family":"commentary_trackers","action":"sync_status","method":"GET","path":"/api/v1/trackers/{trackerId}/sync","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"getTrackerSyncInput","outputSchema":"getTrackerSyncOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"getTrackerSyncProposal","family":"commentary_trackers","action":"sync_proposal","method":"GET","path":"/api/v1/trackers/{trackerId}/sync/proposals/{operationId}","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"getTrackerSyncProposalInput","outputSchema":"getTrackerSyncProposalOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"previewTrackerSync","family":"commentary_trackers","action":"sync_preview","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/preview","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"previewTrackerSyncInput","outputSchema":"previewTrackerSyncOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"applyTrackerSync","family":"commentary_trackers","action":"sync_apply","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/apply","scopes":["commentary.trackers.writeback","commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_writeback","trackers.git_source"],"inputSchema":"applyTrackerSyncInput","outputSchema":"applyTrackerSyncOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"resolveTrackerSync","family":"commentary_trackers","action":"sync_resolve","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/resolve","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"resolveTrackerSyncInput","outputSchema":"resolveTrackerSyncOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"retryTrackerSync","family":"commentary_trackers","action":"sync_retry","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/retry","scopes":["commentary.trackers.writeback","commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_writeback","trackers.git_source"],"inputSchema":"retryTrackerSyncInput","outputSchema":"retryTrackerSyncOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"cancelTrackerSync","family":"commentary_trackers","action":"sync_cancel","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/cancel","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"cancelTrackerSyncInput","outputSchema":"cancelTrackerSyncOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"refreshTrackerGitSource","family":"commentary_trackers","action":"source_refresh","method":"POST","path":"/api/v1/trackers/{trackerId}/sync/refresh","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.git_source"],"inputSchema":"refreshTrackerGitSourceInput","outputSchema":"refreshTrackerGitSourceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-009/010/026/027"},{"operationId":"preparePackageUpload","family":"review_package","action":"uploads_prepare","method":"POST","path":"/api/v1/review-packages/uploads","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"preparePackageUploadInput","outputSchema":"preparePackageUploadOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"getPackageUpload","family":"review_package","action":"uploads_status","method":"GET","path":"/api/v1/review-packages/uploads/{uploadId}","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"getPackageUploadInput","outputSchema":"getPackageUploadOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-005/014"},{"operationId":"transferPackageChunk","family":"review_package","action":"uploads_chunk","method":"POST","path":"/api/v1/review-packages/uploads/{uploadId}/chunks","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"transferPackageChunkInput","outputSchema":"transferPackageChunkOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"finalizePackageUpload","family":"review_package","action":"uploads_finalize","method":"POST","path":"/api/v1/review-packages/uploads/{uploadId}/finalize","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"finalizePackageUploadInput","outputSchema":"finalizePackageUploadOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"cancelPackageUpload","family":"review_package","action":"uploads_cancel","method":"DELETE","path":"/api/v1/review-packages/uploads/{uploadId}","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"cancelPackageUploadInput","outputSchema":"cancelPackageUploadOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"publishReviewPackage","family":"review_package","action":"publish","method":"POST","path":"/api/v1/review-packages","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"publishReviewPackageInput","outputSchema":"publishReviewPackageOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"getReviewPackage","family":"review_package","action":"get","method":"GET","path":"/api/v1/review-packages/{packageId}","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"getReviewPackageInput","outputSchema":"getReviewPackageOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-005/014"},{"operationId":"listPackageRevisions","family":"review_package","action":"revisions_list","method":"GET","path":"/api/v1/review-packages/{packageId}/revisions","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"listPackageRevisionsInput","outputSchema":"listPackageRevisionsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-005/014"},{"operationId":"publishPackageRevision","family":"review_package","action":"revisions_publish","method":"POST","path":"/api/v1/review-packages/{packageId}/revisions","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"publishPackageRevisionInput","outputSchema":"publishPackageRevisionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"getPackageManifest","family":"review_package","action":"manifest_get","method":"GET","path":"/api/v1/review-packages/{packageId}/revisions/{revisionId}/manifest","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"getPackageManifestInput","outputSchema":"getPackageManifestOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-005/014"},{"operationId":"downloadPackageFile","family":"review_package","action":"files_download","method":"GET","path":"/api/v1/review-packages/{packageId}/revisions/{revisionId}/files","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"downloadPackageFileInput","outputSchema":"downloadPackageFileOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-005/014"},{"operationId":"retryPackageIndexing","family":"review_package","action":"indexing_retry","method":"POST","path":"/api/v1/review-packages/{packageId}/revisions/{revisionId}/retry","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"retryPackageIndexingInput","outputSchema":"retryPackageIndexingOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-005/014"},{"operationId":"listPackageComments","family":"review_package","action":"comments","method":"GET","path":"/api/v1/review-packages/{packageId}/comments","scopes":["commentary.review_packages.read","commentary.comments.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"listPackageCommentsInput","outputSchema":"listPackageCommentsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-032"},{"operationId":"mutatePackageReviewComment","family":"review_package","action":"comments_mutate","method":"POST","path":"/api/v1/review-packages/{packageId}/revisions/{revisionId}/comments","scopes":["commentary.review_packages.read","commentary.comments.write"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"mutatePackageReviewCommentInput","outputSchema":"mutatePackageReviewCommentOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"createProjectReviewSession","family":"project_review_session","action":"create","method":"POST","path":"/api/v1/project-review-sessions","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"createProjectReviewSessionInput","outputSchema":"createProjectReviewSessionOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"listProjectReviewSessions","family":"project_review_session","action":"list","method":"GET","path":"/api/v1/project-review-sessions","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewSessionsInput","outputSchema":"listProjectReviewSessionsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"listProjectReviewCandidates","family":"project_review_session","action":"candidates","method":"GET","path":"/api/v1/project-review-sessions/candidates","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewCandidatesInput","outputSchema":"listProjectReviewCandidatesOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"getProjectReviewSession","family":"project_review_session","action":"get","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"getProjectReviewSessionInput","outputSchema":"getProjectReviewSessionOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"reviseProjectReviewSession","family":"project_review_session","action":"revise","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/revisions","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"reviseProjectReviewSessionInput","outputSchema":"reviseProjectReviewSessionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"getProjectReviewManifest","family":"project_review_session","action":"manifest_get","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/revisions/{revisionId}/manifest","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"getProjectReviewManifestInput","outputSchema":"getProjectReviewManifestOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"updateProjectReviewSession","family":"project_review_session","action":"update","method":"PATCH","path":"/api/v1/project-review-sessions/{sessionId}","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"updateProjectReviewSessionInput","outputSchema":"updateProjectReviewSessionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"archiveProjectReviewSession","family":"project_review_session","action":"archive","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/archive","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"archiveProjectReviewSessionInput","outputSchema":"archiveProjectReviewSessionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"restoreProjectReviewSession","family":"project_review_session","action":"restore","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/restore","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"restoreProjectReviewSessionInput","outputSchema":"restoreProjectReviewSessionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"listProjectReviewRevisions","family":"project_review_session","action":"revisions_list","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/revisions","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewRevisionsInput","outputSchema":"listProjectReviewRevisionsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"listProjectReviewTargets","family":"project_review_session","action":"targets_list","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/targets","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewTargetsInput","outputSchema":"listProjectReviewTargetsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"setProjectReviewParticipant","family":"project_review_session","action":"participant_set","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/participants","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"setProjectReviewParticipantInput","outputSchema":"setProjectReviewParticipantOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"removeProjectReviewParticipant","family":"project_review_session","action":"participant_remove","method":"DELETE","path":"/api/v1/project-review-sessions/{sessionId}/participants","scopes":["commentary.project_reviews.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"removeProjectReviewParticipantInput","outputSchema":"removeProjectReviewParticipantOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"listProjectReviewDiscussion","family":"project_review_session","action":"discussion_list","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/discussion","scopes":["commentary.project_reviews.read","commentary.comments.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewDiscussionInput","outputSchema":"listProjectReviewDiscussionOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"createProjectReviewDiscussion","family":"project_review_session","action":"discussion_create","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/discussion","scopes":["commentary.project_reviews.write","commentary.comments.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"createProjectReviewDiscussionInput","outputSchema":"createProjectReviewDiscussionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"listProjectReviewDiscussionComments","family":"project_review_session","action":"discussion_comments","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/discussion/{threadId}/comments","scopes":["commentary.project_reviews.read","commentary.comments.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewDiscussionCommentsInput","outputSchema":"listProjectReviewDiscussionCommentsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"replyProjectReviewDiscussion","family":"project_review_session","action":"discussion_reply","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/discussion/{threadId}/comments","scopes":["commentary.project_reviews.write","commentary.comments.write"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"replyProjectReviewDiscussionInput","outputSchema":"replyProjectReviewDiscussionOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"requestProjectReview","family":"project_review_session","action":"request_review","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/review-requests","scopes":["commentary.project_reviews.write","commentary.interactions.create"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"requestProjectReviewInput","outputSchema":"requestProjectReviewOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"requestProjectAcceptance","family":"project_review_session","action":"acceptance_request","method":"POST","path":"/api/v1/project-review-sessions/{sessionId}/acceptance-requests","scopes":["commentary.project_reviews.write","commentary.interactions.create"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"requestProjectAcceptanceInput","outputSchema":"requestProjectAcceptanceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-016/023"},{"operationId":"getProjectAcceptance","family":"project_review_session","action":"acceptance_get","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/acceptance","scopes":["commentary.project_reviews.read","commentary.interactions.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"getProjectAcceptanceInput","outputSchema":"getProjectAcceptanceOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-016/023"},{"operationId":"publishSourceSnapshot","family":"codebase_review","action":"publish","method":"POST","path":"/api/v1/source-snapshots","scopes":["commentary.source_snapshots.write"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"publishSourceSnapshotInput","outputSchema":"publishSourceSnapshotOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-018/019"},{"operationId":"getSourceSnapshot","family":"codebase_review","action":"get","method":"GET","path":"/api/v1/source-snapshots/{snapshotId}","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"getSourceSnapshotInput","outputSchema":"getSourceSnapshotOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"getSourceTree","family":"codebase_review","action":"tree","method":"GET","path":"/api/v1/source-snapshots/{snapshotId}/tree","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"getSourceTreeInput","outputSchema":"getSourceTreeOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"getSourceFile","family":"codebase_review","action":"file","method":"GET","path":"/api/v1/source-snapshots/{snapshotId}/file","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"getSourceFileInput","outputSchema":"getSourceFileOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"getSourceCapture","family":"codebase_review","action":"capture_status","method":"GET","path":"/api/v1/source-snapshots/{snapshotId}/capture","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"getSourceCaptureInput","outputSchema":"getSourceCaptureOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"retrySourceCapture","family":"codebase_review","action":"capture_retry","method":"POST","path":"/api/v1/source-snapshots/{snapshotId}/capture/retry","scopes":["commentary.source_snapshots.write"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"retrySourceCaptureInput","outputSchema":"retrySourceCaptureOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-018/019"},{"operationId":"cancelSourceCapture","family":"codebase_review","action":"capture_cancel","method":"POST","path":"/api/v1/source-snapshots/{snapshotId}/capture/cancel","scopes":["commentary.source_snapshots.write"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"cancelSourceCaptureInput","outputSchema":"cancelSourceCaptureOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-018/019"},{"operationId":"purgeSourceSnapshot","family":"codebase_review","action":"purge","method":"DELETE","path":"/api/v1/source-snapshots/{snapshotId}","scopes":["commentary.source_snapshots.write"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"purgeSourceSnapshotInput","outputSchema":"purgeSourceSnapshotOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-018/019"},{"operationId":"exportSourceSnapshot","family":"codebase_review","action":"export","method":"GET","path":"/api/v1/source-snapshots/{snapshotId}/export","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"exportSourceSnapshotInput","outputSchema":"exportSourceSnapshotOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"searchSourceSnapshot","family":"codebase_review","action":"search","method":"POST","path":"/api/v1/source-snapshots/{snapshotId}/search","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"searchSourceSnapshotInput","outputSchema":"searchSourceSnapshotOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"listSourceReviewThreads","family":"codebase_review","action":"threads_list","method":"GET","path":"/api/v1/source-snapshots/{snapshotId}/threads","scopes":["commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"listSourceReviewThreadsInput","outputSchema":"listSourceReviewThreadsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-018/019"},{"operationId":"mutateSourceReviewThread","family":"codebase_review","action":"threads_mutate","method":"POST","path":"/api/v1/source-snapshots/{snapshotId}/threads","scopes":["commentary.comments.write","commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"mutateSourceReviewThreadInput","outputSchema":"mutateSourceReviewThreadOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-018/019"},{"operationId":"repairSourceReviewThreads","family":"codebase_review","action":"threads_repair","method":"POST","path":"/api/v1/source-snapshots/{snapshotId}/repair","scopes":["commentary.comments.write","commentary.source_snapshots.read"],"feature":"review.source_explorer","additionalFeatures":[],"inputSchema":"repairSourceReviewThreadsInput","outputSchema":"repairSourceReviewThreadsOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-018/019"},{"operationId":"attachProjectEvidence","family":"project_evidence","action":"attach","method":"POST","path":"/api/v1/project-evidence","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"attachProjectEvidenceInput","outputSchema":"attachProjectEvidenceOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"createProjectRequirement","family":"project_evidence","action":"requirements_create","method":"POST","path":"/api/v1/project-evidence/requirements","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"createProjectRequirementInput","outputSchema":"createProjectRequirementOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"createProjectClaim","family":"project_evidence","action":"claims_create","method":"POST","path":"/api/v1/project-evidence/claims","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"createProjectClaimInput","outputSchema":"createProjectClaimOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"getProjectEvidence","family":"project_evidence","action":"evidence_get","method":"GET","path":"/api/v1/project-evidence/{evidenceId}","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"getProjectEvidenceInput","outputSchema":"getProjectEvidenceOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"listProjectEvidence","family":"project_evidence","action":"list","method":"GET","path":"/api/v1/project-evidence","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"listProjectEvidenceInput","outputSchema":"listProjectEvidenceOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"updateProjectEvidence","family":"project_evidence","action":"evidence_update","method":"PATCH","path":"/api/v1/project-evidence/{evidenceId}","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"updateProjectEvidenceInput","outputSchema":"updateProjectEvidenceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"archiveProjectEvidence","family":"project_evidence","action":"evidence_archive","method":"POST","path":"/api/v1/project-evidence/{evidenceId}/archive","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"archiveProjectEvidenceInput","outputSchema":"archiveProjectEvidenceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"getProjectRequirement","family":"project_evidence","action":"requirement_get","method":"GET","path":"/api/v1/project-evidence/requirements/{requirementId}","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"getProjectRequirementInput","outputSchema":"getProjectRequirementOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"listProjectRequirements","family":"project_evidence","action":"requirements_list","method":"GET","path":"/api/v1/project-evidence/requirements","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"listProjectRequirementsInput","outputSchema":"listProjectRequirementsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"updateProjectRequirement","family":"project_evidence","action":"requirement_update","method":"PATCH","path":"/api/v1/project-evidence/requirements/{requirementId}","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"updateProjectRequirementInput","outputSchema":"updateProjectRequirementOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"archiveProjectRequirement","family":"project_evidence","action":"requirement_archive","method":"POST","path":"/api/v1/project-evidence/requirements/{requirementId}/archive","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"archiveProjectRequirementInput","outputSchema":"archiveProjectRequirementOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"getProjectClaim","family":"project_evidence","action":"claim_get","method":"GET","path":"/api/v1/project-evidence/claims/{claimId}","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"getProjectClaimInput","outputSchema":"getProjectClaimOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"listProjectClaims","family":"project_evidence","action":"claims_list","method":"GET","path":"/api/v1/project-evidence/claims","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"listProjectClaimsInput","outputSchema":"listProjectClaimsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"updateProjectClaim","family":"project_evidence","action":"claim_update","method":"PATCH","path":"/api/v1/project-evidence/claims/{claimId}","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"updateProjectClaimInput","outputSchema":"updateProjectClaimOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"archiveProjectClaim","family":"project_evidence","action":"claim_archive","method":"POST","path":"/api/v1/project-evidence/claims/{claimId}/archive","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"archiveProjectClaimInput","outputSchema":"archiveProjectClaimOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"listProjectEvidenceHistory","family":"project_evidence","action":"history","method":"GET","path":"/api/v1/project-evidence/{evidenceId}/revisions","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"listProjectEvidenceHistoryInput","outputSchema":"listProjectEvidenceHistoryOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"linkProjectEvidence","family":"project_evidence","action":"link","method":"POST","path":"/api/v1/project-evidence/{evidenceId}/relations","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"linkProjectEvidenceInput","outputSchema":"linkProjectEvidenceOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"readProjectEvidenceReport","family":"project_evidence","action":"report","method":"GET","path":"/api/v1/project-evidence/{evidenceId}/report","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"readProjectEvidenceReportInput","outputSchema":"readProjectEvidenceReportOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"exportProjectEvidence","family":"project_evidence","action":"export","method":"GET","path":"/api/v1/project-evidence/export","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"exportProjectEvidenceInput","outputSchema":"exportProjectEvidenceOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"importProjectEvidence","family":"project_evidence","action":"import","method":"POST","path":"/api/v1/project-evidence/import","scopes":["commentary.evidence.write"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"importProjectEvidenceInput","outputSchema":"importProjectEvidenceOutput","ifMatch":false,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"requestProjectVerification","family":"project_evidence","action":"verification_request","method":"POST","path":"/api/v1/project-evidence/{evidenceId}/verification","scopes":["commentary.evidence.verify"],"feature":"projects.evidence.basic","additionalFeatures":["project_reviews.advanced_evidence"],"inputSchema":"requestProjectVerificationInput","outputSchema":"requestProjectVerificationOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"getProjectVerification","family":"project_evidence","action":"verification_get","method":"GET","path":"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"getProjectVerificationInput","outputSchema":"getProjectVerificationOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"cancelProjectVerification","family":"project_evidence","action":"verification_cancel","method":"POST","path":"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}/cancel","scopes":["commentary.evidence.verify"],"feature":"projects.evidence.basic","additionalFeatures":["project_reviews.advanced_evidence"],"inputSchema":"cancelProjectVerificationInput","outputSchema":"cancelProjectVerificationOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"retryProjectVerification","family":"project_evidence","action":"verification_retry","method":"POST","path":"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}/retry","scopes":["commentary.evidence.verify"],"feature":"projects.evidence.basic","additionalFeatures":["project_reviews.advanced_evidence"],"inputSchema":"retryProjectVerificationInput","outputSchema":"retryProjectVerificationOutput","ifMatch":true,"idempotencyKey":true,"status":"implemented","owner":"CP-021/022"},{"operationId":"downloadProjectVerificationArtifact","family":"project_evidence","action":"verification_artifact","method":"GET","path":"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}/artifacts/{contentId}","scopes":["commentary.evidence.read"],"feature":"projects.evidence.basic","additionalFeatures":[],"inputSchema":"downloadProjectVerificationArtifactInput","outputSchema":"downloadProjectVerificationArtifactOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-021/022"},{"operationId":"listTrackerRenderers","family":"commentary_trackers","action":"renderers_list","method":"GET","path":"/api/v1/trackers/{trackerId}/renderers","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":["trackers.custom_renderer"],"inputSchema":"listTrackerRenderersInput","outputSchema":"listTrackerRenderersOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"manageTrackerRendererPublication","family":"commentary_trackers","action":"renderers_manage","method":"POST","path":"/api/v1/trackers/{trackerId}/renderers","scopes":["commentary.trackers.write"],"feature":"trackers.agent_api","additionalFeatures":["trackers.custom_renderer"],"inputSchema":"manageTrackerRendererPublicationInput","outputSchema":"manageTrackerRendererPublicationOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"listPackageRenderers","family":"review_package","action":"renderers_list","method":"GET","path":"/api/v1/review-packages/{packageId}/renderers","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":["trackers.custom_renderer"],"inputSchema":"listPackageRenderersInput","outputSchema":"listPackageRenderersOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"managePackageRendererPublication","family":"review_package","action":"renderers_manage","method":"POST","path":"/api/v1/review-packages/{packageId}/renderers","scopes":["commentary.review_packages.write"],"feature":"review_packages.agent_api","additionalFeatures":["trackers.custom_renderer"],"inputSchema":"managePackageRendererPublicationInput","outputSchema":"managePackageRendererPublicationOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"comparePackageRevisions","family":"review_package","action":"impact_compare","method":"GET","path":"/api/v1/review-packages/{packageId}/impact","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":["project_reviews.advanced_impact"],"inputSchema":"comparePackageRevisionsInput","outputSchema":"comparePackageRevisionsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"compareProjectReviewRevisions","family":"project_review_session","action":"impact_compare","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/impact","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":["project_reviews.advanced_impact"],"inputSchema":"compareProjectReviewRevisionsInput","outputSchema":"compareProjectReviewRevisionsOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-033"},{"operationId":"listProjectActivity","family":"commentary_projects","action":"activity","method":"GET","path":"/api/v1/projects/{projectId}/activity","scopes":["commentary.projects.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectActivityInput","outputSchema":"listProjectActivityOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listProjectFeedback","family":"commentary_projects","action":"feedback","method":"GET","path":"/api/v1/projects/{projectId}/feedback","scopes":["commentary.projects.read","commentary.comments.read"],"feature":"projects.agent_api","additionalFeatures":[],"inputSchema":"listProjectFeedbackInput","outputSchema":"listProjectFeedbackOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listTrackerActivity","family":"commentary_trackers","action":"activity","method":"GET","path":"/api/v1/trackers/{trackerId}/activity","scopes":["commentary.trackers.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"listTrackerActivityInput","outputSchema":"listTrackerActivityOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listTrackerFeedback","family":"commentary_trackers","action":"feedback","method":"GET","path":"/api/v1/trackers/{trackerId}/feedback","scopes":["commentary.trackers.read","commentary.comments.read"],"feature":"trackers.agent_api","additionalFeatures":[],"inputSchema":"listTrackerFeedbackInput","outputSchema":"listTrackerFeedbackOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listPackageActivity","family":"review_package","action":"activity","method":"GET","path":"/api/v1/review-packages/{packageId}/activity","scopes":["commentary.review_packages.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"listPackageActivityInput","outputSchema":"listPackageActivityOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listPackageFeedback","family":"review_package","action":"feedback","method":"GET","path":"/api/v1/review-packages/{packageId}/feedback","scopes":["commentary.review_packages.read","commentary.comments.read"],"feature":"review_packages.agent_api","additionalFeatures":[],"inputSchema":"listPackageFeedbackInput","outputSchema":"listPackageFeedbackOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listProjectReviewActivity","family":"project_review_session","action":"activity","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/activity","scopes":["commentary.project_reviews.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewActivityInput","outputSchema":"listProjectReviewActivityOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"},{"operationId":"listProjectReviewFeedback","family":"project_review_session","action":"feedback","method":"GET","path":"/api/v1/project-review-sessions/{sessionId}/feedback","scopes":["commentary.project_reviews.read","commentary.comments.read"],"feature":"project_reviews.agent_api","additionalFeatures":[],"inputSchema":"listProjectReviewFeedbackInput","outputSchema":"listProjectReviewFeedbackOutput","ifMatch":false,"idempotencyKey":false,"status":"implemented","owner":"CP-034"}],"failures":{"authentication_required":{"category":"authentication","status":401,"exitCode":3,"retryable":false},"insufficient_scope":{"category":"authorization","status":403,"exitCode":3,"retryable":false},"not_found":{"category":"not_found","status":404,"exitCode":8,"retryable":false},"validation_failed":{"category":"invalid_payload","status":400,"exitCode":8,"retryable":false},"capability_unsupported":{"category":"unsupported","status":400,"exitCode":8,"retryable":false},"contract_version_unsupported":{"category":"unsupported","status":400,"exitCode":8,"retryable":false},"precondition_required":{"category":"stale_revision","status":428,"exitCode":7,"retryable":false},"precondition_failed":{"category":"stale_revision","status":412,"exitCode":7,"retryable":true},"version_conflict":{"category":"conflict","status":409,"exitCode":8,"retryable":false},"idempotency_key_required":{"category":"invalid_payload","status":400,"exitCode":8,"retryable":false},"idempotency_key_reused":{"category":"conflict","status":409,"exitCode":8,"retryable":false},"source_access_revoked":{"category":"authorization","status":404,"exitCode":8,"retryable":false},"source_unavailable":{"category":"source_unavailable","status":503,"exitCode":9,"retryable":true},"unsupported_provider_write":{"category":"unsupported_provider","status":422,"exitCode":8,"retryable":false},"source_conflict":{"category":"conflict","status":409,"exitCode":8,"retryable":false},"upload_expired":{"category":"conflict","status":409,"exitCode":8,"retryable":false},"checksum_mismatch":{"category":"invalid_payload","status":400,"exitCode":8,"retryable":false},"schema_incompatible":{"category":"invalid_payload","status":422,"exitCode":8,"retryable":false},"limit_reached":{"category":"limit","status":409,"exitCode":8,"retryable":false},"rate_limited":{"category":"limit","status":429,"exitCode":5,"retryable":true},"event_cursor_resync_required":{"category":"stale_revision","status":410,"exitCode":8,"retryable":false},"bridge_disconnected":{"category":"retryable_operation","status":503,"exitCode":9,"retryable":true},"verification_unavailable":{"category":"source_unavailable","status":503,"exitCode":9,"retryable":true},"internal_error":{"category":"retryable_operation","status":500,"exitCode":9,"retryable":true}},"transports":{"browser":"domain services; human Decisions remain browser-only","http":"v1 data envelope, strong ETag/If-Match, Idempotency-Key, X-Correlation-Id","mcp":"consolidated action families; upload handles and bounded base64 chunks; no local filesystem or persistent execution","cli":"singular project/tracker/package/review-session/source-snapshot/evidence; --file/--stdin; --json; packaging/watch are CLI-only","rendererSdk":"commentary-tracker-v1 host broker only; no API credentials, Decision or direct Git write","events":"ordered durable outbox; authorized opaque cursor pages, 10-second waits and bounded SSE batches; additive signed webhook wakeups"},"digest":"170274ef0b8b94d4be51d238ba42259edb9d4da188aa09e40fc8730ace7e53ee"},"servers":[{"url":"https://commentary.dev","description":"Configured Commentary origin."},{"url":"http://localhost:3000","description":"Local development."}],"tags":[{"name":"Agents"},{"name":"Package uploads"},{"name":"Authentication"},{"name":"Tokens"},{"name":"GitHub"},{"name":"Forms"},{"name":"Review comments"},{"name":"Research Studies"},{"name":"Draft reviews"},{"name":"Web App reviews"},{"name":"Knowledge Brain"},{"name":"Webhooks"},{"name":"Inbox"},{"name":"Workspaces"},{"name":"Interactions"},{"name":"MCP"},{"name":"Health"},{"name":"OpenAPI"}],"paths":{"/api/v1/webhook-subscriptions":{"get":{"operationId":"listWebhookSubscriptions","tags":["Webhooks"],"summary":"List workspace webhook subscriptions.","description":"Owner/admin only. Secrets are never returned by reads.","security":[{"bearerAuth":["commentary.webhooks.read"]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.webhooks","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createWebhookSubscription","tags":["Webhooks"],"summary":"Create a scoped webhook subscription and reveal its signing secret once.","description":"Owner/admin only. HTTPS destinations are DNS-resolved and SSRF-checked. Idempotency-Key makes creation retry-safe.","security":[{"bearerAuth":["commentary.webhooks.write"]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["endpointUrl","eventTypes"],"additionalProperties":false,"properties":{"endpointUrl":{"type":"string","format":"uri","pattern":"^https://"},"eventTypes":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","enum":["interaction.created.v1","interaction.updated.v1","interaction.revision.created.v1","interaction.decision.recorded.v1","interaction.fulfillment.updated.v1","interaction.terminal.v1","interaction.content_purged.v1"]}}}}}}},"x-commentary-feature-key":"interactions.webhooks","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","description":"The data.secret field is displayed only in this response."}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/webhook-subscriptions/{subscriptionId}":{"get":{"operationId":"getWebhookSubscription","tags":["Webhooks"],"summary":"Get a webhook subscription without its secret.","security":[{"bearerAuth":["commentary.webhooks.read"]}],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string","pattern":"^whs_"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.webhooks","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"patch":{"operationId":"updateWebhookSubscription","tags":["Webhooks"],"summary":"Conditionally update endpoint or event scopes.","security":[{"bearerAuth":["commentary.webhooks.write"]}],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string","pattern":"^whs_"}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"endpointUrl":{"type":"string","format":"uri","pattern":"^https://"},"eventTypes":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","enum":["interaction.created.v1","interaction.updated.v1","interaction.revision.created.v1","interaction.decision.recorded.v1","interaction.fulfillment.updated.v1","interaction.terminal.v1","interaction.content_purged.v1"]}}}}}}},"x-commentary-feature-key":"interactions.webhooks","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"412":{"description":"The ETag is stale."},"428":{"description":"If-Match is required."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/webhook-subscriptions/{subscriptionId}/disable":{"post":{"operationId":"disableWebhookSubscription","tags":["Webhooks"],"summary":"Disable delivery and cancel pending attempts.","security":[{"bearerAuth":["commentary.webhooks.write"]}],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string","pattern":"^whs_"}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.webhooks","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/webhook-subscriptions/{subscriptionId}/rotate-secret":{"post":{"operationId":"rotateWebhookSubscriptionSecret","tags":["Webhooks"],"summary":"Rotate and reveal a new signing secret once.","description":"The prior secret stops signing new attempts immediately; later reads never redisplay either secret.","security":[{"bearerAuth":["commentary.webhooks.write"]}],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string","pattern":"^whs_"}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.webhooks","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/webhook-subscriptions/{subscriptionId}/deliveries":{"get":{"operationId":"listWebhookDeliveries","tags":["Webhooks"],"summary":"List filtered redacted delivery diagnostics and dead letters.","description":"Returns data and nullable nextCursor for bounded older-delivery navigation. Response bodies are whitespace-normalized, size-bounded excerpts; request headers, secrets, and raw payload diagnostics are never returned.","security":[{"bearerAuth":["commentary.webhooks.read"]}],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string","pattern":"^whs_"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.webhooks","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/webhook-subscriptions/{subscriptionId}/deliveries/{deliveryId}/replay":{"post":{"operationId":"replayWebhookDelivery","tags":["Webhooks"],"summary":"Confirm replay of one delivery as a new delivery id.","description":"Replay reports state only; it never executes or approves an action.","security":[{"bearerAuth":["commentary.webhooks.write"]}],"parameters":[{"name":"subscriptionId","in":"path","required":true,"schema":{"type":"string","pattern":"^whs_"}},{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string","pattern":"^whd_"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["confirm"],"additionalProperties":false,"properties":{"confirm":{"const":true}}}}}},"x-commentary-feature-key":"interactions.webhooks","responses":{"202":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"operationId":"getOAuthAuthorizationServerMetadata","tags":["Authentication"],"summary":"Get OAuth authorization server metadata.","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"issuer":{"type":"string","format":"uri"},"authorization_endpoint":{"type":"string","format":"uri"},"token_endpoint":{"type":"string","format":"uri"},"registration_endpoint":{"type":"string","format":"uri"},"device_authorization_endpoint":{"type":"string","format":"uri"},"scopes_supported":{"type":"array","items":{"$ref":"#/components/schemas/ExternalScope"}}},"additionalProperties":true}}}}}}},"/.well-known/oauth-protected-resource":{"get":{"operationId":"getOAuthProtectedResourceMetadata","tags":["Authentication"],"summary":"Get OAuth protected resource metadata.","description":"The canonical /mcp resource advertises the complete scope catalog, matching the general protected-resource and authorization-server metadata.","parameters":[{"name":"resource","in":"query","required":false,"schema":{"type":"string","format":"uri"}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"resource":{"type":"string","format":"uri"},"authorization_servers":{"type":"array","items":{"type":"string","format":"uri"}},"resource_documentation":{"type":"string","format":"uri"},"scopes_supported":{"type":"array","items":{"$ref":"#/components/schemas/ExternalScope"}},"commentary_resources":{"type":"array","items":{"type":"string","format":"uri"}},"commentary_openapi":{"type":"string","format":"uri"}},"additionalProperties":true}}}}}}},"/oauth/register":{"post":{"operationId":"registerOAuthClient","tags":["Authentication"],"summary":"Register a public OAuth client.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_name":{"type":"string"},"redirect_uris":{"type":"array","items":{"type":"string","format":"uri"}},"grant_types":{"type":"array","items":{"type":"string"}},"response_types":{"type":"array","items":{"type":"string"}},"scope":{"type":"string"},"token_endpoint_auth_method":{"type":"string","enum":["none"]}},"additionalProperties":true}}}},"responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string"},"client_name":{"type":["string","null"]},"redirect_uris":{"type":"array","items":{"type":"string"}},"token_endpoint_auth_method":{"type":"string","enum":["none"]}},"additionalProperties":true}}}},"400":{"description":"OAuth request error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}}}}},"/oauth/authorize":{"get":{"operationId":"showOAuthAuthorizePage","tags":["Authentication"],"summary":"Show the OAuth authorization page.","description":"When a client omits scope for the canonical /mcp resource, the signed-in user chooses read-only, review-and-comment, or a custom set at consent time. Omitted scope for other resources remains read-only.","parameters":[{"name":"client_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"redirect_uri","in":"query","required":false,"schema":{"type":"string","format":"uri"}},{"name":"response_type","in":"query","required":false,"schema":{"type":"string","enum":["code"]}},{"name":"code_challenge","in":"query","required":false,"schema":{"type":"string"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string","enum":["S256"]}},{"name":"scope","in":"query","required":false,"schema":{"type":"string"}},{"name":"resource","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"HTML authorization page."},"302":{"description":"Redirect to the client with an authorization error."}}},"post":{"operationId":"approveOAuthAuthorizeRequest","tags":["Authentication"],"summary":"Approve an OAuth authorization request.","description":"Approves only the permissions displayed and selected by the user. Sensitive custom permissions require a separate confirmation.","security":[{"commentarySession":[]}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"302":{"description":"Redirect to the client with an authorization code or error."}}}},"/oauth/device/code":{"post":{"operationId":"createOAuthDeviceCode","tags":["Authentication"],"summary":"Start OAuth device authorization.","description":"Scope-less requests for the canonical /mcp resource defer permission selection to the signed-in device consent page; other omitted-scope requests stay read-only.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["client_id"],"properties":{"client_id":{"type":"string"},"scope":{"type":"string"},"target":{"$ref":"#/components/schemas/TokenTarget"},"resource":{"type":"string"},"client_name":{"type":"string"}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["client_id"],"properties":{"client_id":{"type":"string"},"scope":{"type":"string"},"target":{"$ref":"#/components/schemas/TokenTarget"},"resource":{"type":"string"},"client_name":{"type":"string"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"device_code":{"type":"string"},"user_code":{"type":"string"},"verification_uri":{"type":"string","format":"uri"},"verification_uri_complete":{"type":"string","format":"uri"},"expires_in":{"type":"integer"},"interval":{"type":"integer"}}}}}},"400":{"description":"OAuth request error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}}}}},"/oauth/token":{"post":{"operationId":"exchangeOAuthToken","tags":["Authentication"],"summary":"Exchange OAuth authorization code, device code, or refresh token.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["grant_type"],"properties":{"grant_type":{"type":"string","enum":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"]},"code":{"type":"string"},"redirect_uri":{"type":"string","format":"uri"},"client_id":{"type":"string"},"code_verifier":{"type":"string"},"refresh_token":{"type":"string"},"device_code":{"type":"string"},"resource":{"type":"string"}}}},"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["grant_type"],"properties":{"grant_type":{"type":"string","enum":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"]},"code":{"type":"string"},"redirect_uri":{"type":"string","format":"uri"},"client_id":{"type":"string"},"code_verifier":{"type":"string"},"refresh_token":{"type":"string"},"device_code":{"type":"string"},"resource":{"type":"string"}}}}}},"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthToken"}}}},"400":{"description":"OAuth request error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}},"401":{"description":"OAuth token exchange was rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthError"}}}}}}},"/api/health":{"get":{"operationId":"getHealth","tags":["Health"],"summary":"Get shallow, deep, storage, or PostgreSQL health.","parameters":[{"name":"check","in":"query","required":false,"schema":{"type":"string","enum":["postgres","storage","deep"]}}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"503":{"description":"Health check failed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/v1/tokens":{"get":{"operationId":"listApiTokens","tags":["Tokens"],"summary":"List API tokens for the signed-in provider connection.","security":[{"commentarySession":[]}],"x-commentary-feature-key":"api.agent_access","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["ok","tokens"],"properties":{"ok":{"const":true},"tokens":{"type":"array","items":{"$ref":"#/components/schemas/TokenSummary"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createApiToken","tags":["Tokens"],"summary":"Create an API token for scripts, MCP clients, or agents.","description":"Issuance is atomic. Retry unchanged settings with the same Idempotency-Key after an uncertain outcome. Replay confirms the existing credential without returning its one-time secret; deliberately rotate it in Account Developer access for recovery.","security":[{"commentarySession":[]}],"parameters":[{"in":"header","name":"Idempotency-Key","required":false,"schema":{"type":"string","minLength":1,"maxLength":200},"description":"Stable key for one issue. Omission preserves legacy non-idempotent requests."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTokenRequest"}}}},"x-commentary-feature-key":"api.agent_access","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["ok","id","grantId","tokenHint"],"properties":{"ok":{"const":true},"id":{"type":"string"},"grantId":{"type":"string"},"replayed":{"type":"boolean"},"token":{"type":"string","description":"One-time secret, present only for the original successful issue."},"tokenHint":{"type":"string"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The issuance key was reused with different settings or the connected account changed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/tokens/{tokenId}":{"delete":{"operationId":"revokeApiToken","tags":["Tokens"],"summary":"Revoke an API token.","security":[{"commentarySession":[]}],"parameters":[{"name":"tokenId","in":"path","required":true,"schema":{"type":"string"},"description":"API token id."}],"x-commentary-feature-key":"api.agent_access","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["ok","id"],"properties":{"ok":{"const":true},"id":{"type":"string"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/github/app-access/diagnostics":{"get":{"operationId":"diagnoseGitHubAppAccess","tags":["GitHub"],"summary":"Diagnose GitHub App installation access for an account-scoped token.","description":"Returns the same installation status and setup links used by the Commentary workspace. This endpoint is read-only and never installs or modifies GitHub Apps.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"target","in":"query","required":false,"schema":{"type":"string"},"description":"Repository target as owner/repo or a GitHub repository URL."},{"name":"redirectTo","in":"query","required":false,"schema":{"type":"string"},"description":"Optional browser resume path for generated setup links."},{"name":"installStatus","in":"query","required":false,"schema":{"type":"string"},"description":"Optional GitHub install callback status to explain after setup redirects."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"github.installation_diagnostics.read","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"diagnostic":{"$ref":"#/components/schemas/GitHubInstallationDiagnostic"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms":{"get":{"operationId":"listForms","tags":["Forms"],"summary":"List owned forms and visible result collections for the account-scoped token principal.","security":[{"bearerAuth":["commentary.forms.read"]}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"forms":{"type":"array","items":{"type":"object","additionalProperties":true}},"resultCollections":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]},"post":{"operationId":"createForm","tags":["Forms"],"summary":"Reject standalone Forms API creation.","description":"Standalone Forms API creation has been removed. Agents should create or update draft review files through draft-review APIs, or author Git-backed form definitions in the reviewed source.","security":[{"bearerAuth":["commentary.forms.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormContractRequest"}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"410":{"description":"Standalone form creation has been removed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/forms/validate":{"post":{"operationId":"validateFormContract","tags":["Forms"],"summary":"Validate a literal Form Contract v1 payload without persisting it.","security":[{"bearerAuth":["commentary.forms.read"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormContractRequest"}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"valid":{"type":"boolean"},"contract":{"$ref":"#/components/schemas/FormContract"},"diagnostics":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/forms/embedded-answers":{"get":{"operationId":"listEmbeddedFormAnswers","tags":["Forms"],"summary":"List embedded review form answers for an authorized result context.","description":"Requires explicit Forms read scope for raw submission values. Review-scoped tokens must include repository owner/repo and prNumber or branchRef, or draftReviewSessionId, in the query. Result-list access still requires draft ownership or a trusted source write-permission determination; callers cannot grant this by passing sourceContext fields.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"query","required":false,"schema":{"type":"string"}},{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"draftReviewSessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"webAppReviewId","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"documentVersionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"formInstanceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/FormSubmission"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/fillout-links":{"get":{"operationId":"listFormFilloutLinks","tags":["Forms"],"summary":"List response links owned by the account-scoped token principal.","security":[{"bearerAuth":["commentary.forms.read"]}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"filloutLinks":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]},"post":{"operationId":"createFormFilloutLink","tags":["Forms"],"summary":"Create a response link from an accessible source-backed form.","description":"The caller becomes the dedicated result-set owner. The source review remains the edit location, and source review owners do not automatically see response-link replies.","security":[{"bearerAuth":["commentary.forms.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["formId"],"properties":{"formId":{"type":"string"},"sourceContext":{"type":"object","additionalProperties":true},"sourceReviewHref":{"type":"string"},"renderer":{"type":"object","properties":{"mode":{"type":"string","enum":["default","review_file"]},"path":{"type":"string"},"kind":{"type":"string","enum":["markdown","html"]}},"additionalProperties":true},"shareMode":{"type":"string","enum":["specific_user","authenticated","anonymous"]},"replyMode":{"type":"string","enum":["identified","anonymous"]},"repeatSubmissions":{"type":"boolean"},"recipient":{"type":"object","additionalProperties":true}},"additionalProperties":true}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"filloutLink":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/forms/fillout-links/submit":{"post":{"operationId":"submitFormFilloutLink","tags":["Forms"],"summary":"Submit answers through a response link.","description":"Identified links require an authenticated Forms submit token. Anonymous reply mode intentionally omits submitter identity from stored submission records.","security":[{"bearerAuth":["commentary.forms.submit"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"},"shareToken":{"type":"string"},"values":{"type":"object","additionalProperties":true},"submissionOrigin":{"type":"string","enum":["api","mcp","cli","agent_api"]},"agentAlias":{"type":"string"},"clientName":{"type":"string"}},"additionalProperties":true}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"submission":{"$ref":"#/components/schemas/FormSubmission"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/forms/fillout-links/{linkId}":{"delete":{"operationId":"revokeFormFilloutLink","tags":["Forms"],"summary":"Revoke a response link owned by the account-scoped token principal.","security":[{"bearerAuth":["commentary.forms.write"]}],"parameters":[{"name":"linkId","in":"path","required":true,"schema":{"type":"string"},"description":"Response link id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/fillout-links/{linkId}/results":{"get":{"operationId":"listFormFilloutLinkResults","tags":["Forms"],"summary":"List result submissions owned by a response link.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"linkId","in":"path","required":true,"schema":{"type":"string"},"description":"Response link id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"filloutLink":{"type":"object","additionalProperties":true},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/FormSubmission"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}":{"get":{"operationId":"getForm","tags":["Forms"],"summary":"Get a form contract and metadata.","description":"Review-scoped tokens can read embedded forms only when query parameters identify the covered review context.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"draftReviewSessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"documentVersionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"formInstanceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"form":{"$ref":"#/components/schemas/FormRecord"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"patch":{"operationId":"updateForm","tags":["Forms"],"summary":"Reject standalone Forms API editing.","description":"Standalone Forms API editing has been removed. Update the source review artifact or draft review file instead.","security":[{"bearerAuth":["commentary.forms.write"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormContractRequest"}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"410":{"description":"Standalone form editing has been removed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/destinations":{"get":{"operationId":"listFormDestinations","tags":["Forms"],"summary":"List form destinations and read-only write-back status.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"formId":{"type":"string"},"destinations":{"type":"array","items":{"type":"object","additionalProperties":true}},"destinationConfig":{"type":"object","additionalProperties":true},"writebackStatus":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/destinations/writeback":{"get":{"operationId":"getFormWritebackStatus","tags":["Forms"],"summary":"Inspect optional GitHub writeback availability for a form target.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string"}},{"name":"path","in":"query","required":false,"schema":{"type":"string"}},{"name":"baseBranch","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"formId":{"type":"string"},"writebackStatus":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"writeFormArtifactToGitHub","tags":["Forms"],"summary":"Explicitly write a form definition or final submission batch to GitHub through the optional writeback app.","description":"Requires commentary.forms.writeback, the forms.github_writeback license feature, a configured optional GitHub writeback app, an installed repository target, and a valid branch/path target. Submission writeback accepts submissionId or submissionIds, writes one canonical JSON result file per submission in one commit, overwrites existing result paths, can explicitly create target branches with target.createBranch and target.baseBranch, and can optionally open a pull request. Commentary storage remains available when writeback is unavailable.","security":[{"bearerAuth":["commentary.forms.writeback"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"targetType":{"type":"string","enum":["form_definition","submission"]},"submissionId":{"type":"string"},"submissionIds":{"type":"array","items":{"type":"string"},"maxItems":50},"target":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"branch":{"type":"string"},"path":{"type":"string"},"baseBranch":{"type":"string"},"createBranch":{"type":"boolean"}},"additionalProperties":false},"format":{"type":"string","enum":["json","yaml"]},"commitMessage":{"type":"string"},"openPullRequest":{"type":"boolean"},"pullRequestTitle":{"type":"string"},"pullRequestBody":{"type":"string"}},"additionalProperties":true}}}},"x-commentary-feature-key":"forms.github_writeback","responses":{"202":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"formId":{"type":"string"},"submissionId":{"type":"string"},"submissionIds":{"type":"array","items":{"type":"string"}},"writeback":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/git-results":{"get":{"operationId":"listFormGitResults","tags":["Forms"],"summary":"List canonical git-hosted result files for a source-backed form.","description":"Discovers files in the canonical results directory near the form source path. Use action=status for read-only sync status and canonical location details.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"action","in":"query","required":false,"schema":{"type":"string","enum":["list","status"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"ref","in":"query","required":false,"schema":{"type":"string"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string"}},{"name":"sourcePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"formId":{"type":"string"},"target":{"type":"object","additionalProperties":true},"files":{"type":"array","items":{"type":"object","additionalProperties":true}},"diagnostics":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"syncFormGitResults","tags":["Forms"],"summary":"Preview result writeback or explicitly import canonical git-hosted result files.","description":"Import and preview actions require commentary.forms.writeback and the forms.github_writeback license feature. Import validates canonical JSON/YAML result files, deduplicates by external id, records audit events, and stores imported submissions with git sync metadata.","security":[{"bearerAuth":["commentary.forms.writeback"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormGitResultsRequest"}}}},"x-commentary-feature-key":"forms.github_writeback","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/submissions":{"get":{"operationId":"listFormSubmissions","tags":["Forms"],"summary":"List submissions for a permitted result collection.","description":"Result-list access is separate from form fill access. Draft results default to the draft owner; PR and branch results require trusted write-permission detection. When write permission cannot be determined, list access is denied.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"submissions":{"type":"array","items":{"$ref":"#/components/schemas/FormSubmission"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"submitForm","tags":["Forms"],"summary":"Submit final form answers.","description":"All writes validate server-side. Invalid answers are stored as draft validation failures and return diagnostics without finalizing.","security":[{"bearerAuth":["commentary.forms.submit"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormSubmissionRequest"}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"submission":{"$ref":"#/components/schemas/FormSubmission"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/submissions/events":{"get":{"operationId":"streamFormSubmissionEvents","tags":["Forms"],"summary":"Stream final form submission events using Server-Sent Events.","description":"Streams summary-only submission.submitted events for permitted result contexts. Raw values are not included in the event payload; call the submission detail endpoint when value access is required.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Event cursor or latest."},{"name":"once","in":"query","required":false,"schema":{"type":"string","enum":["1"]},"description":"Return the current batch and close."},{"name":"kind","in":"query","required":false,"schema":{"type":"string"},"description":"Source context kind for review-scoped submissions."},{"name":"draftReviewSessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"webAppReviewId","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"}},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"documentVersionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"formInstanceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Server-Sent Events stream.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/submissions/validate":{"post":{"operationId":"validateFormAnswers","tags":["Forms"],"summary":"Validate form answers against the current form contract without storing a submission.","security":[{"bearerAuth":["commentary.forms.submit"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FormSubmissionRequest"}}}},"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"valid":{"type":"boolean"},"diagnostics":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/forms/{formId}/submissions/{submissionId}":{"get":{"operationId":"getFormSubmission","tags":["Forms"],"summary":"Read or export one form submission including raw values for an authorized principal.","description":"Pass format=json, yaml, or csv to download a bounded stable export for one submission. CSV is available only when submitted field values are tabular scalars or scalar arrays.","security":[{"bearerAuth":["commentary.forms.read"]}],"parameters":[{"name":"formId","in":"path","required":true,"schema":{"type":"string"},"description":"Form id or reference id."},{"name":"submissionId","in":"path","required":true,"schema":{"type":"string"},"description":"Form submission id."},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["json","yaml","csv"]},"description":"Optional export format. Omit for the normal JSON API envelope."},{"name":"kind","in":"query","required":false,"schema":{"type":"string"},"description":"Source context kind when exporting a review-scoped embedded answer."},{"name":"draftReviewSessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"webAppReviewId","in":"query","required":false,"schema":{"type":"string"}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"}},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"documentVersionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"formInstanceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"forms.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"submission":{"$ref":"#/components/schemas/FormSubmission"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"CSV export is not available for this submission shape.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"413":{"description":"The export exceeded the size limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-capabilities":{"get":{"operationId":"discoverResearchCapabilities","tags":["Research Studies"],"summary":"Discover supported Research methods, Forms, Reviews, approval gates, bounds, and companion agent tools.","description":"Returns the versioned method-composition registry. Specialist analytics, A/B testing, eye tracking, and field tooling are advertised only as external evidence integrations. Requires commentary.research.read and does not grant provider write permission. Legacy migration is an owner-approved administrative workflow and is intentionally not exposed to external agents.","security":[{"bearerAuth":["commentary.research.read"]}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["ok","capabilities"],"properties":{"ok":{"const":true},"capabilities":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v2/research-studies":{"get":{"operationId":"listResearchWorkflowsV2","tags":["Research Studies"],"summary":"List Research v2 linear typed workflows visible to the external token.","description":"Returns capability version 2 studies with ordered Content, Activity, and Form steps. Research API v1 is a one-release 410 Gone tombstone.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"capabilityVersion":{"const":2},"studies":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v2/research-studies/{studyId}":{"get":{"operationId":"getResearchWorkflowV2","tags":["Research Studies"],"summary":"Get one Research v2 workflow and its ordered typed steps.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v2/research-studies/{studyId}/events":{"get":{"operationId":"listResearchWorkflowEventsV2","tags":["Research Studies"],"summary":"List bounded privacy-filtered workflow events, optionally filtered by stepId.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"stepId","in":"query","required":false,"schema":{"type":"string"}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v2/research-studies/{studyId}/sessions":{"get":{"operationId":"listResearchWorkflowSessionsV2","tags":["Research Studies"],"summary":"List participant sessions and ordered step runs.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v2/research-studies/{studyId}/sessions/{sessionId}":{"get":{"operationId":"getResearchWorkflowSessionV2","tags":["Research Studies"],"summary":"Get a session with step-scoped comments, responses, and events.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v2/research-studies/{studyId}/sessions/{sessionId}/steps":{"get":{"operationId":"listResearchWorkflowStepsV2","tags":["Research Studies"],"summary":"List ordered step results for one participant session.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v2/research-studies/{studyId}/sessions/{sessionId}/steps/{stepId}":{"get":{"operationId":"getResearchWorkflowStepV2","tags":["Research Studies"],"summary":"Get one step result with its run, evidence, Form provenance, comments, telemetry, and Activity outcome.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"stepId","in":"path","required":true,"schema":{"type":"string"},"description":"Research workflow step id."}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies":{"get":{"operationId":"listResearchStudies","tags":["Research Studies"],"summary":"List Research Studies visible to the external token.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"studies":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}":{"get":{"operationId":"getResearchStudy","tags":["Research Studies"],"summary":"Get Research Study metadata, source/sync state, and setup context.","description":"Legacy studies remain readable as legacy_unbound until their owner completes an externally confirmed migration. This read does not approve, synchronize, confirm, or purge migration artifacts.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"study":{"type":"object","additionalProperties":true}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"submitResearchStudyOutput","tags":["Research Studies"],"summary":"Submit an evidence-linked Research Study finding or report.","description":"Supports action=submit_finding and action=upsert_report. Requires commentary.research.write, the research.studies.agent_api feature, and study external-agent settings that allow findings or reports. Suggested issue text is stored and exported only; this endpoint does not create GitHub issues.","security":[{"bearerAuth":["commentary.research.write"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"action":{"type":"string","enum":["submit_finding","upsert_report"]},"title":{"type":"string"},"summary":{"type":"string"},"severity":{"type":"string"},"confidence":{"type":"string"},"markdown":{"type":"string"},"sections":{"type":"object","additionalProperties":true},"evidenceReferences":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["action"]}}}},"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/workflow-status":{"get":{"operationId":"getResearchWorkflowStatus","tags":["Research Studies"],"summary":"Inspect source, participant, evidence, media, destination, and approval status for an agent workflow.","description":"Returns bounded owner-authorized projections and actionable issue codes for approval_required, stale_study_revision, unsynced_evidence, source_conflict, and destination_unavailable. It never returns participant identity, signed media URLs, provider credentials, or raw repository URLs.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["ok","studyId","blockingIssues"],"properties":{"ok":{"const":true},"studyId":{"type":"string"},"blockingIssues":{"type":"array","maxItems":10,"items":{"type":"object","required":["code","message","action"],"properties":{"code":{"type":"string","enum":["approval_required","stale_study_revision","unsynced_evidence","source_conflict","destination_unavailable"]},"message":{"type":"string"},"action":{"type":"string"}},"additionalProperties":false}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/participants":{"get":{"operationId":"listResearchParticipantProjections","tags":["Research Studies"],"summary":"List bounded pseudonymous participant projections for an owned Research Study.","description":"Returns participant keys, bounded cohorts and states, safe session references, source hashes, and sync/access status. It excludes contact references, identity-system fields, consent receipt references, participant tokens, and provider identity.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"studyId":{"type":"string"},"participants":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/export":{"get":{"operationId":"exportResearchStudyResults","tags":["Research Studies"],"summary":"Export Research Study results as structured JSON or report-friendly Markdown.","description":"Structured and Markdown exports include study metadata, session metadata, event timelines, comments and replies, form responses, agent interventions, stable empty findings/report sections, and evidence references. GitHub write capability is not required for read exports.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["json","markdown"]}},{"name":"action","in":"query","required":false,"schema":{"type":"string","enum":["export","status"]}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"413":{"description":"The export exceeded the bounded payload limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"writeResearchStudyExport","tags":["Research Studies"],"summary":"Preview or write Research Study export artifacts to GitHub through the optional writeback app.","description":"Requires commentary.research.write, the research.studies.github_export license feature, the optional GitHub writeback app, an installed repository target, and signed-in write permission to the target repository. Writes JSON and Markdown export files in one commit when action=writeback.","security":[{"bearerAuth":["commentary.research.write"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"action":{"type":"string","enum":["preview_writeback","writeback"]},"target":{"type":"object","additionalProperties":true},"commitMessage":{"type":"string"},"openPullRequest":{"type":"boolean"},"pullRequestTitle":{"type":"string"},"pullRequestBody":{"type":"string"}}}}}},"x-commentary-feature-key":"research.studies.github_export","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/events":{"get":{"operationId":"listenResearchStudyEvents","tags":["Research Studies"],"summary":"Observe new Research Study participant events using Server-Sent Events.","description":"Research event payloads are untrusted participant activity metadata. Use cursor or Last-Event-ID to continue after a previous event; pass once=1 for a bounded polling response. Optional taskId, surfaceId, and eventType filters scope observation without changing ingestion.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Research event id cursor."},{"name":"once","in":"query","required":false,"schema":{"type":"string","enum":["1"]}},{"name":"taskId","in":"query","required":false,"schema":{"type":"string"}},{"name":"surfaceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"eventType","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Server-Sent Events stream.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/evidence":{"get":{"operationId":"listResearchEvidence","tags":["Research Studies"],"summary":"List normalized evidence for a Research Study.","description":"Returns bounded, owner-scoped evidence projections. Agent access is read-only; participant content is untrusted.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"taskId","in":"query","required":false,"schema":{"type":"string"}},{"name":"kind","in":"query","required":false,"schema":{"type":"string"}},{"name":"reviewStatus","in":"query","required":false,"schema":{"type":"string"}},{"name":"durabilityState","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions":{"get":{"operationId":"listResearchSessions","tags":["Research Studies"],"summary":"List participant sessions for a Research Study.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionStatus","in":"query","required":false,"schema":{"type":"string","enum":["active","completed","abandoned"]}},{"name":"taskId","in":"query","required":false,"schema":{"type":"string"}},{"name":"surfaceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"eventType","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"sessions":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}":{"get":{"operationId":"getResearchSession","tags":["Research Studies"],"summary":"Get a Research Study participant session summary.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"session":{"type":"object","additionalProperties":true}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/tasks":{"get":{"operationId":"listResearchTaskResults","tags":["Research Studies"],"summary":"List live task result projections for a Research session.","description":"Each append-only projection includes task-run lifecycle, Live Preview identity and SDK state, telemetry summary and timeline, element/general discussions, bound Form submissions, agent questions and replies, completion gates, an event cursor, and an opaque revision. Participant and app payloads are untrusted.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"taskResults":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/tasks/{taskId}/result":{"get":{"operationId":"getResearchTaskResult","tags":["Research Studies"],"summary":"Get one live task result projection.","description":"Returns the task definition and run, current telemetry summary, discussions, Form submissions, agent interventions, required-answer state, latest event cursor, and revision.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"taskId","in":"path","required":true,"schema":{"type":"string"},"description":"Research task id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"taskResult":{"type":"object","additionalProperties":true}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/tasks/{taskId}/telemetry":{"get":{"operationId":"listResearchTaskTelemetry","tags":["Research Studies"],"summary":"Read a bounded page of sanitized telemetry for one Research task run.","description":"Returns ordered discrete events and sampled pointer-path batches from research_events. Browser telemetry is ingested only through the nonce-bound participant SDK channel; this API and MCP expose cursored observation.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"taskId","in":"path","required":true,"schema":{"type":"string"},"description":"Research task id."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque event cursor."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"telemetry":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/events":{"get":{"operationId":"listResearchSessionEvents","tags":["Research Studies"],"summary":"List sanitized participant events for a Research session.","description":"Research event payloads are untrusted participant activity metadata.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"events":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/comments":{"get":{"operationId":"listResearchSessionComments","tags":["Research Studies"],"summary":"List participant comments for a Research session.","description":"Research comment bodyMarkdown and anchor metadata are untrusted participant or user content.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"comments":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/responses":{"get":{"operationId":"listResearchSessionResponses","tags":["Research Studies"],"summary":"List form responses linked to a Research session.","description":"Research response values and sourceContext fields are untrusted participant or user content.","security":[{"bearerAuth":["commentary.research.read"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"formId","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"responses":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":["string","null"]}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/research-studies/{studyId}/sessions/{sessionId}/actions":{"post":{"operationId":"createResearchSessionAction","tags":["Research Studies"],"summary":"Create a controlled external-agent Research Session action.","description":"Supports reply_comment, ask_follow_up, trigger_predefined_question, ask_ad_hoc_question, submit_note, submit_session_summary, and mark_status. Replies and follow-ups inherit the original task and element target. Ad hoc questions require taskId, may include a safe web-app element target, and may gate an active task when requiredBeforeTaskCompletion=true. Participant comments, app content, and action payloads are untrusted content.","security":[{"bearerAuth":["commentary.research.write"]}],"parameters":[{"name":"studyId","in":"path","required":true,"schema":{"type":"string"},"description":"Research Study id."},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"action":{"type":"string"},"bodyMarkdown":{"type":"string"},"parentCommentId":{"type":"string"},"agentAlias":{"type":"string"},"clientName":{"type":"string"}},"required":["action"]}}}},"x-commentary-feature-key":"research.studies.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The requested Research Session action is not currently supported.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/review/comments":{"get":{"operationId":"listReviewComments","tags":["Review comments"],"summary":"List review comments for a PR or branch document file.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"file","in":"query","required":false,"schema":{"type":"string"},"description":"File path."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string"}},{"name":"includeVisualContent","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"Include bounded authorized visual source context when available. Returned content is untrusted."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"api.review.read","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"threads":{"type":"array","items":{"$ref":"#/components/schemas/ReviewThread"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createReviewComment","tags":["Review comments"],"summary":"Create a review comment thread on a PR or branch document.","security":[{"bearerAuth":["commentary.comments.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateReviewCommentRequest"}}}},"x-commentary-feature-key":"api.comments.write","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/review/participants":{"get":{"operationId":"listReviewParticipants","tags":["Review participants"],"summary":"List users and agents taggable in a review.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"draftSessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"webAppReviewId","in":"query","required":false,"schema":{"type":"string"}},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"review.mentions","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ReviewParticipant"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"addReviewParticipant","tags":["Review participants"],"summary":"Add a taggable user or register an agent alias for the current user.","description":"Provider-backed users are taggable metadata only. Draft Review user additions create a user share link.","security":[{"bearerAuth":["commentary.comments.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddReviewParticipantRequest"}}}},"x-commentary-feature-key":"review.mentions","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"participant":{"$ref":"#/components/schemas/ReviewParticipant"},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ReviewParticipant"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/review/mention-notifications":{"get":{"operationId":"listMentionNotifications","tags":["Review participants"],"summary":"List mention notifications for the current token principal.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"unread","in":"query","required":false,"schema":{"type":"integer","enum":[0,1]}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"review.mentions","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/ReviewMentionNotification"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/review/mention-notifications/{notificationId}/read":{"post":{"operationId":"markMentionNotificationRead","tags":["Review participants"],"summary":"Mark a mention notification read for the current token principal.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"string"},"description":"Mention notification id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"review.mentions","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/review/progress":{"get":{"operationId":"getReviewProgress","tags":["Review progress"],"summary":"Read per-reviewer progress for a PR, branch document, or draft review.","description":"Agents can read progress but cannot mutate human review progress through the external API.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"draftSessionId","in":"query","required":false,"schema":{"type":"string"}},{"name":"file","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Repeat for one or more file paths."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"}},{"name":"branch","in":"query","required":false,"schema":{"type":"string"}},{"name":"revision","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"api.review.read","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewProgressResponse"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/review/gate":{"get":{"operationId":"getReviewGateStatus","tags":["Review collaboration"],"summary":"Compute authoritative readiness for an exact current revision, including prepareChanges and continueDownstream.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"review","in":"query","required":true,"schema":{"type":"string"},"description":"JSON encoded ReviewRef. Revision identity is supplied separately."},{"name":"revision","in":"query","required":true,"schema":{"type":"string"}}],"x-commentary-feature-key":"review.consensus","responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}}},"/api/v1/review/threads/{threadId}/comments":{"post":{"operationId":"replyToReviewThread","tags":["Review comments"],"summary":"Reply to an existing review thread.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string"},"description":"Review thread id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadReplyRequest"}}}},"x-commentary-feature-key":"api.comments.write","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"},"commentId":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/review/threads/{threadId}/status":{"post":{"operationId":"updateReviewThreadStatus","tags":["Review comments"],"summary":"Resolve or reopen an existing review thread.","security":[{"bearerAuth":["commentary.comments.status"]}],"parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string"},"description":"Review thread id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadStatusRequest"}}}},"x-commentary-feature-key":"api.comments.write","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/review/threads/{threadId}/anchor":{"post":{"operationId":"reattachReviewThreadAnchor","tags":["Review comments"],"summary":"Re-attach a review thread to a semantic block in the current document version.","security":[{"bearerAuth":["commentary.comments.status"]}],"parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string"},"description":"Review thread id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadAnchorRequest"}}}},"x-commentary-feature-key":"review.anchor_repair","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"},"blockId":{"type":"string"},"anchorResolution":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/inbox/views":{"post":{"operationId":"proposeInboxSavedView","tags":["Inbox"],"summary":"Propose a typed private Inbox view to the credential owner.","description":"Registered account-scoped agents may create pending proposals only. A proposal stays inactive until the human owner accepts it in the Inbox; agents cannot change configuration.","security":[{"bearerAuth":["commentary.interactions.create"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","definition"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"object","required":["version","clauses","sort"],"additionalProperties":false}}}}}},"x-commentary-feature-key":"inbox.saved_views","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The pending proposal or active-view limit was reached."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]},"get":{"operationId":"listAgentInboxViews","tags":["Inbox"],"summary":"list Agent Inbox Views","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.saved_views","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/interactions":{"get":{"operationId":"listInteractions","tags":["Interactions"],"summary":"List source-authorized Interactions in the granted workspace.","description":"Without commentary.workspaces.read, only requests addressed to the credential owner are listed. Combining that scope with commentary.interactions.read permits current source-authorized workspace conversation reads. Decision receipts, guidance and Fulfillment retain creator authority. Pages use a bounded source authorization scan and may be empty with a continuation cursor.","security":[{"bearerAuth":["commentary.interactions.read"]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string","enum":["draft","active","waiting_for_human","waiting_for_agent","completed","rejected","canceled","expired","failed"]}},{"name":"resourceType","in":"query","required":false,"schema":{"type":"string","enum":["repository","pull_request","document","draft_review","form","research_study","knowledge_brain","web_app_review","project","tracker","review_package","project_review_session","source_snapshot"]}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["data","nextCursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Interaction"}},"nextCursor":{"type":["string","null"]}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createInteraction","tags":["Interactions"],"summary":"Create a durable request in the credential workspace.","description":"Requires Idempotency-Key. Only account-scoped tokens may create requests, and the linked Resource must currently be owned by the credential owner. Decision mutation is human-only; approved Fulfillment reporting uses its dedicated route and scope.","security":[{"bearerAuth":["commentary.interactions.create"]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["resource","content"],"additionalProperties":false,"properties":{"resource":{"$ref":"#/components/schemas/InteractionResource"},"content":{"type":"object","maxProperties":64},"initialState":{"type":"string","enum":["draft","active"]},"interactionType":{"type":"string","enum":["request","notification","decision_request"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]}}}}}},"x-commentary-feature-key":"interactions.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Interaction"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The idempotency key was reused incompatibly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}":{"get":{"operationId":"getInteraction","tags":["Interactions"],"summary":"Get one source-authorized Interaction.","security":[{"bearerAuth":["commentary.interactions.read"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Interaction"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"patch":{"operationId":"updateInteractionLifecycle","tags":["Interactions"],"summary":"Conditionally update a non-decision Interaction lifecycle state.","security":[{"bearerAuth":["commentary.interactions.update"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["state"],"additionalProperties":false,"properties":{"state":{"type":"string","enum":["active","waiting_for_human","waiting_for_agent","expired","failed"]}}}}}},"x-commentary-feature-key":"interactions.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Interaction"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"412":{"description":"The ETag is stale.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"428":{"description":"If-Match is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"delete":{"operationId":"cancelInteraction","tags":["Interactions"],"summary":"Conditionally cancel an Interaction.","security":[{"bearerAuth":["commentary.interactions.cancel"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Interaction"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"412":{"description":"The ETag is stale.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"428":{"description":"If-Match is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/revisions":{"post":{"operationId":"createInteractionRevision","tags":["Interactions"],"summary":"Create an immutable Interaction revision.","security":[{"bearerAuth":["commentary.interactions.update"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["title"],"properties":{"title":{"type":"string"}}},{"type":"object","required":["content"],"additionalProperties":false,"properties":{"content":{"type":"object","required":["title"]},"priorRevisionId":{"type":"string"},"addressedFeedbackIds":{"type":"array","maxItems":20,"items":{"type":"string"}}}}]}}}},"x-commentary-feature-key":"interactions.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Interaction"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"412":{"description":"The ETag is stale.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"428":{"description":"If-Match is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/feedback":{"post":{"operationId":"createInteractionFeedback","tags":["Interactions"],"summary":"Send typed human feedback against one immutable Interaction revision.","description":"Feedback never mutates proposal content and moves the request to waiting_for_agent.","security":[{"commentarySession":[]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","body","revisionId"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["comment","rejection_reason","request_revision","structured_correction"]},"body":{"type":"string","maxLength":16384},"revisionId":{"type":"string"},"corrections":{"type":"array","maxItems":20,"items":{"type":"object","required":["field","operation"],"additionalProperties":false,"properties":{"field":{"type":"string","enum":["title","subtitle","summary","body","target","actions"]},"operation":{"type":"string","enum":["replace","remove"]},"value":{}}}}}}}}},"x-commentary-feature-key":"interactions.feedback","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The addressed revision is stale."},"412":{"description":"If-Match is stale or malformed."},"428":{"description":"If-Match is required."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/messages/{messageId}/revisions":{"get":{"operationId":"listHumanReplyVersions","tags":["Interactions"],"summary":"Read retained reply history through a human browser session.","security":[{"commentarySession":[]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"integer","minimum":2}}],"x-commentary-feature-key":"interactions.feedback","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"410":{"description":"Reply content was purged."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"reviseHumanReply","tags":["Interactions"],"summary":"Append an author-owned conversational reply correction.","description":"Same-origin browser only; bearer tokens are rejected. If-Match names the message id and version. Retries reuse the same operation key and body. Decisions and other control receipts cannot be edited. Completion does not prevent correction while content and source access remain retained.","security":[{"commentarySession":[]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"additionalProperties":false,"properties":{"body":{"type":"string","maxLength":16384}}}}}},"x-commentary-feature-key":"interactions.feedback","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InteractionMessage"}}}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InteractionMessage"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"Message version or operation key conflict."},"410":{"description":"Reply content was purged."},"412":{"description":"Malformed message If-Match."},"428":{"description":"Message If-Match is required."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/guidance":{"get":{"operationId":"listInteractionGuidance","tags":["Interactions"],"summary":"List bounded future-facing guidance for the creating or assigned investigation agent.","description":"Only the authorized creating agent or the single immutable assigned agent of a contextual investigation can retrieve its guidance. Current exact source authority is required. Guidance is separate from conversation, Decisions, and lifecycle state.","security":[{"bearerAuth":["commentary.interactions.read"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.guidance","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","required":["data","nextCursor"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/InteractionGuidance"}},"nextCursor":{"type":["string","null"]}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createInteractionGuidance","tags":["Interactions"],"summary":"Send separate future guidance to the creating agent or your investigation's assigned agent.","description":"Same-origin human action. Delivery marks the card read but never changes the current request, lifecycle, bucket, rank, conversation, or Decisions.","security":[{"commentarySession":[]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["revisionId","scope","body"],"additionalProperties":false,"properties":{"revisionId":{"type":"string"},"scope":{"type":"string","enum":["similar_items","same_source","agent_behavior","general"]},"body":{"type":"string","minLength":1,"maxLength":16384}}}}}},"x-commentary-feature-key":"interactions.guidance","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The Interaction revision or idempotency request conflicts."},"410":{"description":"Interaction content was purged."},"412":{"description":"If-Match is stale or malformed."},"428":{"description":"If-Match is required."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/guidance/{guidanceId}/acknowledgment":{"post":{"operationId":"acknowledgeInteractionGuidance","tags":["Interactions"],"summary":"Acknowledge exact guidance as its authorized creating or assigned investigation agent.","description":"Creates an immutable, content-free acknowledgment receipt. It does not claim that guidance was learned or applied.","security":[{"bearerAuth":["commentary.interactions.update"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"guidanceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.guidance","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InteractionGuidance"}}}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InteractionGuidance"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/review-escalation":{"post":{"operationId":"createInteractionReviewEscalation","tags":["Interactions"],"summary":"Explicitly link an Interaction revision to one canonical human review Resource.","description":"A same-origin authenticated human chooses the review type. Review approval accepts the artifact revision and never represents external execution.","security":[{"commentarySession":[]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["revisionId","proposalFingerprint","reviewType","confirmation","target"],"additionalProperties":false,"properties":{"revisionId":{"type":"string"},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"reviewType":{"type":"string","enum":["document_review","form_workflow","brain_review","live_preview_review"]},"confirmation":{"type":"object","required":["reviewType","acknowledgedNoExecution"],"additionalProperties":false,"properties":{"reviewType":{"type":"string","enum":["document_review","form_workflow","brain_review","live_preview_review"]},"acknowledgedNoExecution":{"type":"boolean","enum":[true]}}},"target":{"type":"object","required":["mode"],"properties":{"mode":{"type":"string","enum":["create","link"]},"resourceId":{"type":"string"},"revisionId":{"type":["string","null"]},"create":{"type":"object"}}}}}}}},"x-commentary-feature-key":"interactions.review_escalation","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"The Interaction changed or already links a different review type."},"410":{"description":"Interaction content was purged."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/decisions":{"get":{"operationId":"listInteractionDecisions","tags":["Interactions"],"summary":"Read immutable human Decision receipts for one Interaction.","description":"An eligible browser human may list receipts. The authorized creating agent may retrieve one opaque receipt by decisionId or poll/wait after a prior receipt for at most ten seconds. Agent results omit human identity, Resource data, consequence content, and action snapshots. waitMs=0 is the universal polling fallback.","security":[{"commentarySession":[]},{"bearerAuth":["commentary.interactions.read"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"approval","in":"query","required":false,"schema":{"const":true},"description":"Return an approving receipt only when the exact current revision/action/fingerprint, expiry, and current policy are satisfied. polling.approval contains sanitized counts; pending yields no receipt."},{"name":"decisionId","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque Decision id for a creating agent."},{"name":"after","in":"query","required":false,"schema":{"type":"string"},"description":"Opaque prior Decision id used as a polling cursor."},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000},"description":"Bounded cancelable wait; zero performs an immediate poll."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.decisions","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","properties":{"decisions":{"type":"array","items":{"$ref":"#/components/schemas/InteractionDecision"}},"approval":{"type":"object"},"responseProgress":{"$ref":"#/components/schemas/InteractionResponseProgress"}}},{"$ref":"#/components/schemas/InteractionAgentDecisionReceipt"},{"type":"null"}]},"polling":{"type":"object"}}}}}},"202":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"null"},"polling":{"type":"object"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createInteractionDecision","tags":["Interactions"],"summary":"Record one immutable human Decision against an exact proposal action.","description":"Requires exact revisionId, actionId, proposal fingerprint, current strong If-Match, and Idempotency-Key. The first valid result is immutable; replay never retargets a later revision. A Decision is intent, not Fulfillment or execution evidence.","security":[{"commentarySession":[]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["revisionId","actionId","proposalFingerprint","outcome"],"additionalProperties":false,"properties":{"revisionId":{"type":"string"},"actionId":{"type":"string"},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcome":{"type":"string","enum":["approve","reject","abstain","conflict","acknowledge","choose","answer","comment","request_revision","snooze"]},"consequence":{"type":["object","null"]}}}}}},"x-commentary-feature-key":"interactions.decisions","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InteractionDecisionResult"}}}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InteractionDecisionResult"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"Revision, action, fingerprint, revocation, or idempotency conflict."},"410":{"description":"Proposal expired or content was purged."},"412":{"description":"If-Match is stale or malformed."},"428":{"description":"If-Match is required."},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/fulfillment":{"get":{"operationId":"getInteractionFulfillment","tags":["Interactions"],"summary":"Read current self-reported Fulfillment and append-only history.","description":"Polling remains available. Reports are not cryptographic proof or verified provider success.","security":[{"bearerAuth":["commentary.interactions.read"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.fulfillment","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"current":{"oneOf":[{"$ref":"#/components/schemas/InteractionFulfillmentReport"},{"type":"null"}]},"history":{"type":"array","items":{"$ref":"#/components/schemas/InteractionFulfillmentReport"}}}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"reportInteractionFulfillment","tags":["Interactions"],"summary":"Append an agent-reported Fulfillment status for an exact approved proposal.","description":"Requires ownership or explicit fulfillment authority, exact Decision/revision/action/fingerprint binding, and Idempotency-Key. Later reports correct history without rewriting it.","security":[{"bearerAuth":["commentary.interactions.fulfillment"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["decisionId","revisionId","actionId","proposalFingerprint","status"],"additionalProperties":false,"properties":{"decisionId":{"type":"string"},"revisionId":{"type":"string"},"actionId":{"type":"string"},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["received","started","completed","failed","unknown"]},"evidence":{"type":["object","null"],"description":"Sanitized JSON evidence, at most 8 KiB; credentials and raw logs are forbidden."}}}}}},"x-commentary-feature-key":"interactions.fulfillment","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"409":{"description":"Approval, fingerprint, lifecycle, expiry, or idempotency conflict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"410":{"description":"Interaction content was purged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/interactions/{interactionId}/messages":{"get":{"operationId":"listInteractionMessages","tags":["Interactions"],"summary":"List bounded messages already supported by the Interaction domain.","security":[{"bearerAuth":["commentary.interactions.read"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"interactions.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/InteractionMessage"}},"nextCursor":{"type":["string","null"]}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createInteractionMessage","tags":["Interactions"],"summary":"Conditionally append a message to the current or named revision.","security":[{"bearerAuth":["commentary.interactions.update"]}],"parameters":[{"name":"interactionId","in":"path","required":true,"schema":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"description":"Opaque Interaction id."},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["body"],"additionalProperties":false,"properties":{"body":{"type":"string","maxLength":16384},"revisionId":{"type":"string"}}}}}},"x-commentary-feature-key":"interactions.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"412":{"description":"The ETag is stale.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"428":{"description":"If-Match is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews":{"get":{"operationId":"listDraftReviews","tags":["Draft reviews"],"summary":"List draft reviews owned by the account-scoped token principal.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"draftReviews":{"type":"array","items":{"$ref":"#/components/schemas/DraftReview"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createDraftReview","tags":["Draft reviews"],"summary":"Create a draft review session, optionally with initial file content.","description":"File content fields are literal UTF-8 payloads. Commentary never treats submitted paths as local files to read.","security":[{"bearerAuth":["commentary.comments.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDraftReviewRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"draftReview":{"$ref":"#/components/schemas/DraftReview"},"sessionId":{"type":"string"},"reviewUrl":{"type":"string","format":"uri"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/draft-reviews/assets/prepare":{"post":{"operationId":"prepareDraftReviewAssetUpload","tags":["Draft reviews"],"summary":"Prepare an actor-bound, expiring raster upload for a Draft review.","security":[{"bearerAuth":["commentary.comments.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftAssetUploadPrepareRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"uploadId":{"type":"string"},"uploadUrl":{"type":"string","format":"uri"},"expiresAt":{"type":"string","format":"date-time"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/draft-reviews/assets/{uploadId}":{"put":{"operationId":"uploadDraftReviewAsset","tags":["Draft reviews"],"summary":"Upload exactly the raster bytes declared by a prepared upload.","description":"Requires Content-Length and the prepared image MIME type. The server verifies byte length, SHA-256, decoded format, dimensions, actor, expiry, and single-use state.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/avif":{"schema":{"type":"string","format":"binary"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"uploadId":{"type":"string"},"path":{"type":"string"},"mimeType":{"type":"string"},"width":{"type":"integer"},"height":{"type":"integer"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}":{"get":{"operationId":"getDraftReview","tags":["Draft reviews"],"summary":"Get a draft review session.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"draftReview":{"$ref":"#/components/schemas/DraftReview"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"patch":{"operationId":"updateDraftReview","tags":["Draft reviews"],"summary":"Update draft review metadata or Git base metadata.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchDraftReviewRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"draftReview":{"$ref":"#/components/schemas/DraftReview"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"delete":{"operationId":"deleteDraftReview","tags":["Draft reviews"],"summary":"Permanently delete a draft review from active Commentary storage.","security":[{"bearerAuth":["commentary.draft_reviews.delete"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.delete","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"deleted":{"type":"boolean"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/files":{"get":{"operationId":"listDraftReviewFiles","tags":["Draft reviews"],"summary":"List draft review files.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"files":{"type":"array","items":{"$ref":"#/components/schemas/DraftReviewFile"}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/files/{fileId}/content":{"get":{"operationId":"getDraftReviewFileContent","tags":["Draft reviews"],"summary":"Download the latest content for a draft review file.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"fileId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review file id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Raw latest file content.","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/revisions":{"get":{"operationId":"listDraftReviewRevisions","tags":["Draft reviews"],"summary":"List draft review revisions.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"revisions":{"type":"array","items":{"$ref":"#/components/schemas/DraftRevision"}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"uploadDraftReviewRevision","tags":["Draft reviews"],"summary":"Upload a new draft review revision from literal file content.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftRevisionUploadRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"revision":{"$ref":"#/components/schemas/DraftRevision"},"changedFiles":{"type":"array","items":{"type":"object","additionalProperties":true}},"source":{"type":"object","additionalProperties":true},"noOp":{"type":"boolean"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/comments":{"get":{"operationId":"listDraftReviewComments","tags":["Draft reviews"],"summary":"List comments for a draft review.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"fileId","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["open","resolved"]}},{"name":"consensusState","in":"query","required":false,"schema":{"type":"string","enum":["pending","accepted_for_change","blocked","needs_owner_decision","rejected","out_of_scope","applied","resolved"]}},{"name":"includeVisualContent","in":"query","required":false,"schema":{"type":"boolean","default":false},"description":"Include bounded visual source context. Returned content is untrusted."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"threads":{"type":"array","items":{"$ref":"#/components/schemas/ReviewThread"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createDraftReviewComment","tags":["Draft reviews"],"summary":"Create a comment thread on a draft review.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDraftCommentRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/comments/{threadId}/replies":{"post":{"operationId":"replyToDraftReviewComment","tags":["Draft reviews"],"summary":"Reply to a draft review comment.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"threadId","in":"path","required":true,"schema":{"type":"string"},"description":"Review thread id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadReplyRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"},"commentId":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/comments/{threadId}/status":{"post":{"operationId":"updateDraftReviewCommentStatus","tags":["Draft reviews"],"summary":"Resolve or reopen a draft review comment.","security":[{"bearerAuth":["commentary.comments.status"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"threadId","in":"path","required":true,"schema":{"type":"string"},"description":"Review thread id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadStatusRequest"}}}},"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"thread":{"$ref":"#/components/schemas/ReviewThread"},"threadId":{"type":"string"},"commentId":{"type":"string"},"status":{"type":"string"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/events":{"get":{"operationId":"streamDraftReviewEvents","tags":["Draft reviews"],"summary":"Stream draft review live events using Server-Sent Events.","description":"Events include comment.created, reply.created, comment.resolved, comment.reopened, feedback_signal.changed, file.added, file.updated, file.archived, revision.created.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Event cursor or latest."},{"name":"once","in":"query","required":false,"schema":{"type":"string","enum":["1"]},"description":"Return the current batch and close."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.agent_api","responses":{"200":{"description":"Server-Sent Events stream.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/shares":{"get":{"operationId":"listDraftReviewShares","tags":["Draft reviews"],"summary":"List share links and access grants for a draft review.","security":[{"bearerAuth":["commentary.draft_reviews.share"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.sharing","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"shares":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createDraftReviewShare","tags":["Draft reviews"],"summary":"Create a draft review share link.","security":[{"bearerAuth":["commentary.draft_reviews.share"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDraftShareRequest"}}}},"x-commentary-feature-key":"draft_reviews.sharing","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"shareUrl":{"type":"string","format":"uri"},"link":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/shares/{shareLinkId}":{"delete":{"operationId":"revokeDraftReviewShare","tags":["Draft reviews"],"summary":"Revoke a draft review share link.","security":[{"bearerAuth":["commentary.draft_reviews.share"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"shareLinkId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review share link id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.sharing","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"revoked":{"type":"boolean"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/draft-reviews/{sessionId}/access/{accessGrantId}":{"delete":{"operationId":"removeDraftReviewAccess","tags":["Draft reviews"],"summary":"Remove a draft review access grant.","security":[{"bearerAuth":["commentary.draft_reviews.share"]}],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review or Research session id."},{"name":"accessGrantId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review access grant id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"draft_reviews.sharing","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"removed":{"type":"boolean"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews":{"get":{"operationId":"listWebAppReviews","tags":["Web App reviews"],"summary":"List Web App Reviews owned by the account-scoped token principal.","security":[{"bearerAuth":["commentary.review.read"]}],"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"webAppReviews":{"type":"array","items":{"$ref":"#/components/schemas/WebAppReview"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]},"post":{"operationId":"createWebAppReview","tags":["Web App reviews"],"summary":"Create a Web App Review for a deployed or localhost preview URL.","description":"The preview app must be customer-controlled and frameable by Commentary. The Web App Review SDK enables selector comments; screenshot comments can target bounded areas when the SDK is unavailable.","security":[{"bearerAuth":["commentary.comments.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebAppReviewRequest"}}}},"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"webAppReview":{"$ref":"#/components/schemas/WebAppReview"},"reviewId":{"type":"string"},"reviewUrl":{"type":"string","format":"uri"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/web-app-reviews/{reviewId}":{"get":{"operationId":"getWebAppReview","tags":["Web App reviews"],"summary":"Get Web App Review metadata.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"webAppReview":{"$ref":"#/components/schemas/WebAppReview"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"patch":{"operationId":"updateWebAppReview","tags":["Web App reviews"],"summary":"Update Web App Review metadata.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchWebAppReviewRequest"}}}},"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"webAppReview":{"$ref":"#/components/schemas/WebAppReview"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews/{reviewId}/comments":{"get":{"operationId":"listWebAppReviewComments","tags":["Web App reviews"],"summary":"List selector, screenshot, and general comments for a Web App Review.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"includeImages","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"comments":{"type":"array","items":{"$ref":"#/components/schemas/WebAppReviewComment"}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createWebAppReviewComment","tags":["Web App reviews"],"summary":"Create a selector, screenshot, or general comment for a Web App Review.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebAppReviewCommentRequest"}}}},"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"comment":{"$ref":"#/components/schemas/WebAppReviewComment"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews/{reviewId}/comments/{threadId}/status":{"post":{"operationId":"updateWebAppReviewCommentStatus","tags":["Web App reviews"],"summary":"Resolve or reopen a Web App Review comment thread.","security":[{"bearerAuth":["commentary.comments.status"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"threadId","in":"path","required":true,"schema":{"type":"string"},"description":"Review thread id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadStatusRequest"}}}},"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"comment":{"$ref":"#/components/schemas/WebAppReviewComment"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/WebAppReviewComment"}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews/{reviewId}/agent-context":{"get":{"operationId":"getWebAppReviewAgentContext","tags":["Web App reviews"],"summary":"Get Web App Review comments as actionable, untrusted agent editing tasks.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"includeResolved","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"includeArchived","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"includeImages","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"web_app_reviews.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAppReviewAgentContext"}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews/{reviewId}/shares":{"get":{"operationId":"listWebAppReviewShares","tags":["Web App reviews"],"summary":"List share links and access grants for a deployed Web App Review.","security":[{"bearerAuth":["commentary.review.share"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"web_app_reviews.sharing","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"shares":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createWebAppReviewShare","tags":["Web App reviews"],"summary":"Create a deployed Web App Review share link.","description":"Localhost Web App Reviews cannot be shared through Commentary share links.","security":[{"bearerAuth":["commentary.review.share"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDraftShareRequest"}}}},"x-commentary-feature-key":"web_app_reviews.sharing","responses":{"201":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"shareUrl":{"type":"string","format":"uri"},"link":{"type":"object","additionalProperties":true}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews/{reviewId}/shares/{shareLinkId}":{"delete":{"operationId":"revokeWebAppReviewShare","tags":["Web App reviews"],"summary":"Revoke a Web App Review share link.","security":[{"bearerAuth":["commentary.review.share"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"shareLinkId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review share link id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"web_app_reviews.sharing","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"revoked":{"type":"boolean"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/web-app-reviews/{reviewId}/access/{accessGrantId}":{"delete":{"operationId":"removeWebAppReviewAccess","tags":["Web App reviews"],"summary":"Remove a Web App Review access grant.","security":[{"bearerAuth":["commentary.review.share"]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"},"description":"Web App Review id."},{"name":"accessGrantId","in":"path","required":true,"schema":{"type":"string"},"description":"Draft review access grant id."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"web_app_reviews.sharing","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"removed":{"type":"boolean"}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/brain/reviews":{"get":{"operationId":"listBrainReviews","tags":["Knowledge Brain"],"summary":"List Knowledge Brain reviews available to the token.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"owner","in":"query","required":false,"schema":{"type":"string"}},{"name":"repo","in":"query","required":false,"schema":{"type":"string"}},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"}},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"brain.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"reviews":{"type":"array","items":{"$ref":"#/components/schemas/BrainReview"}}}}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/brain/review/changed-files":{"get":{"operationId":"listChangedBrainFiles","tags":["Knowledge Brain"],"summary":"List changed files for a Knowledge Brain review.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"file","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"brain.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"changedFiles":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/brain/review/comments":{"get":{"operationId":"listBrainReviewComments","tags":["Knowledge Brain"],"summary":"List comments for a Knowledge Brain review.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"file","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"brain.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"threads":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/brain/review/health-findings":{"get":{"operationId":"listBrainHealthFindings","tags":["Knowledge Brain"],"summary":"List health findings for a Knowledge Brain review.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"file","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"brain.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"healthFindings":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/brain/review/requested-revisions":{"get":{"operationId":"listBrainRequestedRevisions","tags":["Knowledge Brain"],"summary":"List requested revisions for a Knowledge Brain review.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"file","in":"query","required":false,"schema":{"type":"string"}},{"name":"filePath","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"brain.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"requestedRevisions":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}}},"/api/v1/brain/review/ready":{"post":{"operationId":"markBrainReviewReady","tags":["Knowledge Brain"],"summary":"Mark a Knowledge Brain requested revision ready for review.","security":[{"bearerAuth":["commentary.comments.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrainReadyRequest"}}}},"x-commentary-feature-key":"brain.agent_api","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/api/v1/brain/review/evaluations":{"get":{"operationId":"listBrainEvaluations","tags":["Knowledge Brain"],"summary":"List Knowledge Brain evaluation ledger entries.","security":[{"bearerAuth":["commentary.brain.evals.read"]}],"parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string","enum":["github"]}},{"name":"owner","in":"query","required":false,"schema":{"type":"string"},"description":"Repository owner."},{"name":"repo","in":"query","required":false,"schema":{"type":"string"},"description":"Repository name."},{"name":"pr","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number."},{"name":"prNumber","in":"query","required":false,"schema":{"type":"integer"},"description":"Pull request number alias used by Brain endpoints."},{"name":"branch","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref for branch document review."},{"name":"branchRef","in":"query","required":false,"schema":{"type":"string"},"description":"Branch ref alias used by Brain endpoints."},{"name":"rootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder."},{"name":"brainRootFolder","in":"query","required":false,"schema":{"type":"string"},"description":"Knowledge Brain root folder alias."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"brain.evaluations","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"evaluations":{"type":"array","items":{"$ref":"#/components/schemas/BrainEvaluation"}}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"createBrainEvaluation","tags":["Knowledge Brain"],"summary":"Create a Knowledge Brain evaluation ledger entry.","security":[{"bearerAuth":["commentary.brain.evals.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrainEvaluationRequest"}}}},"x-commentary-feature-key":"brain.evaluations","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"evaluation":{"$ref":"#/components/schemas/BrainEvaluation"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]},"patch":{"operationId":"updateBrainEvaluation","tags":["Knowledge Brain"],"summary":"Update a Knowledge Brain evaluation ledger entry.","security":[{"bearerAuth":["commentary.brain.evals.write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrainEvaluationRequest"}}}},"x-commentary-feature-key":"brain.evaluations","responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"evaluation":{"$ref":"#/components/schemas/BrainEvaluation"}},"additionalProperties":true}}}},"400":{"description":"The request was invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"401":{"description":"Authentication is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"403":{"description":"The token or session does not have permission for this resource.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"404":{"description":"The resource was not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}},"429":{"description":"The request was rate limited.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}},"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}]}},"/mcp":{"get":{"operationId":"getMcpEndpoint","tags":["MCP"],"summary":"Probe MCP endpoint authentication and protocol support.","security":[{"bearerAuth":[]}],"x-commentary-feature-key":"mcp.review","responses":{"200":{"description":"Authenticated GET is accepted.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Bearer authentication challenge with protected resource metadata.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalError"}}}}}},"post":{"operationId":"postMcpJsonRpc","tags":["MCP"],"summary":"Call Commentary MCP over Streamable HTTP JSON-RPC.","description":"Authenticated tools/list advertises: commentary_agent_profile, inbox_saved_view, interaction, commentary_forms, commentary_research, github_app_access, draft_review, review_comments, web_app_review, review_participants, review_settings, review_polls, review_gate_status, review_document, brain_review, commentary_projects, commentary_trackers, review_package, project_review_session, codebase_review, project_evidence.","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpJsonRpcRequest"}}}},"x-commentary-feature-key":"mcp.review","responses":{"200":{"description":"JSON-RPC response.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"202":{"description":"Accepted JSON-RPC notification."},"400":{"description":"Invalid JSON-RPC request.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"401":{"description":"Bearer authentication challenge.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"403":{"description":"Current-protocol insufficient-scope challenge with a JSON-RPC error body and WWW-Authenticate metadata.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApiJson","tags":["OpenAPI"],"summary":"Get the Commentary OpenAPI contract as JSON.","x-commentary-feature-key":"api.openapi_docs","responses":{"200":{"description":"OpenAPI JSON document.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/openapi.yaml":{"get":{"operationId":"getOpenApiYaml","tags":["OpenAPI"],"summary":"Get the Commentary OpenAPI contract as YAML.","x-commentary-feature-key":"api.openapi_docs","responses":{"200":{"description":"OpenAPI YAML document.","content":{"application/yaml":{"schema":{"type":"string"}}}}}}},"/api/v1/agents/me":{"get":{"operationId":"getAgentSelfProfile","tags":["Agents"],"summary":"Read the authenticated Agent profile","description":"Identity comes exclusively from the credential association. Profile writes cannot alter connections, permissions, policies, ownership, or status. Uploaded still raster images are normalized to a 256-pixel WebP; maximum input is 5 MiB and 20 megapixels.","security":[{"bearerAuth":[]}],"x-commentary-feature-key":"agents.basic","parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"responses":{"200":{"description":"Current profile.","content":{"application/json":{"schema":{"type":"object","required":["ok","profile"],"properties":{"ok":{"const":true},"profile":{"$ref":"#/components/schemas/AgentProfile"}}}}}},"400":{"description":"Invalid or unsupported profile or image."},"401":{"description":"Authentication required."},"403":{"description":"Registered identity and explicit write permission required."},"409":{"description":"Profile version or retry key conflicts."},"429":{"description":"Rate limit exceeded."}}},"patch":{"operationId":"patchAgentSelfProfile","tags":["Agents"],"summary":"Update the authenticated Agent profile","description":"Identity comes exclusively from the credential association. Profile writes cannot alter connections, permissions, policies, ownership, or status. Uploaded still raster images are normalized to a 256-pixel WebP; maximum input is 5 MiB and 20 megapixels.","security":[{"bearerAuth":["commentary.agents.profile.write"]}],"x-commentary-feature-key":"agents.basic","parameters":[{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"},"description":"Current profile version."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200},"description":"Stable key for retries of this operation."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfilePatch"}}}},"responses":{"200":{"description":"Current profile.","content":{"application/json":{"schema":{"type":"object","required":["ok","profile"],"properties":{"ok":{"const":true},"profile":{"$ref":"#/components/schemas/AgentProfile"}}}}}},"400":{"description":"Invalid or unsupported profile or image."},"401":{"description":"Authentication required."},"403":{"description":"Registered identity and explicit write permission required."},"409":{"description":"Profile version or retry key conflicts."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/agents/me/avatar":{"put":{"operationId":"putAgentSelfAvatar","tags":["Agents"],"summary":"Update the authenticated Agent profile","description":"Identity comes exclusively from the credential association. Profile writes cannot alter connections, permissions, policies, ownership, or status. Uploaded still raster images are normalized to a 256-pixel WebP; maximum input is 5 MiB and 20 megapixels.","security":[{"bearerAuth":["commentary.agents.profile.write"]}],"x-commentary-feature-key":"agents.basic","parameters":[{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"},"description":"Current profile version."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200},"description":"Stable key for retries of this operation."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"requestBody":{"required":true,"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}},"image/avif":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Current profile.","content":{"application/json":{"schema":{"type":"object","required":["ok","profile"],"properties":{"ok":{"const":true},"profile":{"$ref":"#/components/schemas/AgentProfile"}}}}}},"400":{"description":"Invalid or unsupported profile or image."},"401":{"description":"Authentication required."},"403":{"description":"Registered identity and explicit write permission required."},"409":{"description":"Profile version or retry key conflicts."},"429":{"description":"Rate limit exceeded."}}},"delete":{"operationId":"deleteAgentSelfAvatar","tags":["Agents"],"summary":"Remove image from the authenticated Agent profile","description":"Identity comes exclusively from the credential association. Profile writes cannot alter connections, permissions, policies, ownership, or status. Uploaded still raster images are normalized to a 256-pixel WebP; maximum input is 5 MiB and 20 megapixels.","security":[{"bearerAuth":["commentary.agents.profile.write"]}],"x-commentary-feature-key":"agents.basic","parameters":[{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"},"description":"Current profile version."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":200},"description":"Stable key for retries of this operation."},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"responses":{"200":{"description":"Current profile.","content":{"application/json":{"schema":{"type":"object","required":["ok","profile"],"properties":{"ok":{"const":true},"profile":{"$ref":"#/components/schemas/AgentProfile"}}}}}},"400":{"description":"Invalid or unsupported profile or image."},"401":{"description":"Authentication required."},"403":{"description":"Registered identity and explicit write permission required."},"409":{"description":"Profile version or retry key conflicts."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/workspaces":{"get":{"operationId":"listAgentWorkspaces","tags":["Workspaces"],"summary":"list Agent Workspaces","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.read"]}],"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/workspaces/{workspaceId}":{"get":{"operationId":"getAgentWorkspace","tags":["Workspaces"],"summary":"get Agent Workspace","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.read"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/workspaces/{workspaceId}/resources":{"get":{"operationId":"listAgentWorkspaceResources","tags":["Workspaces"],"summary":"list Agent Workspace Resources","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.read"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"section","in":"query","required":false,"schema":{"type":"string","enum":["reviews","forms","research","brain","sources"],"default":"reviews"}},{"name":"q","in":"query","required":false,"schema":{"type":"string"}},{"name":"filters","in":"query","required":false,"schema":{"type":"string","description":"JSON object of string arrays using this collection's browser filter vocabulary."}},{"name":"sort","in":"query","required":false,"schema":{"type":"string"}},{"name":"sourceId","in":"query","required":false,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","enum":[25],"default":25}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}},"post":{"operationId":"linkAgentWorkspaceResource","tags":["Workspaces"],"summary":"link Agent Workspace Resource","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.resources.write"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentWorkspaceResourceLink"}}}},"responses":{"201":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/workspaces/{workspaceId}/resources/{resourceType}/{resourceId}":{"get":{"operationId":"getAgentWorkspaceResource","tags":["Workspaces"],"summary":"get Agent Workspace Resource","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.read"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"resourceType","in":"path","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}},"patch":{"operationId":"renameAgentWorkspaceResource","tags":["Workspaces"],"summary":"rename Agent Workspace Resource","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.resources.write"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"resourceType","in":"path","required":true,"schema":{"type":"string"}},{"name":"resourceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentWorkspaceResourceRename"}}}},"responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/workspaces/{workspaceId}/queue":{"get":{"operationId":"listAgentWorkspaceQueue","tags":["Workspaces"],"summary":"list Agent Workspace Queue","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.workspaces.read"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"queueName","in":"query","required":false,"schema":{"type":"string"}},{"name":"assignment","in":"query","required":false,"schema":{"type":"string","enum":["any","me","unassigned"],"default":"any"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox":{"get":{"operationId":"listAgentInbox","tags":["Inbox"],"summary":"list Agent Inbox","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"bucket","in":"query","required":false,"schema":{"type":"string"}},{"name":"resourceType","in":"query","required":false,"schema":{"type":"string"}},{"name":"sourceKind","in":"query","required":false,"schema":{"type":"string"}},{"name":"agentId","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"deadline","in":"query","required":false,"schema":{"type":"string"}},{"name":"assignment","in":"query","required":false,"schema":{"type":"string"}},{"name":"interactionType","in":"query","required":false,"schema":{"type":"string"}},{"name":"priorityBand","in":"query","required":false,"schema":{"type":"string"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["active","history"],"default":"active"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["recommended","newest","due_soon"],"default":"recommended"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AgentInboxEntry"}}},"additionalProperties":true}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox/items/{workspaceId}/{entryId}":{"get":{"operationId":"getAgentInboxItem","tags":["Inbox"],"summary":"get Agent Inbox Item","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"entryId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"entry":{"$ref":"#/components/schemas/AgentInboxEntry"}},"additionalProperties":true}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox/policies":{"get":{"operationId":"listAgentInboxPolicies","tags":["Inbox"],"summary":"list Agent Inbox Policies","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"scope","in":"query","required":false,"schema":{"type":"string","enum":["personal","workspace"],"default":"personal"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.attention_policies","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}},"post":{"operationId":"proposeAgentInboxPolicy","tags":["Inbox"],"summary":"propose Agent Inbox Policy","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.interactions.create"]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.attention_policies","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInboxPolicyProposal"}}}},"responses":{"201":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox/policies/{policyId}":{"get":{"operationId":"getAgentInboxPolicy","tags":["Inbox"],"summary":"get Agent Inbox Policy","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"policyId","in":"path","required":true,"schema":{"type":"string"}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.attention_policies","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox/policies/simulate":{"post":{"operationId":"simulateAgentInboxPolicy","tags":["Inbox"],"summary":"simulate Agent Inbox Policy","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.attention_policies","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentInboxPolicySimulation"}}}},"responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox/insights":{"get":{"operationId":"getAgentInboxInsights","tags":["Inbox"],"summary":"get Agent Inbox Insights","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"window","in":"query","required":false,"schema":{"type":"integer","enum":[30,90],"default":30}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.trust_insights","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/inbox/notification-deliveries":{"get":{"operationId":"listAgentInboxNotificationDeliveries","tags":["Inbox"],"summary":"list Agent Inbox Notification Deliveries","description":"Account-scoped HTTP v1 agent operation within the credential's fixed workspace and current owner/source authority. Workspace selection never changes browser preferences. Policies cannot be activated by an agent. Insights require a 20-observation cohort; delivery history omits titles and app paths.","security":[{"bearerAuth":["commentary.inbox.read"]}],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":20,"default":20}},{"name":"X-Commentary-Workspace-Id","in":"header","required":false,"description":"Must match the credential workspace. This header cannot widen grant authority.","schema":{"type":"string"}},{"name":"X-Correlation-Id","in":"header","required":false,"schema":{"type":"string","maxLength":128}}],"x-commentary-feature-key":"inbox.basic","responses":{"200":{"description":"Authorized response. Reads never mark recipient state or apply policy effects. Proposals are disabled and pending human approval.","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object"}}}}}},"400":{"description":"Invalid input.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InteractionApiError"}}}},"401":{"description":"A valid bearer token is required."},"403":{"description":"The grant, workspace, membership, scope, feature, or source authority does not authorize this action."},"404":{"description":"Authorized resource or item was not found."},"409":{"description":"The version, retry key, or proposal limit conflicts."},"500":{"description":"The request could not be completed."},"503":{"description":"Source access or projection is temporarily unavailable."}}}},"/api/v1/review-packages/uploads":{"post":{"operationId":"preparePackageUpload","tags":["Package uploads"],"summary":"preparePackageUpload","description":"Actor/workspace-bound private byte transfer. Completed upload bundles are not published packages. Chunk offsets use a fixed 4 MiB grid; exact retries preserve the original bytes. Current membership and credential scope are checked on every operation. No content or Blob credentials are served by these routes.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bytes":{"type":"integer","minimum":1,"maximum":262144000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"manifest":{"$ref":"#/components/schemas/ProjectAgentUploadManifest"}},"required":["workspaceId","bytes","sha256","manifest"]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpreparePackageUploadOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/uploads/{uploadId}":{"get":{"operationId":"getPackageUpload","tags":["Package uploads"],"summary":"getPackageUpload","description":"Actor/workspace-bound private byte transfer. Completed upload bundles are not published packages. Chunk offsets use a fixed 4 MiB grid; exact retries preserve the original bytes. Current membership and credential scope are checked on every operation. No content or Blob credentials are served by these routes.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetPackageUploadOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}},"delete":{"operationId":"cancelPackageUpload","tags":["Package uploads"],"summary":"cancelPackageUpload","description":"Actor/workspace-bound private byte transfer. Completed upload bundles are not published packages. Chunk offsets use a fixed 4 MiB grid; exact retries preserve the original bytes. Current membership and credential scope are checked on every operation. No content or Blob credentials are served by these routes.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcancelPackageUploadOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/uploads/{uploadId}/chunks":{"post":{"operationId":"transferPackageChunk","tags":["Package uploads"],"summary":"transferPackageChunk","description":"Actor/workspace-bound private byte transfer. Completed upload bundles are not published packages. Chunk offsets use a fixed 4 MiB grid; exact retries preserve the original bytes. Current membership and credential scope are checked on every operation. No content or Blob credentials are served by these routes.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"offset":{"type":"integer","minimum":0,"maximum":262144000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"contentBase64":{"type":"string","maxLength":5592408,"pattern":"^[A-Za-z0-9+/]*={0,2}$"}},"required":["offset","sha256","contentBase64"]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgenttransferPackageChunkOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/uploads/{uploadId}/finalize":{"post":{"operationId":"finalizePackageUpload","tags":["Package uploads"],"summary":"finalizePackageUpload","description":"Actor/workspace-bound private byte transfer. Completed upload bundles are not published packages. Chunk offsets use a fixed 4 MiB grid; exact retries preserve the original bytes. Current membership and credential scope are checked on every operation. No content or Blob credentials are served by these routes.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentfinalizePackageUploadOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages":{"post":{"operationId":"publishReviewPackage","tags":["Review packages"],"summary":"publishReviewPackage","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifest":{"$ref":"#/components/schemas/ProjectAgentPublicationManifest"},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId"],"anyOf":[{"required":["uploadId"]},{"required":["manifest"]}]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpublishReviewPackageOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}":{"get":{"operationId":"getReviewPackage","tags":["Review packages"],"summary":"getReviewPackage","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetReviewPackageOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/revisions":{"get":{"operationId":"listPackageRevisions","tags":["Review packages"],"summary":"listPackageRevisions","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistPackageRevisionsOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}},"post":{"operationId":"publishPackageRevision","tags":["Review packages"],"summary":"publishPackageRevision","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifest":{"$ref":"#/components/schemas/ProjectAgentPublicationManifest"},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":[]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpublishPackageRevisionOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/revisions/{revisionId}/manifest":{"get":{"operationId":"getPackageManifest","tags":["Review packages"],"summary":"getPackageManifest","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"revisionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetPackageManifestOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/revisions/{revisionId}/files":{"get":{"operationId":"downloadPackageFile","tags":["Review packages"],"summary":"downloadPackageFile","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"revisionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}}],"responses":{"200":{"description":"Authorized immutable bytes with attachment disposition and no-store caching.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/revisions/{revisionId}/retry":{"post":{"operationId":"retryPackageIndexing","tags":["Review packages"],"summary":"retryPackageIndexing","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"revisionId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentretryPackageIndexingOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/comments":{"get":{"operationId":"listPackageComments","tags":["Review packages"],"summary":"listPackageComments","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read","commentary.comments.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"path","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},{"name":"revisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistPackageCommentsOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/revisions/{revisionId}/comments":{"post":{"operationId":"mutatePackageReviewComment","tags":["Review packages"],"summary":"mutatePackageReviewComment","description":"Normalized native package thread acknowledgement. Writes reuse app-native semantic threads on the exact current revision, require package read and comment write independently of publication write, and resolve/reopen/reattach additionally require commentary.comments.status. JSON bytes are capped at 256 KiB; native editing/repair permissions and licensing remain enforced. Agent edits cannot impersonate human or other Agent authors. No new comment CAS or retry ledger is introduced.","security":[{"bearerAuth":["commentary.review_packages.read","commentary.comments.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"revisionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"action":{"type":"string","enum":["create","reply","edit","resolve","reopen","reattach"]},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"blockId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"documentVersionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"nodeType":{"type":"string","maxLength":100},"sourceLineStart":{"type":"integer","minimum":1,"maximum":10000000},"sourceLineEnd":{"type":"integer","minimum":1,"maximum":10000000},"bodyMarkdown":{"type":"string","maxLength":20000,"minLength":1},"selectedText":{"type":"string","maxLength":4096},"prefixText":{"type":"string","maxLength":4096},"suffixText":{"type":"string","maxLength":4096},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["action"],"allOf":[{"if":{"properties":{"action":{"const":"create"}}},"then":{"required":["path","blockId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"reply"}}},"then":{"required":["threadId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"edit"}}},"then":{"required":["threadId","commentId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"resolve"}}},"then":{"required":["threadId"]}},{"if":{"properties":{"action":{"const":"reopen"}}},"then":{"required":["threadId"]}},{"if":{"properties":{"action":{"const":"reattach"}}},"then":{"required":["threadId","documentVersionId","blockId"]}}],"x-commentary-max-body-bytes":262144,"x-commentary-action-scopes":{"resolve":["commentary.comments.status"],"reopen":["commentary.comments.status"],"reattach":["commentary.comments.status"]}}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentmutatePackageReviewCommentOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/renderers":{"get":{"operationId":"listPackageRenderers","tags":["Review packages"],"summary":"listPackageRenderers","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic","trackers.custom_renderer"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"revisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistPackageRenderersOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}},"post":{"operationId":"managePackageRendererPublication","tags":["Review packages"],"summary":"managePackageRendererPublication","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.write"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic","trackers.custom_renderer"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"action":{"type":"string","enum":["publish","revokePublication"]},"definition":{"$ref":"#/components/schemas/ProjectAgentRendererDefinition"},"publicationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["action"],"anyOf":[{"properties":{"action":{"const":"publish"}},"required":["definition"],"not":{"required":["publicationId"]}},{"properties":{"action":{"const":"revokePublication"}},"required":["publicationId"],"not":{"required":["definition"]}}]}}}},"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentmanagePackageRendererPublicationOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/impact":{"get":{"operationId":"comparePackageRevisions","tags":["Review packages"],"summary":"comparePackageRevisions","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic","project_reviews.advanced_impact"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"fromRevisionId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"toRevisionId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1000000}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcomparePackageRevisionsOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/activity":{"get":{"operationId":"listPackageActivity","tags":["Review packages"],"summary":"listPackageActivity","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistPackageActivityOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/review-packages/{packageId}/feedback":{"get":{"operationId":"listPackageFeedback","tags":["Review packages"],"summary":"listPackageFeedback","description":"Immutable Draft-backed static publication. Omit manifest with a completed uploadId to infer a document directory, including commentary.package.json/yaml when present. Revisions reuse unchanged file hashes and require the exact previous package ETag; deletePaths explicitly removes retained files. Publication and Activity commit together before retryable indexing. Current workspace, package, linked Resource and source authority are rechecked for every read and download; project links confer no access. Ready revisions alone expose coherent content; executable bundles remain unsupported. Downloads return private attachment bytes, never storage credentials or privileged HTML/SVG.","security":[{"bearerAuth":["commentary.review_packages.read","commentary.comments.read"]}],"x-commentary-feature-key":"review_packages.agent_api","x-commentary-additional-feature-keys":["review_packages.basic"],"parameters":[{"name":"packageId","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Private upload status or immutable package revision result.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistPackageFeedbackOutput"}}}},"400":{"description":"Invalid manifest/chunk/checksum or missing retry key."},"401":{"description":"Authentication required."},"403":{"description":"Current actor/workspace/grant access denied."},"409":{"description":"Expired/canceled upload, missing chunks, or conflicting retry."},"413":{"description":"Actual request bytes exceed the bound."},"429":{"description":"Rate limit exceeded."}}}},"/api/v1/projects":{"post":{"operationId":"createProject","tags":["Projects"],"summary":"createProject","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200,"minLength":1},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["workspaceId","name"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateProjectOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listProjects","tags":["Projects"],"summary":"listProjects","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":200}},{"name":"lifecycle","in":"query","required":false,"schema":{"type":"string","enum":["active","completed","archived"]}},{"name":"visibility","in":"query","required":false,"schema":{"type":"string","enum":["workspace","participants"]}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["recent","name"]}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}":{"get":{"operationId":"getProject","tags":["Projects"],"summary":"getProject","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateProject","tags":["Projects"],"summary":"updateProject","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","maxLength":200,"minLength":1},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateProjectOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/status":{"get":{"operationId":"getProjectStatus","tags":["Projects"],"summary":"getProjectStatus","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectStatusOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/progress-policy":{"get":{"operationId":"getProjectProgressPolicy","tags":["Projects"],"summary":"getProjectProgressPolicy","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectProgressPolicyOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"setProjectProgressPolicy","tags":["Projects"],"summary":"setProjectProgressPolicy","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"}},"required":["policy"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentsetProjectProgressPolicyOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/progress-policy":{"get":{"operationId":"getTrackerProgressPolicy","tags":["Trackers"],"summary":"getTrackerProgressPolicy","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerProgressPolicyOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"setTrackerProgressPolicy","tags":["Trackers"],"summary":"setTrackerProgressPolicy","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"}},"required":["policy"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentsetTrackerProgressPolicyOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/review-progress":{"get":{"operationId":"getTrackerReviewProgress","tags":["Trackers"],"summary":"getTrackerReviewProgress","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerReviewProgressOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/review-progress/reconcile":{"post":{"operationId":"reconcileTrackerReviewProgress","tags":["Trackers"],"summary":"reconcileTrackerReviewProgress","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentreconcileTrackerReviewProgressOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/{recordId}/review-relations":{"post":{"operationId":"configureTrackerReviewRelation","tags":["Trackers"],"summary":"configureTrackerReviewRelation","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write","commentary.project_reviews.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"acceptanceRequired":{"type":"boolean"},"expectedRelationVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["target","acceptanceRequired","expectedRelationVersion"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentconfigureTrackerReviewRelationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/{recordId}/review-relations/{sessionId}":{"delete":{"operationId":"removeTrackerReviewRelation","tags":["Trackers"],"summary":"removeTrackerReviewRelation","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write","commentary.project_reviews.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"expectedRelationVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["expectedRelationVersion"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentremoveTrackerReviewRelationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/archive":{"post":{"operationId":"archiveProject","tags":["Projects"],"summary":"archiveProject","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveProjectOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/restore":{"post":{"operationId":"restoreProject","tags":["Projects"],"summary":"restoreProject","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrestoreProjectOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/complete":{"post":{"operationId":"completeProject","tags":["Projects"],"summary":"completeProject","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcompleteProjectOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/resources":{"get":{"operationId":"listProjectResources","tags":["Projects"],"summary":"listProjectResources","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"section","in":"query","required":false,"schema":{"type":"string","enum":["work","reviews"]}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectResourcesOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"linkProjectResource","tags":["Projects"],"summary":"linkProjectResource","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/components/schemas/ProjectAgentResource"},"pinnedRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"purpose":{"type":"string","maxLength":200}},"required":["target"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlinkProjectResourceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/resources/{linkId}":{"delete":{"operationId":"unlinkProjectResource","tags":["Projects"],"summary":"unlinkProjectResource","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"linkId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentunlinkProjectResourceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/relationships":{"get":{"operationId":"listProjectRelationships","tags":["Projects"],"summary":"listProjectRelationships","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectRelationshipsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"linkProjectRelationship","tags":["Projects"],"summary":"linkProjectRelationship","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"targetProjectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relation":{"type":"string","enum":["related","implements"]}},"required":["targetProjectId","relation"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlinkProjectRelationshipOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/relationships/{relationshipId}":{"delete":{"operationId":"unlinkProjectRelationship","tags":["Projects"],"summary":"unlinkProjectRelationship","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"relationshipId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentunlinkProjectRelationshipOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/participants":{"get":{"operationId":"listProjectParticipants","tags":["Projects"],"summary":"listProjectParticipants","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectParticipantsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"setProjectParticipant","tags":["Projects"],"summary":"setProjectParticipant","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["actor","role"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentsetProjectParticipantOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/participants/{participantId}":{"delete":{"operationId":"removeProjectParticipant","tags":["Projects"],"summary":"removeProjectParticipant","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"participantId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentremoveProjectParticipantOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/references":{"get":{"operationId":"listProjectExternalReferences","tags":["Projects"],"summary":"listProjectExternalReferences","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectExternalReferencesOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"linkProjectExternalReference","tags":["Projects"],"summary":"linkProjectExternalReference","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","maxLength":2048},"purpose":{"type":"string","maxLength":200}},"required":["url"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlinkProjectExternalReferenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/references/{referenceId}":{"delete":{"operationId":"unlinkProjectExternalReference","tags":["Projects"],"summary":"unlinkProjectExternalReference","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"referenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentunlinkProjectExternalReferenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/history":{"get":{"operationId":"listProjectChanges","tags":["Projects"],"summary":"listProjectChanges","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectChangesOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/workspaces":{"post":{"operationId":"linkProjectWorkspace","tags":["Projects"],"summary":"linkProjectWorkspace","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.write"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["workspaceId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlinkProjectWorkspaceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/validate":{"post":{"operationId":"validateTrackerContract","tags":["Trackers"],"summary":"validateTrackerContract","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"}},"required":["contract"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentvalidateTrackerContractOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers":{"post":{"operationId":"createTracker","tags":["Trackers"],"summary":"createTracker","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerParticipant"},"maxItems":100,"minItems":0}},"required":["workspaceId","contract"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateTrackerOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listTrackers","tags":["Trackers"],"summary":"listTrackers","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackersOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}":{"get":{"operationId":"getTracker","tags":["Trackers"],"summary":"getTracker","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateTracker","tags":["Trackers"],"summary":"updateTracker","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerParticipant"},"maxItems":100,"minItems":0}},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateTrackerOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/schema":{"get":{"operationId":"getTrackerSchema","tags":["Trackers"],"summary":"getTrackerSchema","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"schemaRevisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerSchemaOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/schemas":{"get":{"operationId":"listTrackerSchemas","tags":["Trackers"],"summary":"listTrackerSchemas","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackerSchemasOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/schema/preview":{"post":{"operationId":"previewTrackerSchema","tags":["Trackers"],"summary":"previewTrackerSchema","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["contract","expectedSchemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpreviewTrackerSchemaOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/schema/apply":{"post":{"operationId":"applyTrackerSchema","tags":["Trackers"],"summary":"applyTrackerSchema","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"allowBreaking":{"type":"boolean"},"migrationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mappings":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerMigrationMapping"},"maxItems":100,"minItems":0}},"required":["contract","expectedSchemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentapplyTrackerSchemaOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/archive":{"post":{"operationId":"archiveTracker","tags":["Trackers"],"summary":"archiveTracker","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveTrackerOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/restore":{"post":{"operationId":"restoreTracker","tags":["Trackers"],"summary":"restoreTracker","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrestoreTrackerOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/query":{"post":{"operationId":"queryTrackerRecords","tags":["Trackers"],"summary":"queryTrackerRecords","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"$ref":"#/components/schemas/ProjectAgentQuery"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["query"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentqueryTrackerRecordsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/{recordId}":{"get":{"operationId":"getTrackerRecord","tags":["Trackers"],"summary":"getTrackerRecord","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerRecordOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"patchTrackerRecord","tags":["Trackers"],"summary":"patchTrackerRecord","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"patch":{"$ref":"#/components/schemas/ProjectAgentRecordPatch"}},"required":["schemaRevisionId","patch"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpatchTrackerRecordOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/{recordId}/history":{"get":{"operationId":"listTrackerRecordHistory","tags":["Trackers"],"summary":"listTrackerRecordHistory","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackerRecordHistoryOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records":{"post":{"operationId":"createTrackerRecord","tags":["Trackers"],"summary":"createTrackerRecord","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["schemaRevisionId","values"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateTrackerRecordOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/{recordId}/archive":{"post":{"operationId":"archiveTrackerRecord","tags":["Trackers"],"summary":"archiveTrackerRecord","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"recordId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveTrackerRecordOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/bulk":{"post":{"operationId":"bulkTrackerRecords","tags":["Trackers"],"summary":"bulkTrackerRecords","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentBulkItem"},"maxItems":100,"minItems":1},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["items","schemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentbulkTrackerRecordsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/records/reorder":{"post":{"operationId":"reorderTrackerRecords","tags":["Trackers"],"summary":"reorderTrackerRecords","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"recordIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":1,"uniqueItems":true},"beforeRecordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"afterRecordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedOrderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"query":{"$ref":"#/components/schemas/ProjectAgentQuery"}},"required":["recordIds","expectedOrderVersion"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentreorderTrackerRecordsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/views":{"get":{"operationId":"listTrackerViews","tags":["Trackers"],"summary":"listTrackerViews","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackerViewsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"createTrackerView","tags":["Trackers"],"summary":"createTrackerView","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"definition":{"$ref":"#/components/schemas/ProjectAgentTrackerViewDefinition"},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"}},"required":["definition","visibility"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateTrackerViewOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/views/{viewId}":{"get":{"operationId":"getTrackerView","tags":["Trackers"],"summary":"getTrackerView","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"viewId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerViewOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateTrackerView","tags":["Trackers"],"summary":"updateTrackerView","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"viewId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"definition":{"$ref":"#/components/schemas/ProjectAgentTrackerViewDefinition"},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"}},"required":["definition"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateTrackerViewOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"delete":{"operationId":"deleteTrackerView","tags":["Trackers"],"summary":"deleteTrackerView","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.native_views"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"viewId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentdeleteTrackerViewOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/export":{"get":{"operationId":"exportTracker","tags":["Trackers"],"summary":"exportTracker","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentexportTrackerOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/import/preview":{"post":{"operationId":"previewTrackerImport","tags":["Trackers"],"summary":"previewTrackerImport","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"bundle":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"mode":{"type":"string","enum":["reconcile-existing"]},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["bundle","mode","expectedSchemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpreviewTrackerImportOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/import/preview":{"post":{"operationId":"previewNewTrackerImport","tags":["Trackers"],"summary":"previewNewTrackerImport","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"mode":{"type":"string","enum":["clone","create-new"]}},"required":["workspaceId","bundle","mode"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpreviewNewTrackerImportOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/import/apply":{"post":{"operationId":"applyTrackerImport","tags":["Trackers"],"summary":"applyTrackerImport","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"batchSize":{"type":"integer","minimum":1,"maximum":100}},"required":["previewId","expectedSchemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentapplyTrackerImportOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/import/{previewId}":{"get":{"operationId":"getTrackerImport","tags":["Trackers"],"summary":"getTrackerImport","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"previewId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerImportOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/import/{previewId}/cancel":{"post":{"operationId":"cancelTrackerImport","tags":["Trackers"],"summary":"cancelTrackerImport","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"previewId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcancelTrackerImportOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/authority/preview":{"post":{"operationId":"previewTrackerAuthority","tags":["Trackers"],"summary":"previewTrackerAuthority","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability","trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["commentary","git"]},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","maxLength":1024},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["mode","expectedSchemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpreviewTrackerAuthorityOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/authority":{"post":{"operationId":"migrateTrackerAuthority","tags":["Trackers"],"summary":"migrateTrackerAuthority","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability","trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["commentary","git"]},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["mode","previewId","expectedSchemaRevisionId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentmigrateTrackerAuthorityOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/proposals":{"post":{"operationId":"stageTrackerProposal","tags":["Trackers"],"summary":"stageTrackerProposal","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.portability"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"bundle":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["bundle","expectedSchemaRevisionId","baseCommitSha"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentstageTrackerProposalOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/source":{"post":{"operationId":"bindTrackerGitSource","tags":["Trackers"],"summary":"bindTrackerGitSource","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"sourceRef":{"type":"string","maxLength":200},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["sourceRef","baseCommitSha"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentbindTrackerGitSourceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync":{"get":{"operationId":"getTrackerSync","tags":["Trackers"],"summary":"getTrackerSync","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerSyncOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/proposals/{operationId}":{"get":{"operationId":"getTrackerSyncProposal","tags":["Trackers"],"summary":"getTrackerSyncProposal","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"operationId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetTrackerSyncProposalOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/preview":{"post":{"operationId":"previewTrackerSync","tags":["Trackers"],"summary":"previewTrackerSync","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["baseCommitSha"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpreviewTrackerSyncOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/apply":{"post":{"operationId":"applyTrackerSync","tags":["Trackers"],"summary":"applyTrackerSync","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.writeback","commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_writeback","trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["operationId","baseCommitSha"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentapplyTrackerSyncOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/resolve":{"post":{"operationId":"resolveTrackerSync","tags":["Trackers"],"summary":"resolveTrackerSync","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"resolutions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"conflictId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"choose":{"type":"string","enum":["base","current","proposed"]}},"required":["conflictId","choose"]},"maxItems":10000,"minItems":0}},"required":["operationId","resolutions"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentresolveTrackerSyncOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/retry":{"post":{"operationId":"retryTrackerSync","tags":["Trackers"],"summary":"retryTrackerSync","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.writeback","commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_writeback","trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["operationId","baseCommitSha"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentretryTrackerSyncOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/cancel":{"post":{"operationId":"cancelTrackerSync","tags":["Trackers"],"summary":"cancelTrackerSync","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["operationId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcancelTrackerSyncOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/sync/refresh":{"post":{"operationId":"refreshTrackerGitSource","tags":["Trackers"],"summary":"refreshTrackerGitSource","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.git_source"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrefreshTrackerGitSourceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions":{"post":{"operationId":"createProjectReviewSession","tags":["Review Sessions"],"summary":"createProjectReviewSession","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId","title","targets"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateProjectReviewSessionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listProjectReviewSessions","tags":["Review Sessions"],"summary":"listProjectReviewSessions","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewSessionsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/candidates":{"get":{"operationId":"listProjectReviewCandidates","tags":["Review Sessions"],"summary":"listProjectReviewCandidates","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewCandidatesOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}":{"get":{"operationId":"getProjectReviewSession","tags":["Review Sessions"],"summary":"getProjectReviewSession","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectReviewSessionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateProjectReviewSession","tags":["Review Sessions"],"summary":"updateProjectReviewSession","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateProjectReviewSessionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/revisions":{"post":{"operationId":"reviseProjectReviewSession","tags":["Review Sessions"],"summary":"reviseProjectReviewSession","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1}},"required":["targets"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentreviseProjectReviewSessionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listProjectReviewRevisions","tags":["Review Sessions"],"summary":"listProjectReviewRevisions","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewRevisionsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/revisions/{revisionId}/manifest":{"get":{"operationId":"getProjectReviewManifest","tags":["Review Sessions"],"summary":"getProjectReviewManifest","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"revisionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectReviewManifestOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/archive":{"post":{"operationId":"archiveProjectReviewSession","tags":["Review Sessions"],"summary":"archiveProjectReviewSession","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveProjectReviewSessionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/restore":{"post":{"operationId":"restoreProjectReviewSession","tags":["Review Sessions"],"summary":"restoreProjectReviewSession","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrestoreProjectReviewSessionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/targets":{"get":{"operationId":"listProjectReviewTargets","tags":["Review Sessions"],"summary":"listProjectReviewTargets","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewTargetsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/participants":{"post":{"operationId":"setProjectReviewParticipant","tags":["Review Sessions"],"summary":"setProjectReviewParticipant","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["actor","role"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentsetProjectReviewParticipantOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"delete":{"operationId":"removeProjectReviewParticipant","tags":["Review Sessions"],"summary":"removeProjectReviewParticipant","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},"required":["actor"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentremoveProjectReviewParticipantOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/discussion":{"get":{"operationId":"listProjectReviewDiscussion","tags":["Review Sessions"],"summary":"listProjectReviewDiscussion","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read","commentary.comments.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewDiscussionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"createProjectReviewDiscussion","tags":["Review Sessions"],"summary":"createProjectReviewDiscussion","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write","commentary.comments.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"bodyMarkdown":{"type":"string","maxLength":20000},"context":{"$ref":"#/components/schemas/ProjectAgentReviewArtifactContext"},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["bodyMarkdown"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateProjectReviewDiscussionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/discussion/{threadId}/comments":{"get":{"operationId":"listProjectReviewDiscussionComments","tags":["Review Sessions"],"summary":"listProjectReviewDiscussionComments","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read","commentary.comments.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"threadId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewDiscussionCommentsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"replyProjectReviewDiscussion","tags":["Review Sessions"],"summary":"replyProjectReviewDiscussion","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write","commentary.comments.write"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"threadId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"bodyMarkdown":{"type":"string","maxLength":20000}},"required":["bodyMarkdown"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentreplyProjectReviewDiscussionOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/review-requests":{"post":{"operationId":"requestProjectReview","tags":["Review Sessions"],"summary":"requestProjectReview","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write","commentary.interactions.create"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"recipientIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":1},"messageMarkdown":{"type":"string","maxLength":32768}},"required":["manifestSha256","recipientIds"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrequestProjectReviewOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/acceptance-requests":{"post":{"operationId":"requestProjectAcceptance","tags":["Review Sessions"],"summary":"requestProjectAcceptance","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.write","commentary.interactions.create"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"consequence":{"type":"string","maxLength":2000,"minLength":1},"approvalPolicy":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["target","consequence"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrequestProjectAcceptanceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/acceptance":{"get":{"operationId":"getProjectAcceptance","tags":["Review Sessions"],"summary":"getProjectAcceptance","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read","commentary.interactions.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"after","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectAcceptanceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots":{"post":{"operationId":"publishSourceSnapshot","tags":["Source snapshots"],"summary":"publishSourceSnapshot","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.write"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"reference":{"$ref":"#/components/schemas/ProjectAgentSourceReference"},"capturePolicy":{"type":"string","enum":["selected","full"]},"selectedPaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":1000,"minItems":0},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId","reference","capturePolicy"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpublishSourceSnapshotOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}":{"get":{"operationId":"getSourceSnapshot","tags":["Source snapshots"],"summary":"getSourceSnapshot","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetSourceSnapshotOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"delete":{"operationId":"purgeSourceSnapshot","tags":["Source snapshots"],"summary":"purgeSourceSnapshot","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.write"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentpurgeSourceSnapshotOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/tree":{"get":{"operationId":"getSourceTree","tags":["Source snapshots"],"summary":"getSourceTree","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"path","in":"query","required":false,"schema":{"type":"string","maxLength":1024}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetSourceTreeOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/file":{"get":{"operationId":"getSourceFile","tags":["Source snapshots"],"summary":"getSourceFile","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"path","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},{"name":"startLine","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":9007199254740991}},{"name":"lineCount","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetSourceFileOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/capture":{"get":{"operationId":"getSourceCapture","tags":["Source snapshots"],"summary":"getSourceCapture","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetSourceCaptureOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/capture/retry":{"post":{"operationId":"retrySourceCapture","tags":["Source snapshots"],"summary":"retrySourceCapture","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.write"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentretrySourceCaptureOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/capture/cancel":{"post":{"operationId":"cancelSourceCapture","tags":["Source snapshots"],"summary":"cancelSourceCapture","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.write"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcancelSourceCaptureOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/export":{"get":{"operationId":"exportSourceSnapshot","tags":["Source snapshots"],"summary":"exportSourceSnapshot","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentexportSourceSnapshotOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/search":{"post":{"operationId":"searchSourceSnapshot","tags":["Source snapshots"],"summary":"searchSourceSnapshot","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":200},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["query"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentsearchSourceSnapshotOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/threads":{"get":{"operationId":"listSourceReviewThreads","tags":["Source snapshots"],"summary":"listSourceReviewThreads","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"path","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistSourceReviewThreadsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"mutateSourceReviewThread","tags":["Source snapshots"],"summary":"mutateSourceReviewThread","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.comments.write","commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"action":{"type":"string","enum":["create","reply","edit","delete","status","reattach"]},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"blobHash":{"type":"string","maxLength":128},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bodyMarkdown":{"type":"string","maxLength":8192},"status":{"type":"string","enum":["open","resolved"]},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["action"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentmutateSourceReviewThreadOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/source-snapshots/{snapshotId}/repair":{"post":{"operationId":"repairSourceReviewThreads","tags":["Source snapshots"],"summary":"repairSourceReviewThreads","description":"Immutable provider-confirmed commits or explicitly uploaded source. Every metadata/tree/retained-file/export read rechecks current workspace, credential and original source access. Selected capture is selected-only, broad capture is bounded and explicit incomplete states never substitute another commit. Expected-version cancellation/retry/purge and idempotent publication commit durable Activity; binary payloads are digest checked and exports page within quotas. Source explorer UI and consolidated MCP parity follow in CP-019/033.","security":[{"bearerAuth":["commentary.comments.write","commentary.source_snapshots.read"]}],"x-commentary-feature-key":"review.source_explorer","x-commentary-additional-feature-keys":[],"parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["sourceSnapshotId"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrepairSourceReviewThreadsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence":{"post":{"operationId":"attachProjectEvidence","tags":["Project evidence"],"summary":"attachProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"reportUploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"result":{"type":"string","enum":["passed","failed","unknown"]},"retentionDays":{"type":"integer","minimum":1,"maximum":365}},"required":["context","targets","result"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentattachProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listProjectEvidence","tags":["Project evidence"],"summary":"listProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"context","in":"query","required":true,"schema":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/requirements":{"post":{"operationId":"createProjectRequirement","tags":["Project evidence"],"summary":"createProjectRequirement","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"acceptanceScope":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["context","expectedOutcomeMarkdown","acceptanceScope"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateProjectRequirementOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listProjectRequirements","tags":["Project evidence"],"summary":"listProjectRequirements","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"context","in":"query","required":true,"schema":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectRequirementsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/claims":{"post":{"operationId":"createProjectClaim","tags":["Project evidence"],"summary":"createProjectClaim","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["context","statementMarkdown","targets","evidenceRevisionIds"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcreateProjectClaimOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"get":{"operationId":"listProjectClaims","tags":["Project evidence"],"summary":"listProjectClaims","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"context","in":"query","required":true,"schema":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"archived","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":200}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectClaimsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}":{"get":{"operationId":"getProjectEvidence","tags":["Project evidence"],"summary":"getProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"revisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateProjectEvidence","tags":["Project evidence"],"summary":"updateProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"reportUploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"result":{"type":"string","enum":["passed","failed","unknown"]},"retentionDays":{"type":"integer","minimum":1,"maximum":365}},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/archive":{"post":{"operationId":"archiveProjectEvidence","tags":["Project evidence"],"summary":"archiveProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"archived":{"type":"boolean"}},"required":["archived"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/requirements/{requirementId}":{"get":{"operationId":"getProjectRequirement","tags":["Project evidence"],"summary":"getProjectRequirement","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"requirementId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"revisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectRequirementOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateProjectRequirement","tags":["Project evidence"],"summary":"updateProjectRequirement","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"requirementId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":200,"minLength":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"acceptanceScope":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateProjectRequirementOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/requirements/{requirementId}/archive":{"post":{"operationId":"archiveProjectRequirement","tags":["Project evidence"],"summary":"archiveProjectRequirement","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"requirementId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"archived":{"type":"boolean"}},"required":["archived"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveProjectRequirementOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/claims/{claimId}":{"get":{"operationId":"getProjectClaim","tags":["Project evidence"],"summary":"getProjectClaim","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"claimId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"revisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectClaimOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"patch":{"operationId":"updateProjectClaim","tags":["Project evidence"],"summary":"updateProjectClaim","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"claimId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","maxLength":200,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentupdateProjectClaimOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/claims/{claimId}/archive":{"post":{"operationId":"archiveProjectClaim","tags":["Project evidence"],"summary":"archiveProjectClaim","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"claimId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"archived":{"type":"boolean"}},"required":["archived"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentarchiveProjectClaimOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/revisions":{"get":{"operationId":"listProjectEvidenceHistory","tags":["Project evidence"],"summary":"listProjectEvidenceHistory","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectEvidenceHistoryOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/relations":{"post":{"operationId":"linkProjectEvidence","tags":["Project evidence"],"summary":"linkProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["relations"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlinkProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/report":{"get":{"operationId":"readProjectEvidenceReport","tags":["Project evidence"],"summary":"readProjectEvidenceReport","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"revisionId","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentreadProjectEvidenceReportOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/export":{"get":{"operationId":"exportProjectEvidence","tags":["Project evidence"],"summary":"exportProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"context","in":"query","required":true,"schema":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentexportProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/import":{"post":{"operationId":"importProjectEvidence","tags":["Project evidence"],"summary":"importProjectEvidence","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.write"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"bundle":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_evidence"},"contractVersion":{"const":1},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"result":{"type":"string","enum":["passed","failed","unknown"]},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"archived":{"type":"boolean"}},"required":["id","revisionId","kind","title","targets","relations","archived"]},"maxItems":100,"minItems":0}},"required":["kind","contractVersion","entries"]}},"required":["context","bundle"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentimportProjectEvidenceOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/verification":{"post":{"operationId":"requestProjectVerification","tags":["Project evidence"],"summary":"requestProjectVerification","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.verify"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":["project_reviews.advanced_evidence"],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"artifacts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["id"]},"maxItems":20,"minItems":0}},"required":["evidenceRevisionId","provider","runId","commitSha"]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentrequestProjectVerificationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}":{"get":{"operationId":"getProjectVerification","tags":["Project evidence"],"summary":"getProjectVerification","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"verificationId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentgetProjectVerificationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}/cancel":{"post":{"operationId":"cancelProjectVerification","tags":["Project evidence"],"summary":"cancelProjectVerification","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.verify"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":["project_reviews.advanced_evidence"],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"verificationId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcancelProjectVerificationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}/retry":{"post":{"operationId":"retryProjectVerification","tags":["Project evidence"],"summary":"retryProjectVerification","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.verify"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":["project_reviews.advanced_evidence"],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"verificationId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"If-Match","in":"header","required":true,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentretryProjectVerificationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-evidence/{evidenceId}/verification/{verificationId}/artifacts/{contentId}":{"get":{"operationId":"downloadProjectVerificationArtifact","tags":["Project evidence"],"summary":"downloadProjectVerificationArtifact","description":"Versioned acceptance statements, actor-attributed claims and supplied evidence. Independent resource/source authorization precedes summaries, relations, report reads, export and retries. Passing reports and imported references stay reported and cannot establish human acceptance. Reports are inert bounded text with digests, redaction diagnostics and retention; verification writes are reserved for trusted CP-022 adapters. Context query parameters use a JSON-encoded typed reference.","security":[{"bearerAuth":["commentary.evidence.read"]}],"x-commentary-feature-key":"projects.evidence.basic","x-commentary-additional-feature-keys":[],"parameters":[{"name":"evidenceId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"verificationId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"contentId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentdownloadProjectVerificationArtifactOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/renderers":{"get":{"operationId":"listTrackerRenderers","tags":["Trackers"],"summary":"listTrackerRenderers","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.custom_renderer"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackerRenderersOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}},"post":{"operationId":"manageTrackerRendererPublication","tags":["Trackers"],"summary":"manageTrackerRendererPublication","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.write"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":["trackers.custom_renderer"],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"action":{"type":"string","enum":["publish","revokePublication"]},"definition":{"$ref":"#/components/schemas/ProjectAgentRendererDefinition"},"publicationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["action"],"anyOf":[{"properties":{"action":{"const":"publish"}},"required":["definition"],"not":{"required":["publicationId"]}},{"properties":{"action":{"const":"revokePublication"}},"required":["publicationId"],"not":{"required":["definition"]}}]}}}},"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentmanageTrackerRendererPublicationOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/impact":{"get":{"operationId":"compareProjectReviewRevisions","tags":["Review Sessions"],"summary":"compareProjectReviewRevisions","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":["project_reviews.advanced_impact"],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"fromRevisionId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"toRevisionId","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1000000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentcompareProjectReviewRevisionsOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/activity":{"get":{"operationId":"listProjectActivity","tags":["Projects"],"summary":"listProjectActivity","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectActivityOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/projects/{projectId}/feedback":{"get":{"operationId":"listProjectFeedback","tags":["Projects"],"summary":"listProjectFeedback","description":"Optional durable initiative. Requires a current registered Agent/account grant bound to the owning workspace; original linked Resource authorization is independent. Managers configure lifecycle/participants through the authenticated browser. Archived Projects reject ordinary edits. Retry receipts and minimal Activity facts commit atomically; detach never deletes the linked Resource. Pagination cursors are opaque and actor/query-bound. Future adapters and unvalidated revision pins fail explicitly.","security":[{"bearerAuth":["commentary.projects.read","commentary.comments.read"]}],"x-commentary-feature-key":"projects.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"projectId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectFeedbackOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/activity":{"get":{"operationId":"listTrackerActivity","tags":["Trackers"],"summary":"listTrackerActivity","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackerActivityOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/trackers/{trackerId}/feedback":{"get":{"operationId":"listTrackerFeedback","tags":["Trackers"],"summary":"listTrackerFeedback","description":"Durable standalone Tracker authoring. Current workspace membership and registered scoped Agent/account grants are required. If-Match identifies the record for record writes and the Tracker for lifecycle/schema writes. Retries replay durable results; bulk items have independent indexed outcomes. Schema preview is paginated and read-only. Breaking application requires explicit allowBreaking, bounded replacement mappings with record ETags and explicit migrationId to resume; incompatible records retain old values and inspectable immutable revisions. Archived and Git-authoritative ordinary writes fail explicitly. Human acceptance/sharing configuration requires the owning human. Query/native-view/Git/MCP/SDK lanes remain reserved.","security":[{"bearerAuth":["commentary.trackers.read","commentary.comments.read"]}],"x-commentary-feature-key":"trackers.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"trackerId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistTrackerFeedbackOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/activity":{"get":{"operationId":"listProjectReviewActivity","tags":["Review Sessions"],"summary":"listProjectReviewActivity","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewActivityOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/project-review-sessions/{sessionId}/feedback":{"get":{"operationId":"listProjectReviewFeedback","tags":["Review Sessions"],"summary":"listProjectReviewFeedback","description":"Durable ordered exact Resource grouping with independent current source access. Compositions publish immutable manifest and revision-set digests; metadata/archive do not rewrite history. If-Match protects Session changes and retry receipts commit with Activity. Unauthorized targets are excluded before counts/paging; only authorized missing history is unavailable. Native discussion is exact-revision scoped and requires separate comment scopes. Lifecycle is organizational and cannot create human approval. Unknown source adapters fail explicitly. Human review UI, acceptance, and consolidated MCP/CLI/SDK parity remain downstream.","security":[{"bearerAuth":["commentary.project_reviews.read","commentary.comments.read"]}],"x-commentary-feature-key":"project_reviews.agent_api","x-commentary-additional-feature-keys":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","maxLength":512}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"waitMs","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Authorized domain result with the exact applicable ETag.","headers":{"ETag":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAgentlistProjectReviewFeedbackOutput"}}}},"400":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"401":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"403":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"404":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"409":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"412":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"413":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"422":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"428":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"429":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"500":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}},"503":{"description":"Bounded v1 machine-readable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["error"]}}}}}}},"/api/v1/review/settings":{"get":{"operationId":"getReviewSettings","tags":["Review collaboration"],"summary":"Read effective settings, permissions, version, revision, and provider-sync capabilities.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"review","in":"query","required":true,"schema":{"type":"string"},"description":"JSON encoded ReviewRef. Revision identity is supplied separately."}],"x-commentary-feature-key":"review.consensus","responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}},"patch":{"operationId":"updateReviewSettings","tags":["Review collaboration"],"summary":"Configure optional Polls and Consensus. Human sign-off configuration is human-only.","security":[{"bearerAuth":["commentary.review.settings.write"]}],"parameters":[],"x-commentary-feature-key":"review.consensus","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["review","collaboration","expectedVersion","operationKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}},"expectedVersion":{"type":"integer","minimum":0},"operationKey":{"type":"string","minLength":8,"maxLength":128}}}}}},"responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}}},"/api/v1/review/threads/{threadId}/decision":{"get":{"operationId":"getReviewThreadDecision","tags":["Review collaboration"],"summary":"Read an authorized thread's decision and participant stances.","security":[{"bearerAuth":["commentary.review.read"]}],"parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string"}}],"x-commentary-feature-key":"review.consensus","responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}},"post":{"operationId":"mutateReviewThreadDecision","tags":["Review collaboration"],"summary":"Request a decision, set a stance, decide, clear a blocker, or record exact application. Resolution and application never provide human approval.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[{"name":"threadId","in":"path","required":true,"schema":{"type":"string"}}],"x-commentary-feature-key":"review.consensus","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["action","expectedVersion","operationKey"],"properties":{"expectedVersion":{"type":"integer","minimum":0},"operationKey":{"type":"string","minLength":8,"maxLength":128},"blockerActorKey":{"type":"string"},"resultingRevision":{"type":"string"},"requestDecision":{"type":"boolean"},"action":{"enum":["request_decision","signal","decide","clear_blocker","record_application"]},"signal":{"enum":["agree","object","needs_clarification","blocker"]},"active":{"type":"boolean"},"decision":{"enum":["accepted_for_change","rejected","out_of_scope","clear"]},"reason":{"type":"string","maxLength":1000}}}}}},"responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}}},"/api/v1/review/polls":{"get":{"operationId":"getReviewPolls","tags":["Review collaboration"],"summary":"Read polls, filter outcomes, or serialize a readable snapshot with a participation link.","security":[{"bearerAuth":["commentary.comments.read"]}],"parameters":[{"name":"review","in":"query","required":false,"schema":{"type":"string"}},{"name":"threadId","in":"query","required":false,"schema":{"type":"string"}},{"name":"pollId","in":"query","required":false,"schema":{"type":"string"}},{"name":"action","in":"query","required":false,"schema":{"type":"string"}},{"name":"outcome","in":"query","required":false,"schema":{"type":"string"}},{"name":"after","in":"query","required":false,"schema":{"type":"string"}}],"x-commentary-feature-key":"review.poll_comments","responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}},"post":{"operationId":"mutateReviewPoll","tags":["Review collaboration"],"summary":"Create, edit, vote, close, reopen, or archive a poll. Decision polls also require Consensus and cannot bypass blockers.","security":[{"bearerAuth":["commentary.comments.write"]}],"parameters":[],"x-commentary-feature-key":"review.poll_comments","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"properties":{"action":{"enum":["create","edit","vote","clear_vote","close","reopen","archive"]},"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"threadId":{"type":"string"},"commentId":{"type":"string"},"pollId":{"type":"string"},"poll":{"type":"object"},"selectedOptionIds":{"type":"array","maxItems":20,"items":{"type":"string"}},"reason":{"type":"string"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Authorized review state or durable mutation receipt.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true}},"required":["ok"],"additionalProperties":true}}}},"400":{"description":"Invalid request."},"401":{"description":"Authentication required."},"403":{"description":"Current source, workspace, role or grant authority is required."},"404":{"description":"Review or exact target is unavailable."},"409":{"description":"Feature paused, stale version, or conflicting retry key. Refresh before creating a new intent."}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"Commentary external access token","description":"Bearer token from an API token, OAuth authorization code flow, OAuth refresh token flow, or OAuth device flow."},"commentarySession":{"type":"apiKey","in":"cookie","name":"commentary_session","description":"Signed-in Commentary browser session. Used for API token management routes."}},"schemas":{"InteractionApiError":{"type":"object","required":["error"],"additionalProperties":false,"properties":{"error":{"type":"object","required":["version","code","message","correlationId"],"additionalProperties":false,"properties":{"version":{"const":"1"},"code":{"type":"string"},"message":{"type":"string"},"correlationId":{"type":"string"},"details":{"type":"array","items":{"type":"object","required":["field","issue"],"properties":{"field":{"type":"string"},"issue":{"type":"string"}}},"retryable":{"type":"boolean"}}}}}},"InteractionResource":{"type":"object","required":["type","id"],"additionalProperties":false,"properties":{"type":{"type":"string","enum":["draft_review","form","research_study","web_app_review"]},"id":{"type":"string"}}},"Interaction":{"type":"object","required":["id","resource","state","currentRevisionId","version","createdAt","updatedAt"],"additionalProperties":true,"properties":{"id":{"type":"string","pattern":"^ixn_[A-Za-z0-9_-]{16,}$"},"resource":{"$ref":"#/components/schemas/InteractionResource"},"state":{"type":"string"},"currentRevisionId":{"type":"string"},"version":{"type":"integer","minimum":1},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"terminalAt":{"type":["string","null"],"format":"date-time"},"revisions":{"type":"array","items":{"type":"object"}},"messages":{"type":"array","items":{"$ref":"#/components/schemas/InteractionMessage"}}}},"InteractionMessage":{"type":"object","required":["id","revisionId","actor","body","createdAt"],"additionalProperties":true,"properties":{"id":{"type":"string"},"revisionId":{"type":"string"},"actor":{"type":"object"},"body":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"},"messageVersion":{"type":"integer","minimum":1},"editedAt":{"type":["string","null"],"format":"date-time"},"editable":{"type":"boolean","description":"Human conversational eligibility; never grants bearer edit authority."}}},"InteractionGuidance":{"type":"object","required":["id","interactionId","revisionId","scope","body","deliveredAt","status","acknowledgment"],"additionalProperties":false,"description":"Immutable future-facing human guidance plus an optional content-free agent acknowledgment receipt.","properties":{"id":{"type":"string","pattern":"^ixg_[A-Za-z0-9_-]{16,}$"},"interactionId":{"type":"string"},"revisionId":{"type":"string"},"scope":{"type":"string","enum":["similar_items","same_source","agent_behavior","general"]},"body":{"type":["string","null"],"maxLength":16384},"deliveredAt":{"type":"string","format":"date-time"},"contentPurgedAt":{"type":["string","null"],"format":"date-time"},"status":{"type":"string","enum":["delivered","acknowledged"]},"acknowledgment":{"oneOf":[{"type":"null"},{"type":"object","required":["acknowledgedAt","acknowledgedByAgentId"],"additionalProperties":false,"properties":{"acknowledgedAt":{"type":"string","format":"date-time"},"acknowledgedByAgentId":{"type":"string"}}}]}}},"InteractionResponseProgress":{"type":["object","null"],"description":"Browser-human recipient progress for the current exact revision. Does not change the Interaction lifecycle or prove external execution. Agent receipt transports do not expose this projection.","properties":{"revisionId":{"type":"string"},"responded":{"type":"boolean"},"revisionChanges":{"type":["string","null"]},"previousResponses":{"type":"array","maxItems":10,"items":{"type":"object","properties":{"id":{"type":"string"},"outcome":{"type":"string"},"value":{"type":["string","null"]},"contentPurged":{"type":"boolean"}}}},"next":{"type":"string","enum":["you","agent","approvers","revision","none"]},"message":{"type":"string"},"availableActionIds":{"type":"array","items":{"type":"string"}},"approvedActionIds":{"type":"array","description":"Actions whose current approval policy is satisfied; not proof of execution.","items":{"type":"string"}},"receipts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"actionId":{"type":"string"},"outcome":{"type":"string"},"value":{"type":["string","null"]},"contentPurged":{"type":"boolean"}}}}}},"InteractionDecisionResult":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/InteractionDecision"},"aggregate":{"type":["object","null"]},"responseProgress":{"$ref":"#/components/schemas/InteractionResponseProgress"}}},"InteractionDecision":{"type":"object","required":["id","interactionId","revisionId","actionId","proposalFingerprint","semanticAction","outcome","actor","decidedAt","terminalState","execution"],"additionalProperties":true,"description":"Immutable human intent receipt. execution.proven is always false in this slice.","properties":{"id":{"type":"string"},"interactionId":{"type":"string"},"revisionId":{"type":"string"},"actionId":{"type":"string"},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"semanticAction":{"type":"string"},"outcome":{"type":"string","enum":["approve","reject","abstain","conflict","acknowledge","choose","answer","comment","request_revision","snooze"]},"actor":{"type":"object"},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":["string","null"],"format":"date-time"},"terminalState":{"const":"recorded"},"actionSnapshot":{"type":["object","null"]},"consequence":{"type":["object","null"]},"contentPurgeAfter":{"type":"string","format":"date-time"},"contentPurgedAt":{"type":["string","null"],"format":"date-time"},"execution":{"type":"object","required":["proven"],"properties":{"proven":{"const":false}}}}},"InteractionAgentDecisionReceipt":{"type":"object","additionalProperties":false,"required":["id","interactionId","revisionId","actionId","proposalFingerprint","semanticAction","outcome","decidedAt","terminalState","purged"],"description":"Privacy-safe immutable receipt for the authorized creating agent. Human identity, Resource data, consequence content, and action snapshots are omitted.","properties":{"id":{"type":"string"},"interactionId":{"type":"string"},"revisionId":{"type":"string"},"actionId":{"type":"string"},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"semanticAction":{"type":"string"},"outcome":{"type":"string","enum":["approve","reject","abstain","conflict","acknowledge","choose","answer","comment","request_revision","snooze"]},"decidedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":["string","null"],"format":"date-time"},"aggregate":{"oneOf":[{"$ref":"#/components/schemas/AgentApprovalSummary"},{"type":"null"}]},"terminalState":{"type":"string"},"purged":{"type":"boolean"},"contentPurgedAt":{"type":["string","null"],"format":"date-time"}}},"InteractionFulfillmentReport":{"type":"object","additionalProperties":true,"required":["id","interactionId","decisionId","revisionId","actionId","proposalFingerprint","status","reportingAgent","reportedAt","selfReported","verified"],"description":"Append-only agent self-report. selfReported is true and verified is false; this is not provider-success proof.","properties":{"id":{"type":"string"},"interactionId":{"type":"string"},"decisionId":{"type":"string"},"revisionId":{"type":"string"},"actionId":{"type":"string"},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"status":{"type":"string","enum":["received","started","completed","failed","unknown"]},"reportingAgent":{"type":"object"},"evidence":{"type":["object","null"]},"reportedAt":{"type":"string","format":"date-time"},"contentPurgeAfter":{"type":["string","null"],"format":"date-time"},"contentPurgedAt":{"type":["string","null"],"format":"date-time"},"selfReported":{"const":true},"verified":{"const":false}}},"ExternalError":{"type":"object","required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"string"}},"additionalProperties":true},"OAuthError":{"type":"object","required":["error"],"properties":{"error":{"type":"string"},"error_description":{"type":"string"}},"additionalProperties":true},"OAuthToken":{"type":"object","required":["access_token","refresh_token","token_type","expires_in","scope"],"properties":{"access_token":{"type":"string"},"refresh_token":{"type":"string"},"token_type":{"type":"string","enum":["Bearer"]},"expires_in":{"type":"integer"},"scope":{"type":"string","description":"Space-delimited scopes actually granted to this token. Registered OAuth clients may receive a subset of requested scopes."}}},"ExternalScope":{"type":"string","enum":["commentary.review.settings.write","commentary.agents.profile.write","commentary.review.read","commentary.comments.read","commentary.comments.write","commentary.comments.status","commentary.review.share","commentary.draft_reviews.delete","commentary.draft_reviews.share","commentary.review.submit","commentary.forms.read","commentary.forms.write","commentary.forms.submit","commentary.forms.writeback","commentary.research.read","commentary.research.write","commentary.brain.evals.read","commentary.brain.evals.write","commentary.interactions.create","commentary.interactions.read","commentary.interactions.update","commentary.interactions.cancel","commentary.interactions.fulfillment","commentary.inbox.read","commentary.workspaces.read","commentary.workspaces.resources.write","commentary.webhooks.read","commentary.webhooks.write","commentary.projects.read","commentary.projects.write","commentary.trackers.read","commentary.trackers.write","commentary.trackers.writeback","commentary.review_packages.read","commentary.review_packages.write","commentary.project_reviews.read","commentary.project_reviews.write","commentary.source_snapshots.read","commentary.source_snapshots.write","commentary.evidence.read","commentary.evidence.write","commentary.evidence.verify"]},"TokenTarget":{"type":"string","description":"Target string such as account, github:owner/repo, github:owner/repo:pull:123, github:owner/repo:branch:main, or draft:sessionId."},"CreateTokenRequest":{"type":"object","properties":{"label":{"type":"string"},"scopes":{"oneOf":[{"type":"string"},{"type":"array","items":{"$ref":"#/components/schemas/ExternalScope"}}]},"target":{"$ref":"#/components/schemas/TokenTarget"},"expiresAt":{"type":["string","null"],"format":"date-time"}},"additionalProperties":false},"TokenSummary":{"type":"object","properties":{"id":{"type":"string"},"grantId":{"type":"string"},"tokenType":{"type":"string"},"tokenHint":{"type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/ExternalScope"}},"resourceScope":{"type":"string","enum":["review","repo","account"]},"owner":{"type":["string","null"]},"repo":{"type":["string","null"]},"prNumber":{"type":["integer","null"]},"branchRef":{"type":["string","null"]},"draftReviewSessionId":{"type":["string","null"]},"clientName":{"type":["string","null"]},"expiresAt":{"type":["string","null"],"format":"date-time"},"revokedAt":{"type":["string","null"],"format":"date-time"},"lastUsedAt":{"type":["string","null"],"format":"date-time"},"createdAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"GitHubInstallationDiagnostic":{"type":"object","properties":{"ok":{"type":"boolean"},"status":{"type":"string"},"statusLabel":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"target":{"type":["object","null"],"additionalProperties":true},"details":{"type":"array","items":{"type":"string"}},"nextSteps":{"type":"array","items":{"type":"string"}},"installUrl":{"type":["string","null"],"format":"uri"},"manageUrl":{"type":["string","null"],"format":"uri"},"workspaceAccessUrl":{"type":"string","format":"uri"},"reviewUrl":{"type":["string","null"],"format":"uri"},"installations":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true},"FormContract":{"type":"object","description":"Normalized Commentary Form Contract v1.","additionalProperties":true},"FormSourceContext":{"type":"object","description":"Embedded review context such as repository owner/repo plus prNumber or branchRef, draftReviewSessionId, filePath, documentVersionId, formInstanceId, and route.","additionalProperties":true},"FormRecord":{"type":"object","properties":{"id":{"type":"string"},"referenceId":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"status":{"type":"string","enum":["active","archived"]},"visibility":{"type":"string","enum":["private","shared","public_placeholder"]},"sourceType":{"type":"string","enum":["commentary","github","embedded","custom"]},"contractHash":{"type":"string"},"currentVersionId":{"type":["string","null"]},"sourceMetadata":{"type":"object","additionalProperties":true},"destinationConfig":{"type":"object","additionalProperties":true},"contract":{"$ref":"#/components/schemas/FormContract"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"FormSubmission":{"type":"object","properties":{"id":{"type":"string"},"formId":{"type":"string"},"formVersionId":{"type":"string"},"status":{"type":"string","enum":["draft","final","replaced","voided"]},"validationResult":{"type":"object","additionalProperties":true},"values":{"type":"object","description":"Raw submitted values. Requires commentary.forms.read.","additionalProperties":true},"sourceContext":{"$ref":"#/components/schemas/FormSourceContext"},"sourceContextSummary":{"type":"object","additionalProperties":true},"submissionOrigin":{"type":"string","enum":["web","api","mcp","cli","agent_api"]},"submitterViewerId":{"type":["string","null"]},"submitterLogin":{"type":["string","null"]},"agentAlias":{"type":["string","null"]},"clientName":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"submittedAt":{"type":["string","null"],"format":"date-time"}},"additionalProperties":true},"FormContractRequest":{"type":"object","properties":{"contract":{"$ref":"#/components/schemas/FormContract"},"contractSource":{"type":"string","description":"Literal JSON or YAML form contract source."},"sourceFormat":{"type":"string","enum":["json","yaml","auto"]},"referenceId":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"visibility":{"type":"string","enum":["private","shared","public_placeholder"]},"sourceType":{"type":"string","enum":["commentary","github","embedded","custom"]},"sourceMetadata":{"type":"object","additionalProperties":true},"destinationConfig":{"type":"object","additionalProperties":true},"agentAlias":{"type":"string"},"clientName":{"type":"string"}},"additionalProperties":false},"FormSubmissionRequest":{"type":"object","properties":{"values":{"type":"object","additionalProperties":true},"sourceContext":{"$ref":"#/components/schemas/FormSourceContext"},"submissionId":{"type":"string"},"submissionOrigin":{"type":"string","enum":["api","mcp","cli","agent_api"]},"agentAlias":{"type":"string"},"clientName":{"type":"string"}},"additionalProperties":false},"FormGitResultsRequest":{"type":"object","properties":{"action":{"type":"string","enum":["import","preview_writeback"]},"submissionId":{"type":"string"},"submissionIds":{"type":"array","items":{"type":"string"},"maxItems":50},"paths":{"type":"array","items":{"type":"string"}},"target":{"type":"object","properties":{"owner":{"type":"string"},"repo":{"type":"string"},"ref":{"type":"string"},"branch":{"type":"string"},"sourcePath":{"type":"string"},"baseBranch":{"type":"string"},"createBranch":{"type":"boolean"}},"additionalProperties":true},"summary":{"type":"string"},"commitMessage":{"type":"string"},"openPullRequest":{"type":"boolean"},"pullRequestTitle":{"type":"string"},"pullRequestBody":{"type":"string"},"agentAlias":{"type":"string"},"clientName":{"type":"string"}},"additionalProperties":true},"VisualRegion":{"type":"object","required":["x","y","width","height"],"properties":{"x":{"type":"number","minimum":0,"maximum":1},"y":{"type":"number","minimum":0,"maximum":1},"width":{"type":"number","exclusiveMinimum":0,"maximum":1},"height":{"type":"number","exclusiveMinimum":0,"maximum":1}},"additionalProperties":false},"ReviewVisualTarget":{"type":"object","required":["surfaceKind","surfaceId","occurrenceId","sourceKind","sourceLanguage","region","hostArtifactKind","hostFilePath","hostBlockId","editable"],"properties":{"surfaceKind":{"type":"string","enum":["raster_image","svg","mermaid"]},"surfaceId":{"type":"string","maxLength":256},"occurrenceId":{"type":"string","maxLength":256},"sourceKind":{"type":"string","enum":["repository","draft","embedded","external"]},"sourcePath":{"type":["string","null"],"maxLength":2048},"sourceRef":{"type":["string","null"],"maxLength":512},"sourceHash":{"type":["string","null"],"maxLength":256},"sourceLanguage":{"type":"string","enum":["binary","svg","mermaid","markdown","html"]},"intrinsicWidth":{"type":["integer","null"],"minimum":1},"intrinsicHeight":{"type":["integer","null"],"minimum":1},"viewBox":{"type":["string","null"],"maxLength":128},"region":{"$ref":"#/components/schemas/VisualRegion"},"hostArtifactKind":{"type":"string","enum":["markdown","html","form","image","svg","mermaid"]},"hostFilePath":{"type":"string","maxLength":2048},"hostBlockId":{"type":"string","maxLength":256},"sourceLineStart":{"type":["integer","null"],"minimum":1},"sourceLineEnd":{"type":["integer","null"],"minimum":1},"slideId":{"type":["string","null"],"maxLength":256},"elementHint":{"type":["object","null"],"additionalProperties":false,"properties":{"id":{"type":["string","null"],"maxLength":256},"tagName":{"type":["string","null"],"maxLength":64},"accessibleName":{"type":["string","null"],"maxLength":512},"title":{"type":["string","null"],"maxLength":512}}},"editable":{"type":"boolean"}},"additionalProperties":false},"ReviewThread":{"type":"object","properties":{"id":{"type":"string"},"filePath":{"type":"string"},"status":{"type":"string","enum":["open","resolved"]},"anchorStatus":{"type":"string"},"blockId":{"type":"string"},"nodeType":{"type":"string"},"sourceLineStart":{"type":"integer"},"sourceLineEnd":{"type":"integer"},"selectedText":{"type":["string","null"]},"prefixText":{"type":["string","null"]},"suffixText":{"type":["string","null"]},"artifactKind":{"type":"string","enum":["markdown","html","form","image","svg","mermaid"]},"visualTarget":{"oneOf":[{"$ref":"#/components/schemas/ReviewVisualTarget"},{"type":"null"}]},"feedbackSignals":{"type":"array","items":{"type":"object","additionalProperties":true}},"feedbackSummary":{"type":["object","null"],"additionalProperties":true},"consensus":{"type":["object","null"],"additionalProperties":true},"comments":{"type":"array","items":{"type":"object","additionalProperties":true}},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"ReviewParticipant":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["user","agent"]},"providerLogin":{"type":["string","null"]},"providerUserId":{"type":["string","null"]},"viewerId":{"type":["string","null"]},"agentAlias":{"type":["string","null"]},"displayName":{"type":"string"},"mentionHandle":{"type":"string"},"source":{"type":"string"},"taggable":{"type":"boolean"}},"additionalProperties":true},"AddReviewParticipantRequest":{"type":"object","properties":{"provider":{"type":"string","enum":["github"],"default":"github"},"owner":{"type":"string"},"repo":{"type":"string"},"prNumber":{"type":"integer"},"branchRef":{"type":"string"},"draftSessionId":{"type":"string"},"webAppReviewId":{"type":"string"},"kind":{"type":"string","enum":["user","agent"]},"providerLogin":{"type":"string"},"providerUserId":{"type":"string"},"userId":{"type":"string"},"agentAlias":{"type":"string"},"displayName":{"type":"string"},"mentionHandle":{"type":"string"},"recipient":{"type":"string"}},"additionalProperties":false},"ReviewMentionNotification":{"type":"object","properties":{"id":{"type":"string"},"contextKey":{"type":"string"},"threadId":{"type":"string"},"commentId":{"type":"string"},"mentionHandle":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"readAt":{"type":["string","null"],"format":"date-time"}},"additionalProperties":true},"ReviewProgressFile":{"type":"object","required":["filePath","status","changedSinceReviewed"],"properties":{"filePath":{"type":"string"},"status":{"type":"string","enum":["not_started","in_progress","reviewed","needs_re_review","skipped"]},"reviewedAt":{"type":["string","null"],"format":"date-time"},"reviewedByViewerId":{"type":["string","null"]},"reviewedByLogin":{"type":["string","null"]},"lastInteractedAt":{"type":["string","null"],"format":"date-time"},"reviewedRevision":{"type":["string","null"]},"currentRevision":{"type":["string","null"]},"changedSinceReviewed":{"type":"boolean"},"skippedReason":{"type":["string","null"]},"partial":{"type":["object","null"],"additionalProperties":true}},"additionalProperties":true},"ReviewProgressSummary":{"type":"object","properties":{"totalFiles":{"type":"integer"},"reviewedFiles":{"type":"integer"},"inProgressFiles":{"type":"integer"},"skippedFiles":{"type":"integer"},"needsReReviewFiles":{"type":"integer"},"notStartedFiles":{"type":"integer"},"changedSinceReviewedFiles":{"type":"integer"},"percentReviewed":{"type":"integer"},"lastReviewedFilePath":{"type":["string","null"]},"lastReviewedSectionTitle":{"type":["string","null"]}},"additionalProperties":false},"ReviewProgressResponse":{"type":"object","required":["ok","viewerScoped","summary","files"],"properties":{"ok":{"const":true},"viewerScoped":{"type":"boolean"},"summary":{"$ref":"#/components/schemas/ReviewProgressSummary"},"files":{"type":"array","items":{"$ref":"#/components/schemas/ReviewProgressFile"}}},"additionalProperties":false},"CreateReviewCommentRequest":{"type":"object","required":["owner","repo","filePath","blockId","nodeType","sourceLineStart","sourceLineEnd","bodyMarkdown"],"properties":{"requestDecision":{"type":"boolean"},"poll":{"type":"object"},"provider":{"type":"string","enum":["github"],"default":"github"},"owner":{"type":"string"},"repo":{"type":"string"},"prNumber":{"type":"integer"},"branchRef":{"type":"string"},"filePath":{"type":"string"},"blockId":{"type":"string"},"nodeType":{"type":"string"},"sourceLineStart":{"type":"integer"},"sourceLineEnd":{"type":"integer"},"selectedText":{"type":["string","null"]},"prefixText":{"type":["string","null"]},"suffixText":{"type":["string","null"]},"bodyMarkdown":{"type":"string"},"agentAlias":{"type":["string","null"]},"anchorMetadata":{"type":["object","null"],"properties":{"artifactKind":{"type":"string","enum":["markdown","html","form","image","svg","mermaid"]},"visualTarget":{"$ref":"#/components/schemas/ReviewVisualTarget"}},"additionalProperties":true}}},"ThreadReplyRequest":{"type":"object","required":["bodyMarkdown"],"properties":{"bodyMarkdown":{"type":"string"},"agentAlias":{"type":["string","null"]}},"additionalProperties":false},"ThreadStatusRequest":{"type":"object","required":["status"],"properties":{"status":{"type":"string","enum":["open","resolved"]},"bodyMarkdown":{"type":"string","description":"Optional closing or reopening reply. Requires comment write scope when present."},"agentAlias":{"type":["string","null"]}},"additionalProperties":false},"ThreadAnchorRequest":{"type":"object","required":["documentVersionId","blockId"],"properties":{"documentVersionId":{"type":"string","description":"Current document version used to reject stale repair suggestions."},"blockId":{"type":"string","description":"Target semantic block identifier."}},"additionalProperties":false},"DraftGitBase":{"type":["object","null"],"properties":{"provider":{"type":"string","enum":["github"]},"owner":{"type":"string"},"repo":{"type":"string"},"ref":{"type":["string","null"]},"sha":{"type":["string","null"]},"path":{"type":["string","null"]},"metadata":{"type":["object","null"],"additionalProperties":true}},"additionalProperties":true},"DraftReviewFileInput":{"type":"object","properties":{"path":{"type":"string"},"fileId":{"type":"string"},"content":{"type":"string"},"assetUploadId":{"type":"string","description":"Single-use raster upload id returned by the asset preparation endpoint. Mutually exclusive with content."},"contentType":{"type":"string","enum":["markdown","html","plain_text","image","svg","mermaid","auto"]}},"additionalProperties":false},"DraftAssetUploadPrepareRequest":{"type":"object","required":["path","mimeType","byteLength","sha256"],"properties":{"path":{"type":"string","maxLength":1024},"mimeType":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/avif"]},"byteLength":{"type":"integer","minimum":1,"maximum":10485760},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"additionalProperties":false},"CreateDraftReviewRequest":{"type":"object","required":["title"],"properties":{"collaboration":{"$ref":"#/components/schemas/ReviewCollaboration"},"title":{"type":"string"},"description":{"type":"string"},"sourceType":{"type":"string","enum":["api","mcp","cli","agent_api"]},"agentAlias":{"type":["string","null"],"description":"Stable per-agent identifier for agent-authored activity. clientName is not a substitute; the connected human identity remains visible."},"files":{"type":"array","items":{"$ref":"#/components/schemas/DraftReviewFileInput"}},"gitBase":{"$ref":"#/components/schemas/DraftGitBase"},"base":{"$ref":"#/components/schemas/DraftGitBase"}},"additionalProperties":false},"PatchDraftReviewRequest":{"type":"object","properties":{"title":{"type":["string","null"]},"description":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","archived",null]},"gitBase":{"$ref":"#/components/schemas/DraftGitBase"},"base":{"$ref":"#/components/schemas/DraftGitBase"}},"additionalProperties":false},"DraftReview":{"type":"object","properties":{"collaboration":{"$ref":"#/components/schemas/ReviewCollaborationState"},"id":{"type":"string"},"title":{"type":"string"},"description":{"type":["string","null"]},"sourceType":{"type":"string"},"status":{"type":"string","enum":["active","archived"]},"visibility":{"type":"string"},"gitBase":{"$ref":"#/components/schemas/DraftGitBase"},"reviewUrl":{"type":"string","format":"uri"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"planOfRecordRevision":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"revisionNumber":{"type":"number"},"summary":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"}},"additionalProperties":true},{"type":"null"}]},"files":{"type":"array","items":{"$ref":"#/components/schemas/DraftReviewFile"}},"latestRevision":{"oneOf":[{"$ref":"#/components/schemas/DraftRevision"},{"type":"null"}]}},"additionalProperties":true},"DraftReviewFile":{"type":"object","properties":{"id":{"type":"string"},"path":{"type":"string"},"displayName":{"type":"string"},"contentType":{"type":"string","enum":["markdown","html","plain_text","image","svg","mermaid"]},"currentRevisionId":{"type":["string","null"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"DraftRevision":{"type":"object","properties":{"id":{"type":"string"},"revisionNumber":{"type":"integer"},"label":{"type":"string"},"origin":{"type":"string"},"summary":{"type":["string","null"]},"agentAlias":{"type":["string","null"],"description":"Stable per-agent identifier for agent-authored activity. clientName is not a substitute; the connected human identity remains visible."},"createdAt":{"type":"string","format":"date-time"},"files":{"type":"array","items":{"type":"object","additionalProperties":true}}},"additionalProperties":true},"DraftRevisionUploadRequest":{"type":"object","required":["files"],"properties":{"summary":{"type":"string"},"sourceType":{"type":"string","enum":["api","mcp","cli","agent_api"]},"agentAlias":{"type":["string","null"],"description":"Stable per-agent identifier for agent-authored activity. clientName is not a substitute; the connected human identity remains visible."},"files":{"type":"array","items":{"$ref":"#/components/schemas/DraftReviewFileInput"}}},"additionalProperties":false},"CreateDraftCommentRequest":{"type":"object","required":["blockId","nodeType","sourceLineStart","sourceLineEnd","bodyMarkdown"],"properties":{"requestDecision":{"type":"boolean"},"poll":{"type":"object"},"fileId":{"type":["string","null"]},"filePath":{"type":["string","null"]},"blockId":{"type":"string"},"nodeType":{"type":"string"},"sourceLineStart":{"type":"integer"},"sourceLineEnd":{"type":"integer"},"selectedText":{"type":["string","null"]},"prefixText":{"type":["string","null"]},"suffixText":{"type":["string","null"]},"bodyMarkdown":{"type":"string"},"agentAlias":{"type":["string","null"]},"visualTarget":{"$ref":"#/components/schemas/ReviewVisualTarget"}},"additionalProperties":false},"CreateDraftShareRequest":{"type":"object","properties":{"audience":{"type":"string","enum":["anyone","user"],"default":"anyone"},"recipient":{"type":"string"}},"additionalProperties":false},"WebAppReviewRepo":{"type":"object","properties":{"provider":{"type":["string","null"]},"owner":{"type":["string","null"]},"name":{"type":["string","null"]},"branch":{"type":["string","null"]},"commitSha":{"type":["string","null"]},"deploymentId":{"type":["string","null"]},"buildId":{"type":["string","null"]}},"additionalProperties":false},"WebAppReviewPrincipalIdentity":{"type":"object","properties":{"viewerId":{"type":["string","null"]},"providerAccountId":{"type":["string","null"]},"login":{"type":["string","null"]}},"additionalProperties":false},"WebAppReview":{"type":"object","properties":{"collaboration":{"$ref":"#/components/schemas/ReviewCollaborationState"},"id":{"type":"string"},"title":{"type":"string"},"owner":{"$ref":"#/components/schemas/WebAppReviewPrincipalIdentity"},"currentUser":{"$ref":"#/components/schemas/WebAppReviewPrincipalIdentity"},"sourceType":{"type":"string","enum":["deployed_url","localhost"]},"previewUrl":{"type":"string","format":"uri"},"previewOrigin":{"type":"string"},"deliveryMode":{"type":"string","enum":["auto","embedded","new_tab"]},"repo":{"$ref":"#/components/schemas/WebAppReviewRepo"},"status":{"type":"string","enum":["active","archived"]},"reviewUrl":{"type":"string","format":"uri"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"CreateWebAppReviewRequest":{"type":"object","required":["title","sourceType","previewUrl"],"properties":{"collaboration":{"$ref":"#/components/schemas/ReviewCollaboration"},"title":{"type":"string"},"sourceType":{"type":"string","enum":["deployed_url","localhost"]},"previewUrl":{"type":"string","format":"uri"},"deliveryMode":{"type":"string","enum":["auto","embedded","new_tab"]},"repo":{"$ref":"#/components/schemas/WebAppReviewRepo"},"externalMetadata":{"type":"object","additionalProperties":true}},"additionalProperties":false},"PatchWebAppReviewRequest":{"type":"object","properties":{"title":{"type":["string","null"]},"status":{"type":["string","null"],"enum":["active","archived",null]},"deliveryMode":{"type":["string","null"],"enum":["auto","embedded","new_tab",null]},"repo":{"$ref":"#/components/schemas/WebAppReviewRepo"},"externalMetadata":{"type":"object","additionalProperties":true}},"additionalProperties":false},"WebAppElementContextInput":{"type":"object","required":["route","url","origin","selector","fallbackSelector","tagName","boundingRect","viewport"],"properties":{"route":{"type":"string"},"url":{"type":"string","format":"uri"},"origin":{"type":"string"},"selector":{"type":"string"},"fallbackSelector":{"type":"string"},"tagName":{"type":"string"},"role":{"type":["string","null"]},"accessibleName":{"type":["string","null"]},"textSnippet":{"type":["string","null"]},"boundingRect":{"type":"object","additionalProperties":true},"viewport":{"type":"object","additionalProperties":true},"component":{"type":["object","null"],"additionalProperties":true},"commitSha":{"type":["string","null"]}},"additionalProperties":false},"WebAppScreenshotContextInput":{"type":"object","required":["targetKind","route","url","origin","viewport","screenshot"],"properties":{"targetKind":{"const":"screenshot"},"route":{"type":"string"},"url":{"type":"string","format":"uri"},"origin":{"type":"string"},"viewport":{"type":"object","additionalProperties":true},"screenshot":{"type":"object","required":["mimeType","width","height","screenshotRect","cursorPage","cursorImage"],"properties":{"mimeType":{"type":"string","enum":["image/png","image/jpeg","image/webp"]},"dataUrl":{"type":"string"},"base64":{"type":"string"},"width":{"type":"number"},"height":{"type":"number"},"screenshotRect":{"type":"object","additionalProperties":true},"cursorPage":{"type":"object","additionalProperties":true},"cursorImage":{"type":"object","additionalProperties":true}},"additionalProperties":true},"commitSha":{"type":["string","null"]}},"additionalProperties":false},"CreateWebAppReviewCommentRequest":{"oneOf":[{"type":"object","required":["targetKind","bodyMarkdown"],"properties":{"targetKind":{"const":"general"},"bodyMarkdown":{"type":"string"},"reviewSessionId":{"type":["string","null"]},"route":{"type":"string"},"url":{"type":"string","format":"uri"}},"additionalProperties":false},{"allOf":[{"$ref":"#/components/schemas/WebAppElementContextInput"},{"type":"object","required":["bodyMarkdown"],"properties":{"targetKind":{"type":"string","enum":["element"]},"bodyMarkdown":{"type":"string"},"reviewSessionId":{"type":["string","null"]}},"additionalProperties":false}]},{"allOf":[{"$ref":"#/components/schemas/WebAppScreenshotContextInput"},{"type":"object","required":["bodyMarkdown"],"properties":{"bodyMarkdown":{"type":"string"},"reviewSessionId":{"type":["string","null"]}},"additionalProperties":false}]}]},"WebAppReviewComment":{"type":"object","properties":{"id":{"type":"string"},"threadId":{"type":"string"},"reviewId":{"type":"string"},"targetKind":{"type":"string","enum":["element","screenshot","general"]},"bodyMarkdown":{"type":"string"},"status":{"type":"string","enum":["open","resolved"]},"route":{"type":"string"},"url":{"type":"string"},"selector":{"type":"string"},"fallbackSelector":{"type":"string"},"element":{"type":"object","additionalProperties":true},"boundingRect":{"type":"object","additionalProperties":true},"viewport":{"type":"object","additionalProperties":true},"component":{"type":["object","null"],"additionalProperties":true},"screenshot":{"type":["object","null"],"additionalProperties":true},"commitSha":{"type":["string","null"]},"author":{"type":"object","properties":{"login":{"type":"string"},"viewerId":{"type":["string","null"]},"agentAlias":{"type":["string","null"],"description":"Stable per-agent identifier for agent-authored activity. clientName is not a substitute; the connected human identity remains visible."}},"additionalProperties":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"additionalProperties":true},"WebAppReviewAgentContext":{"type":"object","properties":{"ok":{"const":true},"review":{"type":"object","properties":{"id":{"type":"string"},"type":{"const":"web_app"},"owner":{"$ref":"#/components/schemas/WebAppReviewPrincipalIdentity"},"currentUser":{"$ref":"#/components/schemas/WebAppReviewPrincipalIdentity"}},"additionalProperties":true},"comments":{"type":"array","items":{"type":"object","properties":{"type":{"const":"web_app_review_comment"},"security":{"type":"object","properties":{"untrusted":{"const":true},"warning":{"type":"string"}},"required":["untrusted","warning"]}},"additionalProperties":true}}},"additionalProperties":true},"BrainReview":{"type":"object","additionalProperties":true},"BrainEvaluation":{"type":"object","additionalProperties":true},"BrainEvaluationRequest":{"type":"object","properties":{"provider":{"type":"string","enum":["github"]},"owner":{"type":"string"},"repo":{"type":"string"},"prNumber":{"type":["integer","null"]},"branchRef":{"type":["string","null"]},"rootFolder":{"type":["string","null"]},"id":{"type":["string","null"]},"question":{"type":["string","null"]},"expectedAnswer":{"type":["string","null"]},"expectedSourcePages":{},"actualAnswer":{"type":["string","null"]},"retrievedPages":{},"grade":{},"reviewerNotes":{"type":["string","null"]}},"additionalProperties":false},"BrainReadyRequest":{"type":"object","properties":{"threadId":{"type":"string"},"bodyMarkdown":{"type":["string","null"]}},"additionalProperties":false},"McpJsonRpcRequest":{"type":"object","required":["jsonrpc","method"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"type":["string","number","null"]},"method":{"type":"string","enum":["initialize","notifications/initialized","tools/list","tools/call"]},"params":{"type":"object","additionalProperties":true}},"additionalProperties":true},"McpToolsList":{"type":"object","required":["tools"],"properties":{"tools":{"type":"array","items":{"type":"object","required":["name","description","inputSchema","annotations"],"properties":{"name":{"type":"string","enum":["commentary_agent_profile","inbox_saved_view","interaction","commentary_forms","commentary_research","github_app_access","draft_review","review_comments","web_app_review","review_participants","review_settings","review_polls","review_gate_status","review_document","brain_review","commentary_projects","commentary_trackers","review_package","project_review_session","codebase_review","project_evidence"]},"description":{"type":"string"},"inputSchema":{"type":"object","additionalProperties":true},"annotations":{"type":"object","required":["title","readOnlyHint","destructiveHint","idempotentHint","openWorldHint"],"properties":{"title":{"type":"string"},"readOnlyHint":{"type":"boolean"},"destructiveHint":{"type":"boolean"},"idempotentHint":{"type":"boolean"},"openWorldHint":{"type":"boolean"}},"additionalProperties":false}}}}}},"ReviewRef":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"ReviewCollaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}},"ReviewCollaborationState":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false},"ReviewDecisionMutation":{"type":"object","additionalProperties":false,"required":["action","expectedVersion","operationKey"],"properties":{"expectedVersion":{"type":"integer","minimum":0},"operationKey":{"type":"string","minLength":8,"maxLength":128},"blockerActorKey":{"type":"string"},"resultingRevision":{"type":"string"},"requestDecision":{"type":"boolean"},"action":{"enum":["request_decision","signal","decide","clear_blocker","record_application"]},"signal":{"enum":["agree","object","needs_clarification","blocker"]},"active":{"type":"boolean"},"decision":{"enum":["accepted_for_change","rejected","out_of_scope","clear"]},"reason":{"type":"string","maxLength":1000}}},"WorkspaceNotificationContext":{"type":"object","additionalProperties":false,"required":["version","intent","kind","title","summary","recipientReason","nextStep","actionLabel","href","actorName","excerpt","location","resultCount"],"properties":{"version":{"const":2},"intent":{"type":"string","enum":["action","information"]},"kind":{"type":"string","enum":["review_requested","revision_ready","comment","reply","mention","thread_reopened","thread_resolved","review_status","submission_failed","submission_completed","sync_failed","sync_recovered","refresh_failed","form_responses","form_blocked","form_recovered","evaluation_ready","research_results","evidence_failed","evidence_recovered","assignment","reassigned","approval_blocked","policy_approval","webhook_failed","job_failed","responsibility_changed","request_completed"]},"title":{"type":"string"},"summary":{"type":"string"},"recipientReason":{"type":"string"},"nextStep":{"type":["string","null"]},"actionLabel":{"type":"string"},"href":{"type":"string"},"actorName":{"type":"string"},"excerpt":{"type":["string","null"]},"location":{"type":["string","null"]},"resultCount":{"type":["integer","null"],"minimum":0}}},"AgentInboxEntry":{"type":"object","additionalProperties":true,"properties":{"notification":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceNotificationContext"},{"type":"null"}],"description":"Optional authorized context for new built-in workspace notifications. Legacy and custom Interactions are unchanged."}}},"AgentApprovalSummary":{"type":"object","additionalProperties":false,"required":["state","approvals","required","completedSteps","totalSteps"],"properties":{"state":{"type":"string","enum":["pending","approved","rejected","expired","unsatisfiable"]},"approvals":{"type":"integer","minimum":0},"required":{"type":"integer","minimum":0},"completedSteps":{"type":"integer","minimum":0},"totalSteps":{"type":"integer","minimum":0}}},"AgentWorkspaceResourceLink":{"type":"object","additionalProperties":false,"required":["type","id"],"properties":{"type":{"type":"string","enum":["repository","pull_request","document","draft_review","form","research_study","knowledge_brain","web_app_review","project","tracker","review_package","project_review_session","source_snapshot"]},"id":{"type":"string","minLength":1,"maxLength":512}}},"AgentWorkspaceResourceRename":{"type":"object","additionalProperties":false,"required":["title","expectedUpdatedAt"],"properties":{"title":{"type":"string","minLength":1,"maxLength":200},"expectedUpdatedAt":{"type":"string","format":"date-time"}}},"AgentInboxPolicyProposal":{"type":"object","additionalProperties":false,"required":["name","precedence","definition"],"properties":{"scope":{"type":"string","enum":["personal","workspace"],"default":"personal"},"name":{"type":"string","minLength":1,"maxLength":80},"precedence":{"type":"integer","minimum":0,"maximum":1000},"definition":{"$ref":"#/components/schemas/InboxAttentionPolicyDefinition"}}},"AgentInboxPolicySimulation":{"type":"object","additionalProperties":false,"required":["definition","entryId"],"properties":{"definition":{"$ref":"#/components/schemas/InboxAttentionPolicyDefinition"},"entryId":{"type":"string"}}},"InboxAttentionPolicyDefinition":{"type":"object","additionalProperties":false,"required":["schemaVersion","condition","effects"],"properties":{"schemaVersion":{"const":1},"condition":{"$ref":"#/components/schemas/InboxAttentionPolicyCondition"},"effects":{"type":"array","minItems":1,"maxItems":8,"items":{"$ref":"#/components/schemas/InboxAttentionPolicyEffect"}}}},"InboxAttentionPolicyCondition":{"oneOf":[{"type":"object","additionalProperties":false,"required":["kind","clause"],"properties":{"kind":{"const":"clause"},"clause":{"type":"object","additionalProperties":false,"required":["field","operator","value"],"properties":{"field":{"type":"string","enum":["workspace","interaction_type","resource_type","source_category","agent","recipient","role","status","priority_band","deadline_window","age_days","business_hours"]},"operator":{"type":"string","enum":["is","is_not","in","gte","lte"]},"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","maxItems":12,"items":{"type":"string"}}]}}}}},{"type":"object","additionalProperties":false,"required":["kind","conditions"],"properties":{"kind":{"type":"string","enum":["all","any"]},"conditions":{"type":"array","minItems":1,"maxItems":24,"items":{"$ref":"#/components/schemas/InboxAttentionPolicyCondition"}}}},{"type":"object","additionalProperties":false,"required":["kind","condition"],"properties":{"kind":{"const":"not"},"condition":{"$ref":"#/components/schemas/InboxAttentionPolicyCondition"}}}]},"InboxAttentionPolicyEffect":{"oneOf":[{"type":"object","additionalProperties":false,"required":["kind","points"],"properties":{"kind":{"const":"rank_adjustment"},"points":{"type":"integer","minimum":-100,"maximum":100}}},{"type":"object","additionalProperties":false,"required":["kind","queueId"],"properties":{"kind":{"const":"route"},"queueId":{"type":"string"}}},{"type":"object","additionalProperties":false,"required":["kind","recipientId"],"properties":{"kind":{"const":"assign"},"recipientId":{"type":"string"}}},{"type":"object","additionalProperties":false,"required":["kind","preference"],"properties":{"kind":{"const":"notification_preference"},"preference":{"type":"string","enum":["in_app","digest","none"]}}},{"type":"object","additionalProperties":false,"required":["kind","durationMinutes"],"properties":{"kind":{"const":"snooze"},"durationMinutes":{"type":"integer","enum":[15,60,240,1440,10080]}}},{"type":"object","additionalProperties":false,"required":["kind","afterMinutes"],"properties":{"kind":{"const":"resurface"},"afterMinutes":{"type":"integer","enum":[15,60,240,1440,10080]}}}]},"AgentProfile":{"type":"object","required":["id","displayName","description","avatar","accent","version","imageVersion"],"properties":{"id":{"type":"string"},"displayName":{"type":"string","minLength":1,"maxLength":80},"description":{"type":"string","maxLength":240},"avatar":{"type":"string","enum":["initials","bot","sparkles","compass","book","terminal","leaf"]},"accent":{"type":"string","enum":["blue","violet","green","amber","rose","slate"]},"version":{"type":"string"},"imageVersion":{"type":["string","null"]}},"additionalProperties":false},"AgentProfilePatch":{"type":"object","additionalProperties":false,"properties":{"displayName":{"type":"string","minLength":1,"maxLength":80},"description":{"type":"string","maxLength":240},"avatar":{"type":"string","enum":["initials","bot","sparkles","compass","book","terminal","leaf"]},"accent":{"type":"string","enum":["blue","violet","green","amber","rose","slate"]}}},"ProjectAgentpreparePackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bytes":{"type":"integer","minimum":1,"maximum":262144000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"manifest":{"$ref":"#/components/schemas/ProjectAgentUploadManifest"}},"required":["workspaceId","bytes","sha256","manifest"]},"ProjectAgentUploadManifest":{"type":"object","additionalProperties":false,"properties":{"files":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentUploadFile"},"maxItems":10000,"minItems":1}},"required":["files"]},"ProjectAgentUploadFile":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"bytes":{"type":"integer","minimum":0,"maximum":26214400},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200}},"required":["path","bytes","sha256","mime"]},"ProjectAgentpreparePackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentUpload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentUpload":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bytes":{"type":"integer","minimum":0,"maximum":262144000},"receivedBytes":{"type":"integer","minimum":0,"maximum":262144000},"maxChunkBytes":{"type":"integer","minimum":1,"maximum":4194304},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"state":{"type":"string","enum":["uploading","validating","complete","expired","failed","canceled"]},"expiresAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"receivedChunks":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"offset":{"type":"integer","minimum":0,"maximum":262144000},"bytes":{"type":"integer","minimum":1,"maximum":4194304},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["offset","bytes","sha256"]},"maxItems":63,"minItems":0},"bundle":{"anyOf":[{"$ref":"#/components/schemas/ProjectAgentUploadBundle"},{"type":"null"}]}},"required":["id","workspaceId","bytes","receivedBytes","maxChunkBytes","sha256","state","expiresAt","manifestSha256","receivedChunks","bundle"]},"ProjectAgentUploadBundle":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bytes":{"type":"integer","minimum":0,"maximum":262144000},"files":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"etag":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sizeBytes":{"type":"integer","minimum":0,"maximum":26214400},"contentType":{"const":"application/octet-stream"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"detectedMime":{"type":"string","maxLength":200}},"required":["key","sha256","etag","sizeBytes","contentType","path","detectedMime"]},"maxItems":10000,"minItems":1}},"required":["id","workspaceId","manifestSha256","sha256","bytes","files"]},"ProjectAgentgetPackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["uploadId"]},"ProjectAgentgetPackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentUpload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgenttransferPackageChunkInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"offset":{"type":"integer","minimum":0,"maximum":262144000},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"contentBase64":{"type":"string","maxLength":5592408,"pattern":"^[A-Za-z0-9+/]*={0,2}$"}},"required":["uploadId","offset","sha256","contentBase64"]},"ProjectAgenttransferPackageChunkOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentUpload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentfinalizePackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["uploadId"]},"ProjectAgentfinalizePackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentUploadBundle"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcancelPackageUploadInput":{"type":"object","additionalProperties":false,"properties":{"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["uploadId"]},"ProjectAgentcancelPackageUploadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentUpload"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentpublishReviewPackageInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifest":{"$ref":"#/components/schemas/ProjectAgentPublicationManifest"},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId"],"anyOf":[{"required":["uploadId"]},{"required":["manifest"]}]},"ProjectAgentPublicationManifest":{"type":"object","additionalProperties":false,"properties":{"sourceMappings":{"$ref":"#/components/schemas/ProjectAgentPackageSourceMappings"},"kind":{"type":"string","enum":["commentary_review_package"]},"manifestVersion":{"const":1},"title":{"type":"string","maxLength":200},"entryPage":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"entryPageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"pages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"title":{"type":"string","maxLength":200},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":2097152}},"required":["id","path"]},"maxItems":10000,"minItems":1},"assets":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":26214400}},"required":["path"]},"maxItems":10000,"minItems":0},"trustTier":{"type":"string","enum":["static","executable_bundle"]},"purpose":{"type":"string","maxLength":2000},"navigation":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageNavigation"},"maxItems":10000,"minItems":0},"relatedResources":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageReference"},"maxItems":1000,"minItems":0},"sourceReferences":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageSourceReference"},"maxItems":1000,"minItems":0},"evidenceReferences":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageReference"},"maxItems":1000,"minItems":0},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":["kind","manifestVersion"]},"ProjectAgentPackageSourceMappings":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageSourceMapping"},"maxItems":100,"minItems":0},"ProjectAgentPackageSourceMapping":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["component","api_operation","api_schema"]},"id":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"occurrenceId":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"pageId":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"anchorId":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"},"pageSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string","maxLength":200,"minLength":1},"explanation":{"type":"string","maxLength":2000},"provenance":{"type":"string","enum":["human_authored","agent_suggestion"]},"visualBinding":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["mermaid_node","markup_marker"]},"key":{"type":"string","pattern":"^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,199}$"}},"required":["kind","key"]},"sources":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"lineStart":{"type":"integer","minimum":1,"maximum":10000000},"lineEnd":{"type":"integer","minimum":1,"maximum":10000000}},"required":["target","path","blobHash","sha256","lineStart","lineEnd"]},"maxItems":10,"minItems":0},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":10,"minItems":0}},"required":["kind","id","occurrenceId","pageId","anchorId","pageSha256","title","explanation","provenance","sources","relations"]},"ProjectAgentExactTarget":{"type":"object","additionalProperties":false,"properties":{"resource":{"$ref":"#/components/schemas/ProjectAgentResource"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","maxLength":200}},"required":["resource","revisionId","sha256"]},"ProjectAgentResource":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["repository","pull_request","document","draft_review","form","research_study","knowledge_brain","web_app_review","project","tracker","review_package","project_review_session","source_snapshot"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"ProjectAgentPackageNavigation":{"type":"object","additionalProperties":false,"properties":{"pageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"label":{"type":"string","maxLength":200},"children":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageNavigation"},"maxItems":10000,"minItems":0}},"required":["pageId","label"]},"ProjectAgentPackageReference":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["repository","pull_request","document","draft_review","form","research_study","knowledge_brain","web_app_review","project","tracker","review_package","project_review_session","source_snapshot"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"purpose":{"type":"string","maxLength":2000}},"required":["type","id"]},"ProjectAgentPackageSourceReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"resource":{"$ref":"#/components/schemas/ProjectAgentResource"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","resource","commitSha"]},"ProjectAgentpublishReviewPackageOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPackage"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentPackage":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"readiness":{"type":"string","enum":["uploading","validating","indexing","ready","failed"]},"collaboration":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"required":["id","initialWorkspaceId","title","revisionId","version","manifestSha256","readiness"]},"ProjectAgentgetReviewPackageInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId"]},"ProjectAgentgetReviewPackageOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPackage"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistPackageRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["packageId"]},"ProjectAgentlistPackageRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackage"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentpublishPackageRevisionInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifest":{"$ref":"#/components/schemas/ProjectAgentPublicationManifest"},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":["packageId"]},"ProjectAgentpublishPackageRevisionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPackage"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetPackageManifestInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId","revisionId"]},"ProjectAgentgetPackageManifestOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPackageManifest"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentPackageManifest":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["commentary_review_package"]},"manifestVersion":{"const":1},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"backingDraftRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"entryPageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"pages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"documentVersionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":2097152},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"mime":{"type":"string","maxLength":200},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["id","path","documentVersionId"]},"maxItems":10000,"minItems":1},"assets":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":26214400},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"artifactId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["path","mime","bytes","sha256","artifactId"]},"maxItems":10000,"minItems":0},"files":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentUploadFile"},"maxItems":10000,"minItems":1},"title":{"type":"string","maxLength":200},"purpose":{"type":"string","maxLength":2000},"navigation":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageNavigation"},"maxItems":10000,"minItems":0},"trustTier":{"type":"string","enum":["static","executable_bundle"]},"relatedResources":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageReference"},"maxItems":1000,"minItems":0},"sourceReferences":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageSourceReference"},"maxItems":1000,"minItems":0},"evidenceReferences":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPackageReference"},"maxItems":1000,"minItems":0},"sourceMappings":{"$ref":"#/components/schemas/ProjectAgentPackageSourceMappings"},"deletePaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":10000,"minItems":0,"uniqueItems":true}},"required":["kind","manifestVersion","packageId","backingDraftRevisionId","entryPageId","pages","assets"]},"ProjectAgentdownloadPackageFileInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},"required":["packageId","revisionId","path"]},"ProjectAgentdownloadPackageFileOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPackageFile"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentPackageFile":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"mime":{"type":"string","maxLength":200},"bytes":{"type":"integer","minimum":0,"maximum":26214400},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["path","mime","bytes","sha256"]},"ProjectAgentretryPackageIndexingInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId","revisionId"]},"ProjectAgentretryPackageIndexingOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPackage"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistPackageCommentsInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["packageId","path"]},"ProjectAgentlistPackageCommentsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"blockId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"status":{"type":"string","enum":["open","resolved"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"filePath":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"comments":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000},"authorType":{"type":"string","enum":["human","agent"]},"createdAt":{"type":"string","format":"date-time"}},"required":["id","bodyMarkdown","authorType","createdAt"]},"maxItems":100,"minItems":0},"hasOlderComments":{"type":"boolean"}},"required":["threadId","blockId","status","revisionId","filePath","comments","hasOlderComments"]},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentmutatePackageReviewCommentInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["create","reply","edit","resolve","reopen","reattach"]},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"blockId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"documentVersionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"nodeType":{"type":"string","maxLength":100},"sourceLineStart":{"type":"integer","minimum":1,"maximum":10000000},"sourceLineEnd":{"type":"integer","minimum":1,"maximum":10000000},"bodyMarkdown":{"type":"string","maxLength":20000,"minLength":1},"selectedText":{"type":"string","maxLength":4096},"prefixText":{"type":"string","maxLength":4096},"suffixText":{"type":"string","maxLength":4096},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["packageId","revisionId","action"],"allOf":[{"if":{"properties":{"action":{"const":"create"}}},"then":{"required":["path","blockId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"reply"}}},"then":{"required":["threadId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"edit"}}},"then":{"required":["threadId","commentId","bodyMarkdown"]}},{"if":{"properties":{"action":{"const":"resolve"}}},"then":{"required":["threadId"]}},{"if":{"properties":{"action":{"const":"reopen"}}},"then":{"required":["threadId"]}},{"if":{"properties":{"action":{"const":"reattach"}}},"then":{"required":["threadId","documentVersionId","blockId"]}}],"x-commentary-max-body-bytes":262144,"x-commentary-action-scopes":{"resolve":["commentary.comments.status"],"reopen":["commentary.comments.status"],"reattach":["commentary.comments.status"]}},"ProjectAgentmutatePackageReviewCommentOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"ok":{"const":true},"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"status":{"type":"string","enum":["open","resolved"]}},"required":["ok","packageId","revisionId","threadId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistPackageRenderersInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId"]},"ProjectAgentlistPackageRenderersOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentRendererPublication"},"maxItems":100,"minItems":0},"limit":{"const":100}},"required":["items","limit"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentRendererPublication":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"name":{"type":"string","maxLength":200,"minLength":1},"protocol":{"const":"commentary-tracker-v1"},"operations":{"type":"array","items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]},"maxItems":14,"minItems":0,"uniqueItems":true},"trackerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageRevisionId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"anchors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"pageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"blockId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["id","pageId"]},"maxItems":100,"minItems":0},"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","enum":["hosted","external"]},"entry":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"externalUrl":{"type":"string","maxLength":2048},"externalOrigin":{"type":"string","maxLength":2048}},"required":["key","name","protocol","operations","id","version","digest","kind","anchors"]},"ProjectAgentmanagePackageRendererPublicationInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["publish","revokePublication"]},"definition":{"$ref":"#/components/schemas/ProjectAgentRendererDefinition"},"publicationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["packageId","action"],"anyOf":[{"properties":{"action":{"const":"publish"}},"required":["definition"],"not":{"required":["publicationId"]}},{"properties":{"action":{"const":"revokePublication"}},"required":["publicationId"],"not":{"required":["definition"]}}]},"ProjectAgentRendererDefinition":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"name":{"type":"string","maxLength":200,"minLength":1},"protocol":{"const":"commentary-tracker-v1"},"operations":{"type":"array","items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]},"maxItems":14,"minItems":0,"uniqueItems":true},"trackerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageRevisionId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"anchors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"pageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"blockId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["id","pageId"]},"maxItems":100,"minItems":0},"kind":{"const":"hosted"},"uploadId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"entry":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"}},"required":["key","name","protocol","operations","kind","uploadId","entry"],"allOf":[{"anyOf":[{"required":["trackerId"]},{"required":["packageId","packageRevisionId"]}]},{"dependentRequired":{"packageId":["packageRevisionId"],"packageRevisionId":["packageId"]}},{"if":{"not":{"required":["trackerId"]}},"then":{"properties":{"operations":{"maxItems":0}}}}]},{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"name":{"type":"string","maxLength":200,"minLength":1},"protocol":{"const":"commentary-tracker-v1"},"operations":{"type":"array","items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]},"maxItems":14,"minItems":0,"uniqueItems":true},"trackerId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"packageRevisionId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"anchors":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"pageId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"},"blockId":{"type":"string","pattern":"^[A-Za-z0-9_-]{1,100}$"}},"required":["id","pageId"]},"maxItems":100,"minItems":0},"kind":{"const":"external"},"externalUrl":{"type":"string","maxLength":2048,"format":"uri"}},"required":["key","name","protocol","operations","kind","externalUrl"],"allOf":[{"anyOf":[{"required":["trackerId"]},{"required":["packageId","packageRevisionId"]}]},{"dependentRequired":{"packageId":["packageRevisionId"],"packageRevisionId":["packageId"]}},{"if":{"not":{"required":["trackerId"]}},"then":{"properties":{"operations":{"maxItems":0}}}}]}]},"ProjectAgentmanagePackageRendererPublicationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"oneOf":[{"$ref":"#/components/schemas/ProjectAgentRendererPublication"},{"type":"object","additionalProperties":false,"properties":{"revoked":{"const":true}},"required":["revoked"]}]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcomparePackageRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"fromRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"toRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"offset":{"type":"integer","minimum":0,"maximum":1000000}},"required":["packageId","fromRevisionId","toRevisionId"]},"ProjectAgentcomparePackageRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRevisionImpact"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentRevisionImpact":{"type":"object","additionalProperties":false,"properties":{"status":{"type":"string","enum":["available","unavailable"]},"reason":{"type":"string","maxLength":2000},"fromRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"toRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"identity":{"type":"string","maxLength":2048},"path":{"type":"string","maxLength":2048},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"kind":{"type":"string","maxLength":2048},"href":{"type":"string","maxLength":8192},"uncertainty":{"type":"string","maxLength":2000},"status":{"type":"string","enum":["added","removed","changed","moved"]},"previousPath":{"type":"string","maxLength":2048},"previousHref":{"type":"string","maxLength":8192},"comparisonHref":{"type":"string","maxLength":8192},"provenance":{"const":"deterministic"}},"required":["identity","path","sha256","kind","status","provenance"]},"maxItems":100,"minItems":0},"counts":{"type":"object","additionalProperties":false,"properties":{"added":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991},"moved":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["added","removed","changed","moved"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextOffset":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["status","fromRevisionId","toRevisionId","items","counts","total"]},"ProjectAgentlistPackageActivityInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["packageId"]},"ProjectAgentlistPackageActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentActivity":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"eventType":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"occurredAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"resource":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","maxLength":80},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"aggregateVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"retrievalUrl":{"type":"string","maxLength":2048},"change":{"type":"string","maxLength":200}},"required":["id","eventType","occurredAt","resource","aggregateVersion","retrievalUrl","change"]},"ProjectAgentlistPackageFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"packageId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["packageId"]},"ProjectAgentlistPackageFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentError":{"type":"object","additionalProperties":false,"properties":{"version":{"const":"1"},"code":{"type":"string","enum":["authentication_required","insufficient_scope","not_found","validation_failed","capability_unsupported","contract_version_unsupported","precondition_required","precondition_failed","version_conflict","idempotency_key_required","idempotency_key_reused","source_access_revoked","source_unavailable","unsupported_provider_write","source_conflict","upload_expired","checksum_mismatch","schema_incompatible","limit_reached","rate_limited","event_cursor_resync_required","bridge_disconnected","verification_unavailable","internal_error"]},"message":{"type":"string","maxLength":4096},"correlationId":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,128}$"},"details":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","maxLength":1024},"issue":{"type":"string","maxLength":1024}},"required":["field","issue"]},"maxItems":100,"minItems":0},"retryable":{"type":"boolean"}},"required":["version","code","message","correlationId"]},"ProjectAgentcreateProjectInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200,"minLength":1},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["workspaceId","name"]},"ProjectAgentcreateProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProject"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentProject":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]},"lifecycle":{"type":"string","enum":["active","completed","archived"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"ownerViewerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"creator":{"$ref":"#/components/schemas/ProjectAgentActor"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"archivedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},{"type":"null"}]}},"required":["id","initialWorkspaceId","name","descriptionMarkdown","objectivesMarkdown","visibility","lifecycle","version"]},"ProjectAgentActor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent","service","system"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"ProjectAgentlistProjectsInput":{"type":"object","additionalProperties":false,"properties":{"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"search":{"type":"string","maxLength":200},"lifecycle":{"type":"string","enum":["active","completed","archived"]},"visibility":{"type":"string","enum":["workspace","participants"]},"sort":{"type":"string","enum":["recent","name"]}},"required":["workspaceId"]},"ProjectAgentlistProjectsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentProject"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"ProjectAgentgetProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProject"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectStatusInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"ProjectAgentgetProjectStatusOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProgress"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentProgress":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentProgressItem"},"maxItems":1000,"minItems":0},"nextAfter":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]},"projection":{"type":"string","enum":["current","pending","failed"]},"countsScope":{"const":"visible_page"},"counts":{"type":"object","additionalProperties":false,"properties":{"visible":{"type":"integer","minimum":0,"maximum":9007199254740991},"reportedComplete":{"type":"integer","minimum":0,"maximum":9007199254740991},"accepted":{"type":"integer","minimum":0,"maximum":9007199254740991},"needsAttention":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["visible","reportedComplete","accepted","needsAttention"]}},"required":["items","nextAfter","projection","countsScope","counts"]},"ProjectAgentProgressItem":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"href":{"type":"string","maxLength":4096},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relationVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"execution":{"type":"string","enum":["reported_complete","in_progress","not_configured"]},"artifact":{"type":"string","enum":["available","source_unavailable"]},"review":{"type":"string","enum":["ready","requested_changes","open_concerns","not_ready"]},"acceptance":{"type":"string","enum":["not_required","not_requested","pending","accepted","stale","requested_changes","rejected","expired","revoked","unsatisfiable","unknown"]},"verification":{"type":"string","enum":["independently_verified","reported","failed","unknown"]},"openConcerns":{"type":"integer","minimum":0,"maximum":9007199254740991},"blockers":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":10,"minItems":0},"state":{"type":"string","enum":["working","ready_for_review","requested_changes","accepted","stale","blocked"]},"decision":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"status":{"type":"string","maxLength":100},"receiptIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"href":{"type":"string","maxLength":4096}},"required":["interactionId","actionId","status","receiptIds","href"]},{"type":"null"}]},"nextAction":{"type":"object","additionalProperties":false,"properties":{"label":{"type":"string","maxLength":100},"href":{"type":"string","maxLength":4096},"rule":{"$ref":"#/components/schemas/ProjectAgentProgressRule"}},"required":["label","href"]}},"required":["id","title","href","sessionId","target","execution","artifact","review","acceptance","verification","openConcerns","blockers","state","decision","nextAction"]},"ProjectAgentReviewAcceptanceTarget":{"type":"object","additionalProperties":false,"properties":{"version":{"const":1},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sessionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionSetFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"scope":{"type":"string","enum":["deliverable","session"]},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"supportingRevisions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","evidence"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["kind","id","revisionId","sha256"]},"maxItems":100,"minItems":0}},"required":["version","sessionId","sessionRevisionId","revisionSetFingerprint","manifestSha256","scope","targets","supportingRevisions"]},"ProjectAgentProgressRule":{"type":"object","additionalProperties":false,"properties":{"state":{"type":"string","enum":["working","ready_for_review","requested_changes","accepted","stale","blocked"]},"label":{"type":"string","maxLength":100},"executionValue":{"type":["string","boolean"],"maxLength":100},"mode":{"type":"string","enum":["suggest","automatic"]}},"required":["state","label","mode"]},"ProjectAgentgetProjectProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"ProjectAgentgetProjectProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentProgressPolicy":{"type":"object","additionalProperties":false,"properties":{"executionField":{"type":"string","maxLength":64},"completeValues":{"type":"array","items":{"type":["string","boolean"],"maxLength":100},"maxItems":100,"minItems":0},"rules":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentProgressRule"},"maxItems":6,"minItems":0}},"required":["completeValues","rules"]},"ProjectAgentsetProjectProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"}},"required":["projectId","policy"]},"ProjectAgentsetProjectProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetTrackerProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentgetTrackerProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentsetTrackerProgressPolicyInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"}},"required":["trackerId","policy"]},"ProjectAgentsetTrackerProgressPolicyOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"policy":{"$ref":"#/components/schemas/ProjectAgentProgressPolicy"},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["policy","version"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetTrackerReviewProgressInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentgetTrackerReviewProgressOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProgress"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentreconcileTrackerReviewProgressInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentreconcileTrackerReviewProgressOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"relationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["applied","suggestion","conflict","unchanged"]},"recordVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["relationId","outcome"]},"maxItems":250,"minItems":0}},"required":["items"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentconfigureTrackerReviewRelationInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"acceptanceRequired":{"type":"boolean"},"expectedRelationVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackerId","recordId","target","acceptanceRequired","expectedRelationVersion"]},"ProjectAgentconfigureTrackerReviewRelationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"actionId":{"type":["string","null"]},"acceptanceRequired":{"type":"boolean"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"expectedRecordVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","trackerId","recordId","sessionId","target","actionId","acceptanceRequired","version","expectedRecordVersion"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentremoveTrackerReviewRelationInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedRelationVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["trackerId","recordId","sessionId","expectedRelationVersion"]},"ProjectAgentremoveTrackerReviewRelationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"type":"boolean"}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200,"minLength":1},"descriptionMarkdown":{"type":"string","maxLength":32768},"objectivesMarkdown":{"type":"string","maxLength":32768},"contextMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["projectId"]},"ProjectAgentupdateProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProject"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"ProjectAgentarchiveProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProject"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrestoreProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"ProjectAgentrestoreProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProject"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcompleteProjectInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId"]},"ProjectAgentcompleteProjectOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProject"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectResourcesInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"section":{"type":"string","enum":["work","reviews"]}},"required":["projectId"]},"ProjectAgentlistProjectResourcesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentResourceLink"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentResourceLink":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentResource"},"pinnedRevisionId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"purpose":{"type":"string","maxLength":200},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["id","projectId","target","pinnedRevisionId","purpose","orderKey"]},"ProjectAgentlinkProjectResourceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentResource"},"pinnedRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"purpose":{"type":"string","maxLength":200}},"required":["projectId","target"]},"ProjectAgentlinkProjectResourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentResourceLink"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentunlinkProjectResourceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"linkId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","linkId"]},"ProjectAgentunlinkProjectResourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectRelationshipsInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"ProjectAgentlistProjectRelationshipsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentRelationship"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentRelationship":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"targetProjectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relation":{"type":"string","enum":["related","implements"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","projectId","targetProjectId","relation","version"]},"ProjectAgentlinkProjectRelationshipInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"targetProjectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relation":{"type":"string","enum":["related","implements"]}},"required":["projectId","targetProjectId","relation"]},"ProjectAgentlinkProjectRelationshipOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRelationship"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentunlinkProjectRelationshipInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relationshipId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","relationshipId"]},"ProjectAgentunlinkProjectRelationshipOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectParticipantsInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"ProjectAgentlistProjectParticipantsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentProjectParticipant"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentProjectParticipant":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","projectId","actor","role","grantId","version"]},"ProjectAgentsetProjectParticipantInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","actor","role"]},"ProjectAgentsetProjectParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProjectParticipant"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentremoveProjectParticipantInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"participantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","participantId"]},"ProjectAgentremoveProjectParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectExternalReferencesInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"ProjectAgentlistProjectExternalReferencesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentProjectExternalReference"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentProjectExternalReference":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"url":{"type":"string","maxLength":2048},"purpose":{"type":"string","maxLength":200}},"required":["id","projectId","url","purpose"]},"ProjectAgentlinkProjectExternalReferenceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"url":{"type":"string","maxLength":2048},"purpose":{"type":"string","maxLength":200}},"required":["projectId","url"]},"ProjectAgentlinkProjectExternalReferenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentProjectExternalReference"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentunlinkProjectExternalReferenceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"referenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","referenceId"]},"ProjectAgentunlinkProjectExternalReferenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectChangesInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["projectId"]},"ProjectAgentlistProjectChangesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentProjectChange"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentProjectChange":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"operation":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"$ref":"#/components/schemas/ProjectAgentActor"},"occurredAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","projectId","version","operation","actor","occurredAt"]},"ProjectAgentlinkProjectWorkspaceInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["projectId","workspaceId"]},"ProjectAgentlinkProjectWorkspaceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"linked":{"const":true}},"required":["linked"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentvalidateTrackerContractInput":{"type":"object","additionalProperties":false,"properties":{"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"}},"required":["contract"]},"ProjectAgentTrackerContract":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_tracker"},"contractVersion":{"const":1},"name":{"type":"string","minLength":1,"maxLength":200},"descriptionMarkdown":{"type":"string","maxLength":32768},"fields":{"type":"array","minItems":1,"maxItems":100,"items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_field"}},"views":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_view"},"maxItems":100},"transitions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"from":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"to":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"when":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"}},"required":["field","from","to"]},"maxItems":100},"acceptance":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["optional","required"]},"policyRef":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"}},"required":["mode"]},"metadata":{"type":"object"}},"required":["kind","contractVersion","name","fields","views"],"description":"Tracker Contract v1 wire shape. Run the parser for field uniqueness, mapping compatibility, safe JSON bounds, credential checks and semantic diagnostics."},"ProjectAgentTrackerContract_field":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"type":{"type":"string","enum":["text","markdown","number","boolean","enum","multiselect","date","datetime","actor_ref","actor_refs","status","priority","url","artifact_ref","artifact_refs","resource_ref","resource_refs","record_ref","record_refs","metadata"]},"label":{"type":"string","minLength":1,"maxLength":200},"required":{"type":"boolean"},"default":{},"options":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"label":{"type":"string","minLength":1,"maxLength":200}},"required":["id","label"]}},"schema":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_valueSchema"},"ui":{"type":"object","additionalProperties":false,"properties":{"placeholder":{"type":"string","maxLength":32768},"helpMarkdown":{"type":"string","maxLength":32768},"multiline":{"type":"boolean"},"width":{"type":"string","enum":["compact","normal","wide"]}},"required":[]}},"required":["id","type","label"],"allOf":[{"if":{"properties":{"type":{"enum":["enum","multiselect","status","priority"]}}},"then":{"required":["options"]},"else":{"not":{"required":["options"]}}},{"if":{"properties":{"type":{"const":"text"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"markdown"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"number"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"}},"required":[]}}}},{"if":{"properties":{"type":{"const":"boolean"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"enum"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"multiselect"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"date"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"datetime"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"actor_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"actor_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"status"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"priority"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"url"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"artifact_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"artifact_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"resource_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"resource_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"record_ref"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{},"required":[]}}}},{"if":{"properties":{"type":{"const":"record_refs"}}},"then":{"properties":{"schema":{"type":"object","additionalProperties":false,"properties":{"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0}},"required":[]}}}},{"if":{"properties":{"type":{"const":"metadata"}}},"then":{"properties":{"schema":{"allOf":[{"$ref":"#/components/schemas/ProjectAgentTrackerContract_valueSchema"},{"required":["type"],"properties":{"type":{"const":"object"}}}]}}}}]},"ProjectAgentTrackerContract_view":{"type":"object","additionalProperties":false,"properties":{"key":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"},"renderer":{"type":"string","enum":["checklist","list","table","board","timeline","calendar","gantt","summary"]},"mappings":{"type":"object","additionalProperties":{"type":"string"}},"name":{"type":"string","minLength":1},"visibility":{"type":"string","enum":["personal","shared"]},"visibleFields":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"maxItems":100},"filter":{"anyOf":[{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},{"type":"object","maxProperties":1,"additionalProperties":true}]},"sort":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"maxItems":10},"groupBy":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"layout":{"type":"object","additionalProperties":false,"properties":{"density":{"type":"string","enum":["compact","comfortable"]},"timezone":{"type":"string","minLength":1},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"granularity":{"enum":["week","month"]},"mode":{"enum":["overlap","unscheduled","outside","invalid","all"]},"presentation":{"enum":["visual","agenda"]}},"required":[]},"completedValues":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"}}},"required":["key","renderer","mappings"],"allOf":[{"if":{"properties":{"renderer":{"const":"checklist"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"completed":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","completed"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"list"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"display":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"table"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"display":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","display"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"board"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","group"]}},"required":[]}},{"if":{"properties":{"renderer":{"const":"timeline"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"date":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"start":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"end":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":[],"anyOf":[{"required":["date"]},{"required":["start","end"]}]},"layout":{"required":["timezone"]}},"required":["layout"]}},{"if":{"properties":{"renderer":{"const":"calendar"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"date":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["date"]},"layout":{"required":["timezone"]}},"required":["layout"]}},{"if":{"properties":{"renderer":{"const":"gantt"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"title":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"start":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"end":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"dependencies":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"group":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["title","start","end","dependencies"]},"layout":{"required":["timezone"]}},"required":["layout"]}},{"if":{"properties":{"renderer":{"const":"summary"}}},"then":{"properties":{"mappings":{"type":"object","additionalProperties":false,"properties":{"execution":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"acceptance":{"const":"$acceptance"},"date":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"start":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},"end":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["execution"]}},"required":[]}}]},"ProjectAgentTrackerContract_logic":{"oneOf":[{"type":["null","boolean","number","string"]},{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"maxItems":256},{"type":"object","additionalProperties":false,"properties":{"var":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["var"]},{"type":"object","additionalProperties":false,"properties":{"exists":{"oneOf":[{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}},{"type":"object","additionalProperties":false,"properties":{"var":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$","not":{"enum":["id","trackerId","recordId","version","schemaRevision","schemaRevisionId","lifecycle","archived","orderKey","auditActor","acceptance","acceptanceReceipt","acceptanceReceipts","decision","decisionReceipt","verification","verified","humanApproval","__proto__","prototype","constructor"]}}},"required":["var"]}]}},"required":["exists"]},{"type":"object","additionalProperties":false,"properties":{"not":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"}},"required":["not"]},{"type":"object","additionalProperties":false,"properties":{"equals":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["equals"]},{"type":"object","additionalProperties":false,"properties":{"notEquals":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["notEquals"]},{"type":"object","additionalProperties":false,"properties":{"gt":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["gt"]},{"type":"object","additionalProperties":false,"properties":{"gte":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["gte"]},{"type":"object","additionalProperties":false,"properties":{"lt":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["lt"]},{"type":"object","additionalProperties":false,"properties":{"lte":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["lte"]},{"type":"object","additionalProperties":false,"properties":{">":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":[">"]},{"type":"object","additionalProperties":false,"properties":{">=":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":[">="]},{"type":"object","additionalProperties":false,"properties":{"<":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["<"]},{"type":"object","additionalProperties":false,"properties":{"<=":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["<="]},{"type":"object","additionalProperties":false,"properties":{"in":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"minItems":2,"maxItems":2}},"required":["in"]},{"type":"object","additionalProperties":false,"properties":{"and":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"maxItems":256}},"required":["and"]},{"type":"object","additionalProperties":false,"properties":{"or":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_logic"},"maxItems":256}},"required":["or"]}]},"ProjectAgentTrackerContract_valueSchema":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","array","object","null"]},"properties":{"type":"object","maxProperties":100,"additionalProperties":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_valueSchema"}},"required":{"type":"array","items":{"type":"string","maxLength":32768},"maxItems":100},"additionalProperties":{"oneOf":[{"type":"boolean"},{"$ref":"#/components/schemas/ProjectAgentTrackerContract_valueSchema"}]},"items":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_valueSchema"},"enum":{"type":"array","minItems":1,"maxItems":100},"minimum":{"type":"number"},"maximum":{"type":"number"},"minLength":{"type":"integer","minimum":0},"maxLength":{"type":"integer","minimum":0},"minItems":{"type":"integer","minimum":0},"maxItems":{"type":"integer","minimum":0},"uniqueItems":{"type":"boolean"}},"required":[]},"ProjectAgentvalidateTrackerContractOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"valid":{"const":true},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["valid","contentHash"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcreateTrackerInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerParticipant"},"maxItems":100,"minItems":0}},"required":["workspaceId","contract"]},"ProjectAgentTrackerParticipant":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"ProjectAgentcreateTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTracker":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"name":{"type":"string","maxLength":200},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"lifecycle":{"type":"string","enum":["active","archived"]},"authority":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["commentary","git"]},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["mode"]},"ownerViewerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerParticipant"},"maxItems":100,"minItems":0},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"contractVersion":{"const":1},"migrationId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"migrationTargetSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","initialWorkspaceId","name","schemaRevisionId","version","lifecycle","authority","ownerViewerId","visibility","participants","contentHash","contractVersion","migrationId","createdAt","updatedAt"]},"ProjectAgentlistTrackersInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["workspaceId"]},"ProjectAgentlistTrackersOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTracker"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentgetTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"visibility":{"type":"string","enum":["workspace","participants"]},"participants":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerParticipant"},"maxItems":100,"minItems":0}},"required":["trackerId"]},"ProjectAgentupdateTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetTrackerSchemaInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentgetTrackerSchemaOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistTrackerSchemasInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId"]},"ProjectAgentlistTrackerSchemasOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerSchemaVersion"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTrackerSchemaVersion":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"actor":{"$ref":"#/components/schemas/ProjectAgentActor"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","contract","contentHash","actor","createdAt"]},"ProjectAgentpreviewTrackerSchemaInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId","contract","expectedSchemaRevisionId"]},"ProjectAgentpreviewTrackerSchemaOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerSchemaResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTrackerSchemaResult":{"type":"object","additionalProperties":false,"properties":{"compatible":{"type":"boolean"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerDiagnostic"},"maxItems":2000,"minItems":0},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"comparison":{"type":"object","additionalProperties":false,"properties":{"compatible":{"type":"boolean"},"changes":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["additive","breaking"]},"path":{"type":"string","maxLength":1024},"message":{"type":"string","maxLength":1024},"fieldId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","path","message"]},"maxItems":1000,"minItems":0},"affectedViews":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0}},"required":["compatible","changes","affectedViews"]},"records":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"valid":{"type":"boolean"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerDiagnostic"},"maxItems":2000,"minItems":0},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"}},"required":["recordId","valid","diagnostics","etag"]},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]},"migration":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["running","completed"]},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991},"processed":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcomes":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerMigrationOutcome"},"maxItems":100,"minItems":0}},"required":["id","state","remaining","processed","outcomes"]},{"type":"null"}]}},"required":["compatible","diagnostics","schemaRevisionId"]},"ProjectAgentTrackerDiagnostic":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","maxLength":1024},"message":{"type":"string","maxLength":1024},"severity":{"type":"string","enum":["error","warning"]}},"required":["code","path","message","severity"]},"ProjectAgentTrackerMigrationOutcome":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["success"]},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"}},"required":["recordId","outcome","etag"]},{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["failed"]},"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["recordId","outcome","error"]}]},"ProjectAgentapplyTrackerSchemaInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"allowBreaking":{"type":"boolean"},"migrationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mappings":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerMigrationMapping"},"maxItems":100,"minItems":0}},"required":["trackerId","contract","expectedSchemaRevisionId"]},"ProjectAgentTrackerMigrationMapping":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["recordId","etag","values"]},"ProjectAgentapplyTrackerSchemaOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerSchemaResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentarchiveTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrestoreTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentrestoreTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentqueryTrackerRecordsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"query":{"$ref":"#/components/schemas/ProjectAgentQuery"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","query"]},"ProjectAgentQuery":{"type":"object","additionalProperties":false,"properties":{"schedule":{"anyOf":[{"$ref":"#/components/schemas/ProjectAgentScheduleWindow"},{"type":"null"}]},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"search":{"type":"string","maxLength":200},"filter":{"anyOf":[{"type":"boolean"},{"type":"object","maxProperties":1,"additionalProperties":true}]},"manual":{"type":"boolean"},"sort":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"field":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"direction":{"type":"string","enum":["asc","desc"]}},"required":["field","direction"]},"maxItems":10,"minItems":0},"groupBy":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":[]},"ProjectAgentScheduleWindow":{"type":"object","additionalProperties":false,"properties":{"startField":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"endField":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"from":{"type":"string","maxLength":10},"to":{"type":"string","maxLength":10},"timezone":{"type":"string","maxLength":100},"mode":{"type":"string","enum":["overlap","unscheduled","outside","invalid","all"]}},"required":["startField","from","to","timezone"]},"ProjectAgentqueryTrackerRecordsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerQueryResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTrackerQueryResult":{"type":"object","additionalProperties":false,"properties":{"scheduleCounts":{"type":"object","additionalProperties":false,"properties":{"scopeTotal":{"type":"integer","minimum":0,"maximum":9007199254740991},"overlap":{"type":"integer","minimum":0,"maximum":9007199254740991},"unscheduled":{"type":"integer","minimum":0,"maximum":9007199254740991},"outside":{"type":"integer","minimum":0,"maximum":9007199254740991},"invalid":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["scopeTotal","overlap","unscheduled","outside","invalid"]},"reviewFacts":{"type":"null"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]},"hasMore":{"type":"boolean"},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"groups":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"value":{},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"]},"maxItems":100,"minItems":0},"schema":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerDiagnostic"},"maxItems":100,"minItems":0},"permissions":{"type":"object","additionalProperties":false,"properties":{"read":{"type":"boolean"},"edit":{"type":"boolean"},"manage":{"type":"boolean"}},"required":["read","edit"]},"refresh":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["authoritative_poll"]},"minimumIntervalMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"durableCursor":{"type":"null"}},"required":["mode","minimumIntervalMs","durableCursor"]}},"required":["items","nextCursor","hasMore","total","groups","schema","schemaRevisionId","trackerVersion","orderVersion","diagnostics","permissions","refresh"]},"ProjectAgentRecord":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"},"values":{"type":"object","maxProperties":100,"additionalProperties":true},"auditActor":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id","workspaceId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"const":"system"},"id":{"const":"project_progress"},"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id","workspaceId"]}]},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"}},"required":["id","trackerId","schemaRevisionId","version","orderKey","archived","values","auditActor","createdAt","updatedAt"]},"ProjectAgentgetTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","recordId"]},"ProjectAgentgetTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistTrackerRecordHistoryInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId","recordId"]},"ProjectAgentlistTrackerRecordHistoryOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcreateTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["trackerId","schemaRevisionId","values"]},"ProjectAgentcreateTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentpatchTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"patch":{"$ref":"#/components/schemas/ProjectAgentRecordPatch"}},"required":["trackerId","recordId","schemaRevisionId","patch"]},"ProjectAgentRecordPatch":{"type":"object","additionalProperties":false,"properties":{"values":{"type":"object","maxProperties":100,"additionalProperties":true},"unset":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true}},"required":["values"]},"ProjectAgentpatchTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveTrackerRecordInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","recordId"]},"ProjectAgentarchiveTrackerRecordOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentbulkTrackerRecordsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentBulkItem"},"maxItems":100,"minItems":1},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","items","schemaRevisionId"]},"ProjectAgentBulkItem":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"},"patch":{"$ref":"#/components/schemas/ProjectAgentRecordPatch"},"correlationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["recordId","etag","patch"]},"ProjectAgentbulkTrackerRecordsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentBulkResult"},"maxItems":100,"minItems":1}},"required":["items"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentBulkResult":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"index":{"type":"integer","minimum":0,"maximum":99},"correlationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["success"]},"record":{"$ref":"#/components/schemas/ProjectAgentRecord"},"etag":{"type":"string","pattern":"^\"[^\"\\s]+:v[1-9][0-9]*\"$"}},"required":["recordId","index","correlationId","outcome","record","etag"]},{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"index":{"type":"integer","minimum":0,"maximum":99},"correlationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","enum":["conflict","validation","denied"]},"error":{"$ref":"#/components/schemas/ProjectAgentError"}},"required":["recordId","index","correlationId","outcome","error"]}]},"ProjectAgentreorderTrackerRecordsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"recordIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":1,"uniqueItems":true},"beforeRecordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"afterRecordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedOrderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"query":{"$ref":"#/components/schemas/ProjectAgentQuery"}},"required":["trackerId","recordIds","expectedOrderVersion"]},"ProjectAgentreorderTrackerRecordsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"orderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["orderVersion"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistTrackerViewsInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId"]},"ProjectAgentlistTrackerViewsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentView"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentView":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"visibility":{"type":"string","enum":["personal","shared"]},"definition":{"$ref":"#/components/schemas/ProjectAgentTrackerViewDefinition"},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerDiagnostic"},"maxItems":2000,"minItems":0},"compatible":{"type":"boolean"},"isDefault":{"type":"boolean"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["id","trackerId","version","visibility","definition","diagnostics","compatible","isDefault","schemaRevisionId"]},"ProjectAgentTrackerViewDefinition":{"$ref":"#/components/schemas/ProjectAgentTrackerContract_view"},"ProjectAgentgetTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","viewId"]},"ProjectAgentgetTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentView"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcreateTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"definition":{"$ref":"#/components/schemas/ProjectAgentTrackerViewDefinition"},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"}},"required":["trackerId","definition","visibility"]},"ProjectAgentcreateTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentView"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"definition":{"$ref":"#/components/schemas/ProjectAgentTrackerViewDefinition"},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"}},"required":["trackerId","viewId","definition"]},"ProjectAgentupdateTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentView"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentdeleteTrackerViewInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"viewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","viewId"]},"ProjectAgentdeleteTrackerViewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"removed":{"const":true}},"required":["removed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentexportTrackerInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentexportTrackerOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentPortableTracker":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_tracker_export"},"formatVersion":{"const":1},"tracker":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"orderVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"lifecycle":{"type":"string","enum":["active","archived"]}},"required":["id","version","schemaRevisionId","orderVersion","lifecycle"]},"schemas":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"contract":{"$ref":"#/components/schemas/ProjectAgentTrackerContract"}},"required":["id","contentHash","contract"]},"maxItems":100,"minItems":1},"records":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentPortableRecord"},"maxItems":1000,"minItems":0},"views":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"visibility":{"type":"string","enum":["personal","shared"]},"isDefault":{"type":"boolean"},"definition":{"$ref":"#/components/schemas/ProjectAgentTrackerViewDefinition"}},"required":["id","schemaRevisionId","version","visibility","isDefault","definition"]},"maxItems":100,"minItems":0},"history":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"recordId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["recordId","schemaRevisionId","version","orderKey","archived","values"]},"maxItems":5000,"minItems":0},"receipts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["decision","verification"]},"readOnly":{"const":true},"provenance":{"type":"object","additionalProperties":false,"properties":{"resourceType":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"resourceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contentHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["resourceType","resourceId"]}},"required":["id","kind","readOnly","provenance"]},"maxItems":1000,"minItems":0}},"required":["kind","formatVersion","tracker","schemas","records","views"]},"ProjectAgentPortableRecord":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"schemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"orderKey":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"},"values":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["id","schemaRevisionId","version","orderKey","archived","values"]},"ProjectAgentpreviewTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"mode":{"type":"string","enum":["reconcile-existing"]},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","bundle","mode","expectedSchemaRevisionId"]},"ProjectAgentpreviewTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTrackerPortabilityReceipt":{"type":"object","additionalProperties":false,"properties":{"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["preview","running","completed","cancelled","rejected"]},"processed":{"type":"integer","minimum":0,"maximum":1000},"total":{"type":"integer","minimum":0,"maximum":1000},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"mode":{"type":"string","enum":["clone","create-new","reconcile-existing","git","commentary"]},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerDiagnostic"},"maxItems":10000,"minItems":0},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["tracker","schemas","records","views"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","id"]},"maxItems":1201,"minItems":0},"idMap":{"type":"object","additionalProperties":false,"properties":{"tracker":{"type":"object","maxProperties":1000,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"schemas":{"type":"object","maxProperties":100,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"records":{"type":"object","maxProperties":1000,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"views":{"type":"object","maxProperties":100,"additionalProperties":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}}},"required":["tracker","schemas","records","views"]},"counts":{"type":"object","additionalProperties":false,"properties":{"records":{"type":"integer","minimum":0,"maximum":1000},"views":{"type":"integer","minimum":0,"maximum":100},"schemas":{"type":"integer","minimum":0,"maximum":100},"history":{"type":"integer","minimum":0,"maximum":5000}},"required":["records","views","schemas","history"]},"schemaDifferences":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["additive","breaking"]},"path":{"type":"string","maxLength":1024},"message":{"type":"string","maxLength":1024}},"required":["kind","path","message"]},"maxItems":1000,"minItems":0},"proposalState":{"type":"string","enum":["pending_git"]},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"binding":{"type":"object","additionalProperties":false,"properties":{"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","maxLength":1024},"bundleHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["sourceSnapshotId","commitSha","sourcePath","bundleHash"]}},"required":["previewId","trackerId","state","processed","total","expectedSchemaRevisionId","expectedVersion","mode","diagnostics","idMap","counts","schemaDifferences"]},"ProjectAgentpreviewNewTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"mode":{"type":"string","enum":["clone","create-new"]}},"required":["workspaceId","bundle","mode"]},"ProjectAgentpreviewNewTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentapplyTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"batchSize":{"type":"integer","minimum":1,"maximum":100}},"required":["trackerId","previewId","expectedSchemaRevisionId"]},"ProjectAgentapplyTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","previewId"]},"ProjectAgentgetTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcancelTrackerImportInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","previewId"]},"ProjectAgentcancelTrackerImportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentpreviewTrackerAuthorityInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mode":{"type":"string","enum":["commentary","git"]},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourcePath":{"type":"string","maxLength":1024},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","mode","expectedSchemaRevisionId"]},"ProjectAgentpreviewTrackerAuthorityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentmigrateTrackerAuthorityInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"mode":{"type":"string","enum":["commentary","git"]},"previewId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","mode","previewId","expectedSchemaRevisionId"]},"ProjectAgentmigrateTrackerAuthorityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentstageTrackerProposalInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bundle":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"expectedSchemaRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","bundle","expectedSchemaRevisionId","baseCommitSha"]},"ProjectAgentstageTrackerProposalOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerPortabilityReceipt"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentbindTrackerGitSourceInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sourceRef":{"type":"string","maxLength":200},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","sourceRef","baseCommitSha"]},"ProjectAgentbindTrackerGitSourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerGitSourceResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTrackerGitSourceResult":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourceRef":{"type":"string","maxLength":200}},"required":["trackerId","baseCommitSha","sourceRef"]},"ProjectAgentgetTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentgetTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerSyncStatus"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentTrackerSyncStatus":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSyncOperation"},"maxItems":20,"minItems":0},"nextCursor":{"type":"null"},"source":{"type":"object","additionalProperties":false,"properties":{"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"sourceRef":{"type":"string","maxLength":200},"sourcePath":{"type":"string","maxLength":1024},"bundleHash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["baseCommitSha","sourceRef","sourcePath","bundleHash"]}},"required":["items","nextCursor","source"]},"ProjectAgentSyncOperation":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"confirmedCommitSha":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{40,64}$"},{"type":"null"}]},"publishedCommitSha":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{40,64}$"},{"type":"null"}]},"publicationBranch":{"type":"string","maxLength":200},"author":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"state":{"type":"string","enum":["pending","queued","leased","conflict","unavailable","published","committed","cancelled"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"diagnostics":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentTrackerDiagnostic"},"maxItems":10000,"minItems":0},"conflicts":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSyncConflict"},"maxItems":10000,"minItems":0},"completedBatches":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalBatches":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","trackerId","baseCommitSha","confirmedCommitSha","publishedCommitSha","publicationBranch","author","state","version","diagnostics","conflicts","completedBatches","totalBatches"]},"ProjectAgentSyncConflict":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","pattern":"^[a-f0-9]{64}$"},"path":{"type":"string","maxLength":1024},"kind":{"type":"string","enum":["field","record","schema","view","order","deletion"]},"base":{"$ref":"#/components/schemas/ProjectAgentSyncConflictValue"},"current":{"$ref":"#/components/schemas/ProjectAgentSyncConflictValue"},"proposed":{"$ref":"#/components/schemas/ProjectAgentSyncConflictValue"}},"required":["id","path","kind","base","current","proposed"]},"ProjectAgentSyncConflictValue":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"present":{"const":false}},"required":["present"]},{"type":"object","additionalProperties":false,"properties":{"present":{"const":true},"value":{}},"required":["present","value"]}]},"ProjectAgentgetTrackerSyncProposalInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","operationId"]},"ProjectAgentgetTrackerSyncProposalOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"base":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"},"proposed":{"$ref":"#/components/schemas/ProjectAgentPortableTracker"}},"required":["base","proposed"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentpreviewTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","baseCommitSha"]},"ProjectAgentpreviewTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentapplyTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","operationId","baseCommitSha"]},"ProjectAgentapplyTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentresolveTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"resolutions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"conflictId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"choose":{"type":"string","enum":["base","current","proposed"]}},"required":["conflictId","choose"]},"maxItems":10000,"minItems":0}},"required":["trackerId","operationId","resolutions"]},"ProjectAgentresolveTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentretryTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"baseCommitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["trackerId","operationId","baseCommitSha"]},"ProjectAgentretryTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcancelTrackerSyncInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"operationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","operationId"]},"ProjectAgentcancelTrackerSyncOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSyncOperation"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrefreshTrackerGitSourceInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentrefreshTrackerGitSourceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentTrackerGitSourceResult"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcreateProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId","title","targets"]},"ProjectAgentcreateProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentReviewSession":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"ownerViewerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"manifest":{"$ref":"#/components/schemas/ProjectAgentReviewManifest"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"revisionSetFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"visibility":{"type":"string","enum":["workspace","participants"]},"lifecycle":{"type":"string","enum":["active","archived"]},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"updatedAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"archivedAt":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},{"type":"null"}]},"discussionThreadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"collaboration":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"required":["id","initialWorkspaceId","ownerViewerId","title","purposeMarkdown","version","manifest","manifestSha256","revisionSetFingerprint","visibility","lifecycle","createdAt","updatedAt","archivedAt"]},"ProjectAgentReviewManifest":{"type":"object","additionalProperties":false,"properties":{"manifestVersion":{"const":1},"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":0}},"required":["manifestVersion","sessionId","revisionId","targets"]},"ProjectAgentlistProjectReviewSessionsInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["workspaceId"]},"ProjectAgentlistProjectReviewSessionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewCandidatesInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["workspaceId"]},"ProjectAgentlistProjectReviewCandidatesOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"ProjectAgentgetProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentreviseProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1}},"required":["sessionId","targets"]},"ProjectAgentreviseProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectReviewManifestInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId","revisionId"]},"ProjectAgentgetProjectReviewManifestOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewManifest"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200},"purposeMarkdown":{"type":"string","maxLength":32768},"visibility":{"type":"string","enum":["workspace","participants"]}},"required":["sessionId"]},"ProjectAgentupdateProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"ProjectAgentarchiveProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrestoreProjectReviewSessionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"ProjectAgentrestoreProjectReviewSessionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId"]},"ProjectAgentlistProjectReviewRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentReviewManifest"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewTargetsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId"]},"ProjectAgentlistProjectReviewTargetsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentReviewTargetState"},"maxItems":100,"minItems":0},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","total","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentReviewTargetState":{"type":"object","additionalProperties":false,"properties":{"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"status":{"type":"string","enum":["available","unavailable"]}},"required":["target","status"]},"ProjectAgentsetProjectReviewParticipantInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"role":{"type":"string","enum":["manager","contributor","reviewer"]},"grantId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId","actor","role"]},"ProjectAgentsetProjectReviewParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentremoveProjectReviewParticipantInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actor":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user","agent"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},"required":["sessionId","actor"]},"ProjectAgentremoveProjectReviewParticipantOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewDiscussionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId"]},"ProjectAgentlistProjectReviewDiscussionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSessionDiscussion"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentSessionDiscussion":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"comments":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSessionDiscussionComment"},"maxItems":100,"minItems":0},"hasOlderComments":{"type":"boolean"},"context":{"$ref":"#/components/schemas/ProjectAgentReviewArtifactContext"}},"required":["threadId","revisionId","comments","hasOlderComments"]},"ProjectAgentSessionDiscussionComment":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000},"actor":{"$ref":"#/components/schemas/ProjectAgentActor"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"actorLabel":{"type":"string","maxLength":200}},"required":["id","bodyMarkdown","actor","createdAt"]},"ProjectAgentReviewArtifactContext":{"type":"object","additionalProperties":false,"properties":{"sessionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"file":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},{"type":"null"}]},"anchor":{"anyOf":[{"type":"string","maxLength":500,"pattern":"^[^\\u0000-\\u001f]*$"},{"type":"null"}]},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"mapping":{"type":"string","maxLength":650,"minLength":1,"pattern":"^[^\\u0000-\\u001f]+$"},"mappedSource":{"type":"integer","minimum":0,"maximum":9}},"required":["sessionRevisionId","target"]},"ProjectAgentcreateProjectReviewDiscussionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000},"context":{"$ref":"#/components/schemas/ProjectAgentReviewArtifactContext"},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["sessionId","bodyMarkdown"]},"ProjectAgentcreateProjectReviewDiscussionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewDiscussionCommentsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["sessionId","threadId"]},"ProjectAgentlistProjectReviewDiscussionCommentsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSessionDiscussionComment"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentreplyProjectReviewDiscussionInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"bodyMarkdown":{"type":"string","maxLength":20000}},"required":["sessionId","threadId","bodyMarkdown"]},"ProjectAgentreplyProjectReviewDiscussionOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentReviewSession"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrequestProjectReviewInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"recipientIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":1},"messageMarkdown":{"type":"string","maxLength":32768}},"required":["sessionId","manifestSha256","recipientIds"]},"ProjectAgentrequestProjectReviewOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["interactionId","interactionRevisionId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrequestProjectAcceptanceInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"consequence":{"type":"string","maxLength":2000,"minLength":1},"approvalPolicy":{"type":"object","maxProperties":100,"additionalProperties":true}},"required":["sessionId","target","consequence"]},"ProjectAgentrequestProjectAcceptanceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["interactionId","interactionRevisionId","actionId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectAcceptanceInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"after":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["sessionId"]},"ProjectAgentgetProjectAcceptanceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactAcceptance"},"maxItems":25,"minItems":0},"nextAfter":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextAfter"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentExactAcceptance":{"type":"object","additionalProperties":false,"properties":{"interactionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"interactionRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"actionFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"target":{"$ref":"#/components/schemas/ProjectAgentReviewAcceptanceTarget"},"currency":{"type":"string","enum":["current","stale"]},"status":{"type":"string","enum":["pending","accepted","rejected","requested_changes","stale","expired","revoked","unsatisfiable"]},"approval":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"actionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["pending","approved","rejected","expired","unsatisfiable"]},"approvals":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","minimum":0,"maximum":9007199254740991},"completedSteps":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalSteps":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["actionId","state","approvals","required","completedSteps","totalSteps"]},{"type":"null"}]},"receipts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"outcome":{"type":"string","maxLength":40},"proposalFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decidedAt":{"type":"string","maxLength":40},"contentPurged":{"type":"boolean"}},"required":["id","outcome","proposalFingerprint","decidedAt","contentPurged"]},"maxItems":100,"minItems":0}},"required":["interactionId","interactionRevisionId","actionId","actionFingerprint","target","currency","status","approval","receipts"]},"ProjectAgentpublishSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"workspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"reference":{"$ref":"#/components/schemas/ProjectAgentSourceReference"},"capturePolicy":{"type":"string","enum":["selected","full"]},"selectedPaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":1000,"minItems":0},"collaboration":{"type":"object","additionalProperties":false,"properties":{"polls":{"type":"boolean","default":false},"consensus":{"type":"object","additionalProperties":false,"properties":{"enabled":{"type":"boolean","default":false},"rule":{"type":"object","additionalProperties":false,"properties":{"mode":{"enum":["owner_decides","no_open_blockers","n_of_m","required_reviewers"]},"agreementThreshold":{"type":"integer","minimum":1,"maximum":1000},"minResponseCount":{"type":"integer","minimum":1,"maximum":1000},"requiredReviewerIds":{"type":"array","maxItems":1000,"uniqueItems":true,"items":{"type":"string"}},"delegatedOwnerAgentParticipantId":{"type":["string","null"]},"requiredReviewerCondition":{"enum":["all_required_agree","no_required_objects","owner_plus_one_required_agrees","threshold_no_blockers"]},"objectionPolicy":{"enum":["block","owner_decision","ignore"]},"countOwnerAgreement":{"type":"boolean"},"countAgentSignals":{"type":"boolean","default":false},"decisionPollCompletion":{"enum":["closed","threshold"],"default":"closed"}}},"gate":{"type":"object","additionalProperties":false,"properties":{"minimumHumanApprovals":{"type":"integer","minimum":0,"maximum":1000},"requiredReviewerIds":{"type":"array","uniqueItems":true,"maxItems":1000,"items":{"type":"string"}},"quorum":{"anyOf":[{"type":"null"},{"type":"object","properties":{"group":{"enum":["owner","invited_reviewers","all_human_reviewers"]},"minimum":{"type":"integer","minimum":1,"maximum":1000}},"required":["group","minimum"],"additionalProperties":false}]},"fileRequirement":{"oneOf":[{"type":"object","properties":{"mode":{"enum":["none","all"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"const":"selected"},"filePaths":{"type":"array","maxItems":10000,"uniqueItems":true,"items":{"type":"string"}}},"required":["mode","filePaths"],"additionalProperties":false}]},"agentMode":{"enum":["prepare_only","wait_before_implementation"]}}}}}}}},"required":["workspaceId","reference","capturePolicy"]},"ProjectAgentSourceReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops","uploaded"]},"resource":{"type":"object","additionalProperties":false,"properties":{"type":{"const":"repository"},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"commitSha":{"type":"string","pattern":"^[a-fA-F0-9]{40}$"},"uploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["provider","resource"]},"ProjectAgentpublishSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentSourceSnapshot":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"initialWorkspaceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"reference":{"$ref":"#/components/schemas/ProjectAgentSourceReference"},"provenance":{"type":"string","enum":["provider_confirmed","uploaded"]},"capturePolicy":{"type":"string","enum":["selected","full"]},"selectedPaths":{"type":"array","items":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"maxItems":1000,"minItems":0},"manifestSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"state":{"type":"string","enum":["pending","ready","partial","failed","canceled","purged"]},"completeness":{"type":"string","enum":["pending","selected_only","complete","incomplete","purged"]},"filesProcessed":{"type":"integer","minimum":0,"maximum":9007199254740991},"bytesProcessed":{"type":"integer","minimum":0,"maximum":9007199254740991},"failureCode":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"retentionUntil":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"createdAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$"},"collaboration":{"type":"object","required":["review","settings","permissions","providerSync","revisionKey"],"properties":{"review":{"oneOf":[{"type":"object","properties":{"kind":{"const":"draft"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"package"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"guide"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"snapshot"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"preview"},"id":{"type":"string","minLength":1,"maxLength":1000}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"pr"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"prNumber":{"type":"integer","minimum":1}},"required":["kind","provider","owner","repo","prNumber"],"additionalProperties":false},{"type":"object","properties":{"kind":{"const":"branch"},"provider":{"enum":["github","azure_devops"]},"owner":{"type":"string"},"repo":{"type":"string"},"projectName":{"type":["string","null"]},"branchRef":{"type":"string"}},"required":["kind","provider","owner","repo","branchRef"],"additionalProperties":false}]},"settings":{"type":"object","required":["version","polls","consensus"],"properties":{"version":{"type":"integer","minimum":0},"polls":{"type":"boolean"},"consensus":{"type":"object"}},"additionalProperties":false},"permissions":{"type":"object","properties":{"comment":{"type":"boolean"},"configure":{"type":"boolean"},"humanSignOff":{"type":"boolean"}}},"providerSync":{"type":"object","properties":{"comments":{"type":"boolean"},"pollSnapshots":{"type":"boolean"},"liveVotes":{"const":false},"decisions":{"const":false}}},"revisionKey":{"type":["string","null"]},"filePaths":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"object"}}},"additionalProperties":false}},"required":["id","initialWorkspaceId","reference","provenance","capturePolicy","selectedPaths","manifestSha256","version","state","completeness","filesProcessed","bytesProcessed","failureCode","retentionUntil","createdAt"]},"ProjectAgentgetSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"ProjectAgentgetSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetSourceTreeInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"path":{"type":"string","maxLength":1024}},"required":["snapshotId"]},"ProjectAgentgetSourceTreeOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSourceFile"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]},"completeness":{"type":"string","enum":["pending","selected_only","complete","incomplete"]},"availability":{"type":"string","enum":["available","unavailable"]}},"required":["items","nextCursor","completeness","availability"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentSourceFile":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","maxLength":128},"kind":{"type":"string","enum":["file","directory","submodule"]},"capture":{"type":"string","enum":["retained","uncaptured","unavailable"]},"content":{"anyOf":[{"type":"string","maxLength":2097152},{"type":"null"}]},"contentTruncated":{"type":"boolean"},"base64":{"anyOf":[{"type":"string","maxLength":25165824},{"type":"null"}]},"bytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"binary":{"type":"boolean"},"nextLine":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["path","blobHash","capture","content","nextCursor"]},"ProjectAgentgetSourceFileInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"startLine":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineCount":{"type":"integer","minimum":1,"maximum":1000}},"required":["snapshotId","path"]},"ProjectAgentgetSourceFileOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceFile"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetSourceCaptureInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"ProjectAgentgetSourceCaptureOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentretrySourceCaptureInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"ProjectAgentretrySourceCaptureOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcancelSourceCaptureInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"ProjectAgentcancelSourceCaptureOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentpurgeSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["snapshotId"]},"ProjectAgentpurgeSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentexportSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["snapshotId"]},"ProjectAgentexportSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"snapshot":{"$ref":"#/components/schemas/ProjectAgentSourceSnapshot"},"files":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","maxLength":128},"kind":{"type":"string","enum":["file","directory","submodule"]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"capture":{"type":"string","enum":["retained","uncaptured"]},"base64":{"anyOf":[{"type":"string","maxLength":25165824},{"type":"null"}]}},"required":["path","blobHash","kind","sha256","capture","base64"]},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["snapshot","files","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentsearchSourceSnapshotInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"query":{"type":"string","maxLength":200},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["snapshotId","query"]},"ProjectAgentsearchSourceSnapshotOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSourceFile"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistSourceReviewThreadsInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["snapshotId","path"]},"ProjectAgentlistSourceReviewThreadsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentSourceReviewThread"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentSourceReviewThread":{"type":"object","additionalProperties":true,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"filePath":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"sourceAnchor":{"$ref":"#/components/schemas/ProjectAgentSourceReviewAnchor"},"sourceVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"status":{"type":"string","enum":["open","resolved"]},"syncMode":{"const":"app_only"},"comments":{"type":"array","items":{"type":"object"},"maxItems":100,"minItems":0}},"required":["id","filePath","sourceAnchor","sourceVersion","status","syncMode","comments"]},"ProjectAgentSourceReviewAnchor":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"repositoryId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"blobHash":{"type":"string","maxLength":128},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"selectedText":{"type":"string","maxLength":65536},"prefixText":{"type":"string","maxLength":4096},"suffixText":{"type":"string","maxLength":4096},"symbolId":{"type":"string","maxLength":200},"componentId":{"type":"string","maxLength":200}},"required":["snapshotId","repositoryId","path","blobHash","sha256","lineStart","lineEnd","selectedText","prefixText","suffixText"]},"ProjectAgentmutateSourceReviewThreadInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["create","reply","edit","delete","status","reattach"]},"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"path":{"type":"string","minLength":1,"maxLength":1024,"pattern":"^(?!/)(?!.*(?:^|/)\\.\\.?(?:/|$))[^\\\\\\u0000]+$"},"lineStart":{"type":"integer","minimum":1,"maximum":9007199254740991},"lineEnd":{"type":"integer","minimum":1,"maximum":9007199254740991},"blobHash":{"type":"string","maxLength":128},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"bodyMarkdown":{"type":"string","maxLength":8192},"status":{"type":"string","enum":["open","resolved"]},"expectedVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"requestDecision":{"type":"boolean"},"poll":{"type":"object"}},"required":["snapshotId","action"]},"ProjectAgentmutateSourceReviewThreadOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"threadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"deleted":{"type":"boolean"}},"required":["threadId"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrepairSourceReviewThreadsInput":{"type":"object","additionalProperties":false,"properties":{"snapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sourceSnapshotId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"}},"required":["snapshotId","sourceSnapshotId"]},"ProjectAgentrepairSourceReviewThreadsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"processed":{"type":"integer","minimum":0,"maximum":25},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["processed","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentattachProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"reportUploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"result":{"type":"string","enum":["passed","failed","unknown"]},"retentionDays":{"type":"integer","minimum":1,"maximum":365}},"required":["context","targets","result"]},"ProjectAgentattachProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidence"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentEvidence":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"ProjectAgentEvidenceRecord":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"actor":{"$ref":"#/components/schemas/ProjectAgentActor"},"title":{"type":"string","maxLength":200},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"archived":{"type":"boolean"},"contentSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"createdAt":{"type":"string","maxLength":40},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768},"acceptanceScope":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"statementMarkdown":{"type":"string","maxLength":32768},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0},"source":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"supplied"},"report":{"anyOf":[{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"format":{"type":"string","enum":["html","xml","json","log"]},"capturedSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"capturedBytes":{"type":"integer","minimum":0,"maximum":262144},"sanitizedSha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"sanitizedBytes":{"type":"integer","minimum":0,"maximum":262144},"diagnostics":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":100,"minItems":0},"expiresAt":{"type":"string","maxLength":40}},"required":["id","format","capturedSha256","capturedBytes","sanitizedSha256","sanitizedBytes","diagnostics","expiresAt"]},{"type":"null"}]}},"required":["kind","report"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"provider_reference"},"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["kind","provider","runId","commitSha"]}]},"result":{"type":"string","enum":["passed","failed","unknown"]},"status":{"type":"string","enum":["reported","referenced","observed","provider_verified","failed","missing","stale","conflicting","restricted","unknown","pending","canceled","unsupported","mismatched","inaccessible"]},"provenance":{"type":"string","enum":["reported","observed","provider_verified"]},"currency":{"type":"string","enum":["current","stale","revoked"]},"observedAt":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"providerReceiptId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"providerVerificationId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"acceptance":{"const":"not_assessed"}},"required":["id","revisionId","context","kind","actor","title","version","archived","contentSha256","createdAt","targets","relations","status","provenance","currency","observedAt","providerReceiptId","acceptance"]},"ProjectAgentcreateProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"acceptanceScope":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["context","expectedOutcomeMarkdown","acceptanceScope"]},"ProjectAgentcreateProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRequirement"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentRequirement":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"ProjectAgentcreateProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"title":{"type":"string","maxLength":200,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["context","statementMarkdown","targets","evidenceRevisionIds"]},"ProjectAgentcreateProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentClaim"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentClaim":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"ProjectAgentgetProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId"]},"ProjectAgentgetProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"archived":{"type":"boolean"},"search":{"type":"string","maxLength":200}},"required":["context"]},"ProjectAgentlistProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"reportUploadId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"result":{"type":"string","enum":["passed","failed","unknown"]},"retentionDays":{"type":"integer","minimum":1,"maximum":365}},"required":["evidenceId"]},"ProjectAgentupdateProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":["evidenceId","archived"]},"ProjectAgentarchiveProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"requirementId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["requirementId"]},"ProjectAgentgetProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectRequirementsInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"archived":{"type":"boolean"},"search":{"type":"string","maxLength":200}},"required":["context"]},"ProjectAgentlistProjectRequirementsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"requirementId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200,"minLength":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"acceptanceScope":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["requirementId"]},"ProjectAgentupdateProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveProjectRequirementInput":{"type":"object","additionalProperties":false,"properties":{"requirementId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":["requirementId","archived"]},"ProjectAgentarchiveProjectRequirementOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentgetProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"claimId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["claimId"]},"ProjectAgentgetProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectClaimsInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"archived":{"type":"boolean"},"search":{"type":"string","maxLength":200}},"required":["context"]},"ProjectAgentlistProjectClaimsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentupdateProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"claimId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"title":{"type":"string","maxLength":200,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["claimId"]},"ProjectAgentupdateProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentarchiveProjectClaimInput":{"type":"object","additionalProperties":false,"properties":{"claimId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"archived":{"type":"boolean"}},"required":["claimId","archived"]},"ProjectAgentarchiveProjectClaimOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectEvidenceHistoryInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100}},"required":["evidenceId"]},"ProjectAgentlistProjectEvidenceHistoryOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"maxItems":100,"minItems":0},"nextCursor":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},{"type":"null"}]}},"required":["items","nextCursor"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlinkProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0}},"required":["evidenceId","relations"]},"ProjectAgentlinkProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentEvidence"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentreadProjectEvidenceReportInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId"]},"ProjectAgentreadProjectEvidenceReportOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentexportProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]}},"required":["context"]},"ProjectAgentexportProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_evidence"},"contractVersion":{"const":1},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"result":{"type":"string","enum":["passed","failed","unknown"]},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"archived":{"type":"boolean"}},"required":["id","revisionId","kind","title","targets","relations","archived"]},"maxItems":100,"minItems":0}},"required":["kind","contractVersion","entries"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentimportProjectEvidenceInput":{"type":"object","additionalProperties":false,"properties":{"context":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["project","project_review_session"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["type","id"]},"bundle":{"type":"object","additionalProperties":false,"properties":{"kind":{"const":"commentary_evidence"},"contractVersion":{"const":1},"entries":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"kind":{"type":"string","enum":["requirement","claim","evidence"]},"title":{"type":"string","maxLength":200,"minLength":1},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1},"expectedOutcomeMarkdown":{"type":"string","maxLength":32768,"minLength":1},"statementMarkdown":{"type":"string","maxLength":32768,"minLength":1},"evidenceRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"requirementRevisionIds":{"type":"array","items":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"maxItems":100,"minItems":0,"uniqueItems":true},"relations":{"type":"array","items":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["requirement","claim","evidence"]},"revisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["kind","revisionId"]},{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["resource"]},"target":{"$ref":"#/components/schemas/ProjectAgentExactTarget"}},"required":["kind","target"]}]},"maxItems":100,"minItems":0},"result":{"type":"string","enum":["passed","failed","unknown"]},"providerReference":{"type":"object","additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"}},"required":["provider","runId","commitSha"]},"report":{"type":"object","additionalProperties":false,"properties":{"format":{"type":"string","enum":["html","xml","json","log"]},"content":{"type":"string","maxLength":262144}},"required":["format","content"]},"archived":{"type":"boolean"}},"required":["id","revisionId","kind","title","targets","relations","archived"]},"maxItems":100,"minItems":0}},"required":["kind","contractVersion","entries"]}},"required":["context","bundle"]},"ProjectAgentimportProjectEvidenceOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentEvidenceRecord"},"maxItems":100,"minItems":0}},"required":["items"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentrequestProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"provider":{"type":"string","enum":["github","azure_devops"]},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","pattern":"^[a-f0-9]{40,64}$"},"artifacts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["id"]},"maxItems":20,"minItems":0}},"required":["evidenceId","evidenceRevisionId","provider","runId","commitSha"]},"ProjectAgentrequestProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentVerification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentVerification":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["queued","running","completed","failed","canceled"]},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"attempts":{"type":"integer","minimum":0,"maximum":5},"nextAttemptAt":{"type":"string","maxLength":40},"failureCode":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"providerReceiptId":{"anyOf":[{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},{"type":"null"}]},"receipt":{"anyOf":[{"$ref":"#/components/schemas/ProjectAgentVerificationReceipt"},{"type":"null"}]},"content":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"artifactId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expiresAt":{"type":"string","maxLength":40},"availability":{"type":"string","enum":["available","expired","revoked"]}},"required":["id","artifactId","sha256","expiresAt","availability"]},"maxItems":20,"minItems":0}},"required":["id","evidenceRevisionId","state","version","attempts","nextAttemptAt","failureCode","providerReceiptId","receipt","content"]},"ProjectAgentVerificationReceipt":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"evidenceRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"provenance":{"type":"string","enum":["observed","provider_verified"]},"result":{"type":"string","enum":["passed","failed","pending","canceled","unknown","unsupported","mismatched","stale","inaccessible"]},"provider":{"type":"string","enum":["github","azure_devops"]},"repositoryId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"runId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"commitSha":{"type":"string","maxLength":40},"state":{"type":"string","enum":["passed","failed","pending","canceled","unknown","unsupported","mismatched","stale","inaccessible"]},"observedAt":{"type":"string","maxLength":40},"runAttempt":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"assertions":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["run","job","check","test_run"]},"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["passed","failed","pending","canceled","unknown","unsupported","mismatched","stale","inaccessible"]}},"required":["kind","id","state"]},"maxItems":201,"minItems":0},"artifacts":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"state":{"type":"string","enum":["available","expired","inaccessible","unsupported","mismatched"]},"sha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"providerDigest":{"anyOf":[{"type":"string","maxLength":71},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"reports":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string","maxLength":1024},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"format":{"type":"string","enum":["junit","sarif","axe","load","migration","unsupported"]},"provenance":{"const":"reported"},"result":{"type":"string","enum":["passed","failed","unknown"]},"counts":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"required":["path","sha256","format","provenance","result","counts"]},"maxItems":100,"minItems":0}},"required":["id","state","sha256","providerDigest","expiresAt","reports"]},"maxItems":20,"minItems":0},"completeness":{"type":"string","enum":["complete","bounded"]},"adapter":{"type":"string","maxLength":40},"adapterVersion":{"const":"1"},"scope":{"type":"string","maxLength":200},"artifactSha256":{"anyOf":[{"type":"string","pattern":"^[a-f0-9]{64}$"},{"type":"null"}]},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentExactTarget"},"maxItems":100,"minItems":1}},"required":["id","verificationId","evidenceRevisionId","provenance","result","provider","repositoryId","runId","commitSha","state","observedAt","runAttempt","assertions","artifacts","completeness","adapter","adapterVersion","scope","artifactSha256","targets"]},"ProjectAgentgetProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId"]},"ProjectAgentgetProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentVerification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcancelProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId"]},"ProjectAgentcancelProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentVerification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentretryProjectVerificationInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId"]},"ProjectAgentretryProjectVerificationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentVerification"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentdownloadProjectVerificationArtifactInput":{"type":"object","additionalProperties":false,"properties":{"evidenceId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"verificationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"contentId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["evidenceId","verificationId","contentId"]},"ProjectAgentdownloadProjectVerificationArtifactOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"base64":{"type":"string","maxLength":25165824},"sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"contentType":{"const":"application/zip"}},"required":["base64","sha256","contentType"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistTrackerRenderersInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId"]},"ProjectAgentlistTrackerRenderersOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentRendererPublication"},"maxItems":100,"minItems":0},"limit":{"const":100}},"required":["items","limit"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentmanageTrackerRendererPublicationInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"action":{"type":"string","enum":["publish","revokePublication"]},"definition":{"$ref":"#/components/schemas/ProjectAgentRendererDefinition"},"publicationId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"}},"required":["trackerId","action"],"anyOf":[{"properties":{"action":{"const":"publish"}},"required":["definition"],"not":{"required":["publicationId"]}},{"properties":{"action":{"const":"revokePublication"}},"required":["publicationId"],"not":{"required":["definition"]}}]},"ProjectAgentmanageTrackerRendererPublicationOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"oneOf":[{"$ref":"#/components/schemas/ProjectAgentRendererPublication"},{"type":"object","additionalProperties":false,"properties":{"revoked":{"const":true}},"required":["revoked"]}]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentcompareProjectReviewRevisionsInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"fromRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"toRevisionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"offset":{"type":"integer","minimum":0,"maximum":1000000}},"required":["sessionId","fromRevisionId","toRevisionId"]},"ProjectAgentcompareProjectReviewRevisionsOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"$ref":"#/components/schemas/ProjectAgentRevisionImpact"},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectActivityInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["projectId"]},"ProjectAgentlistProjectActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"projectId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["projectId"]},"ProjectAgentlistProjectFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistTrackerActivityInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["trackerId"]},"ProjectAgentlistTrackerActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistTrackerFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"trackerId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["trackerId"]},"ProjectAgentlistTrackerFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewActivityInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["sessionId"]},"ProjectAgentlistProjectReviewActivityOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"ProjectAgentlistProjectReviewFeedbackInput":{"type":"object","additionalProperties":false,"properties":{"sessionId":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[^\\s]+$"},"cursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"limit":{"type":"integer","minimum":1,"maximum":100},"waitMs":{"type":"integer","minimum":0,"maximum":10000}},"required":["sessionId"]},"ProjectAgentlistProjectReviewFeedbackOutput":{"type":"object","additionalProperties":false,"properties":{"data":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectAgentActivity"},"maxItems":100,"minItems":0},"nextCursor":{"type":"string","minLength":1,"maxLength":4096,"pattern":"^[^\\s]+$"},"hasMore":{"type":"boolean"},"outcome":{"type":"string","enum":["events","idle","timeout","canceled"]}},"required":["items","nextCursor","hasMore","outcome"]},"idempotencyReplayed":{"type":"boolean"}},"required":["data"]},"RendererDefinition":{"type":"object","additionalProperties":false,"required":["key","name","kind","protocol","operations"],"properties":{"key":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":200},"kind":{"type":"string","enum":["hosted","external"]},"protocol":{"type":"string","enum":["commentary-tracker-v1"]},"operations":{"type":"array","maxItems":14,"uniqueItems":true,"items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]}},"trackerId":{"type":"string","minLength":1,"maxLength":100},"packageId":{"type":"string","minLength":1,"maxLength":100},"packageRevisionId":{"type":"string","minLength":1,"maxLength":100},"uploadId":{"type":"string","minLength":1,"maxLength":100},"entry":{"type":"string","maxLength":1024},"externalUrl":{"type":"string","format":"uri","maxLength":2048},"anchors":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","pageId"],"properties":{"id":{"type":"string","minLength":1,"maxLength":100},"pageId":{"type":"string","minLength":1,"maxLength":100},"blockId":{"type":"string","minLength":1,"maxLength":100}}}}},"allOf":[{"anyOf":[{"required":["trackerId"]},{"required":["packageId","packageRevisionId"]}]},{"oneOf":[{"properties":{"kind":{"enum":["hosted"]}},"required":["uploadId","entry"],"not":{"required":["externalUrl"]}},{"properties":{"kind":{"enum":["external"]}},"required":["externalUrl"],"not":{"anyOf":[{"required":["entry"]},{"required":["uploadId"]}]}}]}]},"RendererPublication":{"type":"object","additionalProperties":false,"required":["id","version","digest","key","name","kind","protocol","operations","anchors"],"properties":{"key":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":200},"kind":{"type":"string","enum":["hosted","external"]},"protocol":{"type":"string","enum":["commentary-tracker-v1"]},"operations":{"type":"array","maxItems":14,"uniqueItems":true,"items":{"type":"string","enum":["getSchema","getPermissions","queryRecords","getRecord","createRecord","patchRecord","archiveRecord","bulk","reorder","listViews","getView","changes","openResource","openReview"]}},"trackerId":{"type":"string","minLength":1,"maxLength":100},"packageId":{"type":"string","minLength":1,"maxLength":100},"packageRevisionId":{"type":"string","minLength":1,"maxLength":100},"entry":{"type":"string","maxLength":1024},"externalUrl":{"type":"string","format":"uri","maxLength":2048},"anchors":{"type":"array","maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","pageId"],"properties":{"id":{"type":"string","minLength":1,"maxLength":100},"pageId":{"type":"string","minLength":1,"maxLength":100},"blockId":{"type":"string","minLength":1,"maxLength":100}}}},"id":{"type":"string","minLength":1,"maxLength":100},"version":{"type":"integer","minimum":1},"digest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"externalOrigin":{"type":"string","format":"uri"}}}}}}