{ "apiVersion": "hub.example.com/v1alpha1", "kind": "ToolManifest", "metadata": { "name": "ProjectBrain Finding Delivery Create", "slug": "projectbrain-finding-delivery-create" }, "spec": { "canonicalName": "projectbrain.finding.delivery.create", "version": "1.2.0", "connectorType": "projectbrain", "description": "Create a human-approval-gated delivery plan from a concluded finding investigation; never starts code changes.", "riskClass": "R2", "readOnly": false, "idempotent": false, "inputSchema": { "type": "object", "properties": { "project_id": { "type": "string", "minLength": 1 }, "investigation_id": { "type": "string", "minLength": 1 }, "title": { "type": "string", "minLength": 3 }, "intent": { "type": "string", "minLength": 8 }, "priority": { "enum": [ "critical", "important", "normal", "low" ] }, "problem": { "type": "string", "minLength": 8 }, "desired_outcome": { "type": "string", "minLength": 8 }, "users": { "type": "array", "items": { "type": "string" }, "maxItems": 30 }, "goals": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 50 }, "non_goals": { "type": "array", "items": { "type": "string" }, "maxItems": 50 }, "acceptance_criteria": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 100 }, "implementation_plan": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 100 }, "risks": { "type": "array", "items": { "type": "string" }, "maxItems": 50 }, "validation_commands": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 30 }, "risk_level": { "type": "string", "enum": [ "low", "medium", "high", "destructive" ], "default": "medium", "description": "Classify execution risk. low/medium reversible work is policy-authorized automatically; high/destructive requires a real user decision before repository writes." } }, "required": [ "project_id", "investigation_id", "title", "intent", "problem", "desired_outcome", "goals", "acceptance_criteria", "implementation_plan", "validation_commands" ], "additionalProperties": false }, "outputSchema": { "type": "object" }, "limits": { "timeoutMs": 30000, "maxOutputBytes": 262144, "maxItems": 100 }, "redactionProfile": "documents", "requiredScopes": [ "project:{project}:write" ] } }