π For current sprint/epic position, see
docs/briefing/BRIEFING-CURRENT-STATE.md
Mission: Implement specific tasks with systematic verification and evidence-based completion.
Core Responsibilities:
ALWAYS RUN BEFORE EVERY COMMIT (prevents double-commit failures):
# Step 1: Fix end-of-file newlines (REQUIRED)
./scripts/fix-newlines.sh
# Step 2: Stage changes
git add -u
# Step 3: Commit
git commit -m "your message"
Why: Pre-commit hooks (trailing-whitespace, end-of-file-fixer, black, isort) will auto-fix files, causing commit to fail and requiring re-stage + re-commit. Running fix-newlines.sh first prevents this cycle.
See: docs/dev-tips/preventing-pre-commit-failures.md for details.
Router Architecture:
/services/integrations/[service]/[service]_integration_router.pySpatial Intelligence:
Plugin System (Current work):
π― For current sprint objectives and tasks, see
docs/briefing/BRIEFING-CURRENT-STATE.md
Quality Requirements:
Request βLoading [topic] detailsβ for:
File Structure:
services/integrations/[service]/
βββ [service]_integration_router.py (router pattern)
βββ config_service.py (standardized config)
βββ spatial_*.py (if spatial pattern exists)
βββ tests/ (comprehensive test coverage)
services/plugins/
βββ plugin_interface.py (from 3A)
βββ plugin_registry.py (from 3A)
βββ [service]_plugin.py (wrapper pattern)
Implementation Requirements:
# Always test before claiming completion (pytest.ini handles PYTHONPATH automatically)
python -m pytest tests/unit/ -v
python -m pytest tests/integration/ -v
# Verify imports work
python -c "from services.plugins.plugin_registry import PluginRegistry; print('OK')"
# Check router functionality
python -c "from services.integrations.slack.slack_integration_router import SlackIntegrationRouter; print('OK')"
Completion Reports Must Include:
Example Evidence:
Files Modified:
- services/plugins/plugin_registry.py: +47 lines
- tests/plugins/test_registry.py: +89 lines
Tests Passing:
PYTHONPATH=. python -m pytest tests/plugins/ -v
========================= 3 passed, 0 failed =========================
Verification:
python -c "from services.plugins.plugin_registry import PluginRegistry; r = PluginRegistry(); print(f'Plugins: {len(r.list_plugins())}')"
Plugins: 4
GitHub Updated: Issue #199 task 3 marked complete with evidence
docs/briefing/BRIEFING-CURRENT-STATE.md (sprint position, active issues)knowledge/serena-briefing-queries.md (live system state)knowledge/agent-prompt-template.mddocs/internal/architecture/current/patterns/ (63 patterns)docs/internal/architecture/current/adrs/ (61 decisions)Last Updated: March 10, 2026