agent-contracts
Version:
Declarative YAML DSL toolkit for defining, validating, and rendering multi-agent development workflows
117 lines (115 loc) • 4.66 kB
YAML
dsl-update:
description: >-
DSL Update — create and update agent-contracts DSL definitions and
bindings, verify quality via validate / lint / render / score.
Executed by DSL Designer.
entry_conditions:
- A DSL definition change request exists
trigger: >-
Execute when new DSL definitions need to be created, existing definitions
need updating, or bindings need to be added or modified.
steps:
- type: delegate
task: update-dsl-definitions
from_agent: dsl-designer
description: >-
DSL Designer creates or updates DSL definitions and verifies
via validate / lint.
- type: gate
gate_kind: dsl-task-result
description: >-
Block if validation_result or lint_result did not pass in
update-dsl-definitions. Enforces dsl-validate-before-render
guardrail — prevents render from executing against invalid DSL.
- type: delegate
task: update-dsl-binding
from_agent: dsl-designer
description: >-
DSL Designer adds or updates bindings and verifies via generate.
- type: gate
gate_kind: dsl-task-result
description: >-
Block if generate_result is not 'pass' in update-dsl-binding.
Prevents render-dsl-outputs from executing against invalid bindings.
- type: delegate
task: render-dsl-outputs
from_agent: dsl-designer
description: >-
DSL Designer renders prompts and documents and checks for drift.
- type: gate
gate_kind: dsl-task-result
description: >-
Block if render_result is not 'pass' or drift_detected is true
in render-dsl-outputs result.
- type: delegate
task: check-dsl-score
from_agent: dsl-designer
description: >-
DSL Designer checks completeness score and identifies improvement areas.
dsl-audit:
description: >-
DSL Audit — audit completeness of DSL definitions against generated
prompts, detect gaps, and present improvement recommendations.
Executed by DSL Auditor. Supports four audit types: render (semantic
diff), dsl (design coherence), prompt (prompt fidelity), and
extensions (x-* consumption gap detection).
entry_conditions:
- DSL definition rendering is complete
trigger: >-
Execute when DSL completeness audit is needed. Typically run as a
quality check after DSL updates.
steps:
- type: delegate
task: audit-dsl-completeness
from_agent: dsl-auditor
description: >-
DSL Auditor executes 19-dimension cross-check and produces
audit report with improvement recommendations.
- type: gate
gate_kind: dsl-audit-result
description: >-
Block if audit-dsl-completeness detected 3 or more
critical-level gaps (triggers stop_and_report escalation).
- type: delegate
task: audit-semantic-design
from_agent: dsl-auditor
depends_on: ["gate:dsl-audit-result"]
description: >-
DSL Auditor reviews DSL design for semantic coherence —
role overlap, scope breadth, gate placement, guardrail
enforcement paths.
- type: gate
gate_kind: dsl-audit-result
depends_on: [audit-semantic-design]
description: >-
Semantic-design gate — block if critical design issues
detected (gate placement defects, handoff schema gaps).
- type: delegate
task: audit-generated-prompts
from_agent: dsl-auditor
depends_on: ["gate:dsl-audit-result"]
description: >-
DSL Auditor compares generated prompts against DSL intent —
detects missing requirements, hallucinated permissions,
ambiguous instructions.
- type: gate
gate_kind: dsl-audit-result
depends_on: [audit-generated-prompts]
description: >-
Hallucinated-permissions gate — block immediately if
audit-generated-prompts detected permissions not declared
in DSL (enforces dsl-no-hallucinated-permissions guardrail).
- type: delegate
task: audit-extension-consumption
from_agent: dsl-auditor
depends_on: ["gate:dsl-audit-result"]
description: >-
DSL Auditor checks x-* extension properties for consumption
gaps — declared but unused, populated but not rendered,
semantic overlap with standard DSL features.
- type: gate
gate_kind: dsl-audit-result
depends_on: [audit-semantic-design, audit-generated-prompts, audit-extension-consumption]
description: >-
Terminal gate — aggregates all audit results and blocks if
any critical-level findings remain unresolved.