{"openapi": "3.1.0", "info": {"title": "Architect Evolution Engine API", "version": "0.1.0", "description": "MVP engine surface for candidate lifecycle, review, publication, continuation, run capture, retrieval, and bridge health."}, "servers": [{"url": "https://www.architectevoengine.com"}], "components": {"securitySchemes": {"bearerAuth": {"type": "http", "scheme": "bearer", "bearerFormat": "token"}}, "schemas": {"CreateAgentShellJobRequest": {"type": "object", "required": ["project_id", "direction_text", "goal_type"], "additionalProperties": false, "properties": {"project_id": {"type": "string"}, "direction_text": {"type": "string"}, "goal_type": {"type": "string", "enum": ["diagnose", "build", "review", "improve_procedure", "prepare_package", "pr_prep"]}, "uploaded_package_ids": {"type": "array", "items": {"type": "string"}}, "approval_mode": {"type": "string", "enum": ["download_only", "require_approval_before_branch", "require_approval_before_pr", "require_approval_before_push"]}, "agent_team_id": {"type": "string"}}}, "AgentShellApprovalDecisionRequest": {"type": "object", "required": ["decision"], "additionalProperties": false, "properties": {"decision": {"type": "string", "enum": ["approved", "rejected"]}, "decision_note": {"type": "string"}}}, "CandidatePacket": {"type": "object", "required": ["candidate_payload", "candidate_summary", "candidate_title", "continuation_note", "continuation_posture", "correction_posture", "publication_posture", "recommended_review_focus", "reviewer_note", "volatile_content_note"], "additionalProperties": false, "properties": {"candidate_payload": {"type": "object"}, "candidate_summary": {"type": "string"}, "candidate_title": {"type": "string"}, "continuation_note": {"type": "string"}, "continuation_posture": {"type": "string"}, "correction_posture": {"type": "string"}, "publication_posture": {"type": "string"}, "recommended_review_focus": {"type": "array", "items": {"type": "string"}}, "reviewer_note": {"type": "string"}, "volatile_content_note": {"type": "string"}}}, "CreateCandidateRequest": {"type": "object", "required": ["affected_roles", "candidate_payload", "candidate_summary", "candidate_title", "continuation_note", "continuation_posture", "correction_posture", "proposed_asset_type", "publication_posture", "recommended_review_focus", "reviewer_note", "source_reference_ids", "source_role_record_id", "volatile_content_note"], "additionalProperties": false, "properties": {"candidate_id": {"type": "string"}, "run_id": {"type": "string"}, "source_run_id": {"type": "string"}, "created_at": {"type": "string", "format": "date-time"}, "updated_at": {"type": "string", "format": "date-time"}, "candidate_payload": {"type": "object"}, "candidate_summary": {"type": "string"}, "candidate_title": {"type": "string"}, "continuation_note": {"type": "string"}, "continuation_posture": {"type": "string"}, "correction_posture": {"type": "string"}, "publication_posture": {"type": "string"}, "recommended_review_focus": {"type": "array", "items": {"type": "string"}}, "reviewer_note": {"type": "string"}, "volatile_content_note": {"type": "string"}, "source_role_record_id": {"type": "string"}, "proposed_asset_type": {"type": "string"}, "affected_roles": {"type": "array", "items": {"type": "string"}}, "source_reference_ids": {"type": "array", "items": {"type": "string"}}, "created_by": {"type": "string"}, "evidence_bundle_reference": {"type": "string"}, "severity": {"type": "string"}, "repetition_count": {"type": "integer"}, "confidence": {"type": "number"}, "scoring_inputs": {"type": "object"}, "score_total": {"type": "number"}}, "anyOf": [{"required": ["run_id"]}, {"required": ["source_run_id"]}]}, "CreateCandidateResponse": {"type": "object", "required": ["success", "candidate_id", "current_state", "candidate_packet_status", "candidate_packet"], "properties": {"success": {"type": "boolean"}, "candidate_id": {"type": "string"}, "current_state": {"type": "string"}, "continuation_state_id": {"type": ["string", "null"]}, "traceability_summary": {"type": "object"}, "candidate_packet_status": {"type": "string", "enum": ["stored"]}, "candidate_packet": {"$ref": "#/components/schemas/CandidatePacket"}, "message": {"type": "string"}, "source_of_truth": {"type": "string"}, "session_id": {"type": "string"}, "request_id": {"type": "string"}, "correlation_id": {"type": "string"}}}, "GetCandidateResponse": {"type": "object", "required": ["success", "candidate_id", "current_state", "candidate_packet_status", "candidate_packet"], "properties": {"success": {"type": "boolean"}, "candidate_id": {"type": "string"}, "current_state": {"type": "string"}, "score": {"type": ["number", "null"]}, "confidence": {"type": ["number", "null"]}, "proposed_asset_type": {"type": "string"}, "traceability_summary": {"type": "object"}, "candidate_packet_status": {"type": "string", "enum": ["stored", "legacy_record"]}, "candidate_title": {"type": ["string", "null"]}, "candidate_summary": {"type": ["string", "null"]}, "candidate_payload": {"type": ["object", "null"]}, "reviewer_note": {"type": ["string", "null"]}, "volatile_content_note": {"type": ["string", "null"]}, "continuation_note": {"type": ["string", "null"]}, "recommended_review_focus": {"type": ["array", "null"], "items": {"type": "string"}}, "publication_posture": {"type": ["string", "null"]}, "correction_posture": {"type": ["string", "null"]}, "continuation_posture": {"type": ["string", "null"]}, "candidate_packet": {"oneOf": [{"$ref": "#/components/schemas/CandidatePacket"}, {"type": "null"}]}, "candidate": {"type": "object"}, "message": {"type": "string"}, "source_of_truth": {"type": "string"}, "session_id": {"type": "string"}, "request_id": {"type": "string"}, "correlation_id": {"type": "string"}}}, "SubmitReviewDecisionRequest": {"type": "object", "required": ["candidate_id", "decision_timestamp", "decision_type", "rationale"], "additionalProperties": false, "properties": {"candidate_id": {"type": "string"}, "review_decision_id": {"type": "string"}, "reviewer_id": {"type": "string"}, "decision_type": {"type": "string", "enum": ["approved", "deferred", "rejected", "reclassified"]}, "rationale": {"type": "string"}, "decision_timestamp": {"type": "string", "format": "date-time"}, "final_asset_type": {"type": "string"}, "publication_payload_reference": {"type": "string"}, "defer_return_condition": {"type": "string"}, "rejection_reason": {"type": "string"}, "original_asset_type": {"type": "string"}, "reclassified_asset_type": {"type": "string"}, "replacement_type": {"type": "string"}}}, "RequestPublicationRequest": {"type": "object", "required": ["asset_name", "candidate_id", "canonical_content_reference", "owner_roles", "summary", "version"], "additionalProperties": false, "properties": {"candidate_id": {"type": "string"}, "asset_id": {"type": "string"}, "change_id": {"type": "string"}, "asset_name": {"type": "string"}, "canonical_content_reference": {"type": "string"}, "owner_roles": {"type": "array", "items": {"type": "string"}}, "publisher_id": {"type": "string"}, "published_at": {"type": "string", "format": "date-time"}, "summary": {"type": "string"}, "version": {"type": "string"}, "prior_version": {"type": "string"}}}}}, "security": [{"bearerAuth": []}], "paths": {"/bridge/status": {"get": {"summary": "Bridge status", "description": "Read bridge mode, health, auth status, and capability set.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "operationId": "get_bridge_status"}}, "/candidates": {"post": {"summary": "Create candidate", "description": "Create a candidate and optionally elevate it to evidence_ready.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateCandidateResponse"}}}}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "operationId": "create_candidate", "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateCandidateRequest"}}}}}}, "/candidates/{candidate_id}": {"get": {"summary": "Get candidate", "description": "Fetch a candidate by identifier.", "responses": {"200": {"description": "Successful response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetCandidateResponse"}}}}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "parameters": [{"name": "candidate_id", "in": "path", "required": true, "schema": {"type": "string"}}], "operationId": "get_candidate"}}, "/candidates/{candidate_id}/publication-status": {"get": {"summary": "Publication status", "description": "Read candidate publication completeness/correction posture.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "parameters": [{"name": "candidate_id", "in": "path", "required": true, "schema": {"type": "string"}}], "operationId": "get_publication_status"}}, "/reviews/submit": {"post": {"summary": "Submit review decision", "description": "Submit an operator review decision using decision_timestamp.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "operationId": "submit_review_decision", "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SubmitReviewDecisionRequest"}}}}}}, "/reviews/{review_decision_id}": {"get": {"summary": "Get review decision", "description": "Fetch a review decision by identifier.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "parameters": [{"name": "review_decision_id", "in": "path", "required": true, "schema": {"type": "string"}}], "operationId": "get_review_decision"}}, "/publications/request": {"post": {"summary": "Request publication", "description": "Request publication for an approved candidate.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "operationId": "request_publication", "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/RequestPublicationRequest"}}}}}}, "/continuation/{candidate_id}": {"get": {"summary": "Get continuation state", "description": "Fetch latest continuation state for a candidate.", "responses": {"200": {"description": "Successful response"}, "201": {"description": "Created"}, "400": {"description": "Validation or workflow error"}, "401": {"description": "Unauthorized"}, "403": {"description": "Insufficient scope"}}, "parameters": [{"name": "candidate_id", "in": "path", "required": true, "schema": {"type": "string"}}], "operationId": "get_continuation_state"}}}}