
completion-check
PopulaireCompletion Check: Verify Infrastructure Is Wired
"Completion Check: Verify Infrastructure Is Wired"
Completion Check: Verify Infrastructure Is Wired
When building infrastructure, verify it's actually connected to the system before marking as complete.
Pattern
Infrastructure is not done when the code is written - it's done when it's wired into the system and actively used. Dead code (built but never called) is wasted effort.
DO
-
Trace the execution path - Follow from user intent to actual code execution:
# Example: Verify Task tool spawns correctly grep -r "claude -p" src/ grep -r "Task(" src/ -
Check hooks are registered, not just implemented:
# Hook exists? ls -la .claude/hooks/my-hook.sh # Hook registered in settings? grep "my-hook" .claude/settings.json -
Verify database connections - Ensure infrastructure uses the right backend:
# Check connection strings grep -r "postgresql://" src/ grep -r "sqlite:" src/ # Should NOT find if PostgreSQL expected -
Test end-to-end - Run the feature and verify infrastructure is invoked:
# Add debug logging echo "DEBUG: DAG spawn invoked" >> /tmp/debug.log # Trigger feature uv run python -m my_feature # Verify infrastructure was called cat /tmp/debug.log -
Search for orphaned implementations:
# Find functions defined but never called ast-grep --pattern 'async function $NAME() { $$$ }' | \ xargs -I {} grep -r "{}" src/
DON'T
- Mark infrastructure "complete" without testing execution path
- Assume code is wired just because it exists
- Build parallel systems (Task tool vs claude -p spawn)
- Use wrong backends (SQLite when PostgreSQL is architected)
- Skip end-to-end testing ("it compiles" ≠ "it runs")
Completion Checklist
Before declaring infrastructure complete:
- [ ] Traced execution path from entry point to infrastructure
- [ ] Verified hooks are registered in .claude/settings.json
- [ ] Confirmed correct database/backend in use
- [ ] Ran end-to-end test showing infrastructure invoked
- [ ] Searched for dead code or parallel implementations
- [ ] Checked configuration files match implementation
Example: DAG Task Graph
Wrong approach:
✓ Built BeadsTaskGraph class
✓ Implemented DAG dependencies
✓ Added spawn logic
✗ Never wired - Task tool still runs instead
✗ Used SQLite instead of PostgreSQL
Right approach:
✓ Built BeadsTaskGraph class
✓ Wired into Task tool execution path
✓ Verified claude -p spawn is called
✓ Confirmed PostgreSQL backend in use
✓ Tested: user calls Task() → DAG spawns → beads execute
✓ No parallel implementations found
Source Sessions
- This session: Architecture gap discovery - DAG built but not wired, Task tool runs instead of spawn, SQLite used instead of PostgreSQL
You Might Also Like
Related Skills

verify
Use when you want to validate changes before committing, or when you need to check all React contribution requirements.
facebook
test
Use when you need to run tests for React core. Supports source, www, stable, and experimental channels.
facebook
feature-flags
Use when feature flag tests fail, flags need updating, understanding @gate pragmas, debugging channel-specific test failures, or adding new flags to React.
facebook
extract-errors
Use when adding new error messages to React, or seeing "unknown error code" warnings.
facebook