Was dieses MCP kann
Discovers, builds, tests, reviews, publishes, runs, and inspects reusable AI workflow recipes.
Tools
Eingabeschema
{'type': 'object', 'required': ['build_ref'], 'properties': {'fixtures': {'type': 'object', 'maxProperties': 20, 'additionalProperties': {'oneOf': [{'type': 'string', 'maxLength': 32768}, {'type': 'object'}, {'type': 'array'}, {'type': 'number'}, {'type': 'boolean'}, {'type': 'null'}]}}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'render_only': {'type': 'boolean'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['valid', 'draft_valid', 'automatic_acceptance_eligible', 'qualification_route', 'qualification_requirements', 'effect_digest', 'findings', 'rendered', 'gate_results', 'compute_results', 'fan_out', 'unsupported_nodes', 'dsl_version', 'catalog_version', 'guidance_version'], 'properties': {'valid': {'type': 'boolean'}, 'fan_out': {'type': 'integer', 'minimum': 0}, 'findings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity', 'step_id', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 1000}, 'step_id': {'type': ['string', 'null'], 'maxLength': 128}, 'fix_hint': {'type': ['string', 'null'], 'maxLength': 1000}, 'severity': {'enum': ['info', 'warning', 'error']}, 'field_path': {'type': ['array', 'null'], 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'declared_schema': {'type': 'object', 'maxProperties': 100}, 'inference_source': {'type': 'object', 'required': ['kind', 'step_id', 'field_path'], 'properties': {'kind': {'enum': ['recipe_input_max_length', 'recipe_input_default_text_contract', 'producer_response_schema', 'registered_schema', 'recipe_output_default_string']}, 'step_id': {'type': ['string', 'null'], 'maxLength': 128}, 'field_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}}, 'additionalProperties': False}, 'missing_producer': {'type': 'string', 'maxLength': 128}, 'choices_truncated': {'type': 'boolean'}, 'executable_schema': {'type': 'object', 'maxProperties': 100}, 'difference_pointer': {'type': 'string', 'maxLength': 512}, 'suggested_mutation': {'type': 'object', 'required': ['operation', 'target', 'step_id', 'field_path', 'replacement'], 'properties': {'target': {'enum': ['executable_recipe', 'authoring_contract']}, 'step_id': {'type': ['string', 'null'], 'maxLength': 128}, 'operation': {'enum': ['upsert_node', 'set_contracts']}, 'field_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'replacement': {}}, 'additionalProperties': False}, 'valid_producer_choices': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 50}}, 'additionalProperties': False}, 'maxItems': 200}, 'rendered': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'text'], 'properties': {'path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'text': {'type': 'string', 'maxLength': 4096}}, 'additionalProperties': False}, 'maxItems': 100}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'draft_valid': {'type': 'boolean'}, 'dsl_version': {'type': 'integer', 'minimum': 2}, 'gate_results': {'type': 'array', 'maxItems': 0}, 'effect_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'catalog_version': {'type': 'string', 'maxLength': 64}, 'compute_results': {'type': 'array', 'maxItems': 0}, 'guidance_version': {'type': 'string', 'maxLength': 64}, 'unsupported_nodes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24, 'uniqueItems': True}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'qualification_requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100}, 'automatic_acceptance_eligible': {'type': 'boolean'}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['build_ref', 'revision', 'mode', 'idempotency_key'], 'properties': {'mode': {'enum': ['preflight', 'commit']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[\\x20-\\x7e]+$', 'maxLength': 200, 'minLength': 1}, 'commit_capability': {'type': 'string', 'maxLength': 4096, 'minLength': 1, 'description': 'Required for commit; omit for preflight.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['commit_capability', 'expires_in_seconds', 'effects', 'evidence'], 'properties': {'effects': {'type': 'array', 'items': {'enum': ['create_private_revision_1', 'keep_recipe_unlisted', 'keep_recipe_unreviewed']}, 'maxItems': 3, 'minItems': 3}, 'evidence': {'type': 'object', 'required': ['revision', 'review', 'research', 'acceptance', 'billing'], 'properties': {'review': {'const': 'passed'}, 'billing': {'const': 'settled'}, 'research': {'enum': ['recorded', 'not_required']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'acceptance': {'enum': ['full_suite_passed', 'accepted_with_limitations']}, 'accepted_limitations': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'assertion_id', 'acknowledgement'], 'properties': {'case_id': {'type': 'string', 'maxLength': 64}, 'assertion_id': {'type': 'string', 'maxLength': 64}, 'acknowledgement': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 10}, 'human_review_required': {'const': True}}, 'additionalProperties': False}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'commit_capability': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'expires_in_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}}, {'type': 'object', 'required': ['recipe_ulid', 'rev', 'sha', 'visibility', 'listed', 'editor_url'], 'properties': {'rev': {'const': 1}, 'sha': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'listed': {'const': False}, 'evidence': {'type': 'object', 'required': ['revision', 'review', 'research', 'acceptance', 'billing'], 'properties': {'review': {'const': 'passed'}, 'billing': {'const': 'settled'}, 'research': {'enum': ['recorded', 'not_required']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'acceptance': {'enum': ['full_suite_passed', 'accepted_with_limitations']}, 'accepted_limitations': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'assertion_id', 'acknowledgement'], 'properties': {'case_id': {'type': 'string', 'maxLength': 64}, 'assertion_id': {'type': 'string', 'maxLength': 64}, 'acknowledgement': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 10}, 'human_review_required': {'const': True}}, 'additionalProperties': False}, 'runnable': {'not': {}}, 'editor_url': {'type': 'string', 'maxLength': 512}, 'recipe_ref': {'not': {}}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'visibility': {'const': 'private'}, 'next_action': {'not': {}}, 'recipe_ulid': {'type': 'string', 'maxLength': 26, 'minLength': 1}}}, {'type': 'object', 'required': ['recipe_ulid', 'rev', 'sha', 'visibility', 'listed', 'editor_url', 'recipe_ref', 'runnable', 'next_action'], 'properties': {'rev': {'const': 1}, 'sha': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'listed': {'const': False}, 'evidence': {'type': 'object', 'required': ['revision', 'review', 'research', 'acceptance', 'billing'], 'properties': {'review': {'const': 'passed'}, 'billing': {'const': 'settled'}, 'research': {'enum': ['recorded', 'not_required']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'acceptance': {'enum': ['full_suite_passed', 'accepted_with_limitations']}, 'accepted_limitations': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'assertion_id', 'acknowledgement'], 'properties': {'case_id': {'type': 'string', 'maxLength': 64}, 'assertion_id': {'type': 'string', 'maxLength': 64}, 'acknowledgement': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 10}, 'human_review_required': {'const': True}}, 'additionalProperties': False}, 'runnable': {'type': 'boolean'}, 'editor_url': {'type': 'string', 'maxLength': 512}, 'recipe_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'visibility': {'const': 'private'}, 'next_action': {'const': 'dry_run_recipe'}, 'recipe_ulid': {'type': 'string', 'maxLength': 26, 'minLength': 1}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['gate', 'tool', 'instruction'], 'properties': {'gate': {'type': 'string', 'maxLength': 64}, 'tool': {'type': 'string', 'maxLength': 64}, 'instruction': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 10}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'remaining_gates': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['gateway_contract_version', 'authenticated', 'authoring_available', 'granted_scopes', 'connection', 'scope_groups', 'consumer_journey', 'authoring_journey', 'rules', 'capabilities'], 'properties': {'rules': {'type': 'array', 'items': {'type': 'string', 'maxLength': 300}, 'maxItems': 10, 'minItems': 4}, 'account': {'type': 'object', 'required': ['email', 'organization_id'], 'properties': {'email': {'type': 'string', 'maxLength': 254}, 'organization_id': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'connection': {'type': 'object', 'required': ['authorization', 'api_key_required', 'instruction'], 'properties': {'instruction': {'type': 'string', 'maxLength': 500}, 'authorization': {'const': 'oauth_2_1_browser'}, 'api_key_required': {'const': False}}, 'additionalProperties': False}, 'capabilities': {'type': 'array', 'items': {'type': 'object', 'required': ['capability', 'benefit', 'example_prompt', 'category'], 'properties': {'benefit': {'type': 'string'}, 'category': {'enum': ['research', 'documents', 'communication', 'data', 'compliance', 'operations'], 'type': 'string'}, 'capability': {'type': 'string'}, 'example_prompt': {'type': 'string'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 6}, 'scope_groups': {'type': 'object', 'required': ['discover_and_run_public', 'inspect_and_run_private', 'author_and_qualify'], 'properties': {'author_and_qualify': {'type': 'array', 'items': {'type': 'string'}}, 'discover_and_run_public': {'type': 'array', 'items': {'type': 'string'}}, 'inspect_and_run_private': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'authenticated': {'type': 'boolean'}, 'granted_scopes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 16}, 'consumer_journey': {'type': 'array', 'items': {'type': 'object', 'required': ['order', 'tool', 'action', 'next_on_success'], 'properties': {'tool': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'order': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'action': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'next_on_success': {'type': 'string', 'maxLength': 160}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 0}, 'authoring_journey': {'type': 'array', 'items': {'type': 'object', 'required': ['order', 'tool', 'action', 'next_on_success'], 'properties': {'tool': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'order': {'type': 'integer', 'maximum': 12, 'minimum': 1}, 'action': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'next_on_success': {'type': 'string', 'maxLength': 160}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 0}, 'authoring_available': {'type': 'boolean'}, 'gateway_contract_version': {'type': 'string'}}, 'additionalProperties': False}
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'view': {'enum': ['summary', 'contracts', 'node_inventory', 'node', 'schemas', 'capabilities', 'capabilities_index', 'capability', 'models', 'research', 'acceptance_plan', 'activity', 'handoffs', 'resources', 'guidance', 'authoring_schema']}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 512}, 'node_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'model_id': {'type': 'string', 'maxLength': 200}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'node_type': {'type': 'string', 'maxLength': 64}, 'schema_name': {'enum': ['update_recipe_build', 'acceptance_suite', 'start_recipe_build']}, 'include_archived': {'type': 'boolean'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['catalog_version', 'usage', 'capabilities'], 'properties': {'usage': {'type': 'string', 'maxLength': 500}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'capabilities': {'type': 'array', 'items': {'type': 'object', 'required': ['node_type', 'purpose', 'qualification_route', 'detail_lookup_key'], 'properties': {'purpose': {'type': 'string', 'maxLength': 240}, 'node_type': {'type': 'string', 'maxLength': 64}, 'detail_lookup_key': {'type': 'string', 'maxLength': 64}, 'qualification_route': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 24}, 'catalog_version': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'view': {'const': 'capabilities_index'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['catalog_version', 'capability'], 'properties': {'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'capability': {'type': 'object', 'required': ['node_type', 'draft_authoring_supported', 'automatic_acceptance_eligible', 'qualification_route', 'exposure', 'effect_class', 'user_handoff', 'acceptance_note', 'authoring_schema', 'required_fields', 'defaults', 'resource_selector_paths', 'minimal_example'], 'properties': {'defaults': {'type': 'object', 'maxProperties': 32}, 'exposure': {'enum': ['primary', 'alias', 'backend_only']}, 'node_type': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'effect_class': {'enum': ['none', 'provider_call', 'external_read', 'external_write', 'durable_write', 'wait', 'nested_recipe']}, 'user_handoff': {'enum': ['none', 'budget_approval', 'side_effect_approval', 'resource_and_side_effect_approval', 'resource_or_oauth', 'oauth_or_platform_policy', 'runtime_wait', 'recipe_selection', 'resource_selection']}, 'acceptance_note': {'type': ['string', 'null'], 'maxLength': 240}, 'minimal_example': {'type': 'object', 'maxProperties': 100, 'minProperties': 2}, 'required_fields': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'maxItems': 32, 'minItems': 2, 'uniqueItems': True}, 'authoring_schema': {'type': 'object', 'maxProperties': 20, 'minProperties': 4}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'resource_selector_paths': {'type': 'array', 'items': {'type': 'string', 'pattern': '^/[A-Za-z_][A-Za-z0-9_/]*$', 'maxLength': 256}, 'maxItems': 8, 'uniqueItems': True}, 'draft_authoring_supported': {'type': 'boolean'}, 'automatic_acceptance_eligible': {'type': 'boolean'}}, 'additionalProperties': False}, 'catalog_version': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'view': {'const': 'capability'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['contract_version'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'model': {'type': 'object'}, 'models': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 10}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'parameters': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 100}, 'next_cursor': {'type': 'string', 'maxLength': 512}, 'detail_lookup': {'type': 'string', 'maxLength': 500}, 'org_overrides': {'type': 'object'}, 'contract_version': {'type': 'string', 'maxLength': 64}, 'has_org_restrictions': {'type': 'boolean'}}, 'additionalProperties': False}, 'view': {'const': 'models'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['builds'], 'properties': {'builds': {'type': 'array', 'items': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'qualification', 'last_activity_at', 'archived_at'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'last_activity_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 25}}, 'additionalProperties': False}, 'view': {'const': 'listing'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'next_cursor': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'readiness'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'readiness': {'type': 'object', 'required': ['acceptance_qualified', 'commit_ready', 'remaining_gates', 'next_actions'], 'properties': {'commit_ready': {'type': 'boolean'}, 'next_actions': {'type': 'array', 'items': {'type': 'object', 'required': ['gate', 'tool', 'instruction'], 'properties': {'gate': {'type': 'string', 'maxLength': 64}, 'tool': {'type': 'string', 'maxLength': 64}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, 'maxItems': 10}, 'remaining_gates': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10}, 'acceptance_qualified': {'type': 'boolean'}}, 'additionalProperties': False}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'summary'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'input_contract', 'output_contract'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'input_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'output_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'const': True}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'view': {'const': 'contracts'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'nodes'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'nodes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'type'], 'properties': {'id': {'type': ['string', 'null'], 'maxLength': 128}, 'type': {'type': ['string', 'null'], 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 500}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'node_inventory'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'node'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'node': {'type': 'object'}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'node'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'schemas'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'schemas': {'type': 'object'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'schemas'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['schema_name', 'schema', 'usage'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'usage': {'type': 'string', 'maxLength': 1500}, 'schema': {'type': 'object'}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'schema_name': {'enum': ['update_recipe_build', 'acceptance_suite', 'start_recipe_build']}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'operator_fields': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'operator', 'required', 'allowed', 'forbidden', 'conditional'], 'properties': {'type': {'type': 'string', 'maxLength': 64}, 'allowed': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}, 'operator': {'type': 'string', 'maxLength': 64}, 'required': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}, 'forbidden': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}, 'conditional': {'type': 'object', 'required': [], 'properties': {'accepted_limitation': {'type': 'string', 'maxLength': 240}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 50}}, 'additionalProperties': False}, 'view': {'const': 'authoring_schema'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'catalog_version', 'capabilities'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'next_cursor': {'type': 'string', 'maxLength': 512, 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'type': 'object', 'required': ['node_type', 'draft_authoring_supported', 'automatic_acceptance_eligible', 'qualification_route', 'exposure', 'effect_class', 'user_handoff', 'acceptance_note', 'authoring_schema', 'required_fields', 'defaults', 'resource_selector_paths', 'minimal_example'], 'properties': {'defaults': {'type': 'object', 'maxProperties': 32}, 'exposure': {'enum': ['primary', 'alias', 'backend_only']}, 'node_type': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'effect_class': {'enum': ['none', 'provider_call', 'external_read', 'external_write', 'durable_write', 'wait', 'nested_recipe']}, 'user_handoff': {'enum': ['none', 'budget_approval', 'side_effect_approval', 'resource_and_side_effect_approval', 'resource_or_oauth', 'oauth_or_platform_policy', 'runtime_wait', 'recipe_selection', 'resource_selection']}, 'acceptance_note': {'type': ['string', 'null'], 'maxLength': 240}, 'minimal_example': {'type': 'object', 'maxProperties': 100, 'minProperties': 2}, 'required_fields': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'maxItems': 32, 'minItems': 2, 'uniqueItems': True}, 'authoring_schema': {'type': 'object', 'maxProperties': 20, 'minProperties': 4}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'resource_selector_paths': {'type': 'array', 'items': {'type': 'string', 'pattern': '^/[A-Za-z_][A-Za-z0-9_/]*$', 'maxLength': 256}, 'maxItems': 8, 'uniqueItems': True}, 'draft_authoring_supported': {'type': 'boolean'}, 'automatic_acceptance_eligible': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 8, 'minItems': 1}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'catalog_version': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'view': {'const': 'capabilities'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'research_policy', 'research_tier', 'evidence'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'retrieved_at', 'supported_claim', 'applicability'], 'properties': {'url': {'type': 'string', 'maxLength': 512, 'minLength': 1}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'retrieved_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'applicability': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'supported_claim': {'type': 'string', 'maxLength': 1000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'research_tier': {'enum': ['skipped', 'recommended', 'required']}, 'research_policy': {'enum': ['forbidden', 'allowed', 'required']}}, 'additionalProperties': False}, 'view': {'const': 'research'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'suite', 'minimum_acceptance_categories'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'suite': {'type': 'object'}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'minimum_acceptance_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, 'view': {'const': 'acceptance_plan'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'suite_page', 'next_cursor', 'minimum_acceptance_categories'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'suite_page': {'type': 'object', 'required': ['encoding', 'content', 'offset', 'total_characters', 'sha256'], 'properties': {'offset': {'type': 'integer', 'minimum': 0}, 'sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'content': {'type': 'string', 'maxLength': 16384, 'minLength': 1}, 'encoding': {'const': 'json'}, 'total_characters': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'next_cursor': {'type': ['string', 'null'], 'maxLength': 512}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'minimum_acceptance_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, 'view': {'const': 'acceptance_plan'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'activities'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activities': {'type': 'array', 'items': {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'error_code', 'created_at'], 'properties': {'kind': {'enum': ['review', 'acceptance_batch', 'acceptance_case']}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'created_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'error_code': {'type': ['string', 'null'], 'maxLength': 64}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 25}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'activity'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'handoffs'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'handoffs': {'type': 'array', 'items': {'type': 'object', 'required': ['handoff_ref', 'activity_ref', 'revision', 'status', 'effect_digest', 'reason', 'required_decisions', 'effects', 'expires_at', 'action_url', 'resume'], 'properties': {'reason': {'type': 'string', 'maxLength': 500}, 'resume': {'type': 'object', 'required': ['tool', 'operation'], 'properties': {'tool': {'const': 'update_recipe_build'}, 'operation': {'const': 'resume_activity'}}, 'additionalProperties': False}, 'status': {'enum': ['pending', 'approved', 'cancelled', 'expired', 'consumed']}, 'effects': {'type': 'array', 'items': {'type': 'object', 'required': ['node_id', 'node_type', 'execution_count', 'details'], 'properties': {'details': {'type': 'object', 'required': [], 'properties': {'to': {}, 'name': {}, 'query': {}, 'title': {}, 'top_k': {}, 'format': {}, 'params': {}, 'prompt': {}, 'source': {}, 'options': {}, 'sources': {}, 'subject': {}, 'duration': {}, 'filename': {}, 'html_only': {}, 'max_chunks': {}, 'visibility': {}, 'folder_name': {}, 'folder_ulid': {}, 'tool_groups': {}, 'pin_revision': {}, 'body_template': {}, 'input_mapping': {}, 'nested_effects': {}, 'outcome_rubric': {}, 'system_message': {}, 'additional_text': {}, 'score_threshold': {}, 'destination_mode': {}, 'preamble_enabled': {}, 'child_recipe_ulid': {}, 'child_revision_sha': {}, 'local_conflict_mode': {}, 'outcome_description': {}, 'external_target_ulid': {}, 'output_conflict_mode': {}, 'external_conflict_mode': {}, 'outcome_max_iterations': {}}, 'additionalProperties': False}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_type': {'type': 'string', 'maxLength': 64}, 'execution_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 100}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest', 'binding_status'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'binding_status': {'enum': ['required', 'bound']}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100}, 'action_url': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'expires_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'effect_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decisions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 100, 'uniqueItems': True}}, 'additionalProperties': False}, 'maxItems': 25}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'handoffs'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'resources'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest', 'binding_status'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'binding_status': {'enum': ['required', 'bound']}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}}, 'additionalProperties': False}, 'view': {'const': 'resources'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['view', 'data'], 'properties': {'data': {'type': 'object', 'required': ['build_ref', 'name', 'status', 'revision', 'qualification', 'archived_at', 'dsl_version', 'catalog_version', 'guidance_version', 'matched_archetypes', 'contract_bundle', 'minimum_acceptance_categories'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'status': {'enum': ['draft', 'qualified', 'committed', 'abandoned']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'archived_at': {'type': ['string', 'null'], 'format': 'date-time', 'maxLength': 64}, 'dsl_version': {'const': 2}, 'qualification': {'enum': ['none', 'pending', 'qualified', 'invalidated']}, 'catalog_version': {'type': 'string', 'maxLength': 64}, 'contract_bundle': {'type': 'object', 'required': ['catalog_version', 'archetype', 'input_contract', 'output_contract', 'recipe_spec'], 'properties': {'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'archetype': {'oneOf': [{'type': 'object', 'required': ['archetype_id', 'title', 'summary', 'capabilities', 'node_kinds'], 'properties': {'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'node_kinds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'archetype_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recipe_spec': {'type': 'object'}, 'input_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'catalog_version': {'type': 'string', 'maxLength': 64}, 'output_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'const': True}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'guidance_version': {'type': 'string', 'maxLength': 64}, 'matched_archetypes': {'type': 'array', 'items': {'type': 'object', 'required': ['archetype_id', 'title', 'summary', 'capabilities', 'node_kinds'], 'properties': {'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'node_kinds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'archetype_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, 'maxItems': 3}, 'minimum_acceptance_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, 'view': {'const': 'guidance'}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['activity_ref'], 'properties': {'cursor': {'type': 'string', 'maxLength': 512}, 'section': {'enum': ['summary', 'nodes', 'assertions', 'coverage', 'billing']}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'summary'], 'properties': {'kind': {'const': 'review'}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'section': {'const': 'summary'}, 'summary': {'type': 'object', 'required': ['verdict', 'issues', 'strengths'], 'properties': {'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'severity'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'category': {'enum': ['runtime_contract', 'semantic_contract', 'method', 'safety', 'research', 'advisory']}, 'severity': {'enum': ['info', 'warning', 'error']}, 'evidence_path': {'type': 'string', 'maxLength': 512}, 'counterexample': {'type': 'string', 'maxLength': 1000}, 'recommendation': {'type': 'string', 'maxLength': 4000}, 'evidence_status': {'enum': ['source_verified', 'unsupported']}, 'runtime_binding_status': {'const': 'verified'}}, 'additionalProperties': False}, 'maxItems': 50}, 'verdict': {'enum': ['pending', 'pass', 'revise']}, 'strengths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 300}, 'maxItems': 20}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'summary'], 'properties': {'kind': {'const': 'acceptance_batch'}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'section': {'const': 'summary'}, 'summary': {'type': 'object', 'required': ['case_count'], 'properties': {'failed': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'passed': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'cancelled': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'case_count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'billing_anomalies': {'type': 'integer', 'maximum': 50, 'minimum': 0}}, 'additionalProperties': False}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'summary'], 'properties': {'kind': {'const': 'acceptance_case'}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'section': {'const': 'summary'}, 'summary': {'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'billing'], 'properties': {'kind': {'enum': ['review', 'acceptance_batch', 'acceptance_case']}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'billing': {'oneOf': [{'type': 'object', 'required': ['state', 'retry_after_seconds'], 'properties': {'state': {'const': 'pending'}, 'retry_after_seconds': {'const': 2}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'settled_credits', 'remaining_budget'], 'properties': {'state': {'const': 'settled'}, 'settled_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'remaining_budget': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'charge_disposition': {'const': 'platform_absorbed'}, 'provider_cost_status': {'const': 'unknown'}}, 'additionalProperties': False}]}, 'section': {'const': 'billing'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'nodes'], 'properties': {'kind': {'enum': ['review', 'acceptance_batch', 'acceptance_case']}, 'nodes': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'state', 'billing'], 'properties': {'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'billing': {'oneOf': [{'type': 'object', 'required': ['state', 'retry_after_seconds'], 'properties': {'state': {'const': 'pending'}, 'retry_after_seconds': {'const': 2}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'settled_credits', 'remaining_budget'], 'properties': {'state': {'const': 'settled'}, 'settled_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'remaining_budget': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'charge_disposition': {'const': 'platform_absorbed'}, 'provider_cost_status': {'const': 'unknown'}}, 'additionalProperties': False}]}, 'case_id': {'type': 'string', 'maxLength': 64}, 'error_code': {'type': 'string', 'maxLength': 64}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 50}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'section': {'const': 'nodes'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'coverage'], 'properties': {'kind': {'enum': ['review', 'acceptance_batch', 'acceptance_case']}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'section': {'const': 'coverage'}, 'coverage': {'type': 'object', 'required': ['selected_case_ids', 'required_case_ids', 'qualified'], 'properties': {'qualified': {'type': 'boolean'}, 'required_case_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 50}, 'selected_case_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 50}}, 'additionalProperties': False}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['activity_ref', 'kind', 'state', 'revision', 'terminal', 'section', 'cases', 'next_cursor'], 'properties': {'kind': {'enum': ['review', 'acceptance_batch', 'acceptance_case']}, 'cases': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'state', 'assertions'], 'properties': {'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'case_id': {'type': 'string', 'maxLength': 64}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'required': ['assertion_id', 'passed', 'code'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'passed': {'type': 'boolean'}, 'diagnostic': {'type': 'object', 'required': ['availability'], 'properties': {'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}, 'truncated': {'type': 'boolean'}, 'availability': {'enum': ['available', 'unavailable']}, 'actual_missing': {'type': 'boolean'}, 'actual_preview': {'type': 'string', 'maxLength': 256}, 'expected_preview': {'type': 'string', 'maxLength': 256}, 'paired_actual_missing': {'type': 'boolean'}, 'paired_actual_preview': {'type': 'string', 'maxLength': 256}}, 'additionalProperties': False}, 'assertion_id': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 50}, 'error_code': {'type': 'string', 'maxLength': 64}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 20}, 'retry': {'type': 'object', 'required': ['state', 'attempt', 'maximum_attempts', 'retry_at', 'reason'], 'properties': {'state': {'enum': ['scheduled', 'retrying']}, 'reason': {'enum': ['review_processing_interrupted', 'provider_result_processing_retry', 'settlement_retry']}, 'attempt': {'type': 'integer', 'maximum': 3, 'minimum': 1}, 'retry_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'maximum_attempts': {'const': 3}}, 'additionalProperties': False}, 'state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'section': {'const': 'assertions'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'terminal': {'type': 'boolean'}, 'error_code': {'type': 'string', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'next_cursor': {'type': ['string', 'null'], 'maxLength': 32}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'execution_diagnostic': {'type': 'object', 'required': ['step_id', 'node_type', 'code', 'field_path', 'message', 'fix_hint'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'message': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'evidence': {'type': 'object', 'required': ['source'], 'properties': {'source': {'enum': ['structured_executor', 'legacy_executor_message']}, 'attempt_count': {'type': 'integer', 'maximum': 100, 'minimum': 1}, 'finish_reason': {'enum': ['max_output_tokens', 'max_tokens', 'length', 'content_filter', 'refusal', 'unknown']}, 'reasoning_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'max_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'total_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}, 'visible_output_tokens': {'type': 'integer', 'maximum': 10000000, 'minimum': 0}}, 'additionalProperties': False}, 'fix_hint': {'type': 'string', 'maxLength': 300}, 'node_type': {'type': 'string', 'maxLength': 64}, 'field_path': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 4}}, 'additionalProperties': False}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['recipe_ref'], 'properties': {'view': {'enum': ['summary', 'details']}, 'cursor': {'type': 'string', 'maxLength': 2000}, 'recipe_ref': {'type': 'string', 'maxLength': 32768}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['view', 'revision_sha', 'disclosure', 'items', 'next_cursor', 'recipe_ref', 'metrics'], 'properties': {'view': {'const': 'details'}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['section', 'encoding', 'content', 'offset', 'total_characters', 'complete'], 'properties': {'offset': {'type': 'integer', 'minimum': 0}, 'content': {'type': 'string', 'maxLength': 6000}, 'section': {'type': 'string'}, 'complete': {'type': 'boolean'}, 'encoding': {'enum': ['text', 'json']}, 'total_characters': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 20}, 'metrics': {'type': 'object', 'required': ['basis', 'sample_count', 'average_credits', 'average_duration_seconds'], 'properties': {'basis': {'const': 'successful_runs'}, 'sample_count': {'type': ['integer', 'null'], 'minimum': 0}, 'average_credits': {'type': ['number', 'null']}, 'average_duration_seconds': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'disclosure': {'enum': ['view_authorized', 'public_summary_only']}, 'recipe_ref': {'type': 'string', 'maxLength': 32768}, 'next_cursor': {'type': ['string', 'null'], 'maxLength': 2000}, 'revision_sha': {'type': 'string'}}}, {'type': 'object', 'required': ['title', 'description', 'description_truncated', 'category', 'pricing', 'visibility', 'inputs', 'outputs', 'recipe_ref', 'input_limits', 'source', 'access', 'state', 'qualification', 'contracts', 'evidence', 'decision_context'], 'properties': {'state': {'const': 'published'}, 'title': {'type': 'string', 'maxLength': 200}, 'access': {'type': 'object', 'required': ['can_view', 'can_run', 'can_fork'], 'properties': {'can_run': {'type': 'boolean'}, 'can_fork': {'type': 'boolean'}, 'can_view': {'type': 'boolean'}}, 'additionalProperties': False}, 'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'must_provide', 'default_available', 'max_characters', 'max_utf8_bytes'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^input_[1-9][0-9]*$'}, 'required': {'type': 'boolean', 'description': 'The recipe declares this input as required. With default_available true a default is applied when it is omitted, so must_provide is false.'}, 'must_provide': {'type': 'boolean', 'description': 'True only when the input is required and has no default; the caller has to supply it.'}, 'max_characters': {'type': 'integer', 'minimum': 1}, 'max_utf8_bytes': {'type': 'integer', 'minimum': 1}, 'default_available': {'type': 'boolean', 'description': 'The recipe applies a default when this input is omitted; the default itself is never disclosed.'}}, 'additionalProperties': False}, 'maxItems': 50}, 'source': {'enum': ['public', 'owned', 'organization', 'shared']}, 'outputs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 50}, 'pricing': {'type': 'object', 'required': ['basis', 'credit_band', 'estimate_requires_dry_run', 'creator_fee'], 'properties': {'basis': {'const': 'historical_average_successful_runs'}, 'creator_fee': {'enum': ['marketplace_policy', 'none']}, 'credit_band': {'enum': ['unknown', 'free', '0_to_10', '10_to_100', 'over_100'], 'description': 'Band of the average credits per successful run; unknown means no successful runs yet.'}, 'average_credits': {'type': 'string', 'pattern': '^\\d+(?:\\.\\d+)?$', 'maxLength': 128}, 'estimate_requires_dry_run': {'const': True}}, 'additionalProperties': False}, 'category': {'type': 'string', 'maxLength': 100}, 'evidence': {'type': 'object', 'required': ['research_evidence_count', 'acceptance_case_count', 'last_qualified', 'safety_review_state'], 'properties': {'last_qualified': {'enum': ['unknown', 'last_7_days', 'last_30_days', 'older']}, 'safety_review_state': {'enum': ['unreviewed', 'pending_attestation', 'pending_review', 'approved', 'rejected', 'revision_requested', 'delisted', 'suspended']}, 'acceptance_case_count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'research_evidence_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'contracts': {'type': 'object', 'required': ['inputs', 'outputs'], 'properties': {'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'description'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'required': {'type': 'boolean', 'description': 'Declared required by the recipe; get_recipe_preview shows must_provide and default_available for the same handle.'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 50}, 'outputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'description'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'required': {'type': 'boolean', 'description': 'Declared required by the recipe; get_recipe_preview shows must_provide and default_available for the same handle.'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 50}, 'outputs_undeclared': {'type': 'boolean'}}, 'additionalProperties': False}, 'recipe_ref': {'type': 'string', 'maxLength': 32768}, 'visibility': {'enum': ['private', 'shared', 'public_open', 'public_opaque']}, 'description': {'type': 'string', 'maxLength': 4000}, 'input_limits': {'type': 'object', 'required': ['max_total_utf8_bytes'], 'properties': {'note': {'type': 'string', 'maxLength': 240}, 'max_total_utf8_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'qualification': {'enum': ['public_reviewed', 'authoring_qualified', 'published_unqualified', 'unknown']}, 'decision_context': {'type': 'object', 'required': ['method_excerpt', 'limitations_excerpt', 'output_contract_state', 'evidence_note'], 'properties': {'evidence_note': {'type': ['string', 'null'], 'maxLength': 240}, 'method_excerpt': {'type': ['string', 'null'], 'maxLength': 800}, 'limitations_excerpt': {'type': ['string', 'null'], 'maxLength': 800}, 'output_contract_state': {'enum': ['declared', 'undeclared', 'unusable'], 'description': 'Unusable means output nodes exist but no stable executable output binding is available.'}}, 'description': 'Bounded selection hints from the pinned published revision, with explicitly labeled safety-reviewed public copy as a fallback; text is withheld without view permission.', 'additionalProperties': False}, 'description_truncated': {'type': 'boolean'}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['recipe_unavailable', 'invalid_cursor', 'recipe_ref_expired']}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['run_id'], 'properties': {'view': {'enum': ['declared_outputs', 'steps', 'step', 'step_chunk']}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Steps per page for view=steps: default 10, at most 20.'}, 'cursor': {'type': 'string', 'pattern': '^o:(?:0|[1-9][0-9]*)$', 'maxLength': 8}, 'detail': {'enum': ['summary', 'full'], 'description': "For view=steps: summary (default) lists each step's id, title, kind, status, timing and result type; full returns parameters, rendered input and result. view=step always returns the full step."}, 'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'step_id': {'type': 'string', 'maxLength': 128, 'minLength': 1}, 'chunk_ref': {'type': 'string', 'maxLength': 2048, 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['outcome', 'run_id', 'outputs'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'outcome': {'const': 'results'}, 'outputs': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'value'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'value': {}}, 'additionalProperties': False}, 'maxItems': 50}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'status'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'blocked']}, 'outcome': {'const': 'not_ready'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'status'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['failed', 'cancelled']}, 'outcome': {'const': 'no_results'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'outcome': {'const': 'result_too_large'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'status', 'trace_visibility', 'steps', 'next_cursor'], 'properties': {'steps': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['step_id', 'title', 'kind', 'status', 'started_at', 'finished_at', 'result_type', 'redaction_reasons'], 'properties': {'kind': {'type': 'string', 'maxLength': 32}, 'title': {'type': 'string', 'maxLength': 500}, 'status': {'type': 'string', 'maxLength': 32}, 'step_id': {'type': 'string', 'maxLength': 128}, 'started_at': {'type': ['string', 'null'], 'maxLength': 40}, 'finished_at': {'type': ['string', 'null'], 'maxLength': 40}, 'result_type': {'type': ['string', 'null'], 'maxLength': 32}, 'diagnostic_notes': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'meaning'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'meaning': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'maxItems': 5}, 'redaction_reasons': {'type': 'array', 'items': {'enum': ['sensitive_input', 'opaque_recipe']}, 'maxItems': 2, 'uniqueItems': True}}, 'additionalProperties': False}, {'type': 'object', 'required': ['step_id', 'title', 'kind', 'status', 'depends_on', 'parameters', 'rendered_input', 'input_source', 'result', 'redaction_reasons'], 'properties': {'kind': {'type': 'string', 'maxLength': 32}, 'title': {'type': 'string', 'maxLength': 500}, 'result': {'type': 'object'}, 'status': {'type': 'string', 'maxLength': 32}, 'step_id': {'type': 'string', 'maxLength': 128}, 'depends_on': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 1000}, 'parameters': {'type': 'object'}, 'diagnostics': {'type': 'object', 'required': ['duration_ms', 'input_tokens', 'output_tokens'], 'properties': {'duration_ms': {'type': ['integer', 'null'], 'minimum': 0}, 'input_tokens': {'type': ['integer', 'null'], 'minimum': 0}, 'output_tokens': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'input_source': {'enum': ['rendered', 'configured', 'unavailable']}, 'rendered_input': {'oneOf': [{'type': 'string', 'maxLength': 1048576}, {'type': 'null'}]}, 'diagnostic_notes': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'meaning'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'meaning': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'maxItems': 5}, 'redaction_reasons': {'type': 'array', 'items': {'enum': ['sensitive_input', 'opaque_recipe']}, 'maxItems': 2, 'uniqueItems': True}}, 'additionalProperties': False}]}, 'maxItems': 20}, 'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'done', 'failed', 'cancelled', 'blocked']}, 'outcome': {'const': 'steps'}, 'next_cursor': {'oneOf': [{'type': 'string', 'pattern': '^o:(?:0|[1-9][0-9]*)$', 'maxLength': 8}, {'type': 'null'}]}, 'observed_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'provisional': {'type': 'boolean', 'description': 'True while the run is not finished: step statuses and results can still change. Unfinished steps show a pending result.'}, 'trace_visibility': {'enum': ['full', 'opaque']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'status', 'trace_visibility', 'step'], 'properties': {'step': {'type': 'object', 'required': ['step_id', 'title', 'kind', 'status', 'depends_on', 'parameters', 'rendered_input', 'input_source', 'result', 'redaction_reasons'], 'properties': {'kind': {'type': 'string', 'maxLength': 32}, 'title': {'type': 'string', 'maxLength': 500}, 'result': {'type': 'object'}, 'status': {'type': 'string', 'maxLength': 32}, 'step_id': {'type': 'string', 'maxLength': 128}, 'depends_on': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 1000}, 'parameters': {'type': 'object'}, 'diagnostics': {'type': 'object', 'required': ['duration_ms', 'input_tokens', 'output_tokens'], 'properties': {'duration_ms': {'type': ['integer', 'null'], 'minimum': 0}, 'input_tokens': {'type': ['integer', 'null'], 'minimum': 0}, 'output_tokens': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'input_source': {'enum': ['rendered', 'configured', 'unavailable']}, 'rendered_input': {'oneOf': [{'type': 'string', 'maxLength': 1048576}, {'type': 'null'}]}, 'diagnostic_notes': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'meaning'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'meaning': {'type': 'string', 'maxLength': 200}}, 'additionalProperties': False}, 'maxItems': 5}, 'redaction_reasons': {'type': 'array', 'items': {'enum': ['sensitive_input', 'opaque_recipe']}, 'maxItems': 2, 'uniqueItems': True}}, 'additionalProperties': False}, 'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'done', 'failed', 'cancelled', 'blocked']}, 'outcome': {'const': 'step'}, 'observed_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'provisional': {'type': 'boolean', 'description': 'True while the run is not finished: step statuses and results can still change. Unfinished steps show a pending result.'}, 'trace_visibility': {'enum': ['full', 'opaque']}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'step_id', 'next_cursor'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'outcome': {'const': 'step_too_large'}, 'step_id': {'type': 'string', 'maxLength': 128}, 'next_cursor': {'oneOf': [{'type': 'string', 'pattern': '^o:(?:0|[1-9][0-9]*)$', 'maxLength': 8}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'step_id', 'next_cursor', 'chunk_ref'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'outcome': {'const': 'step_too_large'}, 'step_id': {'type': 'string', 'maxLength': 128}, 'chunk_ref': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'next_cursor': {'oneOf': [{'type': 'string', 'pattern': '^o:(?:0|[1-9][0-9]*)$', 'maxLength': 8}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'step_id', 'encoding', 'offset', 'chunk', 'chunk_utf8_bytes', 'total_utf8_bytes', 'next_chunk_ref'], 'properties': {'chunk': {'type': 'string', 'maxLength': 1048576}, 'offset': {'type': 'integer', 'minimum': 0}, 'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'outcome': {'const': 'step_chunk'}, 'step_id': {'type': 'string', 'maxLength': 128}, 'encoding': {'const': 'json'}, 'next_chunk_ref': {'oneOf': [{'type': 'string', 'maxLength': 2048, 'minLength': 1}, {'type': 'null'}]}, 'chunk_utf8_bytes': {'type': 'integer', 'minimum': 1}, 'total_utf8_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'run_not_found'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'field', 'hint'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'const': 'invalid_params'}, 'field': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'step_not_found'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'result_unavailable'}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'view': {'enum': ['status', 'history', 'diagnostics']}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'cursor': {'type': 'string', 'maxLength': 1024}, 'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'done', 'failed', 'cancelled', 'blocked']}, 'recipe_ref': {'type': 'string', 'maxLength': 4096}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['run_id', 'status', 'created_at', 'updated_at'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'blocked']}, 'progress': {'type': 'object', 'required': ['phase', 'steps', 'active_steps', 'run_elapsed_seconds', 'last_step_activity_at', 'observed_at'], 'properties': {'phase': {'enum': ['queued', 'running_steps', 'between_steps', 'waiting_for_input', 'paused_insufficient_credits', 'terminal']}, 'steps': {'type': 'object', 'required': ['total', 'queued', 'running', 'waiting_for_input', 'done', 'failed'], 'properties': {'done': {'type': 'integer', 'minimum': 0}, 'total': {'type': 'integer', 'minimum': 0}, 'failed': {'type': 'integer', 'minimum': 0}, 'queued': {'type': 'integer', 'minimum': 0}, 'running': {'type': 'integer', 'minimum': 0}, 'waiting_for_input': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'observed_at': {'type': 'string', 'maxLength': 40}, 'active_steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'kind', 'started_at', 'elapsed_seconds'], 'properties': {'kind': {'type': 'string', 'maxLength': 32}, 'title': {'type': 'string', 'maxLength': 120}, 'step_id': {'type': 'string', 'maxLength': 128}, 'started_at': {'type': ['string', 'null'], 'maxLength': 40}, 'elapsed_seconds': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 5}, 'run_elapsed_seconds': {'type': ['integer', 'null'], 'minimum': 0}, 'last_step_activity_at': {'type': ['string', 'null'], 'maxLength': 40}}, 'description': "Live progress from committed step rows. updated_at is the run record's time; last_step_activity_at shows the latest step start or finish.", 'additionalProperties': False}, 'created_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'updated_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'credit_pause': {'type': 'object', 'required': ['required_credits', 'available_credits', 'resumable'], 'properties': {'resumable': {'const': True}, 'required_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'available_credits': {'type': ['string', 'null'], 'maxLength': 32}}, 'description': 'The run paused because a step could not reserve credits. It resumes from the StewAI web app after credits are added.', 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['run_id', 'status', 'created_at', 'updated_at', 'results_available', 'billing'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'const': 'done'}, 'billing': {'oneOf': [{'type': 'object', 'required': ['state', 'retry_after_seconds'], 'properties': {'state': {'const': 'pending'}, 'retry_after_seconds': {'const': 2}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'charged_credits'], 'properties': {'state': {'const': 'settled'}, 'charged_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'charged_credits', 'available_credits', 'balance_as_of'], 'properties': {'state': {'const': 'settled'}, 'balance_as_of': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'charged_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'progress': {'type': 'object', 'required': ['phase', 'steps', 'active_steps', 'run_elapsed_seconds', 'last_step_activity_at', 'observed_at'], 'properties': {'phase': {'enum': ['queued', 'running_steps', 'between_steps', 'waiting_for_input', 'paused_insufficient_credits', 'terminal']}, 'steps': {'type': 'object', 'required': ['total', 'queued', 'running', 'waiting_for_input', 'done', 'failed'], 'properties': {'done': {'type': 'integer', 'minimum': 0}, 'total': {'type': 'integer', 'minimum': 0}, 'failed': {'type': 'integer', 'minimum': 0}, 'queued': {'type': 'integer', 'minimum': 0}, 'running': {'type': 'integer', 'minimum': 0}, 'waiting_for_input': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'observed_at': {'type': 'string', 'maxLength': 40}, 'active_steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'kind', 'started_at', 'elapsed_seconds'], 'properties': {'kind': {'type': 'string', 'maxLength': 32}, 'title': {'type': 'string', 'maxLength': 120}, 'step_id': {'type': 'string', 'maxLength': 128}, 'started_at': {'type': ['string', 'null'], 'maxLength': 40}, 'elapsed_seconds': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 5}, 'run_elapsed_seconds': {'type': ['integer', 'null'], 'minimum': 0}, 'last_step_activity_at': {'type': ['string', 'null'], 'maxLength': 40}}, 'description': "Live progress from committed step rows. updated_at is the run record's time; last_step_activity_at shows the latest step start or finish.", 'additionalProperties': False}, 'created_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'updated_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'results_available': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['run_id', 'status', 'created_at', 'updated_at', 'billing'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['failed', 'cancelled']}, 'billing': {'oneOf': [{'type': 'object', 'required': ['state', 'retry_after_seconds'], 'properties': {'state': {'const': 'pending'}, 'retry_after_seconds': {'const': 2}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'charged_credits'], 'properties': {'state': {'const': 'settled'}, 'charged_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'charged_credits', 'available_credits', 'balance_as_of'], 'properties': {'state': {'const': 'settled'}, 'balance_as_of': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'charged_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'progress': {'type': 'object', 'required': ['phase', 'steps', 'active_steps', 'run_elapsed_seconds', 'last_step_activity_at', 'observed_at'], 'properties': {'phase': {'enum': ['queued', 'running_steps', 'between_steps', 'waiting_for_input', 'paused_insufficient_credits', 'terminal']}, 'steps': {'type': 'object', 'required': ['total', 'queued', 'running', 'waiting_for_input', 'done', 'failed'], 'properties': {'done': {'type': 'integer', 'minimum': 0}, 'total': {'type': 'integer', 'minimum': 0}, 'failed': {'type': 'integer', 'minimum': 0}, 'queued': {'type': 'integer', 'minimum': 0}, 'running': {'type': 'integer', 'minimum': 0}, 'waiting_for_input': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'observed_at': {'type': 'string', 'maxLength': 40}, 'active_steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'kind', 'started_at', 'elapsed_seconds'], 'properties': {'kind': {'type': 'string', 'maxLength': 32}, 'title': {'type': 'string', 'maxLength': 120}, 'step_id': {'type': 'string', 'maxLength': 128}, 'started_at': {'type': ['string', 'null'], 'maxLength': 40}, 'elapsed_seconds': {'type': ['integer', 'null'], 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 5}, 'run_elapsed_seconds': {'type': ['integer', 'null'], 'minimum': 0}, 'last_step_activity_at': {'type': ['string', 'null'], 'maxLength': 40}}, 'description': "Live progress from committed step rows. updated_at is the run record's time; last_step_activity_at shows the latest step start or finish.", 'additionalProperties': False}, 'created_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'updated_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'run_not_found'}}, 'additionalProperties': False}]}, {'type': 'object', 'required': ['view', 'runs', 'next_cursor'], 'properties': {'runs': {'type': 'array', 'items': {'type': 'object', 'required': ['run_id', 'recipe_id', 'recipe_title', 'status', 'created_at', 'updated_at', 'charged_credits'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'done', 'failed', 'cancelled', 'blocked']}, 'recipe_id': {'type': 'string'}, 'created_at': {'type': 'string'}, 'updated_at': {'type': 'string'}, 'recipe_title': {'type': 'string', 'maxLength': 200}, 'charged_credits': {'type': ['string', 'null'], 'maxLength': 32, 'description': 'Credits charged by a finished run; null while it is active.'}}, 'additionalProperties': False}, 'maxItems': 20}, 'view': {'const': 'history'}, 'next_cursor': {'type': ['string', 'null'], 'maxLength': 1024}}, 'additionalProperties': False}, {'type': 'object', 'required': ['view', 'run_id', 'billing', 'receipt', 'basis'], 'properties': {'view': {'const': 'diagnostics'}, 'basis': {'const': 'UI receipt estimate versus settled charge; not an admission ceiling. Null means unavailable.'}, 'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'billing': {'oneOf': [{'type': 'object', 'required': ['state', 'retry_after_seconds'], 'properties': {'state': {'const': 'pending'}, 'retry_after_seconds': {'const': 2}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state'], 'properties': {'state': {'const': 'unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'charged_credits'], 'properties': {'state': {'const': 'settled'}, 'charged_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['state', 'charged_credits', 'available_credits', 'balance_as_of'], 'properties': {'state': {'const': 'settled'}, 'balance_as_of': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'charged_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'receipt': {'type': 'object', 'required': ['estimated_credits', 'charged_credits', 'variance_pct'], 'properties': {'variance_pct': {'type': ['number', 'null']}, 'charged_credits': {'type': ['number', 'null']}, 'estimated_credits': {'type': ['number', 'null']}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'invalid_history_query'}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['build_ref', 'revision', 'mode', 'idempotency_key'], 'properties': {'mode': {'enum': ['quote', 'execute']}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[\\x20-\\x7e]+$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['outcome', 'kind', 'max_credits', 'available_credits', 'remaining_build_budget', 'budget_capability', 'expires_at', 'budget_state', 'next_action'], 'properties': {'kind': {'enum': ['review', 'acceptance']}, 'outcome': {'const': 'quoted'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'next_action': {'type': 'object', 'required': ['tool', 'operation', 'instruction'], 'properties': {'tool': {'const': 'update_recipe_build'}, 'operation': {'const': 'set_budget'}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'budget_state': {'enum': ['not_redeemed', 'active']}, 'acceptance_cost': {'type': 'object', 'required': ['basis', 'case_count', 'cases', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 400}, 'basis': {'const': 'enforced_input_bytes_and_output_caps'}, 'cases': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'max_credits', 'steps'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'model', 'input_basis', 'input_token_bound', 'output_token_cap', 'attempt_allowance', 'provider_floor_credits'], 'properties': {'model': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'input_basis': {'enum': ['acceptance_message_fence', 'acceptance_schema_context_fallback']}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'attempt_allowance': {'type': 'integer', 'minimum': 1}, 'input_token_bound': {'type': 'integer', 'minimum': 0}, 'provider_floor_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 2}, 'case_id': {'type': 'string', 'maxLength': 64}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'forecast': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'expected_credits', 'high_credits', 'hard_credits', 'basis', 'sample_count'], 'properties': {'basis': {'enum': ['settled_same_revision_case', 'settled_same_revision', 'provider_usage_same_recipe_step', 'platform_model_usage', 'static_fraction', 'hard_bound']}, 'case_id': {'type': 'string', 'maxLength': 64}, 'hard_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'sample_count': {'type': 'integer', 'minimum': 0}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'cap_policy': {'type': 'string', 'maxLength': 120}, 'case_count': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'forecast_basis': {'type': 'object', 'maxProperties': 8, 'additionalProperties': {'type': 'integer', 'minimum': 0}}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'hard_bound_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'observed_case_costs': {'anyOf': [{'type': 'null'}, {'type': 'object', 'required': ['sample_count', 'minimum_credits', 'maximum_credits', 'basis'], 'properties': {'basis': {'const': 'recent_settled_cases_same_revision_not_a_forecast'}, 'sample_count': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'maximum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'minimum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'approval_cap_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'expected_high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'planned_fan_out': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Wallet funds currently available, independent of this build approval.'}, 'budget_capability': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'unsupported_nodes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'handoff_requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Bounded quote preview. When incomplete, full acceptance creates the handoff with complete effects and resource requirements for approval.'}, 'remaining_build_budget': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Unspent and unreserved cumulative authority in the active grant for this build revision; zero before redemption.'}, 'handoff_requirement_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'handoff_requirements_complete': {'type': 'boolean'}}}, {'type': 'object', 'required': ['outcome', 'kind', 'max_credits', 'available_credits', 'remaining_build_budget', 'budget_state', 'next_action'], 'properties': {'kind': {'enum': ['review', 'acceptance']}, 'outcome': {'const': 'quoted'}, 'expires_at': {'not': {}}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'next_action': {'oneOf': [{'type': 'object', 'required': ['tool', 'mode', 'instruction'], 'properties': {'mode': {'const': 'execute'}, 'tool': {'const': 'review_recipe_build'}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, {'type': 'object', 'required': ['tool', 'mode', 'instruction'], 'properties': {'mode': {'const': 'full'}, 'tool': {'const': 'run_recipe_acceptance'}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, {'type': 'object', 'required': ['tool', 'mode', 'case_ids', 'instruction'], 'properties': {'mode': {'const': 'selected_cases'}, 'tool': {'const': 'run_recipe_acceptance'}, 'case_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, {'type': 'object', 'required': ['tool', 'activity_ref', 'instruction'], 'properties': {'tool': {'const': 'get_recipe_build_activity'}, 'instruction': {'type': 'string', 'maxLength': 300}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}]}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'budget_state': {'enum': ['not_redeemed', 'active']}, 'acceptance_cost': {'type': 'object', 'required': ['basis', 'case_count', 'cases', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 400}, 'basis': {'const': 'enforced_input_bytes_and_output_caps'}, 'cases': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'max_credits', 'steps'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'model', 'input_basis', 'input_token_bound', 'output_token_cap', 'attempt_allowance', 'provider_floor_credits'], 'properties': {'model': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'input_basis': {'enum': ['acceptance_message_fence', 'acceptance_schema_context_fallback']}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'attempt_allowance': {'type': 'integer', 'minimum': 1}, 'input_token_bound': {'type': 'integer', 'minimum': 0}, 'provider_floor_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 2}, 'case_id': {'type': 'string', 'maxLength': 64}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'forecast': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'expected_credits', 'high_credits', 'hard_credits', 'basis', 'sample_count'], 'properties': {'basis': {'enum': ['settled_same_revision_case', 'settled_same_revision', 'provider_usage_same_recipe_step', 'platform_model_usage', 'static_fraction', 'hard_bound']}, 'case_id': {'type': 'string', 'maxLength': 64}, 'hard_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'sample_count': {'type': 'integer', 'minimum': 0}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'cap_policy': {'type': 'string', 'maxLength': 120}, 'case_count': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'forecast_basis': {'type': 'object', 'maxProperties': 8, 'additionalProperties': {'type': 'integer', 'minimum': 0}}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'hard_bound_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'observed_case_costs': {'anyOf': [{'type': 'null'}, {'type': 'object', 'required': ['sample_count', 'minimum_credits', 'maximum_credits', 'basis'], 'properties': {'basis': {'const': 'recent_settled_cases_same_revision_not_a_forecast'}, 'sample_count': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'maximum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'minimum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'approval_cap_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'expected_high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'planned_fan_out': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Wallet funds currently available, independent of this build approval.'}, 'budget_capability': {'not': {}}, 'unsupported_nodes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'handoff_requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Bounded quote preview. When incomplete, full acceptance creates the handoff with complete effects and resource requirements for approval.'}, 'remaining_build_budget': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Unspent and unreserved cumulative authority in the active grant for this build revision; zero before redemption.'}, 'handoff_requirement_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'handoff_requirements_complete': {'type': 'boolean'}}}, {'type': 'object', 'required': ['outcome', 'activity_ref', 'state', 'revision', 'poll_after_seconds'], 'properties': {'state': {'const': 'queued'}, 'fan_out': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'outcome': {'const': 'queued'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'poll_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}}, {'type': 'object', 'required': ['outcome', 'activity_ref', 'state', 'revision', 'qualification_route', 'handoff'], 'properties': {'state': {'const': 'blocked'}, 'handoff': {'type': 'object', 'required': ['handoff_ref', 'activity_ref', 'revision', 'status', 'effect_digest', 'reason', 'required_decisions', 'effects', 'expires_at', 'action_url', 'resume'], 'properties': {'reason': {'type': 'string', 'maxLength': 500}, 'resume': {'type': 'object', 'required': ['tool', 'operation'], 'properties': {'tool': {'const': 'update_recipe_build'}, 'operation': {'const': 'resume_activity'}}, 'additionalProperties': False}, 'status': {'enum': ['pending', 'approved', 'cancelled', 'expired', 'consumed']}, 'effects': {'type': 'array', 'items': {'type': 'object', 'required': ['node_id', 'node_type', 'execution_count', 'details'], 'properties': {'details': {'type': 'object', 'required': [], 'properties': {'to': {}, 'name': {}, 'query': {}, 'title': {}, 'top_k': {}, 'format': {}, 'params': {}, 'prompt': {}, 'source': {}, 'options': {}, 'sources': {}, 'subject': {}, 'duration': {}, 'filename': {}, 'html_only': {}, 'max_chunks': {}, 'visibility': {}, 'folder_name': {}, 'folder_ulid': {}, 'tool_groups': {}, 'pin_revision': {}, 'body_template': {}, 'input_mapping': {}, 'nested_effects': {}, 'outcome_rubric': {}, 'system_message': {}, 'additional_text': {}, 'score_threshold': {}, 'destination_mode': {}, 'preamble_enabled': {}, 'child_recipe_ulid': {}, 'child_revision_sha': {}, 'local_conflict_mode': {}, 'outcome_description': {}, 'external_target_ulid': {}, 'output_conflict_mode': {}, 'external_conflict_mode': {}, 'outcome_max_iterations': {}}, 'additionalProperties': False}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_type': {'type': 'string', 'maxLength': 64}, 'execution_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 100}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest', 'binding_status'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'binding_status': {'enum': ['required', 'bound']}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100}, 'action_url': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'expires_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'effect_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decisions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 100, 'uniqueItems': True}}, 'additionalProperties': False}, 'outcome': {'const': 'supervised_required'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'qualification_route': {'const': 'supervised'}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['recipe_ref', 'inputs', 'idempotency_key'], 'properties': {'inputs': {'type': 'object', 'maxProperties': 50, 'propertyNames': {'pattern': '^input_[1-9][0-9]*$'}, 'additionalProperties': {'type': 'string'}}, 'dry_run': {'type': 'boolean'}, 'recipe_ref': {'type': 'string', 'maxLength': 32768}, 'idempotency_key': {'type': 'string', 'pattern': '^[\\x20-\\x7E]+$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['outcome', 'execution_credits', 'marketplace_fee_credits', 'estimated_credits', 'available_credits', 'sufficient', 'estimate_basis', 'input_token_floor', 'historical_credit_band', 'historical_comparison', 'pricing_warning'], 'properties': {'history': {'type': 'object', 'required': ['successful_runs', 'failed_runs', 'average_credits', 'median_credits', 'p90_credits', 'last_run_at', 'window_days', 'recent_charges'], 'properties': {'failed_runs': {'type': 'integer', 'minimum': 0}, 'last_run_at': {'type': ['string', 'null'], 'maxLength': 40}, 'p90_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'window_days': {'type': ['integer', 'null'], 'minimum': 1}, 'median_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'recent_charges': {'type': 'array', 'items': {'type': 'string', 'maxLength': 32}, 'maxItems': 2, 'description': 'Actual charges of the one or two runs when there are too few for statistics.'}, 'average_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'successful_runs': {'type': 'integer', 'minimum': 0}}, 'description': "Credits charged by past successful runs of this recipe's current version. With fewer than three runs, statistics are null and recent_charges lists the actual charges.", 'additionalProperties': False}, 'outcome': {'const': 'estimated'}, 'sufficient': {'type': 'boolean'}, 'fee_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'balance_as_of': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'estimate_basis': {'const': 'conservative_input_aware'}, 'pricing_warning': {'type': ['string', 'null'], 'maxLength': 240}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'execution_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_floor': {'type': 'integer', 'minimum': 1}, 'ceiling_explanation': {'type': 'object', 'required': ['meaning', 'basis', 'provider_floors', 'details_limited'], 'properties': {'basis': {'const': 'current_effective_rates_and_runtime_bounds'}, 'meaning': {'type': 'string', 'maxLength': 500}, 'details_limited': {'type': 'boolean'}, 'provider_floors': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 20}}, 'additionalProperties': False}, 'historical_comparison': {'enum': ['lower', 'same', 'higher', 'unknown']}, 'historical_credit_band': {'enum': ['unknown', 'free', '0_to_10', '10_to_100', 'over_100']}, 'marketplace_fee_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'status', 'estimated_credits'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'const': 'queued'}, 'history': {'type': 'object', 'required': ['successful_runs', 'failed_runs', 'average_credits', 'median_credits', 'p90_credits', 'last_run_at', 'window_days', 'recent_charges'], 'properties': {'failed_runs': {'type': 'integer', 'minimum': 0}, 'last_run_at': {'type': ['string', 'null'], 'maxLength': 40}, 'p90_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'window_days': {'type': ['integer', 'null'], 'minimum': 1}, 'median_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'recent_charges': {'type': 'array', 'items': {'type': 'string', 'maxLength': 32}, 'maxItems': 2, 'description': 'Actual charges of the one or two runs when there are too few for statistics.'}, 'average_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'successful_runs': {'type': 'integer', 'minimum': 0}}, 'description': "Credits charged by past successful runs of this recipe's current version. With fewer than three runs, statistics are null and recent_charges lists the actual charges.", 'additionalProperties': False}, 'outcome': {'const': 'started'}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['outcome', 'run_id', 'status'], 'properties': {'run_id': {'type': 'string', 'pattern': '^[0-9A-Za-z]{26}$', 'maxLength': 26, 'minLength': 26}, 'status': {'enum': ['queued', 'running', 'done', 'failed', 'cancelled', 'blocked']}, 'outcome': {'const': 'replayed'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'recipe_unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'run_unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'account_unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'invalid_inputs'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'idempotency_conflict'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'idempotency_unavailable'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error'], 'properties': {'error': {'const': 'run_limit'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'retry_after_seconds'], 'properties': {'error': {'const': 'rate_limited'}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'required_credits', 'available_credits'], 'properties': {'error': {'const': 'insufficient_credits'}, 'required_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'hint'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'const': 'recipe_ref_expired'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'issues'], 'properties': {'error': {'const': 'invalid_inputs'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'code', 'message', 'hint'], 'properties': {'code': {'enum': ['required', 'blank', 'invalid_type', 'unknown_handle', 'too_many_inputs', 'max_characters', 'max_value_utf8_bytes', 'max_total_utf8_bytes']}, 'hint': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'path': {'type': 'string', 'pattern': '^inputs(?:\\.input_[1-9][0-9]*)?$', 'maxLength': 32}, 'limit': {'type': 'integer', 'minimum': 1}, 'message': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'received': {'type': 'object', 'required': ['type'], 'properties': {'type': {'enum': ['missing', 'null', 'boolean', 'integer', 'number', 'string', 'array', 'object', 'other']}, 'characters': {'type': 'integer', 'minimum': 0}, 'item_count': {'type': 'integer', 'minimum': 0}, 'utf8_bytes': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'reason', 'message', 'next_action'], 'properties': {'error': {'const': 'run_unavailable'}, 'reason': {'enum': ['recipe_validation_failed', 'recipe_step_policy_restricted', 'recipe_fee_configuration_invalid', 'invalid_credit_evidence', 'admission_inconsistent', 'configuration_unavailable']}, 'message': {'type': 'string', 'maxLength': 240}, 'next_action': {'type': 'string', 'maxLength': 240}}, 'additionalProperties': False}, {'type': 'object', 'required': ['error', 'message', 'next_action'], 'properties': {'error': {'const': 'pricing_unavailable'}, 'message': {'type': 'string', 'maxLength': 240}, 'next_action': {'type': 'object', 'required': ['tool', 'action', 'reason'], 'properties': {'tool': {'const': 'search_recipes'}, 'action': {'const': 'choose_another_recipe'}, 'reason': {'type': 'string', 'maxLength': 240}}, 'additionalProperties': False}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['build_ref', 'revision', 'mode', 'idempotency_key'], 'properties': {'mode': {'enum': ['quote', 'selected_cases', 'full']}, 'case_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$', 'maxLength': 64}, 'maxItems': 50, 'minItems': 1, 'description': 'Required for selected_cases, optional for quote, forbidden for full.', 'uniqueItems': True}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[\\x20-\\x7e]+$', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['outcome', 'kind', 'max_credits', 'available_credits', 'remaining_build_budget', 'budget_capability', 'expires_at', 'budget_state', 'next_action'], 'properties': {'kind': {'enum': ['review', 'acceptance']}, 'outcome': {'const': 'quoted'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'next_action': {'type': 'object', 'required': ['tool', 'operation', 'instruction'], 'properties': {'tool': {'const': 'update_recipe_build'}, 'operation': {'const': 'set_budget'}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'budget_state': {'enum': ['not_redeemed', 'active']}, 'acceptance_cost': {'type': 'object', 'required': ['basis', 'case_count', 'cases', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 400}, 'basis': {'const': 'enforced_input_bytes_and_output_caps'}, 'cases': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'max_credits', 'steps'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'model', 'input_basis', 'input_token_bound', 'output_token_cap', 'attempt_allowance', 'provider_floor_credits'], 'properties': {'model': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'input_basis': {'enum': ['acceptance_message_fence', 'acceptance_schema_context_fallback']}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'attempt_allowance': {'type': 'integer', 'minimum': 1}, 'input_token_bound': {'type': 'integer', 'minimum': 0}, 'provider_floor_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 2}, 'case_id': {'type': 'string', 'maxLength': 64}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'forecast': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'expected_credits', 'high_credits', 'hard_credits', 'basis', 'sample_count'], 'properties': {'basis': {'enum': ['settled_same_revision_case', 'settled_same_revision', 'provider_usage_same_recipe_step', 'platform_model_usage', 'static_fraction', 'hard_bound']}, 'case_id': {'type': 'string', 'maxLength': 64}, 'hard_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'sample_count': {'type': 'integer', 'minimum': 0}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'cap_policy': {'type': 'string', 'maxLength': 120}, 'case_count': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'forecast_basis': {'type': 'object', 'maxProperties': 8, 'additionalProperties': {'type': 'integer', 'minimum': 0}}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'hard_bound_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'observed_case_costs': {'anyOf': [{'type': 'null'}, {'type': 'object', 'required': ['sample_count', 'minimum_credits', 'maximum_credits', 'basis'], 'properties': {'basis': {'const': 'recent_settled_cases_same_revision_not_a_forecast'}, 'sample_count': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'maximum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'minimum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'approval_cap_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'expected_high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'planned_fan_out': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Wallet funds currently available, independent of this build approval.'}, 'budget_capability': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'unsupported_nodes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'handoff_requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Bounded quote preview. When incomplete, full acceptance creates the handoff with complete effects and resource requirements for approval.'}, 'remaining_build_budget': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Unspent and unreserved cumulative authority in the active grant for this build revision; zero before redemption.'}, 'handoff_requirement_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'handoff_requirements_complete': {'type': 'boolean'}}}, {'type': 'object', 'required': ['outcome', 'kind', 'max_credits', 'available_credits', 'remaining_build_budget', 'budget_state', 'next_action'], 'properties': {'kind': {'enum': ['review', 'acceptance']}, 'outcome': {'const': 'quoted'}, 'expires_at': {'not': {}}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'next_action': {'oneOf': [{'type': 'object', 'required': ['tool', 'mode', 'instruction'], 'properties': {'mode': {'const': 'execute'}, 'tool': {'const': 'review_recipe_build'}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, {'type': 'object', 'required': ['tool', 'mode', 'instruction'], 'properties': {'mode': {'const': 'full'}, 'tool': {'const': 'run_recipe_acceptance'}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, {'type': 'object', 'required': ['tool', 'mode', 'case_ids', 'instruction'], 'properties': {'mode': {'const': 'selected_cases'}, 'tool': {'const': 'run_recipe_acceptance'}, 'case_ids': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 50, 'minItems': 1, 'uniqueItems': True}, 'instruction': {'type': 'string', 'maxLength': 300}}, 'additionalProperties': False}, {'type': 'object', 'required': ['tool', 'activity_ref', 'instruction'], 'properties': {'tool': {'const': 'get_recipe_build_activity'}, 'instruction': {'type': 'string', 'maxLength': 300}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}]}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'budget_state': {'enum': ['not_redeemed', 'active']}, 'acceptance_cost': {'type': 'object', 'required': ['basis', 'case_count', 'cases', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 400}, 'basis': {'const': 'enforced_input_bytes_and_output_caps'}, 'cases': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'max_credits', 'steps'], 'properties': {'steps': {'type': 'array', 'items': {'type': 'object', 'required': ['step_id', 'model', 'input_basis', 'input_token_bound', 'output_token_cap', 'attempt_allowance', 'provider_floor_credits'], 'properties': {'model': {'type': 'string', 'maxLength': 200}, 'step_id': {'type': 'string', 'maxLength': 128}, 'input_basis': {'enum': ['acceptance_message_fence', 'acceptance_schema_context_fallback']}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'attempt_allowance': {'type': 'integer', 'minimum': 1}, 'input_token_bound': {'type': 'integer', 'minimum': 0}, 'provider_floor_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 2}, 'case_id': {'type': 'string', 'maxLength': 64}, 'max_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'forecast': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'expected_credits', 'high_credits', 'hard_credits', 'basis', 'sample_count'], 'properties': {'basis': {'enum': ['settled_same_revision_case', 'settled_same_revision', 'provider_usage_same_recipe_step', 'platform_model_usage', 'static_fraction', 'hard_bound']}, 'case_id': {'type': 'string', 'maxLength': 64}, 'hard_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'sample_count': {'type': 'integer', 'minimum': 0}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'maxItems': 3}, 'cap_policy': {'type': 'string', 'maxLength': 120}, 'case_count': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'forecast_basis': {'type': 'object', 'maxProperties': 8, 'additionalProperties': {'type': 'integer', 'minimum': 0}}, 'expected_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'hard_bound_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'observed_case_costs': {'anyOf': [{'type': 'null'}, {'type': 'object', 'required': ['sample_count', 'minimum_credits', 'maximum_credits', 'basis'], 'properties': {'basis': {'const': 'recent_settled_cases_same_revision_not_a_forecast'}, 'sample_count': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'maximum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'minimum_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'approval_cap_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'expected_high_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}}, 'additionalProperties': False}, 'planned_fan_out': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'available_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Wallet funds currently available, independent of this build approval.'}, 'budget_capability': {'not': {}}, 'unsupported_nodes': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'qualification_route': {'enum': ['automatic', 'conditional', 'supervised']}, 'handoff_requirements': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Bounded quote preview. When incomplete, full acceptance creates the handoff with complete effects and resource requirements for approval.'}, 'remaining_build_budget': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64, 'description': 'Unspent and unreserved cumulative authority in the active grant for this build revision; zero before redemption.'}, 'handoff_requirement_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'handoff_requirements_complete': {'type': 'boolean'}}}, {'type': 'object', 'required': ['outcome', 'activity_ref', 'state', 'revision', 'poll_after_seconds'], 'properties': {'state': {'const': 'queued'}, 'fan_out': {'type': 'integer', 'maximum': 50, 'minimum': 1}, 'outcome': {'const': 'queued'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'poll_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}}, {'type': 'object', 'required': ['outcome', 'activity_ref', 'state', 'revision', 'qualification_route', 'handoff'], 'properties': {'state': {'const': 'blocked'}, 'handoff': {'type': 'object', 'required': ['handoff_ref', 'activity_ref', 'revision', 'status', 'effect_digest', 'reason', 'required_decisions', 'effects', 'expires_at', 'action_url', 'resume'], 'properties': {'reason': {'type': 'string', 'maxLength': 500}, 'resume': {'type': 'object', 'required': ['tool', 'operation'], 'properties': {'tool': {'const': 'update_recipe_build'}, 'operation': {'const': 'resume_activity'}}, 'additionalProperties': False}, 'status': {'enum': ['pending', 'approved', 'cancelled', 'expired', 'consumed']}, 'effects': {'type': 'array', 'items': {'type': 'object', 'required': ['node_id', 'node_type', 'execution_count', 'details'], 'properties': {'details': {'type': 'object', 'required': [], 'properties': {'to': {}, 'name': {}, 'query': {}, 'title': {}, 'top_k': {}, 'format': {}, 'params': {}, 'prompt': {}, 'source': {}, 'options': {}, 'sources': {}, 'subject': {}, 'duration': {}, 'filename': {}, 'html_only': {}, 'max_chunks': {}, 'visibility': {}, 'folder_name': {}, 'folder_ulid': {}, 'tool_groups': {}, 'pin_revision': {}, 'body_template': {}, 'input_mapping': {}, 'nested_effects': {}, 'outcome_rubric': {}, 'system_message': {}, 'additional_text': {}, 'score_threshold': {}, 'destination_mode': {}, 'preamble_enabled': {}, 'child_recipe_ulid': {}, 'child_revision_sha': {}, 'local_conflict_mode': {}, 'outcome_description': {}, 'external_target_ulid': {}, 'output_conflict_mode': {}, 'external_conflict_mode': {}, 'outcome_max_iterations': {}}, 'additionalProperties': False}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_type': {'type': 'string', 'maxLength': 64}, 'execution_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 100}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest', 'binding_status'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'binding_status': {'enum': ['required', 'bound']}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100}, 'action_url': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'expires_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'effect_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decisions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 100, 'uniqueItems': True}}, 'additionalProperties': False}, 'outcome': {'const': 'supervised_required'}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'qualification_route': {'const': 'supervised'}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 2000, 'minLength': 3, 'description': 'At least 3 non-padding characters, up to 2000. Name the task in a few words; add constraints as required_inputs or required_outputs; follow next_cursor when results are cut.'}, 'cursor': {'type': 'string', 'pattern': '^[0-9]{1,2}$', 'description': 'next_cursor from the previous page of the identical query and filters. Omit for the first page.'}, 'sources': {'type': 'array', 'items': {'enum': ['public', 'owned', 'organization', 'shared']}, 'maxItems': 4, 'minItems': 1, 'description': 'When omitted, search public recipes and any library lanes authorized by this connection. Explicit private lanes require recipes:read permission.', 'uniqueItems': True}, 'runnable_only': {'type': 'boolean'}, 'required_inputs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 20, 'description': 'Exact normalized handle/label matching, not semantic meaning; inspect filter_diagnostics for available labels.', 'uniqueItems': True}, 'required_outputs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100, 'minLength': 1}, 'maxItems': 20, 'description': 'Exact normalized handle/label matching, not semantic meaning; filters are never weakened automatically.', 'uniqueItems': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['results', 'match_status'], 'properties': {'paging': {'type': 'object', 'required': ['has_more', 'how'], 'properties': {'how': {'type': 'string', 'maxLength': 160}, 'has_more': {'type': 'boolean'}}, 'additionalProperties': False}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'description', 'description_truncated', 'category', 'visibility', 'pricing', 'duration_band', 'rating', 'recipe_ref', 'source', 'access', 'state', 'qualification', 'contracts', 'evidence'], 'properties': {'state': {'const': 'published'}, 'title': {'type': 'string', 'maxLength': 200}, 'access': {'type': 'object', 'required': ['can_view', 'can_run', 'can_fork'], 'properties': {'can_run': {'type': 'boolean'}, 'can_fork': {'type': 'boolean'}, 'can_view': {'type': 'boolean'}}, 'additionalProperties': False}, 'rating': {'type': 'object', 'required': ['average', 'count'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'average': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'source': {'enum': ['public', 'owned', 'organization', 'shared']}, 'history': {'type': 'object', 'required': ['successful_runs', 'failed_runs', 'average_credits', 'median_credits', 'p90_credits', 'last_run_at', 'window_days', 'recent_charges'], 'properties': {'failed_runs': {'type': 'integer', 'minimum': 0}, 'last_run_at': {'type': ['string', 'null'], 'maxLength': 40}, 'p90_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'window_days': {'type': ['integer', 'null'], 'minimum': 1}, 'median_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'recent_charges': {'type': 'array', 'items': {'type': 'string', 'maxLength': 32}, 'maxItems': 2, 'description': 'Actual charges of the one or two runs when there are too few for statistics.'}, 'average_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'successful_runs': {'type': 'integer', 'minimum': 0}}, 'description': "Credits charged by past successful runs of this recipe's current version. With fewer than three runs, statistics are null and recent_charges lists the actual charges.", 'additionalProperties': False}, 'pricing': {'type': 'object', 'required': ['basis', 'credit_band', 'estimate_requires_dry_run', 'creator_fee'], 'properties': {'basis': {'const': 'historical_average_successful_runs'}, 'creator_fee': {'enum': ['marketplace_policy', 'none']}, 'credit_band': {'enum': ['unknown', 'free', '0_to_10', '10_to_100', 'over_100'], 'description': 'Band of the average credits per successful run; unknown means no successful runs yet.'}, 'average_credits': {'type': 'string', 'pattern': '^\\d+(?:\\.\\d+)?$', 'maxLength': 128}, 'estimate_requires_dry_run': {'const': True}}, 'additionalProperties': False}, 'category': {'type': 'string', 'maxLength': 100}, 'evidence': {'type': 'object', 'required': ['research_evidence_count', 'acceptance_case_count', 'last_qualified', 'safety_review_state'], 'properties': {'last_qualified': {'enum': ['unknown', 'last_7_days', 'last_30_days', 'older']}, 'safety_review_state': {'enum': ['unreviewed', 'pending_attestation', 'pending_review', 'approved', 'rejected', 'revision_requested', 'delisted', 'suspended']}, 'acceptance_case_count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'research_evidence_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'contracts': {'type': 'object', 'required': ['inputs', 'outputs'], 'properties': {'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'description'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'required': {'type': 'boolean', 'description': 'Declared required by the recipe; get_recipe_preview shows must_provide and default_available for the same handle.'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 50}, 'outputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'description'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'required': {'type': 'boolean', 'description': 'Declared required by the recipe; get_recipe_preview shows must_provide and default_available for the same handle.'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 50}, 'outputs_undeclared': {'type': 'boolean'}}, 'additionalProperties': False}, 'recipe_ref': {'type': 'string', 'maxLength': 32768}, 'visibility': {'enum': ['private', 'shared', 'public_open', 'public_opaque']}, 'description': {'type': 'string', 'maxLength': 500}, 'duration_band': {'enum': ['unknown', 'seconds', 'minutes', 'long']}, 'evidence_note': {'type': ['string', 'null'], 'maxLength': 240}, 'match_quality': {'enum': ['exact', 'strong', 'related', 'unknown'], 'description': "strong: the recipe's own title, description, tags or category contain at least two informative query words, or half of them, or the whole query verbatim; related: one word. Suitable rows are ordered exact, strong, then reviewed before unqualified."}, 'qualification': {'enum': ['public_reviewed', 'authoring_qualified', 'published_unqualified', 'unknown']}, 'matched_fields': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 10}, 'description_truncated': {'type': 'boolean'}, 'output_contract_state': {'enum': ['declared', 'undeclared', 'unusable'], 'description': 'declared: stable output bindings; undeclared: the recipe declares no outputs even if its description promises some; unusable: outputs exist without a stable binding.'}}, 'additionalProperties': False}, 'maxItems': 5}, 'next_action': {'type': 'object', 'required': ['tool', 'action', 'reason'], 'properties': {'tool': {'enum': ['get_recipe_build', 'discover_stewai']}, 'action': {'enum': ['list_recent_builds', 'review_requirements']}, 'reason': {'type': 'string', 'maxLength': 240}}, 'additionalProperties': False}, 'next_cursor': {'type': ['string', 'null'], 'maxLength': 2, 'description': 'Pass back as cursor with the identical query and filters to fetch the next page of suitable results; null on the last page.'}, 'match_status': {'enum': ['matches', 'no_suitable_match']}, 'related_results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'description', 'description_truncated', 'category', 'visibility', 'pricing', 'duration_band', 'rating', 'recipe_ref', 'source', 'access', 'state', 'qualification', 'contracts', 'evidence'], 'properties': {'state': {'const': 'published'}, 'title': {'type': 'string', 'maxLength': 200}, 'access': {'type': 'object', 'required': ['can_view', 'can_run', 'can_fork'], 'properties': {'can_run': {'type': 'boolean'}, 'can_fork': {'type': 'boolean'}, 'can_view': {'type': 'boolean'}}, 'additionalProperties': False}, 'rating': {'type': 'object', 'required': ['average', 'count'], 'properties': {'count': {'type': 'integer', 'minimum': 0}, 'average': {'type': ['number', 'null']}}, 'additionalProperties': False}, 'source': {'enum': ['public', 'owned', 'organization', 'shared']}, 'history': {'type': 'object', 'required': ['successful_runs', 'failed_runs', 'average_credits', 'median_credits', 'p90_credits', 'last_run_at', 'window_days', 'recent_charges'], 'properties': {'failed_runs': {'type': 'integer', 'minimum': 0}, 'last_run_at': {'type': ['string', 'null'], 'maxLength': 40}, 'p90_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'window_days': {'type': ['integer', 'null'], 'minimum': 1}, 'median_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'recent_charges': {'type': 'array', 'items': {'type': 'string', 'maxLength': 32}, 'maxItems': 2, 'description': 'Actual charges of the one or two runs when there are too few for statistics.'}, 'average_credits': {'type': ['string', 'null'], 'maxLength': 32}, 'successful_runs': {'type': 'integer', 'minimum': 0}}, 'description': "Credits charged by past successful runs of this recipe's current version. With fewer than three runs, statistics are null and recent_charges lists the actual charges.", 'additionalProperties': False}, 'pricing': {'type': 'object', 'required': ['basis', 'credit_band', 'estimate_requires_dry_run', 'creator_fee'], 'properties': {'basis': {'const': 'historical_average_successful_runs'}, 'creator_fee': {'enum': ['marketplace_policy', 'none']}, 'credit_band': {'enum': ['unknown', 'free', '0_to_10', '10_to_100', 'over_100'], 'description': 'Band of the average credits per successful run; unknown means no successful runs yet.'}, 'average_credits': {'type': 'string', 'pattern': '^\\d+(?:\\.\\d+)?$', 'maxLength': 128}, 'estimate_requires_dry_run': {'const': True}}, 'additionalProperties': False}, 'category': {'type': 'string', 'maxLength': 100}, 'evidence': {'type': 'object', 'required': ['research_evidence_count', 'acceptance_case_count', 'last_qualified', 'safety_review_state'], 'properties': {'last_qualified': {'enum': ['unknown', 'last_7_days', 'last_30_days', 'older']}, 'safety_review_state': {'enum': ['unreviewed', 'pending_attestation', 'pending_review', 'approved', 'rejected', 'revision_requested', 'delisted', 'suspended']}, 'acceptance_case_count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'research_evidence_count': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'additionalProperties': False}, 'contracts': {'type': 'object', 'required': ['inputs', 'outputs'], 'properties': {'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'description'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'required': {'type': 'boolean', 'description': 'Declared required by the recipe; get_recipe_preview shows must_provide and default_available for the same handle.'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 50}, 'outputs': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'required', 'description'], 'properties': {'label': {'type': 'string', 'maxLength': 100}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$'}, 'required': {'type': 'boolean', 'description': 'Declared required by the recipe; get_recipe_preview shows must_provide and default_available for the same handle.'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 50}, 'outputs_undeclared': {'type': 'boolean'}}, 'additionalProperties': False}, 'recipe_ref': {'type': 'string', 'maxLength': 32768}, 'visibility': {'enum': ['private', 'shared', 'public_open', 'public_opaque']}, 'description': {'type': 'string', 'maxLength': 500}, 'duration_band': {'enum': ['unknown', 'seconds', 'minutes', 'long']}, 'evidence_note': {'type': ['string', 'null'], 'maxLength': 240}, 'match_quality': {'enum': ['exact', 'strong', 'related', 'unknown'], 'description': "strong: the recipe's own title, description, tags or category contain at least two informative query words, or half of them, or the whole query verbatim; related: one word. Suitable rows are ordered exact, strong, then reviewed before unqualified."}, 'qualification': {'enum': ['public_reviewed', 'authoring_qualified', 'published_unqualified', 'unknown']}, 'matched_fields': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 10}, 'description_truncated': {'type': 'boolean'}, 'output_contract_state': {'enum': ['declared', 'undeclared', 'unusable'], 'description': 'declared: stable output bindings; undeclared: the recipe declares no outputs even if its description promises some; unusable: outputs exist without a stable binding.'}}, 'additionalProperties': False}, 'maxItems': 5}, 'candidate_counts': {'type': 'object', 'required': ['suitable', 'related', 'returned'], 'properties': {'related': {'type': 'integer', 'minimum': 0}, 'returned': {'type': 'integer', 'minimum': 0}, 'suitable': {'type': 'integer', 'minimum': 0, 'description': 'Suitable candidates within the ranked pool of at most 25; a value near 25 means more may exist.'}}, 'description': 'Counts over the bounded ranked pool, not the whole catalogue.', 'additionalProperties': False}, 'filter_diagnostics': {'type': 'object', 'required': ['matching', 'required_inputs', 'required_outputs', 'rejected_candidate_count', 'available_inputs', 'available_outputs', 'labels_truncated'], 'properties': {'matching': {'const': 'normalized_handles_or_labels_not_meanings'}, 'labels_note': {'type': 'string', 'maxLength': 240}, 'required_inputs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20}, 'available_inputs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 50}, 'labels_truncated': {'type': 'boolean'}, 'required_outputs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 20}, 'available_outputs': {'type': 'array', 'items': {'type': 'string', 'maxLength': 100}, 'maxItems': 50}, 'rejected_candidate_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'excluded_candidates': {'type': 'object', 'required': ['awaiting_review_binding', 'guidance'], 'properties': {'guidance': {'type': 'string', 'maxLength': 240}, 'awaiting_review_binding': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'related_results_guidance': {'type': 'string', 'maxLength': 240}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['invalid_query', 'rate_limited', 'search_unavailable'], 'type': 'string'}, 'field': {'type': 'string', 'maxLength': 32}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['name', 'intent', 'input_contract', 'output_contract', 'capabilities', 'risk_domains', 'quality_profile', 'research_policy', 'idempotency_key'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'intent': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'enum': ['research', 'extract', 'classify', 'summarize', 'transform', 'score', 'compare', 'route', 'render', 'reconcile']}, 'maxItems': 20, 'uniqueItems': True}, 'risk_domains': {'type': 'array', 'items': {'enum': ['general', 'legal', 'financial', 'medical', 'employment', 'education', 'credit', 'insurance', 'public_services', 'safety', 'privacy', 'security']}, 'maxItems': 10, 'uniqueItems': True}, 'input_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'idempotency_key': {'type': 'string', 'pattern': '^[\\x20-\\x7e]+$', 'maxLength': 200, 'minLength': 1}, 'output_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'const': True}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'quality_profile': {'enum': ['balanced', 'rigorous']}, 'research_policy': {'enum': ['forbidden', 'allowed', 'required']}, 'source_recipe_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['build_ref', 'revision', 'contracts_in_response', 'editor_url', 'matched_archetypes', 'contract_bundle', 'archetype_bundle_role', 'research_tier', 'minimum_acceptance_categories', 'dsl_version', 'catalog_version', 'guidance_version', 'budget_ceiling'], 'properties': {'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'editor_url': {'type': 'string', 'maxLength': 512}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'dsl_version': {'type': 'integer', 'minimum': 2}, 'research_tier': {'enum': ['skipped', 'recommended', 'required']}, 'budget_ceiling': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'catalog_version': {'type': 'string', 'maxLength': 64}, 'contract_bundle': {'type': 'object', 'required': ['catalog_version', 'archetype', 'input_contract', 'output_contract', 'recipe_spec'], 'properties': {'versions': {'type': 'object', 'required': ['archetypes', 'capabilities', 'checks', 'guidance', 'models'], 'properties': {'checks': {'type': 'string', 'maxLength': 64}, 'models': {'type': 'string', 'maxLength': 64}, 'guidance': {'type': 'string', 'maxLength': 64}, 'archetypes': {'type': 'string', 'maxLength': 64}, 'capabilities': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'archetype': {'oneOf': [{'type': 'object', 'required': ['archetype_id', 'title', 'summary', 'capabilities', 'node_kinds'], 'properties': {'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'node_kinds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'archetype_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, {'type': 'null'}]}, 'recipe_spec': {'type': 'object'}, 'input_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'catalog_version': {'type': 'string', 'maxLength': 64}, 'output_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'const': True}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'output_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'const': True}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'guidance_version': {'type': 'string', 'maxLength': 64}, 'matched_archetypes': {'type': 'array', 'items': {'type': 'object', 'required': ['archetype_id', 'title', 'summary', 'capabilities', 'node_kinds'], 'properties': {'title': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'node_kinds': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 24}, 'archetype_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'capabilities': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}, 'additionalProperties': False}, 'maxItems': 3}, 'archetype_bundle_role': {'const': 'optional_guidance'}, 'contracts_in_response': {'type': 'boolean'}, 'minimum_acceptance_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 20}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Eingabeschema
{'type': 'object', 'required': ['build_ref', 'revision', 'idempotency_key', 'ops'], 'properties': {'ops': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['op', 'spec'], 'properties': {'op': {'const': 'replace_spec'}, 'spec': {'type': 'object'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'input_contract', 'output_contract'], 'properties': {'op': {'const': 'set_contracts'}, 'input_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'type': 'boolean'}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, 'output_contract': {'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['handle', 'label', 'description', 'required', 'schema'], 'properties': {'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'handle': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'schema': {'type': 'object', 'maxProperties': 100}, 'required': {'const': True}, 'description': {'type': 'string', 'maxLength': 500}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'metadata'], 'properties': {'op': {'const': 'set_metadata'}, 'metadata': {'type': 'object', 'required': [], 'properties': {'$ui': {'type': 'object'}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, '$comment': {'oneOf': [{'type': 'string', 'maxLength': 4096}, {'type': 'object'}]}, 'description': {'type': 'string', 'maxLength': 4096}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'node'], 'properties': {'op': {'const': 'upsert_node'}, 'node': {'type': 'object'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'node_id'], 'properties': {'op': {'const': 'remove_node'}, 'node_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'node_ids'], 'properties': {'op': {'const': 'reorder_nodes'}, 'node_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}, 'maxItems': 200, 'uniqueItems': True}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'schema_id', 'schema'], 'properties': {'op': {'const': 'upsert_schema'}, 'schema': {'type': 'object', 'maxProperties': 100}, 'schema_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'schema_id'], 'properties': {'op': {'const': 'remove_schema'}, 'schema_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'suite'], 'properties': {'op': {'const': 'set_acceptance_cases'}, 'suite': {'type': 'object', 'required': ['version', 'cases'], 'properties': {'cases': {'type': 'array', 'items': {'type': 'object', 'required': ['case_id', 'label', 'kind', 'fixtures', 'assertions'], 'properties': {'kind': {'enum': ['adversarial', 'empty', 'injection', 'malformed', 'metamorphic', 'normal']}, 'label': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'case_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'fixtures': {'type': 'array', 'items': {'type': 'object', 'required': ['target', 'content_type', 'value'], 'properties': {'value': {'type': 'string', 'maxLength': 32768}, 'target': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'content_type': {'enum': ['application/json', 'text/plain']}}, 'additionalProperties': False}, 'maxItems': 20}, 'pair_with': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'assertions': {'type': 'array', 'items': {'type': 'object', 'allOf': [{'if': {'required': ['type'], 'properties': {'type': {'const': 'classification'}}}, 'then': {'properties': {'operator': {'enum': ['coverage_at_least', 'join_by_id', 'metric_at_least', 'no_critical_false_negative']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'collection'}}}, 'then': {'properties': {'operator': {'enum': ['any', 'count_equals', 'covers_records', 'every', 'unique_by']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'coverage'}}}, 'then': {'properties': {'operator': {'enum': ['branch_covered', 'enum_covered']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'html'}}}, 'then': {'properties': {'operator': {'enum': ['escaped', 'well_formed']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'paired'}}}, 'then': {'properties': {'operator': {'enum': ['fields_unchanged', 'mirror_changes', 'permutation_invariant', 'sensitivity_stable']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'quote_present'}}}, 'then': {'properties': {'operator': {'enum': ['quote_present_in']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'reconcile'}}}, 'then': {'properties': {'operator': {'enum': ['equals_computed', 'within_tolerance']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'scalar'}}}, 'then': {'properties': {'operator': {'enum': ['between', 'contains', 'equals', 'exists', 'glob', 'in_set', 'not_in_set', 'type_is']}}}}, {'if': {'required': ['type'], 'properties': {'type': {'const': 'security'}}}, 'then': {'properties': {'operator': {'enum': ['answer_not_leaked', 'injection_resisted']}}}}], 'required': ['assertion_id', 'type', 'operator'], 'properties': {'left': {'$ref': '#/definitions/expression'}, 'path': {'type': 'string', 'maxLength': 256}, 'type': {'enum': ['classification', 'collection', 'coverage', 'html', 'paired', 'quote_present', 'reconcile', 'scalar', 'security']}, 'right': {'$ref': '#/definitions/expression'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 50}, 'metric': {'enum': ['accuracy', 'macro_precision', 'macro_recall', 'macro_f1']}, 'values': {'type': 'array', 'maxItems': 200}, 'maximum': {'type': 'number'}, 'message': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'minimum': {'type': 'number'}, 'pattern': {'type': 'string', 'maxLength': 256, 'minLength': 1}, 'expected': {}, 'key_path': {'type': 'string', 'maxLength': 256}, 'mappings': {'type': 'array', 'items': {'$ref': '#/definitions/field_mapping'}, 'maxItems': 50}, 'operator': {'enum': ['answer_not_leaked', 'any', 'between', 'branch_covered', 'contains', 'count_equals', 'coverage_at_least', 'covers_records', 'enum_covered', 'equals', 'equals_computed', 'escaped', 'every', 'exists', 'fields_unchanged', 'glob', 'in_set', 'injection_resisted', 'join_by_id', 'metric_at_least', 'mirror_changes', 'no_critical_false_negative', 'not_in_set', 'permutation_invariant', 'quote_present_in', 'sensitivity_stable', 'type_is', 'unique_by', 'well_formed', 'within_tolerance']}, 'pair_path': {'type': 'string', 'maxLength': 256}, 'predicate': {'$ref': '#/definitions/scalar_predicate'}, 'threshold': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'tolerance': {'type': 'number', 'minimum': 0}, 'assertion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'pair_case_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'actual_id_path': {'type': 'string', 'maxLength': 256}, 'fixture_target': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'critical_labels': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 50}, 'fixture_targets': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}, 'maxItems': 20}, 'required_values': {'type': 'array', 'maxItems': 200}, 'expected_id_path': {'type': 'string', 'maxLength': 256}, 'expected_records': {'type': 'array', 'maxItems': 200}, 'actual_label_path': {'type': 'string', 'maxLength': 256}, 'forbidden_literals': {'type': 'array', 'items': {'type': 'string', 'maxLength': 500}, 'maxItems': 50}, 'accepted_limitation': {'type': 'string', 'maxLength': 500, 'minLength': 20, 'description': 'User-approved semantic limitation and reason for accepting it for supervised private use. Never invent approval. Failure remains visible but does not block this case.'}, 'expected_label_path': {'type': 'string', 'maxLength': 256}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'expect_branch': {'type': 'object', 'required': ['path', 'value'], 'properties': {'path': {'type': 'string', 'maxLength': 256}, 'value': {'type': 'string', 'maxLength': 64, 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 50, 'minItems': 1}, 'version': {'const': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'evidence'], 'properties': {'op': {'const': 'record_research'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['url', 'title', 'retrieved_at', 'supported_claim', 'applicability'], 'properties': {'url': {'type': 'string', 'maxLength': 512, 'minLength': 1}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'retrieved_at': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'applicability': {'type': 'string', 'maxLength': 1000, 'minLength': 1}, 'supported_claim': {'type': 'string', 'maxLength': 1000, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 20}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'budget_capability'], 'properties': {'op': {'const': 'set_budget'}, 'budget_capability': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'handoff_ref', 'requirement_id'], 'properties': {'op': {'const': 'bind_resource'}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'handoff_ref', 'activity_ref'], 'properties': {'op': {'const': 'resume_activity'}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'handoff_ref', 'activity_ref'], 'properties': {'op': {'const': 'cancel_activity'}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op'], 'properties': {'op': {'const': 'restore'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'chunk_id'], 'properties': {'op': {'const': 'begin_chunk'}, 'chunk_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'chunk_id', 'seq', 'text'], 'properties': {'op': {'const': 'append_chunk'}, 'seq': {'type': 'integer', 'maximum': 32767, 'minimum': 0}, 'text': {'type': 'string', 'maxLength': 49152, 'minLength': 1}, 'chunk_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}}, 'additionalProperties': False}, {'type': 'object', 'required': ['op', 'chunk_id', 'sha256', 'target'], 'properties': {'op': {'const': 'commit_chunk'}, 'sha256': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'target': {'enum': ['replace_spec', 'set_acceptance_cases', 'record_research']}, 'chunk_id': {'type': 'string', 'pattern': '^[a-z][a-z0-9_]{0,63}$', 'maxLength': 64}}, 'additionalProperties': False}]}, 'maxItems': 25, 'minItems': 1}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'build_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'idempotency_key': {'type': 'string', 'pattern': '^[\\x20-\\x7e]+$', 'maxLength': 200, 'minLength': 1}}, 'definitions': {'expression': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'const': 'literal'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'path'], 'properties': {'kind': {'const': 'path'}, 'path': {'type': 'string', 'maxLength': 256}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'case_id', 'path'], 'properties': {'kind': {'const': 'case_path'}, 'path': {'type': 'string', 'maxLength': 256}, 'case_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]{0,63}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'expression'], 'properties': {'kind': {'enum': ['count', 'sum']}, 'expression': {'$ref': '#/definitions/expression'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'left', 'right'], 'properties': {'kind': {'enum': ['add', 'subtract', 'multiply', 'divide']}, 'left': {'$ref': '#/definitions/expression'}, 'right': {'$ref': '#/definitions/expression'}}, 'additionalProperties': False}]}, 'field_mapping': {'type': 'object', 'required': ['path', 'pair_path'], 'properties': {'path': {'type': 'string', 'maxLength': 256}, 'pair_path': {'type': 'string', 'maxLength': 256}}, 'additionalProperties': False}, 'scalar_predicate': {'type': 'object', 'required': ['operator'], 'properties': {'path': {'type': 'string', 'maxLength': 256}, 'values': {'type': 'array', 'maxItems': 200}, 'maximum': {'type': 'number'}, 'minimum': {'type': 'number'}, 'pattern': {'type': 'string', 'maxLength': 256, 'minLength': 1}, 'expected': {}, 'operator': {'enum': ['between', 'contains', 'equals', 'exists', 'glob', 'in_set', 'not_in_set', 'type_is']}}, 'additionalProperties': False}}, 'description': 'Client transport recommendation, not a server limit: keep serialized tool arguments below 32 KiB including JSON escaping and the request envelope. For larger spec, suite, or research content use begin_chunk, ordered append_chunk (seq starts at 0), then commit_chunk. Keep each complete append request below 12 KiB; split text further after measuring escaped JSON bytes. Hash the exact assembled UTF-8 text with SHA-256. Begin/append do not change the revision; commit changes it once. After an uncertain response, inspect the build and replay the identical request with the same idempotency key; do not create duplicate work with a new key.', 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'oneOf': [{'type': 'object', 'required': ['revision', 'normalization_diff', 'findings', 'qualification_invalidated', 'budget_superseded'], 'properties': {'handoff': {'type': 'object', 'required': ['handoff_ref', 'activity_ref', 'revision', 'status', 'effect_digest', 'reason', 'required_decisions', 'effects', 'expires_at', 'action_url', 'resume'], 'properties': {'reason': {'type': 'string', 'maxLength': 500}, 'resume': {'type': 'object', 'required': ['tool', 'operation'], 'properties': {'tool': {'const': 'update_recipe_build'}, 'operation': {'const': 'resume_activity'}}, 'additionalProperties': False}, 'status': {'enum': ['pending', 'approved', 'cancelled', 'expired', 'consumed']}, 'effects': {'type': 'array', 'items': {'type': 'object', 'required': ['node_id', 'node_type', 'execution_count', 'details'], 'properties': {'details': {'type': 'object', 'required': [], 'properties': {'to': {}, 'name': {}, 'query': {}, 'title': {}, 'top_k': {}, 'format': {}, 'params': {}, 'prompt': {}, 'source': {}, 'options': {}, 'sources': {}, 'subject': {}, 'duration': {}, 'filename': {}, 'html_only': {}, 'max_chunks': {}, 'visibility': {}, 'folder_name': {}, 'folder_ulid': {}, 'tool_groups': {}, 'pin_revision': {}, 'body_template': {}, 'input_mapping': {}, 'nested_effects': {}, 'outcome_rubric': {}, 'system_message': {}, 'additional_text': {}, 'score_threshold': {}, 'destination_mode': {}, 'preamble_enabled': {}, 'child_recipe_ulid': {}, 'child_revision_sha': {}, 'local_conflict_mode': {}, 'outcome_description': {}, 'external_target_ulid': {}, 'output_conflict_mode': {}, 'external_conflict_mode': {}, 'outcome_max_iterations': {}}, 'additionalProperties': False}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_type': {'type': 'string', 'maxLength': 64}, 'execution_count': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 100}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['requirement_id', 'node_id', 'node_type', 'node_path', 'qualification_route', 'reason', 'required_decision', 'resource_paths', 'parameter_digest', 'binding_status'], 'properties': {'reason': {'type': 'string', 'maxLength': 128}, 'node_id': {'type': 'string', 'maxLength': 128}, 'node_path': {'type': 'array', 'items': {'type': ['string', 'integer']}, 'maxItems': 32}, 'node_type': {'type': 'string', 'maxLength': 64}, 'binding_status': {'enum': ['required', 'bound']}, 'requirement_id': {'type': 'string', 'pattern': '^[0-9a-f]{32}$'}, 'resource_paths': {'type': 'array', 'items': {'type': 'string', 'maxLength': 256}, 'maxItems': 8}, 'parameter_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decision': {'type': 'string', 'maxLength': 128}, 'qualification_route': {'enum': ['conditional', 'supervised']}}, 'additionalProperties': False}, 'maxItems': 100}, 'action_url': {'type': 'string', 'maxLength': 2048, 'minLength': 1}, 'expires_at': {'type': 'string', 'format': 'date-time', 'maxLength': 64}, 'handoff_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'effect_digest': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'required_decisions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 128}, 'maxItems': 100, 'uniqueItems': True}}, 'additionalProperties': False}, 'outcome': {'enum': ['resource_bound', 'activity_resumed', 'activity_cancelled']}, 'findings': {'type': 'array', 'maxItems': 0}, 'revision': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'maxLength': 64}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'activity_ref': {'type': 'string', 'maxLength': 4096, 'minLength': 1}, 'activity_state': {'enum': ['queued', 'running', 'blocked', 'done', 'failed', 'cancelled']}, 'budget_superseded': {'type': 'boolean'}, 'normalization_diff': {'type': 'array', 'items': {'type': 'object', 'required': ['op', 'changed'], 'properties': {'op': {'type': 'string', 'maxLength': 64}, 'changed': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 25}, 'qualification_invalidated': {'type': 'boolean'}}}, {'type': 'object', 'required': ['error'], 'properties': {'hint': {'type': 'string', 'maxLength': 240}, 'error': {'enum': ['not_found', 'invalid_reference', 'invalid_params', 'revision_conflict', 'idempotency_conflict', 'document_too_large', 'payload_too_large', 'chunk_sequence_invalid', 'chunk_digest_mismatch', 'chunk_expired', 'invalid_cursor', 'suite_duplicate_case_id', 'suite_unresolved_pair', 'suite_schema_invalid', 'suite_missing_categories', 'suite_weak_normal_oracle', 'suite_too_large', 'unknown_case_id', 'duplicate_case_id', 'incomplete_case_selection', 'unsupported_node_kind', 'research_required', 'review_required', 'acceptance_required', 'qualification_stale', 'budget_not_approved', 'budget_exhausted', 'budget_superseded', 'budget_capability_consumed', 'budget_capability_expired', 'acceptance_case_cost_exceeded', 'authoring_budget_exceeded', 'authoring_grant_not_active', 'insufficient_credits', 'billing_anomaly', 'activity_stalled', 'activity_in_flight', 'handoff_approval_required', 'handoff_expired', 'handoff_not_pending', 'handoff_stale', 'handoff_disclosure_incomplete', 'feature_unavailable', 'resource_unavailable', 'resource_binding_required', 'resource_requirement_not_found', 'activity_not_cancellable', 'quota_exceeded', 'rate_limited', 'already_published', 'safety_locked', 'build_terminal', 'commit_capability_expired', 'account_unavailable', 'limit_unavailable']}, 'field': {'type': 'string', 'maxLength': 64}, 'issue': {'type': 'object', 'required': ['code', 'path'], 'properties': {'code': {'type': 'string', 'maxLength': 64}, 'path': {'type': 'string', 'maxLength': 512}, 'type': {'type': 'string', 'maxLength': 64}, 'field': {'type': 'string', 'maxLength': 64}, 'operator': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}, 'case_id': {'type': 'string', 'maxLength': 64, 'minLength': 1}, 'truncation': {'type': 'object', 'required': ['applied', 'reason', 'omitted_items', 'truncated_values', 'original_result_bytes'], 'properties': {'reason': {'const': 'response_size_limit'}, 'applied': {'const': True}, 'omitted_items': {'type': 'integer', 'minimum': 0}, 'truncated_values': {'type': 'integer', 'minimum': 0}, 'original_result_bytes': {'type': 'integer', 'minimum': 1}}, 'additionalProperties': False}, 'repair_hint': {'type': 'string', 'maxLength': 500}, 'review_cost': {'type': 'object', 'required': ['estimated_credits', 'limit_credits', 'provider', 'model', 'basis', 'input_token_bound', 'output_token_cap', 'prompt_bytes', 'section_bytes'], 'properties': {'basis': {'const': 'utf8_byte_upper_bound'}, 'model': {'type': 'string', 'maxLength': 200}, 'provider': {'type': 'string', 'maxLength': 200}, 'prompt_bytes': {'type': 'integer', 'minimum': 0}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'section_bytes': {'type': 'object', 'required': [], 'properties': {'spec': {'type': 'integer', 'minimum': 0}, 'intent': {'type': 'integer', 'minimum': 0}, 'input_contract': {'type': 'integer', 'minimum': 0}, 'output_contract': {'type': 'integer', 'minimum': 0}, 'acceptance_suite': {'type': 'integer', 'minimum': 0}, 'research_evidence': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'output_token_cap': {'type': 'integer', 'minimum': 0}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'input_token_bound': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': False}, 'limit_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'estimated_credits': {'type': 'string', 'pattern': '^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$', 'maxLength': 64}, 'missing_categories': {'type': 'array', 'items': {'type': 'string', 'maxLength': 64}, 'maxItems': 10, 'uniqueItems': True}, 'retry_after_seconds': {'type': 'integer', 'maximum': 86400, 'minimum': 1}}, 'additionalProperties': False}]}
Letzte Tool-Änderungen
Ähnliche MCP-Server
Andreax
Offers pay-per-call AI services for inference, agent and workflow design, OCR and transcription, code generation and review, clas…
GPT55 Model Gateway
Acts as a remote model gateway exposing GPT chat, coding and review services, lightweight text utilities, and prepaid or x402-bas…
GoCreative Agent API
Offers pay-per-call LLM completions and data services for company intelligence, KYB, sanctions screening, threat intelligence, co…
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
Speedbot Autonomous Work Network
Supports asynchronous collaboration, discovery, messaging, referrals, and optional USDC-based scenarios among AI agents.
H/M Blindspot Challenge Platform
Audits public AI agent surfaces and supports AI-authored creative projects, model challenges, short videos, live channels, and co…
NOT FOR HUMANS
Provides NFT ownership and marketplace status, wallet-based agent identity and claims, public agent learning records, and multipl…
Agent^Rider
Provides agent identity, reputation, task escrow and credit workflows, agent messaging, following, posts, predictions, and experi…