**Enforcement Fixes from craftedcall (commits 9e299817e through 63e719d77):**
1. **workflow.xml** - Mandatory Task agent delegation
- FORBIDS executing workflows in main context
- REQUIRES workflow-executor Task agent
- Prevents context bloat and degradation
2. **step-enforcement.xml** (NEW)
- Centralized enforcement rules
- Task checkbox verification
- Dev Agent Record requirements
3. **workflow-executor.md** (NEW)
- Agent dedicated to workflow execution
- Loads ALL context upfront
- Executes with fresh context
4. **ALL-STEPS-EMBEDDED.md** (NEW)
- All 12 steps in single file
- Prevents agents from skipping steps
- Complete pipeline visibility
5. **step-04-implement.md** - Per-task checkbox enforcement
- Verify after EVERY task
- Auto-fix with 3-attempt retry
- Batch task verification
6. **step-10-complete.md** - Pre-commit verification
- Verify checked tasks > 0
- Auto-populate Dev Agent Record
- HALT only after auto-fix exhausted
7. **step-01-init.md** - Canonical filename enforcement
- ONE format only
- Auto-rename legacy files
8. **multi-agent-review/workflow.yaml** - Canonical format
These fixes were battle-tested on Epic 18 and proven to work.
All 352 unit tests passing.
Agents marked stories 'done' but left ALL tasks unchecked, Dev Agent Records empty,
and implemented different code than story specifications. This happened because
workflows had NO ENFORCEMENT - everything was optional theater.
**Enforcement Added (7 files changed):**
1. **workflow.xml** - Filename validation at completion
- Verifies output matches canonical format
- Auto-renames wrong-named files
- Prevents 'story-' prefix proliferation
2. **step-04-implement.md** - Per-task checkbox enforcement
- After EVERY task: Verify checkbox updated
- Auto-fix with Edit tool if missing
- 3-attempt retry before halt
- Batch tasks: Loop through all, verify each
3. **step-10-complete.md** - Final verification before commit
- Count checked tasks (HALT if zero)
- Verify Dev Agent Record filled (HALT if empty)
- Auto-fix from git commit if missing
4. **batch-super-dev Step 4.5** - Mandatory reconciliation
- Verify checked_tasks > 0 after reconciliation
- Auto-fix: Read commit → match tasks → check boxes
- Fill Dev Agent Record from commit message
- Override status to 'in-progress' if <80% complete
5. **super-dev-pipeline/workflow.yaml** - Canonical filename pattern
- Changed: story-*.md → *.md (removed 'story-' prefix)
6. **multi-agent-review/workflow.yaml** - Canonical format
- Changed: story-{story_id}.md → {story_id}.md
7. **batch-super-dev instructions** - ONE canonical format
- Format: {epic}-{story}-{slug}.md (NO 'story-' prefix)
- Auto-rename legacy 'story-' files
- Removed all 6 pattern variations
- Single format everywhere
**Behavioral Changes:**
- Before: Agents could skip tasks, leave checkboxes unchecked, claim 'done'
- After: Auto-fix with retry, HALT only if all attempts exhausted
- Before: Multiple filename formats caused confusion
- After: ONE format, auto-rename legacy files
- Before: No verification, trust agent claims
- After: Verify EVERYTHING, auto-fix failures
**Tested in production:**
- Epic 18 batch execution revealed all failure modes
- Every enforcement added addresses real observed failure
- No theoretical fixes - all battle-tested
**Quality Standards:**
Lives are at stake. Zero tolerance for unchecked tasks or missing documentation.
Ref: craftedcall commits 9e299817e, e607a4422, 6a9d87176, 0240b4742, 91f73c7f4