# Step 4: Cross-Task Verification (implementation and tests-only modes) **Role**: Professional software architect and analyst **Goal**: Verify task consistency and produce `_dependencies_table.md`. **Constraints**: Review step — fix gaps found, do not add new tasks. ## Steps 1. Verify task dependencies across all tasks are consistent 2. Check no gaps: - In implementation mode: every product interface in `architecture.md` has implementation task coverage - In tests-only mode: every test scenario in `traceability-matrix.md` is covered by a task - In implementation mode: every named internal runtime capability/dependency from architecture, solution, system flows, and component descriptions has a production implementation task, not only an interface/scaffold/fallback task - In tests-only mode: every e2e/blackbox task has a System Under Test Boundary section that forbids stubbing internal product modules and requires comparison to expected-results artifacts 3. Check no overlaps: tasks don't duplicate work 4. Check no circular dependencies in the task graph 5. Produce `_dependencies_table.md` using `templates/dependencies-table.md` ## Self-verification ### Implementation mode - [ ] Every product interface in `architecture.md` is covered by at least one implementation task - [ ] Every named internal runtime capability has a production implementation task - [ ] No circular dependencies in the task graph - [ ] Cross-component dependencies are explicitly noted in affected task specs - [ ] `_dependencies_table.md` contains every task with correct dependencies ### Tests-only mode - [ ] Every test scenario from `traceability-matrix.md` "Covered" entries has a corresponding task - [ ] Every e2e/blackbox task validates actual product behavior and allows stubs only for external systems - [ ] No circular dependencies in the task graph - [ ] Test task dependencies reference the test infrastructure bootstrap - [ ] `_dependencies_table.md` contains every task with correct dependencies ## Save action Write `_dependencies_table.md`. ## Blocking **BLOCKING**: Present dependency summary to user. Do NOT proceed until user confirms.