# Test Architect workflow: trace (enhanced with gate decision)
name: testarch-trace
description: "Generate requirements-to-tests traceability matrix, analyze coverage, and make quality gate decision (PASS/CONCERNS/FAIL/WAIVED)"
author: "BMad"

# Critical variables from config
config_source: "{project-root}/_bmad/bmm/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
document_output_language: "{config_source}:document_output_language"
date: system-generated

# Workflow components
installed_path: "{project-root}/_bmad/bmm/workflows/testarch/trace"
instructions: "{installed_path}/instructions.md"
validation: "{installed_path}/checklist.md"
template: "{installed_path}/trace-template.md"

# Variables and inputs
variables:
  # Directory paths
  test_dir: "{project-root}/tests" # Root test directory
  source_dir: "{project-root}/src" # Source code directory

  # Workflow behavior
  coverage_levels: "e2e,api,component,unit" # Which test levels to trace
  gate_type: "story" # story | epic | release | hotfix - determines gate scope
  decision_mode: "deterministic" # deterministic (rule-based) | manual (team decision)

# Output configuration
default_output_file: "{output_folder}/traceability-matrix.md"

# Required tools
required_tools:
  - read_file # Read story, test files, BMad artifacts
  - write_file # Create traceability matrix, gate YAML
  - list_files # Discover test files
  - search_repo # Find tests by test ID, describe blocks
  - glob # Find test files matching patterns

tags:
  - qa
  - traceability
  - test-architect
  - coverage
  - requirements
  - gate
  - decision
  - release

execution_hints:
  interactive: false # Minimize prompts
  autonomous: true # Proceed without user input unless blocked
  iterative: true
