{"openapi":"3.1.0","info":{"title":"C2 Vector-Graph Hybrid API","description":"API for hybrid query execution and graph-driven variant management.","version":"1.2.0"},"paths":{"/api/query":{"get":{"tags":["Hybrid Queries","Hybrid Queries"],"summary":"Hybrid Query Get","description":"Display a simple form for hybrid queries.","operationId":"hybrid_query_get_api_query_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"tags":["Hybrid Queries"],"summary":"Hybrid Query","description":"Executes the full HybridRAG query flow.","operationId":"hybrid_query_api_query_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HybridQueryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/build":{"get":{"tags":["Node Builder","Node Builder"],"summary":"Get Build Page","description":"Serves the interactive Node Builder UI.","operationId":"get_build_page_api_build_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/node/build":{"post":{"tags":["Node Builder","Node Builder"],"summary":"Build Node","description":"Executes the full node-addition flow:\n\n1. Generate 768-dim embedding from content\n2. Insert into public.c2_nodes\n3. Create AGE graph label and optional parent relationship\n4. Insert extended attributes into side table (if provided)","operationId":"build_node_api_node_build_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildNodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildNodeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/activate":{"post":{"tags":["Node Builder","Variant Management"],"summary":"Activate Variant Profile","description":"Activates a game variant profile using graph/action semantics:\n\n1. Validate profile node exists\n2. Resolve required services from projection tables\n3. Validate HAS_STEP/CALLS_CHILD chain exists in graph\n4. Update ACTIVE_PROFILE edge in graph for the target domain","operationId":"activate_variant_profile_api_variant_activate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateVariantRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivateVariantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/active":{"get":{"tags":["Node Builder","Variant Management"],"summary":"Get Active Variant Profile","description":"Returns the currently active variant profile for a domain using graph state.","operationId":"get_active_variant_profile_api_variant_active_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"type":"string","default":"ConstraintGrid","title":"Domain Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActiveVariantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/profiles":{"get":{"tags":["Node Builder","Variant Management"],"summary":"List Variant Profiles","description":"Lists available GameVariantProfile nodes for a domain and marks the active one.","operationId":"list_variant_profiles_api_variant_profiles_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"type":"string","default":"ConstraintGrid","title":"Domain Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantProfilesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/solve":{"post":{"tags":["Node Builder","Variant Management"],"summary":"Solve Variant Profile","description":"Resolve a backend-produced step trace for ConstraintGrid solving.\nThe UI replays the returned board states and service trace without solving locally.","operationId":"solve_variant_profile_api_variant_solve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantSolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantSolveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/solve/session/{session_id}/steps/{step_number}":{"get":{"tags":["Node Builder","Variant Management"],"summary":"Get Variant Trace Step","operationId":"get_variant_trace_step_api_variant_solve_session__session_id__steps__step_number__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"step_number","in":"path","required":true,"schema":{"type":"integer","title":"Step Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantSolveStep"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/variant/solve/session/{session_id}/steps":{"get":{"tags":["Node Builder","Variant Management"],"summary":"List Variant Trace Steps","operationId":"list_variant_trace_steps_api_variant_solve_session__session_id__steps_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"from_step","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"From Step"}},{"name":"to_step","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"To Step"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantTraceRangeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/graph/schema":{"get":{"tags":["Node Builder","Graph"],"summary":"Get Graph Schema","description":"Returns the live concept schema of c2_graph for visualization:\n- vertex labels with instance counts\n- relationship topology (source label, rel_type, target label)\nSampled from live graph data; safe for large graphs (LIMIT 1 per edge type).","operationId":"get_graph_schema_api_graph_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/vrdm/models":{"get":{"tags":["VRDM Models"],"summary":"List imported VRDM models","description":"Return all imported VRDM models with node counts, newest first.","operationId":"get_vrdm_models_api_vrdm_models_get","responses":{"200":{"description":"Array of model summary objects","content":{"application/json":{"schema":{}}}}}}},"/api/vrdm/import":{"post":{"tags":["VRDM Models"],"summary":"Import a .vrdm file","description":"Upload a `.vrdm` file.  The file must be valid JSON in VRDM format.\n\n* Concepts are upserted into `c2_nodes` (existing rows are updated).\n* `_vectorConnections` become edges in the AGE `c2_graph`.\n* Model-level metadata is stored in `vrdm_models`.\n\nReturns `{\"model_id\": \"<uuid>\", \"status\": \"imported\", \"concept_count\": N}`.","operationId":"import_vrdm_file_api_vrdm_import_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_vrdm_file_api_vrdm_import_post"}}},"required":true},"responses":{"201":{"description":"model_id assigned to the imported model","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/import/json":{"post":{"tags":["VRDM Models"],"summary":"Import a VRDM model from JSON body","description":"POST the VRDM JSON directly as the request body (Content-Type: application/json).\nUseful for scripted imports without multipart encoding.","operationId":"import_vrdm_json_api_vrdm_import_json_post","responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/vrdm/export/{model_id}":{"get":{"tags":["VRDM Models"],"summary":"Export a VRDM model to JSON","description":"Reconstruct a previously imported VRDM model from the database.\n\nThe response is a valid VRDM JSON object that can be saved as a `.vrdm` file.\nElements and vector definitions are preserved verbatim from import.\nEdge data (`_vectorConnections`) is rebuilt from the live AGE graph.","operationId":"export_vrdm_model_api_vrdm_export__model_id__get","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"VRDM JSON object","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/models/{model_id}":{"delete":{"tags":["VRDM Models"],"summary":"Remove a VRDM model record","description":"Delete the `vrdm_models` record and set `vrdm_model_id = NULL` on all\nassociated `c2_nodes` rows.  The concept nodes themselves are **not**\ndeleted; they remain in the system for use by other features.","operationId":"delete_vrdm_model_api_vrdm_models__model_id__delete","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Number of nodes disowned","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/models/{model_id}/embed":{"post":{"tags":["VRDM Models"],"summary":"Generate embeddings for VRDM model nodes","description":"Background-friendly embedding pass for VRDM model nodes.","operationId":"embed_vrdm_model_api_vrdm_models__model_id__embed_post","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Number of nodes embedded","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/execute":{"post":{"tags":["VRDM Models"],"summary":"Execute stored VRDM vector rules","description":"Minimal execution bridge for stored VRDM model semantics.\n\nEvaluates vector execution rules for selected concepts and applies\n`updateElement` actions to JSON attributes unless dry_run=true.","operationId":"execute_vrdm_model_rules_api_vrdm_execute_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteVrdmRequest"}}},"required":true},"responses":{"200":{"description":"Execution summary with simulated/applied actions","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/models/{model_id}/executions":{"get":{"tags":["VRDM Models"],"summary":"List VRDM execution runs for a model","operationId":"get_vrdm_execution_runs_api_vrdm_models__model_id__executions_get","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Recent run summaries","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}":{"get":{"tags":["VRDM Models"],"summary":"Get VRDM execution run details","operationId":"get_vrdm_execution_run_api_vrdm_executions__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Run summary and ordered execution events","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/steps":{"get":{"tags":["VRDM Models"],"summary":"List persisted runtime steps for a run","operationId":"get_vrdm_execution_steps_api_vrdm_executions__run_id__steps_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"from_step","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"From Step"}},{"name":"to_step","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"To Step"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200,"title":"Limit"}}],"responses":{"200":{"description":"Ordered runtime steps","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/steps/{step_no}":{"get":{"tags":["VRDM Models"],"summary":"Get one runtime step by step number","operationId":"get_vrdm_execution_step_detail_api_vrdm_executions__run_id__steps__step_no__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"responses":{"200":{"description":"Single runtime step detail","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/checkpoints":{"get":{"tags":["VRDM Models"],"summary":"List persisted runtime checkpoints for a run","operationId":"get_vrdm_execution_checkpoints_api_vrdm_executions__run_id__checkpoints_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Step No"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200,"title":"Limit"}}],"responses":{"200":{"description":"Ordered runtime checkpoints","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/policy-decisions":{"get":{"tags":["VRDM Models"],"summary":"List policy decisions for an execution","operationId":"get_vrdm_policy_decisions_api_vrdm_executions__run_id__policy_decisions_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Step No"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200,"title":"Limit"}}],"responses":{"200":{"description":"Recorded policy allow/deny/transform decisions","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/service-calls":{"get":{"tags":["VRDM Models"],"summary":"List service call traces for an execution","operationId":"get_vrdm_service_calls_api_vrdm_executions__run_id__service_calls_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Step No"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":200,"title":"Limit"}}],"responses":{"200":{"description":"Recorded service adapter calls with request/response metadata","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/pause":{"post":{"tags":["VRDM Models"],"summary":"Pause a running VRDM execution","operationId":"pause_vrdm_execution_api_vrdm_executions__run_id__pause_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Pause confirmation with blocked step count","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/resume":{"post":{"tags":["VRDM Models"],"summary":"Resume a paused VRDM execution","operationId":"resume_vrdm_execution_api_vrdm_executions__run_id__resume_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Resume confirmation with requeued step count","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/cancel":{"post":{"tags":["VRDM Models"],"summary":"Cancel a VRDM execution","operationId":"cancel_vrdm_execution_api_vrdm_executions__run_id__cancel_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Cancellation confirmation with cancelled step count","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/{worker_id}/lease":{"post":{"tags":["VRDM Models"],"summary":"Lease a step for execution","description":"Lease a queued step for a worker.\n\nWorker plane calls this to get work. Returns the next queued step\nor None if no steps available or all steps already running.","operationId":"lease_step_endpoint_api_vrdm_workers__worker_id__lease_post","parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}},{"name":"run_id","in":"query","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"lease_seconds","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Lease Seconds"}}],"responses":{"200":{"description":"Step details or null if no steps available","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/{worker_id}/heartbeat":{"post":{"tags":["VRDM Models"],"summary":"Heartbeat a worker and extend leases","description":"Heartbeat a worker to mark it alive and extend lease expiration.\n\nWorker calls this periodically to maintain active leases\nand signal that it's still processing.","operationId":"heartbeat_worker_endpoint_api_vrdm_workers__worker_id__heartbeat_post","parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}},{"name":"lease_seconds","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Lease Seconds"}}],"responses":{"200":{"description":"Heartbeat confirmation with lease renewal count","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/steps/{run_id}/{step_no}/complete":{"post":{"tags":["VRDM Models"],"summary":"Mark a step as completed","description":"Mark a leased step as completed after successful execution.\n\nWorker calls this after executing the step.","operationId":"complete_step_endpoint_api_vrdm_workers_steps__run_id___step_no__complete_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"responses":{"200":{"description":"Step completion confirmation","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/steps/{run_id}/{step_no}/failed":{"post":{"tags":["VRDM Models"],"summary":"Mark a step as failed","description":"Mark a leased step as failed due to execution error.\n\nWorker calls this if the step execution fails.","operationId":"fail_step_endpoint_api_vrdm_workers_steps__run_id___step_no__failed_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"responses":{"200":{"description":"Step failure confirmation","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/maintenance/requeue-expired":{"post":{"tags":["VRDM Models"],"summary":"Requeue expired leases (admin maintenance)","description":"Maintenance endpoint to find and requeue steps with expired leases.\n\nCalled by control plane / scheduler when workers are detected as stale.","operationId":"requeue_expired_endpoint_api_vrdm_workers_maintenance_requeue_expired_post","parameters":[{"name":"heartbeat_timeout_seconds","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Heartbeat Timeout Seconds"}}],"responses":{"200":{"description":"Requeue statistics","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/status":{"get":{"tags":["VRDM Models"],"summary":"Get worker coordination status","description":"Inspect worker health and lease status across the runtime worker plane.","operationId":"worker_status_endpoint_api_vrdm_workers_status_get","parameters":[{"name":"heartbeat_timeout_seconds","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Heartbeat Timeout Seconds"}},{"name":"dead_timeout_seconds","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Dead Timeout Seconds"}}],"responses":{"200":{"description":"Worker health and lease coordination summary","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/workers/maintenance/reconcile":{"post":{"tags":["VRDM Models"],"summary":"Reconcile worker health and requeue stale leases","description":"Run control-plane reconciliation for worker health and stale/dead lease cleanup.","operationId":"reconcile_workers_endpoint_api_vrdm_workers_maintenance_reconcile_post","parameters":[{"name":"heartbeat_timeout_seconds","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Heartbeat Timeout Seconds"}},{"name":"dead_timeout_seconds","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Dead Timeout Seconds"}}],"responses":{"200":{"description":"Worker status reconciliation and requeue summary","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/steps/{step_no}/retry":{"post":{"tags":["VRDM Models"],"summary":"Mark step as retrying","description":"Transition a failed step back to queued for retry.","operationId":"retry_step_endpoint_api_vrdm_runs__run_id__steps__step_no__retry_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}},{"name":"lease_seconds","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Lease Seconds"}}],"responses":{"200":{"description":"Step transition to queued for retry","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/retriable-steps":{"get":{"tags":["VRDM Models"],"summary":"List retriable failed steps","description":"Get all failed steps in a run that can still be retried.","operationId":"list_retriable_steps_endpoint_api_vrdm_runs__run_id__retriable_steps_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"List of steps that can be retried","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/steps/{step_no}/compensate":{"post":{"tags":["VRDM Models"],"summary":"Initiate compensation for a step","description":"Initiate a compensation action for a failed or completed step.","operationId":"compensate_step_endpoint_api_vrdm_runs__run_id__steps__step_no__compensate_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompensationRequest"}}}},"responses":{"200":{"description":"Compensation initiated","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/compensation/{compensation_id}/complete":{"post":{"tags":["VRDM Models"],"summary":"Mark compensation as completed","description":"Mark a compensation action as completed.","operationId":"complete_compensation_endpoint_api_vrdm_compensation__compensation_id__complete_post","parameters":[{"name":"compensation_id","in":"path","required":true,"schema":{"type":"string","title":"Compensation Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompensationCompleteRequest"}}}},"responses":{"200":{"description":"Compensation marked completed","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/steps/{step_no}/record-attempt":{"post":{"tags":["VRDM Models"],"summary":"Record step execution attempt","description":"Record a step execution attempt in retry history.","operationId":"record_attempt_endpoint_api_vrdm_runs__run_id__steps__step_no__record_attempt_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordAttemptRequest"}}}},"responses":{"200":{"description":"Attempt recorded in history","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/steps/{step_no}/telemetry":{"post":{"tags":["VRDM Models"],"summary":"Record execution telemetry","description":"Record execution telemetry for strategy adaptation.","operationId":"record_telemetry_endpoint_api_vrdm_runs__run_id__steps__step_no__telemetry_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TelemetryRequest"}}}},"responses":{"200":{"description":"Telemetry recorded","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["VRDM Models"],"summary":"Get step execution telemetry","description":"Retrieve all telemetry records for a step.","operationId":"get_telemetry_endpoint_api_vrdm_runs__run_id__steps__step_no__telemetry_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"path","required":true,"schema":{"type":"integer","title":"Step No"}}],"responses":{"200":{"description":"List of telemetry records","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/strategy/score":{"post":{"tags":["VRDM Models"],"summary":"Calculate strategy scores","description":"Calculate scores for all strategies on a path based on historical telemetry.","operationId":"calculate_strategy_scores_endpoint_api_vrdm_runs__run_id__strategy_score_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyScoreRequest"}}}},"responses":{"200":{"description":"Scores for each strategy","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/strategy/select":{"post":{"tags":["VRDM Models"],"summary":"Select best strategy","description":"Select the best strategy based on scores and record decision.","operationId":"select_best_strategy_endpoint_api_vrdm_runs__run_id__strategy_select_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategySelectionRequest"}}}},"responses":{"200":{"description":"Selected strategy with alternatives","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/strategy/decision":{"post":{"tags":["VRDM Models"],"summary":"Record strategy decision","description":"Record which strategy was selected at a choice point.","operationId":"record_strategy_decision_endpoint_api_vrdm_runs__run_id__strategy_decision_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"step_no","in":"query","required":true,"schema":{"type":"integer","title":"Step No"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyDecisionRequest"}}}},"responses":{"200":{"description":"Decision recorded with ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/strategy/feedback":{"post":{"tags":["VRDM Models"],"summary":"Record strategy execution outcome","description":"Record execution outcome to update strategy scores.","operationId":"record_strategy_feedback_endpoint_api_vrdm_runs__run_id__strategy_feedback_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrategyFeedbackRequest"}}}},"responses":{"200":{"description":"Updated strategy scores","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/strategy/insights":{"get":{"tags":["VRDM Models"],"summary":"Get cross-run strategy insights","description":"Retrieve insights about strategy performance across all runs.","operationId":"get_strategy_insights_endpoint_api_vrdm_strategy_insights_get","parameters":[{"name":"concept_path","in":"query","required":true,"schema":{"type":"string","title":"Concept Path"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":5,"title":"Limit"}}],"responses":{"200":{"description":"Top-performing strategies for a path","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/recover-stale":{"post":{"tags":["VRDM Models"],"summary":"Recover stale execution runs","description":"Find and recover runs that appear stuck (running but no recent step activity).","operationId":"recover_stale_runs_endpoint_api_vrdm_executions_recover_stale_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoverStaleRequest"}}}},"responses":{"200":{"description":"List of recovered run IDs","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/recovery-state":{"get":{"tags":["VRDM Models"],"summary":"Get recovery state for a run","description":"Get detailed recovery state for a run including last checkpoint and step counts.","operationId":"get_run_recovery_state_endpoint_api_vrdm_executions__run_id__recovery_state_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Run status, last checkpoint, and step counts by state","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/resume-from-checkpoint":{"post":{"tags":["VRDM Models"],"summary":"Resume a run from its last checkpoint","description":"Create a new run resumed from the last checkpoint of the original run.","operationId":"resume_from_checkpoint_endpoint_api_vrdm_executions__run_id__resume_from_checkpoint_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResumeFromCheckpointRequest"}}}},"responses":{"200":{"description":"New run ID created from checkpoint","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/snapshot":{"post":{"tags":["VRDM Models"],"summary":"Create a snapshot from a run (FR-SIM-03)","description":"Create a snapshot of a VRDM execution run (FR-SIM-03).","operationId":"create_snapshot_endpoint_api_vrdm_executions__run_id__snapshot_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSnapshotRequest"}}}},"responses":{"200":{"description":"New snapshot ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/snapshots":{"get":{"tags":["VRDM Models"],"summary":"Get snapshots (FR-SIM-03)","description":"Get snapshots for a simulation (FR-SIM-03).","operationId":"get_snapshots_endpoint_api_vrdm_snapshots_get","parameters":[{"name":"simulation_id","in":"query","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"List of snapshots","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/snapshots/{snapshot_id}/rollback":{"post":{"tags":["VRDM Models"],"summary":"Rollback to a snapshot (FR-SIM-03)","description":"Rollback simulation state to a snapshot (FR-SIM-03).","operationId":"rollback_snapshot_endpoint_api_vrdm_snapshots__snapshot_id__rollback_post","parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"string","title":"Snapshot Id"}}],"responses":{"200":{"description":"Rollback result","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/snapshots/diff":{"post":{"tags":["VRDM Models"],"summary":"Compare two snapshots (FR-SIM-03)","description":"Compare two snapshots (FR-SIM-03).","operationId":"compare_snapshots_endpoint_api_vrdm_snapshots_diff_post","parameters":[{"name":"snapshot1_id","in":"query","required":true,"schema":{"type":"string","title":"Snapshot1 Id"}},{"name":"snapshot2_id","in":"query","required":true,"schema":{"type":"string","title":"Snapshot2 Id"}}],"responses":{"200":{"description":"Differences between snapshots","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/scenarios":{"post":{"tags":["VRDM Models"],"summary":"Create a scenario (FR-SIM-04)","description":"Create a new scenario (FR-SIM-04).","operationId":"create_scenario_endpoint_api_vrdm_scenarios_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateScenarioRequest"}}}},"responses":{"200":{"description":"New scenario ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["VRDM Models"],"summary":"Get scenarios (FR-SIM-04)","description":"Get scenarios (FR-SIM-04).","operationId":"get_scenarios_endpoint_api_vrdm_scenarios_get","parameters":[{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Is Active"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"List of scenarios","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/experiments":{"post":{"tags":["VRDM Models"],"summary":"Create a new experiment (FR-SIM-07)","description":"Create a new experiment (FR-SIM-07).","operationId":"create_experiment_endpoint_api_vrdm_experiments_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExperimentRequest"}}}},"responses":{"200":{"description":"New experiment ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["VRDM Models"],"summary":"Get experiments (FR-SIM-07)","description":"Get experiments (FR-SIM-07).","operationId":"get_experiments_endpoint_api_vrdm_experiments_get","parameters":[{"name":"simulation_id","in":"query","required":false,"schema":{"type":"string","title":"Simulation Id"}},{"name":"experiment_type","in":"query","required":false,"schema":{"type":"string","title":"Experiment Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"List of experiments","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/experiments/{experiment_id}/complete":{"post":{"tags":["VRDM Models"],"summary":"Complete an experiment (experiment → analysis → MetaPattern)","description":"Complete an experiment (experiment → analysis → MetaPattern lifecycle).","operationId":"complete_experiment_endpoint_api_vrdm_experiments__experiment_id__complete_post","parameters":[{"name":"experiment_id","in":"path","required":true,"schema":{"type":"string","title":"Experiment Id"}},{"name":"insight","in":"query","required":true,"schema":{"type":"string","title":"Insight"}},{"name":"meta_pattern_id","in":"query","required":false,"schema":{"type":"string","title":"Meta Pattern Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_complete_experiment_endpoint_api_vrdm_experiments__experiment_id__complete_post"}}}},"responses":{"200":{"description":"Experiment completion result","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/experiments/{experiment_id}":{"get":{"tags":["VRDM Models"],"summary":"Get experiment by ID (FR-SIM-07)","description":"Get experiment by ID (FR-SIM-07).","operationId":"get_experiment_endpoint_api_vrdm_experiments__experiment_id__get","parameters":[{"name":"experiment_id","in":"path","required":true,"schema":{"type":"string","title":"Experiment Id"}}],"responses":{"200":{"description":"Experiment details","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/executions/{run_id}/replay":{"post":{"tags":["VRDM Models"],"summary":"Create a deterministic replay run","description":"Create a new run that replays the original run's execution.","operationId":"create_replay_run_endpoint_api_vrdm_executions__run_id__replay_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayRequest"}}}},"responses":{"200":{"description":"New replay run ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/runs/{run_id}/causal_trace":{"get":{"tags":["VRDM Models"],"summary":"Get causal propagation event log for a run (FR-SIM-05)","description":"Returns the causal propagation event log for a completed run (FR-SIM-05).\n\nQueries public.causal_propagation_events for rows matching run_id.\nEach row records one causal re-evaluation: which element changed on which\nnode, which vector was triggered, and whether a cycle cap was hit.","operationId":"get_causal_trace_api_vrdm_runs__run_id__causal_trace_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":500,"title":"Limit"}},{"name":"wave_no","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Wave No"}}],"responses":{"200":{"description":"Causal propagation audit trail","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/simulate/causal":{"post":{"tags":["VRDM Models"],"summary":"Simulate causal propagation (Phase 9)","description":"Simulate causal propagation without persisting changes (dry-run by default).\n\nThis endpoint runs the full VRDM execution engine with causal propagation,\ntracking all element changes and vector re-evaluations through multiple\nwaves until the state stabilizes.\n\nUse Cases:\n- Preview the effect of a change before applying it\n- Analyze cascade effects of a proposed update\n- Test counterfactual scenarios (what-if analysis)","operationId":"simulate_causal_propagation_api_vrdm_simulate_causal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateCausalRequest"}}},"required":true},"responses":{"200":{"description":"Simulation results with causal wave analysis","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/models/{model_id}/analyze-causal-chain":{"post":{"tags":["VRDM Models"],"summary":"Analyze causal chain for a model (Phase 9)","description":"Analyze the causal dependency graph for a VRDM model (Phase 9).\n\nReturns:\n  - Topological levels for each element\n  - Reverse index (element → vectors that read it)\n  - Potential cycle warnings\n  - Estimated wave count for full propagation","operationId":"analyze_causal_chain_api_vrdm_models__model_id__analyze_causal_chain_post","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Causal dependency analysis","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/models/{model_id}/propagate":{"post":{"tags":["VRDM Models"],"summary":"Execute causal propagation (Phase 9)","description":"Execute causal propagation for a model (Phase 9).\n\nUnlike dry-run simulation, this endpoint optionally applies changes\nand records them to the database for tracking.","operationId":"execute_causal_propagation_api_vrdm_models__model_id__propagate_post","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateCausalRequest"}}}},"responses":{"200":{"description":"Causal propagation results","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/patterns":{"post":{"tags":["VRDM Models"],"summary":"Register a new pattern (Phase 9)","description":"Register a new structural pattern in the Pattern Directory (Phase 9).\n\nPatterns define reusable graph structures for cross-domain isomorphism\n(e.g., 'naked_pair' in Sudoku applies to Latin squares).","operationId":"register_pattern_api_vrdm_patterns_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterPatternRequest"}}}},"responses":{"200":{"description":"New pattern ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["VRDM Models"],"summary":"Get patterns (Phase 9)","description":"Get patterns from the Pattern Directory (Phase 9).","operationId":"get_patterns_api_vrdm_patterns_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain Type"}},{"name":"is_active","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Is Active"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"List of patterns","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/patterns/similar":{"get":{"tags":["VRDM Models"],"summary":"Find similar patterns (Phase 9)","description":"Find patterns similar to a given graph structure (Phase 9).","operationId":"find_similar_patterns_api_vrdm_patterns_similar_get","parameters":[{"name":"graph_structure","in":"query","required":true,"schema":{"type":"string","title":"Graph Structure"}},{"name":"domain_type","in":"query","required":true,"schema":{"type":"string","title":"Domain Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"min_similarity","in":"query","required":false,"schema":{"type":"number","default":0.7,"title":"Min Similarity"}}],"responses":{"200":{"description":"Similar patterns with similarity scores","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/meta-patterns":{"get":{"tags":["VRDM Models"],"summary":"Get MetaPatterns (Phase 9)","description":"Get MetaPatterns (abstracted patterns from experiment analysis).","operationId":"get_meta_patterns_api_vrdm_meta_patterns_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain Type"}},{"name":"is_validated","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Validated"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"List of MetaPatterns","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/vrdml/export":{"post":{"tags":["VRDM Models"],"summary":"Export graph state as vrdml (Phase 11)","description":"Export graph state as vrdml (VRDM Lite) for replication (Phase 11).\n\nProduces a linearized delta of graph changes since a base snapshot,\nenabling efficient distributed replication and sync.","operationId":"export_vrdml_api_vrdm_vrdml_export_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatevrdmlRequest"}}},"required":true},"responses":{"200":{"description":"vrdml serialized graph delta","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/vrdml/import":{"post":{"tags":["VRDM Models"],"summary":"Import vrdml (Phase 11)","description":"Import vrdml (VRDM Lite) from serialized graph delta (Phase 11).\n\nApplies graph delta (added/updated/removed nodes and edges) to\nbring local graph in sync with remote source.","operationId":"import_vrdml_api_vrdm_vrdml_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatevrdmlRequest"}}},"required":true},"responses":{"200":{"description":"Applied graph delta","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/vrdml/snapshot/{snapshot_id}":{"get":{"tags":["VRDM Models"],"summary":"Get vrdml snapshot (Phase 11)","description":"Get a vrdml snapshot (complete graph state at a point in time).","operationId":"get_vrdml_snapshot_api_vrdm_vrdml_snapshot__snapshot_id__get","parameters":[{"name":"snapshot_id","in":"path","required":true,"schema":{"type":"string","title":"Snapshot Id"}}],"responses":{"200":{"description":"vrdml snapshot data","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/vrdm/vrdml/sync":{"post":{"tags":["VRDM Models"],"summary":"Sync graph state via vrdml (Phase 11)","description":"Sync graph state via vrdml replication (Phase 11).\n\nApplies incoming graph delta and returns updated state.","operationId":"sync_vrdml_api_vrdm_vrdml_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatevrdmlRequest"}}},"required":true},"responses":{"200":{"description":"Sync results","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/executions":{"get":{"tags":["Executions","Executions"],"summary":"List Executions","description":"List all execution runs.","operationId":"list_executions_api_executions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/executions/retriable-steps":{"get":{"tags":["Executions","Executions"],"summary":"Get Retriable Steps Endpoint","description":"Get all retriable failed steps across all executions.","operationId":"get_retriable_steps_endpoint_api_executions_retriable_steps_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/executions/recover-stale":{"post":{"tags":["Executions","Executions"],"summary":"Recover Stale Executions","description":"Recover stalled execution runs.","operationId":"recover_stale_executions_api_executions_recover_stale_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/proposals":{"get":{"tags":["Governance","Governance"],"summary":"List Proposals Endpoint","description":"List all governance proposals, optionally filtered by status.","operationId":"list_proposals_endpoint_api_governance_proposals_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Governance","Governance"],"summary":"Create Proposal Endpoint","description":"Create a new proposal.","operationId":"create_proposal_endpoint_api_governance_proposals_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/proposals/{proposal_id}":{"get":{"tags":["Governance","Governance"],"summary":"Get Proposal Endpoint","description":"Get a single proposal by ID.","operationId":"get_proposal_endpoint_api_governance_proposals__proposal_id__get","parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/governance/proposals/{proposal_id}/preview":{"post":{"tags":["Governance","Governance"],"summary":"Preview Proposal Endpoint","description":"Generate a preview for a proposal.","operationId":"preview_proposal_endpoint_api_governance_proposals__proposal_id__preview_post","parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/governance/proposals/{proposal_id}/approve":{"post":{"tags":["Governance","Governance"],"summary":"Approve Proposal Endpoint","description":"Approve a proposal.","operationId":"approve_proposal_endpoint_api_governance_proposals__proposal_id__approve_post","parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/governance/proposals/{proposal_id}/commit":{"post":{"tags":["Governance","Governance"],"summary":"Commit Proposal Endpoint","description":"Commit a proposal.","operationId":"commit_proposal_endpoint_api_governance_proposals__proposal_id__commit_post","parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/governance/proposals/{proposal_id}/reject":{"post":{"tags":["Governance","Governance"],"summary":"Reject Proposal Endpoint","description":"Reject a proposal.","operationId":"reject_proposal_endpoint_api_governance_proposals__proposal_id__reject_post","parameters":[{"name":"proposal_id","in":"path","required":true,"schema":{"type":"string","title":"Proposal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/governance/previews":{"get":{"tags":["Governance","Governance"],"summary":"List Previews Endpoint","description":"List all governance previews.","operationId":"list_previews_endpoint_api_governance_previews_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/governance/previews/{preview_id}":{"get":{"tags":["Governance","Governance"],"summary":"Get Preview Endpoint","description":"Get a single preview by ID.","operationId":"get_preview_endpoint_api_governance_previews__preview_id__get","parameters":[{"name":"preview_id","in":"path","required":true,"schema":{"type":"string","title":"Preview Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/governance/commits":{"get":{"tags":["Governance","Governance"],"summary":"List Commits Endpoint","description":"List all governance commits.","operationId":"list_commits_endpoint_api_governance_commits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/config":{"get":{"tags":["LLM","LLM"],"summary":"Get Llm Config Endpoint","description":"Get LLM adapter configuration.","operationId":"get_llm_config_endpoint_api_llm_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/models":{"get":{"tags":["LLM","LLM"],"summary":"List Llm Models Endpoint","description":"List available LLM models, optionally filtered by adapter.","operationId":"list_llm_models_endpoint_api_llm_models_get","parameters":[{"name":"adapter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Adapter"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/llm/chat":{"post":{"tags":["LLM","LLM"],"summary":"Chat Endpoint","description":"Chat completion via configured adapter.","operationId":"chat_endpoint_api_llm_chat_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/chat/openai":{"post":{"tags":["LLM","LLM"],"summary":"Chat Openai Endpoint","description":"Direct OpenAI chat completion.","operationId":"chat_openai_endpoint_api_llm_chat_openai_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/chat/anthropic":{"post":{"tags":["LLM","LLM"],"summary":"Chat Anthropic Endpoint","description":"Direct Anthropic chat completion.","operationId":"chat_anthropic_endpoint_api_llm_chat_anthropic_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/chat/omlx":{"post":{"tags":["LLM","LLM"],"summary":"Chat Omlx Endpoint","description":"Direct oMLX chat completion (local).","operationId":"chat_omlx_endpoint_api_llm_chat_omlx_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/llm/chat/github":{"post":{"tags":["LLM","LLM"],"summary":"Chat Github Endpoint","description":"Direct GitHub chat completion.","operationId":"chat_github_endpoint_api_llm_chat_github_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/simulation/":{"get":{"tags":["Simulation","Simulation"],"summary":"List Simulations","description":"List all simulations.","operationId":"list_simulations_api_simulation__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Simulations Api Simulation  Get"}}}}}},"post":{"tags":["Simulation","Simulation"],"summary":"Create Simulation","description":"Create a new simulation.","operationId":"create_simulation_api_simulation__post","parameters":[{"name":"simulation_id","in":"query","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","default":"realtime","title":"Mode"}},{"name":"tick_rate_hz","in":"query","required":false,"schema":{"type":"number","default":10.0,"title":"Tick Rate Hz"}},{"name":"max_ticks","in":"query","required":false,"schema":{"type":"integer","default":10000,"title":"Max Ticks"}},{"name":"stop_on_error","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Stop On Error"}},{"name":"branch_strategy","in":"query","required":false,"schema":{"type":"string","default":"first_match","title":"Branch Strategy"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Simulation Api Simulation  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/state":{"get":{"tags":["Simulation","Simulation"],"summary":"Get Simulation State","description":"Get simulation state and statistics.","operationId":"get_simulation_state_api_simulation__simulation_id__state_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Simulation State Api Simulation  Simulation Id  State Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/start":{"post":{"tags":["Simulation","Simulation"],"summary":"Start Simulation","description":"Start a simulation.","operationId":"start_simulation_api_simulation__simulation_id__start_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Simulation Api Simulation  Simulation Id  Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/stop":{"post":{"tags":["Simulation","Simulation"],"summary":"Stop Simulation","description":"Stop a simulation.","operationId":"stop_simulation_api_simulation__simulation_id__stop_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stop Simulation Api Simulation  Simulation Id  Stop Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/pause":{"post":{"tags":["Simulation","Simulation"],"summary":"Pause Simulation","description":"Pause a simulation.","operationId":"pause_simulation_api_simulation__simulation_id__pause_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pause Simulation Api Simulation  Simulation Id  Pause Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/resume":{"post":{"tags":["Simulation","Simulation"],"summary":"Resume Simulation","description":"Resume a paused simulation.","operationId":"resume_simulation_api_simulation__simulation_id__resume_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Resume Simulation Api Simulation  Simulation Id  Resume Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/fork":{"post":{"tags":["Simulation","Simulation"],"summary":"Fork Simulation","description":"Create a fork point in the simulation.","operationId":"fork_simulation_api_simulation__simulation_id__fork_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"fork_id","in":"query","required":true,"schema":{"type":"string","title":"Fork Id"}},{"name":"path_id","in":"query","required":true,"schema":{"type":"string","title":"Path Id"}},{"name":"description","in":"query","required":false,"schema":{"type":"string","default":"","title":"Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Fork Simulation Api Simulation  Simulation Id  Fork Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/branches":{"get":{"tags":["Simulation","Simulation"],"summary":"List Branches Endpoint","description":"List all branches for a simulation.","operationId":"list_branches_endpoint_api_simulation__simulation_id__branches_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Branches Endpoint Api Simulation  Simulation Id  Branches Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/history":{"get":{"tags":["Simulation","Simulation"],"summary":"Get Simulation History","description":"Get simulation history/trace.","operationId":"get_simulation_history_api_simulation__simulation_id__history_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Simulation History Api Simulation  Simulation Id  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/snapshot":{"post":{"tags":["Simulation","Simulation"],"summary":"Create Simulation Snapshot","description":"Create a snapshot of the simulation state (FR-SIM-03).","operationId":"create_simulation_snapshot_api_simulation__simulation_id__snapshot_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"description","in":"query","required":false,"schema":{"type":"string","default":"","title":"Description"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Metadata"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Simulation Snapshot Api Simulation  Simulation Id  Snapshot Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/snapshots":{"get":{"tags":["Simulation","Simulation"],"summary":"List Simulation Snapshots","description":"List all snapshots for a simulation (FR-SIM-03).","operationId":"list_simulation_snapshots_api_simulation__simulation_id__snapshots_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Simulation Snapshots Api Simulation  Simulation Id  Snapshots Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/scenario":{"post":{"tags":["Simulation","Simulation"],"summary":"Create Simulation Scenario","description":"Create a scenario for the simulation (FR-SIM-04).","operationId":"create_simulation_scenario_api_simulation__simulation_id__scenario_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"scenario_name","in":"query","required":true,"schema":{"type":"string","title":"Scenario Name"}},{"name":"description","in":"query","required":false,"schema":{"type":"string","default":"","title":"Description"}},{"name":"version","in":"query","required":false,"schema":{"type":"string","default":"1.0","title":"Version"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_simulation_scenario_api_simulation__simulation_id__scenario_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Simulation Scenario Api Simulation  Simulation Id  Scenario Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/scenarios":{"get":{"tags":["Simulation","Simulation"],"summary":"List Simulation Scenarios","description":"List all scenarios for a simulation.","operationId":"list_simulation_scenarios_api_simulation__simulation_id__scenarios_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Simulation Scenarios Api Simulation  Simulation Id  Scenarios Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/experiment":{"post":{"tags":["Simulation","Simulation"],"summary":"Create Simulation Experiment","description":"Create a new experiment (FR-SIM-07).","operationId":"create_simulation_experiment_api_simulation__simulation_id__experiment_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"experiment_name","in":"query","required":true,"schema":{"type":"string","title":"Experiment Name"}},{"name":"hypothesis","in":"query","required":true,"schema":{"type":"string","title":"Hypothesis"}},{"name":"scenario_id","in":"query","required":true,"schema":{"type":"string","title":"Scenario Id"}},{"name":"experiment_type","in":"query","required":false,"schema":{"type":"string","default":"validate","title":"Experiment Type"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Metrics"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Simulation Experiment Api Simulation  Simulation Id  Experiment Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/experiments":{"get":{"tags":["Simulation","Simulation"],"summary":"List Simulation Experiments","description":"List all experiments for a simulation.","operationId":"list_simulation_experiments_api_simulation__simulation_id__experiments_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Simulation Experiments Api Simulation  Simulation Id  Experiments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/telemetry":{"post":{"tags":["Simulation","Simulation"],"summary":"Record Simulation Telemetry","description":"Record telemetry for a simulation (FR-SIM-06).","operationId":"record_simulation_telemetry_api_simulation__simulation_id__telemetry_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"tick","in":"query","required":true,"schema":{"type":"integer","title":"Tick"}},{"name":"event_type","in":"query","required":true,"schema":{"type":"string","title":"Event Type"}},{"name":"experiment_id","in":"query","required":false,"schema":{"type":"string","title":"Experiment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Metrics"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Record Simulation Telemetry Api Simulation  Simulation Id  Telemetry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Simulation","Simulation"],"summary":"Get Simulation Telemetry","description":"Get telemetry (traces) for a simulation (FR-SIM-06).","operationId":"get_simulation_telemetry_api_simulation__simulation_id__telemetry_get","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Simulation Telemetry Api Simulation  Simulation Id  Telemetry Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/{simulation_id}/fork-from-snapshot":{"post":{"tags":["Simulation","Simulation"],"summary":"Fork From Snapshot","description":"Create a new branch from a snapshot (FR-SIM-08).","operationId":"fork_from_snapshot_api_simulation__simulation_id__fork_from_snapshot_post","parameters":[{"name":"simulation_id","in":"path","required":true,"schema":{"type":"string","title":"Simulation Id"}},{"name":"snapshot_id","in":"query","required":true,"schema":{"type":"string","title":"Snapshot Id"}},{"name":"new_branch_id","in":"query","required":true,"schema":{"type":"string","title":"New Branch Id"}},{"name":"description","in":"query","required":false,"schema":{"type":"string","default":"","title":"Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Fork From Snapshot Api Simulation  Simulation Id  Fork From Snapshot Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/patterns":{"post":{"tags":["Simulation","Simulation"],"summary":"Create Pattern Endpoint","description":"Register a new pattern (FR-EXPERT-XDOMAIN-01).","operationId":"create_pattern_endpoint_api_simulation_patterns_post","parameters":[{"name":"pattern_name","in":"query","required":true,"schema":{"type":"string","title":"Pattern Name"}},{"name":"description","in":"query","required":true,"schema":{"type":"string","title":"Description"}},{"name":"domain_type","in":"query","required":true,"schema":{"type":"string","title":"Domain Type"}},{"name":"meta_pattern_id","in":"query","required":false,"schema":{"type":"string","title":"Meta Pattern Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Graph Structure"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Pattern Endpoint Api Simulation Patterns Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Simulation","Simulation"],"summary":"List Patterns","description":"Get patterns from directory.","operationId":"list_patterns_api_simulation_patterns_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"type":"string","title":"Domain Type"}},{"name":"meta_pattern_id","in":"query","required":false,"schema":{"type":"string","title":"Meta Pattern Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Patterns Api Simulation Patterns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/patterns/similar":{"get":{"tags":["Simulation","Simulation"],"summary":"Find Similar Patterns Endpoint","description":"Find similar patterns (cross-domain isomorphism).","operationId":"find_similar_patterns_endpoint_api_simulation_patterns_similar_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"type":"string","title":"Domain Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"min_similarity","in":"query","required":false,"schema":{"type":"number","default":0.7,"title":"Min Similarity"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Graph Structure"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Find Similar Patterns Endpoint Api Simulation Patterns Similar Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/simulation/meta-patterns":{"post":{"tags":["Simulation","Simulation"],"summary":"Create Meta Pattern Endpoint","description":"Create a MetaPattern (experiment → analysis → MetaPattern).","operationId":"create_meta_pattern_endpoint_api_simulation_meta_patterns_post","parameters":[{"name":"generalization","in":"query","required":true,"schema":{"type":"string","title":"Generalization"}},{"name":"validated","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Validated"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_meta_pattern_endpoint_api_simulation_meta_patterns_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Meta Pattern Endpoint Api Simulation Meta Patterns Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Simulation","Simulation"],"summary":"List Meta Patterns","description":"Get MetaPatterns (experiment → analysis → MetaPattern lifecycle).","operationId":"list_meta_patterns_api_simulation_meta_patterns_get","parameters":[{"name":"domain_type","in":"query","required":false,"schema":{"type":"string","title":"Domain Type"}},{"name":"validated_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Validated Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Meta Patterns Api Simulation Meta Patterns Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/dimensions":{"get":{"tags":["WorldSpace","WorldSpace"],"summary":"List all WorldSpace dimensions","description":"List all WorldSpace dimensions (the axes of access control).","operationId":"list_dimensions_api_worldspace_dimensions_get","responses":{"200":{"description":"List of dimension definitions","content":{"application/json":{"schema":{}}}}}}},"/api/worldspace/permissions":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Create a new permission (FR-ACCESS-01)","description":"Create a new permission (FR-ACCESS-01).","operationId":"create_permission_endpoint_api_worldspace_permissions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePermissionRequest"}}}},"responses":{"200":{"description":"New permission ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["WorldSpace","WorldSpace"],"summary":"List all permissions (FR-ACCESS-01)","description":"List all permissions, optionally filtered by dimension or type.","operationId":"list_permissions_api_worldspace_permissions_get","parameters":[{"name":"dimension_name","in":"query","required":false,"schema":{"type":"string","title":"Dimension Name"}},{"name":"permission_type","in":"query","required":false,"schema":{"type":"string","title":"Permission Type"}}],"responses":{"200":{"description":"List of permission definitions","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/grant/user":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Grant permission to a user (FR-ACCESS-01)","description":"Grant a permission directly to a user (FR-ACCESS-01).","operationId":"grant_user_permission_endpoint_api_worldspace_grant_user_post","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"permission_id","in":"query","required":true,"schema":{"type":"string","title":"Permission Id"}},{"name":"expires_at","in":"query","required":false,"schema":{"type":"string","title":"Expires At"}}],"responses":{"200":{"description":"User permission assignment","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/grant/role":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Grant permission to a role (FR-ACCESS-01)","description":"Grant a permission to a role (role-based access control).","operationId":"grant_role_permission_endpoint_api_worldspace_grant_role_post","parameters":[{"name":"role_id","in":"query","required":true,"schema":{"type":"string","title":"Role Id"}},{"name":"permission_id","in":"query","required":true,"schema":{"type":"string","title":"Permission Id"}}],"responses":{"200":{"description":"Role permission assignment","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/app-roles":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Create an Application Role (FR-ACCESS-02)","description":"Create a new Application Role (bridges Application Roles to Concept-level access).","operationId":"create_app_role_endpoint_api_worldspace_app_roles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAppRoleRequest"}}},"required":true},"responses":{"200":{"description":"New Application Role ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/app-roles/{app_role_id}/concept-access":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Add concept access to Application Role (FR-ACCESS-02)","description":"Add concept access to an Application Role (bridges Application Roles to Concept-level access).","operationId":"add_app_role_concept_access_endpoint_api_worldspace_app_roles__app_role_id__concept_access_post","parameters":[{"name":"app_role_id","in":"path","required":true,"schema":{"type":"string","title":"App Role Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddAppRoleConceptAccessRequest"}}}},"responses":{"200":{"description":"App Role Concept Access entry","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/filter-vectors":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Create an Access Filtering Vector (FR-ACCESS-03)","description":"Create an Access Filtering Vector for row-level security (FR-ACCESS-03).","operationId":"create_filter_vector_endpoint_api_worldspace_filter_vectors_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFilterVectorRequest"}}}},"responses":{"200":{"description":"New filtering vector ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["WorldSpace","WorldSpace"],"summary":"List filtering vectors (FR-ACCESS-03)","description":"List filtering vectors (row-level security).","operationId":"list_filter_vectors_api_worldspace_filter_vectors_get","parameters":[{"name":"active","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active"}}],"responses":{"200":{"description":"List of filtering vectors","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/policies":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Create a new WorldSpace policy (FR-ACCESS-04)","description":"Create a new WorldSpace policy (collections of permissions).","operationId":"create_policy_endpoint_api_worldspace_policies_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePolicyRequest"}}}},"responses":{"200":{"description":"New policy ID","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["WorldSpace","WorldSpace"],"summary":"List all policies (FR-ACCESS-04)","description":"List all policies.","operationId":"list_policies_api_worldspace_policies_get","parameters":[{"name":"is_default","in":"query","required":false,"schema":{"type":"boolean","title":"Is Default"}}],"responses":{"200":{"description":"List of policies","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/policies/{policy_id}/permissions":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Add permission to policy (FR-ACCESS-04)","description":"Add a permission to a policy.","operationId":"add_permission_to_policy_endpoint_api_worldspace_policies__policy_id__permissions_post","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}},{"name":"permission_id","in":"query","required":true,"schema":{"type":"string","title":"Permission Id"}}],"responses":{"200":{"description":"Policy permission association","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/policies/{policy_id}/assign":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Assign policy to user (FR-ACCESS-04)","description":"Assign a policy to a user (Direct User Policy Assignments).","operationId":"assign_policy_to_user_endpoint_api_worldspace_policies__policy_id__assign_post","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"string","title":"Policy Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignPolicyRequest"}}}},"responses":{"200":{"description":"User policy assignment","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/users/{user_id}/access":{"get":{"tags":["WorldSpace","WorldSpace"],"summary":"Get effective user access (FR-ACCESS-04)","description":"Get effective access for a user (direct + role-based).","operationId":"get_user_access_endpoint_api_worldspace_users__user_id__access_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"User's effective permissions (direct + role-based)","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/check":{"post":{"tags":["WorldSpace","WorldSpace"],"summary":"Check if user has permission (FR-ACCESS-04)","description":"Check if a user has a specific permission (enforcement endpoint).","operationId":"check_user_permission_endpoint_api_worldspace_check_post","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAccessRequest"}}}},"responses":{"200":{"description":"Permission check result","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/worldspace/users/{user_id}/constraints":{"get":{"tags":["WorldSpace","WorldSpace"],"summary":"Get effective constraints for user (FR-ACCESS-04)","description":"Get constraints for a user on a specific dimension.","operationId":"get_user_constraints_endpoint_api_worldspace_users__user_id__constraints_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"dimension_name","in":"query","required":true,"schema":{"type":"string","title":"Dimension Name"}},{"name":"permission_type","in":"query","required":false,"schema":{"type":"string","default":"read","title":"Permission Type"}}],"responses":{"200":{"description":"User's constraints for a dimension","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sync":{"post":{"tags":["Blender + GINA","Blender + GINA"],"summary":"Sync Vrdm To Gina","description":"Sync VRDM model data to GINA concept.\n\nExports a VRDM model concept and creates/upserts corresponding\nentries in GINA (KAHXTyp, KAHElmt, KAHVctr, KAHService).\n\nArgs:\n    model_id: UUID of the VRDM model\n    concept_name: Name of the GINA concept to sync to","operationId":"sync_vrdm_to_gina_api_sync_post","parameters":[{"name":"model_id","in":"query","required":true,"schema":{"type":"string","title":"Model Id"}},{"name":"concept_name","in":"query","required":true,"schema":{"type":"string","title":"Concept Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/import":{"post":{"tags":["Blender + GINA","Blender + GINA"],"summary":"Import Gina Concept","description":"Import a GINA concept into a VRDM model.\n\nReads data from GINA and creates corresponding entries in VRDM.\n\nArgs:\n    concept_name: Name of the GINA concept to import\n    model_id: UUID of the target VRDM model","operationId":"import_gina_concept_api_import_post","parameters":[{"name":"concept_name","in":"query","required":true,"schema":{"type":"string","title":"Concept Name"}},{"name":"model_id","in":"query","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/export/{model_id}":{"get":{"tags":["Blender + GINA","Blender + GINA"],"summary":"Export Vrdm To Gina","description":"Export a VRDM model to GINA format.\n\nExports a VRDM model as GINA-compatible JSON.\n\nArgs:\n    model_id: UUID of the VRDM model","operationId":"export_vrdm_to_gina_api_export__model_id__get","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"tags":["Root"],"summary":"Read Root","description":"Developer portal - lists all available pages and endpoints.","operationId":"read_root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/docs":{"get":{"tags":["Root"],"summary":"Docs Redirect","description":"Redirect docs to root portal.","operationId":"docs_redirect_docs_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"ActivateVariantRequest":{"properties":{"profile_node_id":{"type":"string","title":"Profile Node Id"},"domain_type":{"type":"string","title":"Domain Type","default":"ConstraintGrid"}},"type":"object","required":["profile_node_id"],"title":"ActivateVariantRequest","description":"Request payload for runtime variant profile activation."},"ActivateVariantResponse":{"properties":{"message":{"type":"string","title":"Message"},"domain_type":{"type":"string","title":"Domain Type"},"active_profile_node_id":{"type":"string","title":"Active Profile Node Id"},"executed_services":{"items":{"type":"string"},"type":"array","title":"Executed Services"},"chain_validated":{"type":"boolean","title":"Chain Validated"}},"type":"object","required":["message","domain_type","active_profile_node_id","executed_services","chain_validated"],"title":"ActivateVariantResponse"},"ActiveVariantResponse":{"properties":{"domain_type":{"type":"string","title":"Domain Type"},"active_profile_node_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Profile Node Id"},"active_profile_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Profile Content"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["domain_type","is_active"],"title":"ActiveVariantResponse"},"AddAppRoleConceptAccessRequest":{"properties":{"concept_type":{"type":"string","title":"Concept Type","description":"Concept type (can be None for all)"},"element_filter":{"additionalProperties":true,"type":"object","title":"Element Filter","description":"Element-level constraints"},"action_filter":{"additionalProperties":true,"type":"object","title":"Action Filter","description":"Action constraints"},"vector_filter":{"additionalProperties":true,"type":"object","title":"Vector Filter","description":"Vector constraints"}},"type":"object","title":"AddAppRoleConceptAccessRequest"},"AssignPolicyRequest":{"properties":{"user_id":{"type":"string","title":"User Id","description":"User node_id (UUID)"}},"type":"object","required":["user_id"],"title":"AssignPolicyRequest"},"Body_complete_experiment_endpoint_api_vrdm_experiments__experiment_id__complete_post":{"properties":{"metrics":{"additionalProperties":true,"type":"object","title":"Metrics"},"results":{"additionalProperties":true,"type":"object","title":"Results"}},"type":"object","required":["metrics","results"],"title":"Body_complete_experiment_endpoint_api_vrdm_experiments__experiment_id__complete_post"},"Body_create_meta_pattern_endpoint_api_simulation_meta_patterns_post":{"properties":{"experiment_results":{"additionalProperties":true,"type":"object","title":"Experiment Results"},"source_pattern_ids":{"items":{},"type":"array","title":"Source Pattern Ids"}},"type":"object","required":["experiment_results","source_pattern_ids"],"title":"Body_create_meta_pattern_endpoint_api_simulation_meta_patterns_post"},"Body_create_simulation_scenario_api_simulation__simulation_id__scenario_post":{"properties":{"initial_conditions":{"additionalProperties":true,"type":"object","title":"Initial Conditions"},"channel_config":{"additionalProperties":true,"type":"object","title":"Channel Config"},"execution_params":{"additionalProperties":true,"type":"object","title":"Execution Params"}},"type":"object","title":"Body_create_simulation_scenario_api_simulation__simulation_id__scenario_post"},"Body_import_vrdm_file_api_vrdm_import_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":".vrdm (JSON) file to import"}},"type":"object","required":["file"],"title":"Body_import_vrdm_file_api_vrdm_import_post"},"BuildNodeRequest":{"properties":{"node_type":{"type":"string","title":"Node Type"},"content":{"type":"string","title":"Content"},"domain_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain Id"},"generation_level":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Generation Level"},"parent_node_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Node Id"},"parent_node_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Node Type"},"extended_attributes":{"items":{"$ref":"#/components/schemas/ExtendedAttribute"},"type":"array","title":"Extended Attributes","default":[]}},"type":"object","required":["node_type","content"],"title":"BuildNodeRequest"},"BuildNodeResponse":{"properties":{"node_id":{"type":"string","title":"Node Id"},"node_type":{"type":"string","title":"Node Type"},"message":{"type":"string","title":"Message"},"graph_label_created":{"type":"boolean","title":"Graph Label Created"},"graph_relationship_created":{"type":"boolean","title":"Graph Relationship Created"},"side_table_rows_inserted":{"type":"integer","title":"Side Table Rows Inserted"},"projection_edges_created":{"type":"integer","title":"Projection Edges Created"}},"type":"object","required":["node_id","node_type","message","graph_label_created","graph_relationship_created","side_table_rows_inserted","projection_edges_created"],"title":"BuildNodeResponse"},"CompensationCompleteRequest":{"properties":{"compensation_output":{"additionalProperties":true,"type":"object","title":"Compensation Output","description":"Output from compensation action"}},"type":"object","title":"CompensationCompleteRequest"},"CompensationRequest":{"properties":{"compensation_action":{"additionalProperties":true,"type":"object","title":"Compensation Action","description":"VRDM action to execute as compensation"}},"type":"object","required":["compensation_action"],"title":"CompensationRequest"},"CreateAppRoleRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Application role name"},"description":{"type":"string","title":"Description","description":"Role description","default":""},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Application-specific metadata"}},"type":"object","required":["name"],"title":"CreateAppRoleRequest"},"CreateExperimentRequest":{"properties":{"experiment_name":{"type":"string","title":"Experiment Name","description":"Human-readable experiment name"},"hypothesis":{"type":"string","title":"Hypothesis","description":"Hypothesis being tested"},"scenario_id":{"type":"string","title":"Scenario Id","description":"Associated scenario"},"experiment_type":{"type":"string","title":"Experiment Type","description":"Type (validate, explore, optimize)","default":"validate"},"metrics":{"additionalProperties":true,"type":"object","title":"Metrics","description":"Initial metrics"}},"type":"object","required":["experiment_name","hypothesis","scenario_id"],"title":"CreateExperimentRequest"},"CreateFilterVectorRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Filter vector name"},"description":{"type":"string","title":"Description","description":"Description","default":""},"source_concept_id":{"type":"string","title":"Source Concept Id","description":"Source concept (can be None)"},"target_concept_filter":{"additionalProperties":true,"type":"object","title":"Target Concept Filter","description":"Target filter constraints"}},"type":"object","required":["name"],"title":"CreateFilterVectorRequest"},"CreatePermissionRequest":{"properties":{"dimension_name":{"type":"string","title":"Dimension Name","description":"Dimension name (application, module, form, concept_type, element, action, vector, instance, scenario)"},"permission_type":{"type":"string","title":"Permission Type","description":"Permission type (read, write, execute, delete)"},"constraints":{"additionalProperties":true,"type":"object","title":"Constraints","description":"Dimension-specific constraints"}},"type":"object","required":["dimension_name","permission_type"],"title":"CreatePermissionRequest"},"CreatePolicyRequest":{"properties":{"name":{"type":"string","title":"Name","description":"Policy name"},"description":{"type":"string","title":"Description","description":"Policy description","default":""},"constraints":{"additionalProperties":true,"type":"object","title":"Constraints","description":"Policy constraints"}},"type":"object","required":["name"],"title":"CreatePolicyRequest"},"CreateScenarioRequest":{"properties":{"scenario_name":{"type":"string","title":"Scenario Name","description":"Human-readable scenario name"},"description":{"type":"string","title":"Description","description":"Scenario description","default":""},"version":{"type":"string","title":"Version","description":"Version string","default":"1.0"},"initial_conditions":{"additionalProperties":true,"type":"object","title":"Initial Conditions","description":"Initial state"},"channel_config":{"additionalProperties":true,"type":"object","title":"Channel Config","description":"Channel configurations"},"execution_params":{"additionalProperties":true,"type":"object","title":"Execution Params","description":"Execution parameters"},"is_active":{"type":"boolean","title":"Is Active","description":"Active status","default":true}},"type":"object","required":["scenario_name"],"title":"CreateScenarioRequest"},"CreateSnapshotRequest":{"properties":{"description":{"type":"string","title":"Description","description":"Snapshot description","default":""},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Additional metadata"}},"type":"object","title":"CreateSnapshotRequest"},"CreatevrdmlRequest":{"properties":{"model_id":{"type":"string","title":"Model Id"},"base_snapshot_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Snapshot Id","description":"Base snapshot for delta encoding"},"sequence_number":{"type":"integer","title":"Sequence Number","description":"Sequence number for ordering","default":0},"total_events":{"type":"integer","title":"Total Events","description":"Total event count","default":0}},"type":"object","required":["model_id"],"title":"CreatevrdmlRequest","description":"Request body for vrdml creation."},"ExecuteVrdmRequest":{"properties":{"model_id":{"type":"string","title":"Model Id"},"concept_ids":{"items":{"type":"string"},"type":"array","title":"Concept Ids"},"context":{"additionalProperties":true,"type":"object","title":"Context"},"dry_run":{"type":"boolean","title":"Dry Run","default":false}},"type":"object","required":["model_id"],"title":"ExecuteVrdmRequest"},"ExtendedAttribute":{"properties":{"key":{"type":"string","title":"Key"},"value":{"type":"string","title":"Value"}},"type":"object","required":["key","value"],"title":"ExtendedAttribute","description":"A single key/value pair for type-specific side-table attributes."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HybridQueryRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"semantic_query":{"type":"string","title":"Semantic Query"},"domain":{"type":"string","title":"Domain","default":"Personal"},"target_node_type":{"type":"string","title":"Target Node Type","default":"OperationalNode"}},"type":"object","required":["user_id","semantic_query"],"title":"HybridQueryRequest"},"QueryResponse":{"properties":{"message":{"type":"string","title":"Message"},"graph_filter_count":{"type":"integer","title":"Graph Filter Count"},"similar_nodes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Similar Nodes"}},"type":"object","required":["message","graph_filter_count","similar_nodes"],"title":"QueryResponse"},"RecordAttemptRequest":{"properties":{"error_text":{"type":"string","title":"Error Text","description":"Error message if attempt failed"},"duration_ms":{"type":"integer","title":"Duration Ms","description":"Duration in milliseconds"}},"type":"object","title":"RecordAttemptRequest"},"RecoverStaleRequest":{"properties":{"timeout_seconds":{"type":"integer","title":"Timeout Seconds","description":"Seconds before a run is considered stale","default":300}},"type":"object","title":"RecoverStaleRequest"},"RegisterPatternRequest":{"properties":{"pattern_name":{"type":"string","title":"Pattern Name"},"description":{"type":"string","title":"Description"},"graph_structure":{"additionalProperties":true,"type":"object","title":"Graph Structure"},"domain_type":{"type":"string","title":"Domain Type"},"metrics":{"additionalProperties":true,"type":"object","title":"Metrics"}},"type":"object","required":["pattern_name","description","graph_structure","domain_type"],"title":"RegisterPatternRequest"},"ReplayRequest":{"properties":{"start_step_no":{"type":"integer","title":"Start Step No","description":"Step number to start replay from","default":0}},"type":"object","title":"ReplayRequest"},"ResumeFromCheckpointRequest":{"properties":{"element_overrides":{"additionalProperties":true,"type":"object","title":"Element Overrides","description":"Element state overrides to apply to the resumed run"}},"type":"object","title":"ResumeFromCheckpointRequest"},"SimulateCausalRequest":{"properties":{"model_id":{"type":"string","title":"Model Id"},"concept_ids":{"items":{"type":"string"},"type":"array","title":"Concept Ids"},"context":{"additionalProperties":true,"type":"object","title":"Context"},"dry_run":{"type":"boolean","title":"Dry Run","default":true}},"type":"object","required":["model_id"],"title":"SimulateCausalRequest","description":"Request body for causal simulation endpoint."},"StrategyDecisionRequest":{"properties":{"concept_path":{"type":"string","title":"Concept Path","description":"Path identifier"},"available_strategies":{"items":{"type":"string"},"type":"array","title":"Available Strategies","description":"All available strategy options"},"scores":{"additionalProperties":true,"type":"object","title":"Scores","description":"Strategy scores {strategy: score}"},"selected_strategy":{"type":"string","title":"Selected Strategy","description":"Chosen strategy"}},"type":"object","required":["concept_path","available_strategies","scores","selected_strategy"],"title":"StrategyDecisionRequest"},"StrategyFeedbackRequest":{"properties":{"concept_path":{"type":"string","title":"Concept Path","description":"Path identifier"},"strategy":{"type":"string","title":"Strategy","description":"Strategy that was executed"},"duration_ms":{"type":"integer","title":"Duration Ms","description":"Execution duration"},"status":{"type":"string","title":"Status","description":"'success' or 'failed'"}},"type":"object","required":["concept_path","strategy","duration_ms","status"],"title":"StrategyFeedbackRequest"},"StrategyScoreRequest":{"properties":{"concept_path":{"type":"string","title":"Concept Path","description":"Path identifier (e.g., 'fetch_user_data')"},"weights":{"additionalProperties":true,"type":"object","title":"Weights","description":"Optional scoring weights"}},"type":"object","required":["concept_path"],"title":"StrategyScoreRequest"},"StrategySelectionRequest":{"properties":{"concept_path":{"type":"string","title":"Concept Path","description":"Path identifier"},"available_strategies":{"items":{"type":"string"},"type":"array","title":"Available Strategies","description":"Optional filter to available strategies"},"weights":{"additionalProperties":true,"type":"object","title":"Weights","description":"Optional scoring weights"}},"type":"object","required":["concept_path"],"title":"StrategySelectionRequest"},"TelemetryRequest":{"properties":{"worker_id":{"type":"string","title":"Worker Id"},"service_name":{"type":"string","title":"Service Name"},"duration_ms":{"type":"integer","title":"Duration Ms"},"status":{"type":"string","title":"Status"},"input_size":{"type":"integer","title":"Input Size"},"output_size":{"type":"integer","title":"Output Size"},"error_category":{"type":"string","title":"Error Category"}},"type":"object","required":["worker_id","service_name","duration_ms","status"],"title":"TelemetryRequest"},"UserAccessRequest":{"properties":{"permission_type":{"type":"string","title":"Permission Type","description":"Permission type to check","default":"read"},"dimension_name":{"type":"string","title":"Dimension Name","description":"Dimension name","default":"application"},"constraints":{"additionalProperties":true,"type":"object","title":"Constraints","description":"Constraints to check against"}},"type":"object","title":"UserAccessRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VariantProfileSummary":{"properties":{"profile_node_id":{"type":"string","title":"Profile Node Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"config_params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config Params"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["profile_node_id","is_active"],"title":"VariantProfileSummary"},"VariantProfilesResponse":{"properties":{"domain_type":{"type":"string","title":"Domain Type"},"active_profile_node_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Active Profile Node Id"},"profiles":{"items":{"$ref":"#/components/schemas/VariantProfileSummary"},"type":"array","title":"Profiles"}},"type":"object","required":["domain_type","profiles"],"title":"VariantProfilesResponse"},"VariantSolveRequest":{"properties":{"domain_type":{"type":"string","title":"Domain Type","default":"ConstraintGrid"},"profile_node_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Node Id"},"puzzle":{"items":{"type":"integer"},"type":"array","title":"Puzzle"}},"type":"object","required":["puzzle"],"title":"VariantSolveRequest"},"VariantSolveResponse":{"properties":{"domain_type":{"type":"string","title":"Domain Type"},"profile_node_id":{"type":"string","title":"Profile Node Id"},"profile_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Name"},"profile_content":{"type":"string","title":"Profile Content"},"runtime_session_id":{"type":"string","title":"Runtime Session Id"},"config_params":{"additionalProperties":true,"type":"object","title":"Config Params"},"initial_state":{"additionalProperties":true,"type":"object","title":"Initial State"},"final_state":{"additionalProperties":true,"type":"object","title":"Final State"},"steps":{"items":{"$ref":"#/components/schemas/VariantSolveStep"},"type":"array","title":"Steps"},"solver_status":{"type":"string","title":"Solver Status"},"executed_services":{"items":{"type":"string"},"type":"array","title":"Executed Services"}},"type":"object","required":["domain_type","profile_node_id","profile_content","runtime_session_id","config_params","initial_state","final_state","steps","solver_status","executed_services"],"title":"VariantSolveResponse"},"VariantSolveStep":{"properties":{"step":{"type":"integer","title":"Step"},"service":{"type":"string","title":"Service"},"target_node_id":{"type":"string","title":"Target Node Id"},"target_concept":{"type":"string","title":"Target Concept"},"vector_used":{"type":"string","title":"Vector Used"},"reason":{"type":"string","title":"Reason"},"before_state":{"additionalProperties":true,"type":"object","title":"Before State"},"after_state":{"additionalProperties":true,"type":"object","title":"After State"}},"type":"object","required":["step","service","target_node_id","target_concept","vector_used","reason","before_state","after_state"],"title":"VariantSolveStep"},"VariantTraceRangeResponse":{"properties":{"runtime_session_id":{"type":"string","title":"Runtime Session Id"},"steps":{"items":{"$ref":"#/components/schemas/VariantSolveStep"},"type":"array","title":"Steps"}},"type":"object","required":["runtime_session_id","steps"],"title":"VariantTraceRangeResponse"}}}}