Loading...
Loading...
Verifies that implemented code is actually integrated into the system and executes at runtime, preventing "done but not integrated" failures. Use when marking features complete, before moving ADRs to completed status, after implementing new modules/nodes/services, or when claiming "feature works". Triggers on "verify implementation", "is this integrated", "check if code is wired", "prove it runs", or before declaring work complete. Works with Python modules, LangGraph nodes, CLI commands, API endpoints, and service classes. Enforces Creation-Connection-Verification (CCV) principle.
npx skill4agent add dawiddutoit/custom-claude quality-verify-implementation-complete# 1. Check if your new module is imported
grep -r "from.*your_module import\|import.*your_module" src/
# 2. Check if your functions are called
grep -r "your_function_name" src/ --include="*.py" | grep -v test | grep -v "def "
# 3. Run integration verification
./scripts/verify_integration.sh # If available
# 4. Answer the Four Questions (see below)in_progress/completed/builder.pyCOMPLETE = CREATION + CONNECTION + VERIFICATION| Phase | Proves | Evidence Required |
|---|---|---|
| CREATION | Artifact exists | File written, tests pass, types check, linting clean |
| CONNECTION | Artifact is wired in | Import statement, registration call, configuration entry |
| VERIFICATION | Artifact executes | Logs showing execution, output observed, state changes confirmed |
uv run temet-run -a talky -p "analyze code"curl -X POST /api/endpointfrom myapp.service import MyService; MyService().method()builder.py line 45: from .architecture_nodes import create_review_nodemain.py line 12: app.add_command(my_command)container.py line 67: container.register(MyService)[2025-12-07 10:30:45] INFO architecture_review_triggered✓ Task completed successfully (in CLI output)HTTP 200 OK (in curl response)state.architecture_review = ArchitectureReviewResult(status=APPROVED)Database row inserted with expected valuesFile created with correct contents# Type checking
uv run mypy src/
# Linting
uv run ruff check .
# Unit tests
uv run pytest tests/unit/ --no-cov -vyour_module.py# Find all imports of your module
grep -r "from.*your_module import\|import.*your_module" src/ --include="*.py" | grep -v testyour_function# Find all call-sites
grep -r "your_function" src/ --include="*.py" | grep -v test | grep -v "def your_function"# LangGraph nodes
grep -E "add_node.*your_node|from.*your_module" src/coordination/graph/builder.py
# CLI commands
grep -r "add_command\|@.*\.command\|@click\.command" src/ | grep your_command
# DI container
grep -r "container\.register\|container\.provide" src/ | grep YourService
# API routes
grep -r "router\.add\|@.*\.route\|@app\." src/ | grep your_endpoint# Example: CLI command
uv run temet-run -a talky -p "test command"
# Example: API endpoint
curl -X POST http://localhost:8000/api/endpoint -d '{"test": "data"}'
# Example: Direct invocation
uv run python -c "from myapp.service import MyService; MyService().method()"# Check logs for your module
grep "your_module\|your_function" logs/daemon.log
# Check structured logs
grep "your_module" logs/*.jsonl | jq .
# Check database for expected changes
sqlite3 app.db "SELECT * FROM your_table WHERE created_at > datetime('now', '-1 minute')"# Check state changes
# Example: LangGraph state field populated
assert result.your_field is not None
# Example: File created
ls -la expected_output_file.txt
# Example: Database row inserted
# (query from 3.2)architecture_nodes.pycreate_architecture_review_node()should_review_architecture()# Verify import
grep "architecture_nodes" src/temet_run/coordination/graph/builder.py
# Expected output:
# from .architecture_nodes import create_architecture_review_node, should_review_architecturebuilder.pygraph.add_node("your_node", node)graph.add_conditional_edges(...)graph.add_edge(...)# Add to test_graph_completeness.py
EXPECTED_NODES = [
"your_node_name", # Add this
# ... other nodes
]EXPECTED_NODES@click.command()@app.command()# Verify registration
grep -r "add_command\|@.*\.command" src/your_app/cli/ | grep your_command_name--help# Test command
uv run your-app your-command --help
uv run your-app your-command [args]--help# Verify DI registration
grep -r "container\.register\|register_singleton\|provide" src/ | grep YourServiceName# Test injection
uv run python -c "
from your_app.container import container
service = container.resolve('YourService')
service.method()
"# Verify route registration
grep -r "router\.add\|@.*\.route\|@app\." src/ | grep your_endpoint# Test endpoint
curl -X POST http://localhost:8000/api/your-endpoint -d '{"test": "data"}'grep -r "from.*your_module import" src/ --include="*.py" | grep -v test
# Returns: (empty)grep -r "your_function_name" src/ --include="*.py" | grep -v test | grep -v "def "
# Returns: (empty - only the definition exists)references/ccv-principle.mdreferences/four-questions-framework.mdreferences/adr-013-case-study.mdexamples/langgraph-node-verification.mdexamples/cli-command-verification.mdexamples/service-di-verification.mdscripts/verify_integration.shscripts/check_imports.shscripts/check_callsites.shtemplates/verification-checklist.mdtemplates/integration-test-template.py✅ Implementation Verification Complete
Feature: ArchitectureReview Node
Location: src/temet_run/coordination/graph/architecture_nodes.py
Phase 1: CREATION ✅
- File exists (175 lines)
- Unit tests pass (24/24)
- Type checking clean
- Linting clean
Phase 2: CONNECTION ✅
- Imported in: builder.py line 12
- Registered: graph.add_node("architecture_review", node)
- Edges: Conditional edge from "query_claude"
- Evidence:
$ grep "architecture_nodes" src/coordination/graph/builder.py
from .architecture_nodes import create_architecture_review_node
Phase 3: VERIFICATION ✅
- Integration test: EXPECTED_NODES includes "architecture_review"
- Execution proof:
[2025-12-07 10:30:45] INFO architecture_review_triggered
[2025-12-07 10:30:46] INFO architecture_review_complete status=approved
- Outcome proof: state.architecture_review = ArchitectureReviewResult(...)
Four Questions Test ✅
1. Trigger: uv run temet-run -a talky -p "Write code"
2. Connection: builder.py line 12 (import), line 146 (add_node)
3. Execution: Logs above show node executed
4. Outcome: state.architecture_review contains approval data
✅ IMPLEMENTATION IS COMPLETE❌ Implementation Verification Failed
Feature: ArchitectureReview Node
Location: src/temet_run/coordination/graph/architecture_nodes.py
Phase 1: CREATION ✅
- File exists (175 lines)
- Unit tests pass (24/24)
- Type checking clean
- Linting clean
Phase 2: CONNECTION ❌
- Imported in: NOT FOUND
- Evidence:
$ grep "architecture_nodes" src/coordination/graph/builder.py
(empty - no imports found)
CRITICAL FAILURE: Module is not imported in builder.py
❌ IMPLEMENTATION IS INCOMPLETE
Required Actions:
1. Add import in builder.py: from .architecture_nodes import create_architecture_review_node
2. Register node: graph.add_node("architecture_review", review_node)
3. Add edges to wire into workflow
4. Re-run verification after fixes
DO NOT claim this feature is "done" until verification passes.src/tests/completed/EXPECTED_NODESutil-manage-todocreate-adr-spikequality-run-quality-gates