Commit graph

16 commits

Author SHA1 Message Date
Eric Garcia
3fb6fe3271 feat: RFC 0061 Phase 2 - extract handler functions
- handlers/rfc.rs: Add handle_create, handle_get, handle_list,
  handle_update_status, handle_plan as standalone functions
- handlers/status.rs: New module with handle_status, handle_next
- handlers/worktree.rs: Already had standalone functions
- handlers/mod.rs: Export status module

These standalone functions can be called by both MCP server and CLI,
avoiding code duplication (RFC 0061 architecture).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-11 00:59:03 -05:00
Eric Garcia
29f139e1cd fix: remove wrong alignment orchestration architecture (RFC 0015)
RFC 0012 was implemented with Option B (MCP orchestrates via Ollama)
instead of Option A (Claude orchestrates via Task tool). This caused:
- No parallel agents spawned
- Fake Ollama responses instead of real deliberation
- Inline JSON instead of .dialogue.md files

Fix by removing blue_alignment_play tool entirely. Claude now
orchestrates alignment dialogues directly using Task tool per ADR 0014.

Also:
- Add pub mod resources for RFC 0016/0017 (was missing)
- Update lib.rs threading for spawn_blocking
- Add .blue/worktrees/ to gitignore
- Update database schema

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 17:36:16 -05:00
Eric Garcia
fae8e96108 feat: implement RFC 0012 alignment dialogue orchestration
Add blue_alignment_play MCP tool for multi-expert deliberation:
- Core alignment module with Expert, Round, ExpertResponse types
- Panel templates: Infrastructure, Product, ML, Governance, General
- Ollama integration for running expert rounds until convergence
- Dialogue markdown generation with SQLite tracking
- RFC linking support

Also removes dead code (ADR 0010: No Dead Code).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 20:14:13 -05:00
Eric Garcia
cf0baa0ea0 feat: implement RFC 0010 semantic index core infrastructure
Adds the foundation for AI-maintained semantic file indexing:

Schema (v4 migration):
- file_index table with summary, relationships, prompt_version
- symbol_index table with name, kind, line numbers, description
- FTS5 virtual tables for full-text search

CLI commands (blue index):
- --all: Bootstrap full index
- --diff: Index staged files (for pre-commit hook)
- --file: Single file indexing
- --refresh: Re-index stale entries
- --install-hook: Install git pre-commit hook
- status: Show index freshness

MCP tools:
- blue_index_status: Get index stats
- blue_index_search: FTS5 search across files/symbols
- blue_index_impact: Analyze change blast radius
- blue_index_file: Store AI-generated index data
- blue_index_realm: List all indexed files

Remaining work: Ollama integration for actual AI indexing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 18:44:44 -05:00
Eric Garcia
1be95dd4a1 feat: implement RFC 0008 (status file sync) and RFC 0009 (audit documents)
RFC 0008: Status updates now sync to markdown files, not just DB
RFC 0009: Add Audit as first-class document type, rename blue_audit to
blue_health_check to avoid naming collision

Also includes:
- Update RFC 0005 with Ollama auto-detection and bundled Goose support
- Mark RFCs 0001-0006 as Implemented
- Add spikes documenting investigations

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 17:56:20 -05:00
Eric Garcia
489942cd35 feat: implement RFC 0006 (soft-delete) and RFC 0007 (branch naming)
RFC 0006 - Document Deletion Tools:
- Add soft-delete with 7-day retention before permanent deletion
- Add blue_delete, blue_restore, blue_deleted_list, blue_purge_deleted tools
- Add deleted_at column to documents table (schema v3)
- Block deletion of documents with ADR dependents
- Support dry_run, force, and permanent options

RFC 0007 - Consistent Branch Naming:
- Strip RFC number prefix from branch/worktree names
- Branch format: feature-description (not rfc/NNNN-feature-description)
- PR title format: RFC NNNN: Feature Description
- Add strip_rfc_number_prefix helper with tests

Also:
- Remove orphan .blue/repos/ and .blue/data/ directories
- Fix docs path resolution bug (spike documented)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 16:42:31 -05:00
Eric Garcia
7dd263f1f9 feat: Implement RFCs 0002, 0004, and 0005
RFC 0002 (runbook-action-lookup):
- Add action metadata storage to runbooks
- Implement blue_runbook_lookup with word-based matching
- Add blue_runbook_actions to list all actions

RFC 0004 (adr-adherence):
- Add blue_adr_list, blue_adr_get, blue_adr_relevant, blue_adr_audit
- Implement keyword-based relevance matching with stem-like prefixes
- Add adr:N query support in blue_search

RFC 0005 (local-llm-integration):
- Create blue-ollama crate for embedded Ollama server management
- Add LlmProvider trait and MockLlm in blue-core
- Implement OllamaLlm with HTTP client for model operations
- Add MCP tools: blue_llm_start/stop/status, blue_model_pull/list/remove/warmup
- Support BLUE_OLLAMA_PATH env var for air-gapped builds

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:15:33 -05:00
Eric Garcia
daaaea5c82 feat(realm): Implement RFC 0001 cross-repo coordination and RFC 0002 Phase 1 MCP tools
RFC 0001 - Cross-Repo Coordination with Realms:
- Daemon architecture with HTTP server on localhost:7865
- SQLite persistence for sessions, realms, notifications
- Realm service with git-based storage and caching
- CLI commands: realm status/sync/check/worktree/pr/admin
- Session coordination for multi-repo work

RFC 0002 Phase 1 - Realm MCP Integration:
- realm_status: Get realm overview (repos, domains, contracts)
- realm_check: Validate contracts/bindings with errors/warnings
- contract_get: Get contract details with bindings
- Context detection from .blue/config.yaml
- 98% expert panel alignment via 12-expert dialogue

Also includes:
- CLI documentation in docs/cli/
- Spike for Forgejo tunnelless access
- 86 tests passing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 07:14:35 -05:00
Eric Garcia
6969a9caff feat: Phase 9 - post-mortem and runbook tools
Add 4 tools:
- blue_postmortem_create: Create post-mortem documents for incident tracking
- blue_postmortem_action_to_rfc: Convert post-mortem action items to RFCs
- blue_runbook_create: Create runbook documents for operations
- blue_runbook_update: Update runbooks with new operations/troubleshooting

Also adds DocType::Postmortem and DocType::Runbook to blue-core.

Total: 54 tools ported from coherence-mcp

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:31:16 -05:00
Eric Garcia
f186a470c8 feat: Phase 8 - dialogue and Playwright tools
Add 3 tools:
- blue_dialogue_lint: Validate dialogue markdown against pattern
- blue_extract_dialogue: Extract dialogue from agent JSONL outputs
- blue_playwright_verify: Generate Playwright verification plans

Features:
- Weighted scoring for dialogue linting (Critical/Major/Minor)
- jq fallback to pure Rust for JSONL extraction
- URL safety classification (localhost/dev/staging/production)

Total: 50 tools ported from coherence-mcp

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:19:18 -05:00
Eric Garcia
db6b7ed5c7 feat: Phase 7 - PRD, lint, env, guide, and staging IaC tools
Add 12 new MCP tools bringing total to 47:

PRD lifecycle (5):
- blue_prd_create, blue_prd_get, blue_prd_approve
- blue_prd_complete, blue_prd_list

Code quality (1):
- blue_lint - auto-detects Rust/JS/Python/CDK

Environment isolation (2):
- blue_env_detect - finds external dependencies
- blue_env_mock - generates .env.isolated for agents

Onboarding (1):
- blue_guide - interactive multi-section tutorial

Staging IaC (3):
- blue_staging_create, blue_staging_destroy, blue_staging_cost
- Auto-detects CDK/Terraform/Pulumi

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:12:41 -05:00
Eric Garcia
ddaa1cfca8 feat: Phase 6 - audit and completion tools
Add three high-priority tools from coherence-mcp:

- blue_audit: Project health check with issues and recommendations
  - Checks for stalled RFCs (in-progress without worktrees)
  - Finds implemented RFCs without ADRs
  - Detects overdue reminders and expired staging locks

- blue_rfc_complete: Mark RFC as implemented
  - Requires 70% task completion minimum
  - Auto-advances from accepted to in-progress if needed
  - Identifies ADR graduation candidates
  - Returns remaining tasks for follow-up

- blue_worktree_cleanup: Post-merge cleanup
  - Verifies PR is merged
  - Removes git worktree
  - Deletes local branch
  - Returns commands for syncing with develop

Total: 35 MCP tools, 28 tests passing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 03:48:07 -05:00
Eric Garcia
8977b30e63 feat: Phase 5 - staging lock tools for multi-agent coordination
Add staging resource locking for coordinating parallel agent work:

- store.rs: Added staging_locks and staging_lock_queue tables
- handlers/staging.rs: Lock acquire/release with queuing, status, cleanup
- Automatic lock expiration and queue cleanup

New MCP tools (4):
- blue_staging_lock - Acquire exclusive access to staging resources
- blue_staging_unlock - Release a staging lock
- blue_staging_status - Check lock status for specific resource or all
- blue_staging_cleanup - Clean up expired locks and orphaned queue entries

Total: 32 MCP tools, 24 tests passing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 03:37:40 -05:00
Eric Garcia
1c2ceb71d1 feat: Phase 4 - session and reminder tools
Add multi-agent session coordination and reminder management:

- store.rs: Added sessions and reminders tables (schema v2)
- handlers/session.rs: Session ping (start/heartbeat/end) + list
- handlers/reminder.rs: Reminder CRUD with gates, snoozing, clearing
- voice.rs: Added info() function for informational messages
- state.rs: Added for_test() helper with test-helpers feature

New MCP tools (6):
- blue_session_ping, blue_session_list
- blue_reminder_create, blue_reminder_list
- blue_reminder_snooze, blue_reminder_clear

Total: 28 MCP tools, 21 tests passing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 03:29:51 -05:00
Eric Garcia
09e7c89c1b feat(mcp): Complete Phase 3 - PR and Release handlers
Add PR workflow and release management handlers. Total tools: 22.

New tools:
- blue_pr_create: Create PR with enforced develop base branch
- blue_pr_verify: Verify test plan checkboxes (CLI/browser/manual)
- blue_pr_check_item: Mark test plan item as verified
- blue_pr_check_approvals: Check for user approval
- blue_pr_merge: Squash-merge with precondition enforcement
- blue_release_create: Semantic versioning with RFC analysis

All handlers use gh CLI for GitHub operations.
Blue's voice in all error messages.
16 tests passing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 03:21:36 -05:00
Eric Garcia
bfcc9453fb feat(mcp): Complete Phase 2 - Workflow handlers
Add document lifecycle handlers for spike, ADR, decision, and worktree
operations. This brings the tool count from 9 to 16.

New tools:
- blue_spike_create: Start time-boxed investigation
- blue_spike_complete: Complete investigation with outcome
- blue_adr_create: Create Architecture Decision Record
- blue_decision_create: Create lightweight Decision Note
- blue_worktree_create: Create isolated git worktree for RFC
- blue_worktree_list: List active worktrees
- blue_worktree_remove: Remove worktree after merge

All handlers use Blue's voice for consistent messaging.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 00:49:57 -05:00