Phase 8 Production Hardening with complete governance infrastructure: - Vault integration with tiered policies (T0-T4) - DragonflyDB state management - SQLite audit ledger - Pipeline DSL and templates - Promotion/revocation engine - Checkpoint system for session persistence - Health manager and circuit breaker for fault tolerance - GitHub/Slack integrations - Architectural test pipeline with bug watcher, suggestion engine, council review - Multi-agent chaos testing framework Test Results: - Governance tests: 68/68 passing - E2E workflow: 16/16 passing - Phase 2 Vault: 14/14 passing - Integration tests: 27/27 passing Coverage: 57.6% average across 12 phases Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
145 lines
4.3 KiB
JSON
145 lines
4.3 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://agent-governance/schemas/pipeline.schema.json",
|
|
"title": "Agent Pipeline Definition",
|
|
"description": "Schema for defining composable agent pipelines",
|
|
"type": "object",
|
|
"required": ["name", "version", "stages"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"pattern": "^[a-z][a-z0-9-]*$",
|
|
"description": "Pipeline name (lowercase, alphanumeric with dashes)"
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
"description": "Pipeline version (semver)"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Human-readable description of the pipeline"
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"author": { "type": "string" },
|
|
"created_at": { "type": "string", "format": "date-time" },
|
|
"tags": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"inputs": {
|
|
"type": "object",
|
|
"description": "Pipeline input parameters",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": { "enum": ["string", "number", "boolean", "array", "object"] },
|
|
"required": { "type": "boolean", "default": false },
|
|
"default": {},
|
|
"description": { "type": "string" }
|
|
},
|
|
"required": ["type"]
|
|
}
|
|
},
|
|
"stages": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"$ref": "#/$defs/stage"
|
|
}
|
|
},
|
|
"on_failure": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": { "enum": ["rollback", "notify", "pause", "continue"] },
|
|
"notify": { "type": "array", "items": { "type": "string" } },
|
|
"rollback_to": { "type": "string" }
|
|
}
|
|
},
|
|
"timeout": {
|
|
"type": "string",
|
|
"pattern": "^\\d+[smh]$",
|
|
"description": "Pipeline timeout (e.g., 30m, 2h)"
|
|
}
|
|
},
|
|
"$defs": {
|
|
"stage": {
|
|
"type": "object",
|
|
"required": ["name", "type"],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Stage name"
|
|
},
|
|
"type": {
|
|
"enum": ["agent", "gate", "parallel", "condition"],
|
|
"description": "Stage type"
|
|
},
|
|
"agent": {
|
|
"type": "object",
|
|
"description": "Agent configuration (for type: agent)",
|
|
"properties": {
|
|
"template": { "type": "string" },
|
|
"tier": { "type": "integer", "minimum": 0, "maximum": 4 },
|
|
"config": { "type": "object" }
|
|
}
|
|
},
|
|
"gate": {
|
|
"type": "object",
|
|
"description": "Gate configuration (for type: gate)",
|
|
"properties": {
|
|
"approval": { "enum": ["human", "auto", "consensus"] },
|
|
"timeout": { "type": "string" },
|
|
"approvers": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"parallel": {
|
|
"type": "object",
|
|
"description": "Parallel execution (for type: parallel)",
|
|
"properties": {
|
|
"branches": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/stage" }
|
|
},
|
|
"wait": { "enum": ["all", "any", "none"] }
|
|
}
|
|
},
|
|
"condition": {
|
|
"type": "object",
|
|
"description": "Conditional execution (for type: condition)",
|
|
"properties": {
|
|
"if": { "type": "string" },
|
|
"then": { "$ref": "#/$defs/stage" },
|
|
"else": { "$ref": "#/$defs/stage" }
|
|
}
|
|
},
|
|
"requires": {
|
|
"type": "array",
|
|
"items": { "type": "string" },
|
|
"description": "Stage dependencies (stage names)"
|
|
},
|
|
"artifacts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"inputs": { "type": "array", "items": { "type": "string" } },
|
|
"outputs": { "type": "array", "items": { "type": "string" } }
|
|
}
|
|
},
|
|
"on_failure": {
|
|
"type": "object",
|
|
"properties": {
|
|
"action": { "enum": ["fail", "skip", "retry", "rollback"] },
|
|
"retries": { "type": "integer", "minimum": 0, "maximum": 5 },
|
|
"retry_delay": { "type": "string" }
|
|
}
|
|
},
|
|
"timeout": {
|
|
"type": "string",
|
|
"pattern": "^\\d+[smh]$"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|