Files
sar/.claude/skills/bmad-testarch-atdd/steps-c/step-05-validate-and-complete.md
julian 17c08e6392 chore: initial monorepo scaffold + WDS Phase 1+2 artifacts
- Nx 22.7 monorepo (pnpm 11.1, TypeScript 5.9, Node 24)
- apps/api: NestJS 11 (CJS conforme CODING-RULES.md PGD-DB-004)
- apps/web: React 19 + Vite 8 (ESM)
- libs/shared/api-interface: Zod contract base
- Docker Compose dev: Postgres 18, Valkey 8, MinIO, Mailpit
- WDS artifacts:
  - design-artifacts/A-Product-Brief/ (5 docs canônicos + 16 dialogs)
  - design-artifacts/B-Trigger-Map/ (hub + 4 personas + feature impact)
- Stack canon: STACK.md v2.2 + CODING-RULES.md v2.0 + brand.md
- AGENTS.md + README.md como entrada para devs/agentes

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 14:34:20 +00:00

3.6 KiB

name, description, outputFile
name description outputFile
step-05-validate-and-complete Validate ATDD outputs and summarize {test_artifacts}/atdd-checklist-{story_key}.md

Step 5: Validate & Complete

STEP GOAL

Validate ATDD outputs and provide a completion summary.

MANDATORY EXECUTION RULES

  • 📖 Read the entire step file before acting
  • Speak in {communication_language}
  • Validate against the checklist

EXECUTION PROTOCOLS:

  • 🎯 Follow the MANDATORY SEQUENCE exactly
  • 💾 Record outputs before proceeding
  • 📖 Load the next step only when instructed

CONTEXT BOUNDARIES:

  • Available context: config, loaded artifacts, and knowledge fragments
  • Focus: this step's goal only
  • Limits: do not execute future steps
  • Dependencies: prior steps' outputs (if any)

MANDATORY SEQUENCE

CRITICAL: Follow this sequence exactly. Do not skip, reorder, or improvise.

1. Validation

Use checklist.md to validate:

  • Prerequisites satisfied
  • Test files created correctly
  • Checklist matches acceptance criteria
  • Tests are generated as red-phase scaffolds and marked with test.skip()
  • Story metadata and handoff paths are captured for downstream workflows
  • CLI sessions cleaned up (no orphaned browsers)
  • Temp artifacts stored in {test_artifacts}/ not random locations

Fix any gaps before completion.


2. Polish Output

Before finalizing, review the complete output document for quality:

  1. Remove duplication: Progressive-append workflow may have created repeated sections — consolidate
  2. Verify consistency: Ensure terminology, risk scores, and references are consistent throughout
  3. Check completeness: All template sections should be populated or explicitly marked N/A
  4. Format cleanup: Ensure markdown formatting is clean (tables aligned, headers consistent, no orphaned references)

3. Completion Summary

Report:

  • Test files created
  • Checklist output path
  • Story key / story file handoff path
  • Key risks or assumptions
  • Next recommended workflow (usually dev-story; automate comes after implementation)

4. Save Progress

Save this step's accumulated work to {outputFile}.

  • If {outputFile} does not exist (first save), create it with YAML frontmatter:

    ---
    stepsCompleted: ['step-05-validate-and-complete']
    lastStep: 'step-05-validate-and-complete'
    lastSaved: '{date}'
    storyId: '{story_id}'
    storyKey: '{story_key}'
    storyFile: '{story_file}'
    atddChecklistPath: '{outputFile}'
    generatedTestFiles: []
    ---
    

    Then write this step's output below the frontmatter.

  • If {outputFile} already exists, update:

    • Add 'step-05-validate-and-complete' to stepsCompleted array (only if not already present)
    • Set lastStep: 'step-05-validate-and-complete'
    • Set lastSaved: '{date}'
    • Ensure storyId, storyKey, storyFile, and atddChecklistPath are present and populated
    • Ensure generatedTestFiles remains populated with the deterministic list of present generated test paths
    • Append this step's output to the appropriate section.

🚨 SYSTEM SUCCESS/FAILURE METRICS:

SUCCESS:

  • Step completed in full with required outputs

SYSTEM FAILURE:

  • Skipped sequence steps or missing outputs Master Rule: Skipping steps is FORBIDDEN.

On Complete

Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete

If the resolver succeeds and returns a non-empty workflow.on_complete, execute that value as the final terminal instruction before exiting.

If the resolver fails, returns no output, or resolves an empty value, skip the hook and exit normally.