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.
