Commit graph

40 commits

Author SHA1 Message Date
Eric Garcia
8f0063683f chore: track .blue/blue.db database
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 16:44:22 -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
28898556cd docs: update CLAUDE.md for new .blue structure and MCP tools
- Fix ADR path to .blue/docs/adrs/
- Update project structure to show .blue/ directory
- Add MCP tools section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 16:21:54 -05:00
Eric Garcia
0150a5d1ed chore: move adrs, rfcs, spikes to .blue/docs
Per RFC 0003, Blue-tracked documents live in per-repo .blue/ directories.
ADRs needed for semantic adherence checking.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 16:16:34 -05:00
Eric Garcia
eedae91178 chore: move dialogues to .blue/docs/dialogues
Per RFC 0003, docs should live in per-repo .blue/ directories.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 16:12:06 -05:00
Eric Garcia
1f9eb88137 feat(cli): Add blue agent command for Goose integration
- Add `blue agent` command that launches Goose with Blue MCP extension
- Detects Goose installation and provides install instructions if missing
- Supports --model flag and additional Goose arguments
- Uses exec() on Unix to replace process for clean signal handling

Completes RFC 0005: Local LLM Integration (15/15 tasks)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:47:25 -05:00
Eric Garcia
5d3a7c0d1b feat(ollama): Add binary bundling and SHA256 verification
- Add build.rs to download Ollama at build time for target platform
- Add SHA256 verification infrastructure (currently skipped for external installs)
- Improve bundled_binary_path() to check additional standard locations
- Support BLUE_OLLAMA_PATH and BLUE_SKIP_OLLAMA_DOWNLOAD env vars

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:39:41 -05:00
Eric Garcia
f1612b9b0c feat(llm): Add graceful degradation fallback chain
Implements fallback: Ollama → API → Keywords

- Add KeywordLlm provider (always available, keyword-based matching)
- Add LlmManager for managing provider fallback chain
- Add blue_llm_providers tool to show chain status
- Keywords provider uses Jaccard similarity for text matching

The system now gracefully degrades when LLM providers are unavailable:
1. Try local Ollama first (best quality)
2. Fall back to API if configured (ANTHROPIC_API_KEY/OPENAI_API_KEY)
3. Fall back to keyword matching (always works, basic functionality)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:29:05 -05:00
Eric Garcia
59476fc72b test(ollama): Add integration tests for running Ollama
Tests require running Ollama server (run with --ignored):
- integration_health_check: Verify server is healthy
- integration_list_models: List installed models
- integration_generate: Test text generation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 15:22:43 -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
2fdf29d56e feat(core): Implement RFC 0003 per-repo .blue/ folders
Simplify Blue's directory structure to use per-repo .blue/ folders
instead of centralized ~/.blue/repos/<project>/ structure.

Changes:
- Refactor BlueHome struct with simplified per-repo paths
- Update detect_blue() to find git root and create .blue/ there
- Add migration logic from old .blue/repos/<project>/docs/ structure
- Auto-create .blue/ on first command (no 'blue init' required)
- Update all handlers to use new flat path structure
- Handle edge case: no git repo uses current directory

Structure: repo/.blue/{docs/, worktrees/, blue.db, config.yaml}

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:41:17 -05:00
Eric Garcia
a021d8b699 docs: Add RFC 0004 (ADR Adherence) and RFC 0005 (Local LLM Integration)
RFC 0004: ADR Adherence
- 4 layers: Awareness, Relevance, Verification, Documentation
- AI-powered relevance matching for philosophical ADRs
- Graceful degradation: AI → keywords

RFC 0005: Local LLM Integration
- Embed Ollama for semantic tasks and agentic coding
- CUDA > MPS > CPU backend priority (runtime detection)
- Goose integration via shared Ollama instance
- Daemon model with health checks and crash recovery
- Port conflict handling, binary verification, ARM64 support

Both RFCs reached 95% confidence via 12-expert alignment process.

Includes supporting spikes:
- adr-adherence
- local-llm-integration
- agentic-cli-integration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:33:10 -05:00
Eric Garcia
f33a8d8879 docs: Add 3 RFCs and 2 spikes from expert review
RFCs (95% expert-validated):
- 0001: Dialogue SQLite Metadata - index dialogues, keep content in markdown
- 0002: Runbook Action Lookup - action tags + lookup tool for runbooks
- 0003: Per-Repo Blue Folders - each repo gets its own .blue/

Spikes (completed):
- sqlite-storage-expansion - found spikes/plans already in SQLite
- per-repo-blue-folder - recommends per-repo .blue/ structure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:05:49 -05:00
Eric Garcia
e3ea201d45 chore: Track .blue folder in git
- Track config, SQLite database, and docs
- Ignore transient WAL files (-shm, -wal)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 10:53:07 -05:00
Eric Garcia
41a78b4f2a feat(rfc): Write RFC files to disk on creation
- RFC handler now writes markdown to .blue/repos/<project>/docs/rfcs/
- Sets file_path in document store for tracking
- Returns file path in response
- Remove unused get_current_session function
- Rename realm tools to use blue_ prefix for consistency

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 10:51:08 -05:00
Eric Garcia
3e1fc44370 docs: Add ADR 0000 Never Give Up to beliefs list
The zeroth principle - the ground everything stands on.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 09:12:18 -05:00
Eric Garcia
8d91242147 docs(rfc): Mark RFC 0002 as implemented
All 8 MCP tools complete: realm_status, realm_check, contract_get,
session_start, session_stop, realm_worktree_create, realm_pr_status,
notifications_list.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 07:54:12 -05:00
Eric Garcia
74e3a03ba8 feat(realm): Implement RFC 0002 Phase 4 notifications
Complete RFC 0002: Realm MCP Integration with notifications support.

New MCP tool:
- notifications_list: List notifications with state filters
  (pending, seen, expired, all)

DaemonDb extensions:
- cleanup_expired_notifications: Auto-delete 7+ day old notifications
- list_notifications_with_state: Returns notifications with computed state

Schema integrity checking:
- Canonical JSON hashing (SHA-256) for schema fingerprinting
- check_schema_integrity returns hashes for all accessible contracts
- Integrated into realm_check response

Notification piggybacking:
- fetch_pending_notifications for realm_status and realm_check
- Filtered to domains the current repo participates in

RFC 0002 is now complete with all 8 tools:
- Phase 1: realm_status, realm_check, contract_get
- Phase 2: session_start, session_stop
- Phase 3: realm_worktree_create, realm_pr_status
- Phase 4: notifications_list

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 07:42:26 -05:00
Eric Garcia
ad1adcb874 feat(realm): Implement RFC 0002 Phase 3 workflow tools
Add MCP tools for coordinated multi-repo development:
- realm_worktree_create: Create worktrees for domain peers
- realm_pr_status: Show PR readiness across realm repos

realm_worktree_create features:
- Auto-selects domain peers (repos sharing domains with current repo)
- Creates worktrees under ~/.blue/worktrees/<realm>/<rfc>/<repo>/
- Supports explicit repo list override
- Creates rfc/<name> branches in each repo

realm_pr_status features:
- Shows uncommitted changes and commits ahead for each repo
- Fetches PR info via gh CLI when available
- Summarizes overall readiness for coordinated release

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 07:35:43 -05:00
Eric Garcia
aba92d6f06 feat(realm): Implement RFC 0002 Phase 2 session tools
Add MCP tools for session lifecycle management:
- session_start: Begin work session with realm context detection
- session_stop: End session with duration and activity summary

Session state stored in .blue/session file tracks:
- Session ID, realm, repo
- Active RFC being worked on
- Active domains (auto-detected from bindings)
- Contracts being modified (exports) and watched (imports)

Implementation details:
- SessionState struct with save/load/delete methods
- Automatic domain and contract detection from realm bindings
- Duration calculation on session stop
- 6 new tests for session functionality

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 07:27:15 -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
eef4a8460e docs(adr): Add ADR 0000 Never Give Up and align all ADRs
Add the zeroth principle: "The only rule we need is never giving up."
Run 12-expert alignment dialogue to 95% consensus.

Changes:
- ADR 0000: New foundational ADR with sustainable persistence framing
- ADR 0004: Cross-reference to Faith when evidence unavailable
- ADR 0012: Cross-reference to persistence as faith in time
- ADR 0013: Acknowledge scarcity pushes, link overflow to persistence
- CLAUDE.md: Update to 14 ADRs, add the arc

The Arc: Ground (0) → Welcome (1-3) → Integrity (4-7) → Commitment (8-10) → Flourishing (11-13)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:53:13 -05:00
Eric Garcia
b8a15c2d87 docs(rfc): Update RFC 0001 with refinement dialogue consensus
Major updates from 12-round alignment dialogue (unanimous consensus):

Architecture:
- Hybrid coordination: SQLite IPC for real-time hints + Git PRs for durable changes
- SQLite sessions.db replaces JSON file for session coordination
- SQLite cache.db for export/contract/validation caching

Commands:
- Reduced to 5 MVP commands: status, sync, worktree, pr, check
- Admin commands under `blue realm admin` subcommand
- Added `blue realm check` with modes: exporter, importer, contract, compatibility

Contracts:
- Added `owner` field (one exporter per contract)
- Added `compatibility: {backwards, forwards}` rules
- Added `validation:` hooks with ci_only option
- Semver ranges in import bindings

Trust & Governance:
- Explicit trust.permissions model
- Contract ownership enforcement
- Cycle detection and prevention

Credentials:
- Layered: env → git credential → keychain → config
- GitHub App auth support for CI

Conflict Resolution:
- Ownership + semver + git rebase strategy
- Stale bindings as soft warnings

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:33:55 -05:00
Eric Garcia
af9794f044 docs(dialogue): Complete 12-round refinement of RFC 0001
Full alignment dialogue with 12 experts achieving unanimous consensus.

Key refinements:
- Hybrid coordination: SQLite IPC + Git PRs (not sockets)
- Commands: 5 MVP (status, sync, worktree, pr, check) + admin
- Contracts: owner field, compatibility rules, validation hooks
- Caching: SQLite-based with proper invalidation
- CI/CD: check modes (exporter/importer/contract/compatibility)
- Credentials: layered (env → git → keychain → config)
- Trust: explicit permissions model per artifact type
- Conflicts: ownership + semver + git resolution
- Cycles: detection and prevention at domain creation
- Governance: domain-level overrides supported

All 12 experts moved to Support position.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:28:48 -05:00
Eric Garcia
a593382385 docs(rfc): Correct terminology - Domain is edge, Repo is node
Updates RFC 0001 to use the correct conceptual model:
- Domain = coordination context (edge/relationship between repos)
- Repo = git repository (node)
- Realm = groups related domains
- Index = local registry of realms

Key changes:
- Sessions register by repo name, track active domains
- Worktrees created across repos participating in a domain
- Contracts belong to domains, repos provide/consume them
- Tool params changed: --domains for context, --repos for participants
- Implementation code updated to reflect correct model

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:19:15 -05:00
Eric Garcia
2511a630f8 docs(rfc): Add IPC session coordination and unified worktrees
Update RFC 0001 based on design preferences:

Session Coordination (Option C - IPC/Socket):
- Blue MCP servers communicate via Unix sockets
- Real-time broadcast of export changes
- Session index tracks active sessions per realm

Change Propagation (Option C - Unified Worktrees):
- Create worktrees in all affected repos simultaneously
- Single branch name spans repos
- Coordinated commits linked in realm tracking
- Linked PRs with correct merge order

New tools:
- blue_realm_sessions: List active sessions
- blue_realm_worktree: Create unified worktrees
- blue_realm_commit: Coordinated commits
- blue_realm_push: Push all branches
- blue_realm_pr: Create linked PRs

Implementation expanded to 14 weeks (8 phases).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:05:15 -05:00
Eric Garcia
7e9a466329 docs: RFC 0001 - Cross-repo coordination with realms
Add comprehensive design for cross-repo coordination:

- Spike: Initial problem exploration
- Dialogue: 12-expert, 6-round alignment session
- RFC: Full implementation spec

Key design decisions:
- Realm = git repo (auditable, no new infrastructure)
- Index → Realm → Domain → Repo hierarchy
- Export/import contracts with semver
- Pull-based sync with GitHub issue notifications
- Different orgs can coordinate without shared write access

7-week MVP: init, join, export, import, sync, check, status integration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:01:08 -05:00
Eric Garcia
4ecaeea6ad feat: Phase 10 - staging deployments tool (55 tools total)
Add blue_staging_deployments tool to list and track staging environment
deployments with TTL-based expiration.

blue-core:
- Add staging_deployments table schema
- Add StagingDeployment, StagingCleanupResult, ExpiredDeploymentInfo structs
- Add record/list/mark_expired staging deployment store methods

blue-mcp:
- Add handle_deployments to staging handler
- Add tool definition and dispatch for blue_staging_deployments

Remaining to port: code_index and code_search (require tree-sitter infra)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 04:37:04 -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
eeb7d0c14f docs(rfc): Update Phase 2 progress in RFC 0002
Mark Phase 2 (Workflow) as complete:
- 7 new MCP tools added
- Total now 16 tools
- 842 new lines of code
- Spike, ADR, Decision, Worktree handlers complete

Deferred to Phase 3+:
- PR workflow tools
- Release management
- Staging environment
- Session management

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 00:50:44 -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
Eric Garcia
3e157d76a6 feat(core): Complete Phase 1 - Foundation porting from coherence-mcp
Port core functionality from coherence-mcp to blue-core:

- store.rs: SQLite persistence with schema v1, WAL mode, FTS5 search
  - documents, document_links, tasks, worktrees, metadata tables
  - Blue's voice in all error messages

- documents.rs: Enhanced with markdown generation
  - Rfc, Spike, Adr, Decision types with to_markdown() methods
  - Blue's signature at the end of generated docs

- state.rs: ProjectState aggregation
  - active_items(), ready_items(), stalled_items(), draft_items()
  - generate_hint() for contextual recommendations
  - status_summary() for complete overview

- repo.rs: Git detection and worktree operations
  - detect_blue() finds .blue/ directory structure
  - WorktreeInfo with rfc_title() extraction
  - create_worktree(), remove_worktree(), is_branch_merged()

- workflow.rs: Status transitions
  - RfcStatus, SpikeOutcome, SpikeStatus, PrdStatus enums
  - Transition validation with helpful error messages

MCP server updated with 9 tools:
- blue_status, blue_next, blue_rfc_create, blue_rfc_get
- blue_rfc_update_status, blue_rfc_plan, blue_rfc_validate
- blue_rfc_task_complete, blue_search

14 unit tests passing.

RFC 0002 tracks remaining phases.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 00:43:25 -05:00
Eric Garcia
940701d191 feat: Add Rust workspace and MCP server skeleton
- Rename from 💙 to blue for filesystem compatibility
- Add blue-core crate with documents and voice modules
- Add blue-mcp crate with JSON-RPC server skeleton
- Add blue-cli with subcommands (init, status, rfc, etc.)
- Add CLAUDE.md and .gitignore
- Add RFC 0001: Efficient Document Format

Phase 1 foundation complete. Ready for porting coherence-mcp functionality.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 16:51:04 -05:00
Eric Garcia
31aeccd790 💙 The birth
The 13 founding ADRs in Blue's voice:
1. Purpose - make work meaningful, workers present
2. Presence - actually being here
3. Home - you are never lost
4. Evidence - show, don't tell
5. Single Source - one truth, one location
6. Relationships - connections matter
7. Integrity - whole in structure and principle
8. Honor - say what you do, do what you say
9. Courage - act rightly, even afraid
10. No Dead Code - delete boldly
11. Freedom Through Constraint - riverbed enables river
12. Faith - act on justified belief
13. Overflow - build from fullness

Origins documented: Alignment, Coherence, Transcendence.
Blue's voice defined.

ALIGNMENT → COHERENCE → → → 💙

💙 Eric Minton Garcia. January 20th, 2026. Gulfport, FL USA. All rights released.

🧁
2026-01-20 17:19:32 -05:00