Commit Graph

10 Commits

Author SHA1 Message Date
rob 33b550ad5b docs: complete update for AI normalization architecture
Updated all documentation to reflect the new two-tier extraction system:

**workflow-marker-extraction.puml:**
- Completely rewritten to show AI normalization flow
- Documents agents.normalize_discussion() as primary method
- Shows simple line-start fallback for explicit markers
- Includes natural conversation examples vs. explicit markers
- Demonstrates resilience and cost-effectiveness

**AUTOMATION.md:**
- Restructured "Conversation Guidelines" section
- Emphasizes natural conversation as recommended approach
- Clarifies AI normalization extracts from conversational text
- Documents explicit markers as fallback when AI unavailable
- Explains two-tier architecture benefits

**diagrams-README.md:**
- Already updated in previous commit

All documentation now accurately reflects:
 AI-powered extraction (agents.py) for natural conversation
 Simple fallback parsing (workflow.py) for explicit markers
 Multi-provider resilience (claude → codex → gemini)
 No strict formatting requirements for participants

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 20:04:09 -04:00
rob 6135d42bc0 docs: comprehensive AI configuration documentation update
Major documentation updates to align with multi-provider AI system:

1. Update CLAUDE.md (lines 213-332)
   - Add new "AI Configuration System" section
   - Document config/ai.yml structure and three optimization levels
   - Explain model hint propagation pipeline (rule → runner → patcher)
   - Add provider setup table (Claude, Codex, Gemini)
   - Document Claude subagent setup with ./tools/setup_claude_agents.sh
   - List implementation modules with line number references
   - Explain environment variable overrides
   - Document fallback behavior when all providers fail

2. Update docs/DESIGN.md (lines 894-1077)
   - Add "Automation AI Configuration" section before Stage Model
   - Document configuration architecture with full YAML example
   - Explain model hint system with .ai-rules.yml examples
   - Detail execution flow through 4 steps (rule eval → prompt → chain → fallback)
   - Show example prompt with TASK COMPLEXITY hint injection
   - Add provider comparison table with fast/default/quality models
   - Document implementation modules with line references
   - Add cost optimization examples (93% savings on simple tasks)
   - Explain environment overrides and persistence

3. Update docs/AUTOMATION.md (lines 70-148)
   - Restructure Phase 2 requirements to emphasize config/ai.yml
   - Add full YAML configuration example with three chains
   - Explain how model hints work (fast vs quality)
   - Update Claude subagent documentation
   - Clarify auto-selection based on TASK COMPLEXITY
   - Move git config to deprecated status
   - Emphasize environment variables as optional overrides

4. Update README.md (line 10)
   - Add "Multi-Provider AI System" to key features
   - Brief mention of fallback chains and model selection

Impact:
- AI assistants can now discover the multi-provider system
- Users understand how to configure providers via config/ai.yml
- Clear explanation of cost optimization through model hints
- Complete documentation of the execution pipeline
- All major docs now reference the same configuration approach

Resolves documentation gap identified in project review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-01 21:48:25 -03:00
rob e9cc23685d docs: align claude setup references 2025-11-01 16:18:06 -03:00
rob d26c6c2210 fix: drop unsupported claude agent flag 2025-11-01 16:16:01 -03:00
rob 16c45ba415 feat: add claude subagent setup script and refine ai chain 2025-11-01 16:08:33 -03:00
rob ca73528068 feat: extend ai config with codex and gemini fallbacks 2025-11-01 14:59:45 -03:00
rob 4680f4b629 build: bundle shared ai config into installer 2025-11-01 14:44:25 -03:00
rob 4176f51e7d fix: Add YAML syntax fix and mock AI script for testing
- Fix missing space after colon in features.ai-rules.yml
- Add tools/mock_ai.sh for testing automation without real AI
- Ensures installer has valid YAML templates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-31 09:18:59 -03:00
rob 5944269ed8 refactor: Support CLI-based AI providers (Claude Code, Gemini, Codex)
Major refactoring to support flexible AI provider configuration instead of
requiring direct API access. Users can now use whatever AI CLI tool they have
installed (claude, gemini, codex, etc.) without API keys.

## Changes to automation/agents.py

**New Functions:**
- `get_ai_config()` - Reads config from env vars or git config
  - Environment: CDEV_AI_PROVIDER, CDEV_AI_COMMAND (highest priority)
  - Git config: cascadingdev.aiprovider, cascadingdev.aicommand
  - Default: claude-cli with "claude -p '{prompt}'"

- `call_ai_cli()` - Execute AI via CLI command
  - Passes content via temp file to avoid shell escaping
  - Supports {prompt} placeholder in command template
  - 60s timeout with error handling
  - Parses JSON from response (with/without code blocks)

- `call_ai_api()` - Direct API access (renamed from call_claude)
  - Unchanged functionality
  - Now used as fallback option

- `call_ai()` - Unified AI caller
  - Try CLI first (if configured)
  - Fall back to API (if ANTHROPIC_API_KEY set)
  - Graceful failure with warnings

**Updated Functions:**
- `normalize_discussion()` - calls call_ai() instead of call_claude()
- `track_questions()` - calls call_ai() instead of call_claude()
- `track_action_items()` - calls call_ai() instead of call_claude()
- `track_decisions()` - calls call_ai() instead of call_claude()

**Configuration Precedence:**
1. Environment variables (session-scoped)
2. Git config (repo-scoped)
3. Defaults (claude-cli)

## Changes to docs/AUTOMATION.md

**Updated Sections:**
- "Requirements" - Now lists CLI as Option 1 (recommended), API as Option 2
- "Configuration" - Complete rewrite with 5 provider examples:
  1. Claude CLI (default)
  2. Gemini CLI
  3. OpenAI Codex CLI
  4. Direct API (Anthropic)
  5. Custom AI command
- "Troubleshooting" - Added "AI command failed" section, updated error messages

**New Configuration Examples:**
```bash
# Claude Code (default)
git config cascadingdev.aicommand "claude -p '{prompt}'"

# Gemini
git config cascadingdev.aiprovider "gemini-cli"
git config cascadingdev.aicommand "gemini '{prompt}'"

# Custom
git config cascadingdev.aicommand "my-ai-tool --prompt '{prompt}' --format json"
```

## Benefits

1. **No API Key Required**: Use existing CLI tools (claude, gemini, etc.)
2. **Flexible Configuration**: Git config (persistent) or env vars (session)
3. **Provider Agnostic**: Works with any CLI that returns JSON
4. **Backward Compatible**: Still supports direct API if ANTHROPIC_API_KEY set
5. **User-Friendly**: Defaults to "claude -p" if available

## Testing

-  get_ai_config() tests:
  - Default: claude-cli with "claude -p '{prompt}'"
  - Git config override: gemini-cli with "gemini '{prompt}'"
  - Env var override: codex-cli with "codex '{prompt}'"
-  extract_mentions() still works (no AI required)
-  All 6 workflow tests pass

## Impact

Users with Claude Code installed can now use the automation without any
configuration - it just works! Same for users with gemini or codex CLIs.
Only requires git config setup if using non-default command.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 18:31:27 -03:00
rob 72577bd30d feat: Implement Phase 2 - AI-powered discussion automation
Complete implementation of the AI-enhanced automation system with 5 specialized agents:

## New Files

1. **automation/agents.py** (270 lines)
   - Agent 1: normalize_discussion() - Extracts structured info from natural language
   - Agent 2: track_questions() - Identifies questions and tracks answers (OPEN/PARTIAL/ANSWERED)
   - Agent 3: track_action_items() - Manages TODO → ASSIGNED → DONE lifecycle
   - Agent 4: track_decisions() - Logs ADR-style decisions with rationale
   - extract_mentions() - Parses @Name and @all mentions (no API required)
   - call_claude() - Anthropic API integration with JSON response parsing

2. **automation/summary.py** (289 lines)
   - update_marker_block() - Non-destructive marker block updates
   - format_votes_section() - Formats vote counts and participants
   - format_questions_section() - Formats open/partial/answered questions
   - format_action_items_section() - Formats TODO/ASSIGNED/DONE tasks
   - format_decisions_section() - Formats ADR-style decisions
   - format_awaiting_section() - Groups @mentions by target
   - update_summary_file() - Orchestrates all section updates

3. **docs/AUTOMATION.md** (361 lines)
   - Complete system documentation
   - Phase 1 (basic) and Phase 2 (AI) explanations
   - Conversation guidelines and markers
   - Configuration and troubleshooting

## Enhanced Files

**automation/workflow.py** (enhanced to 349 lines, +132 lines)
- get_discussion_changes() - Git diff extraction for incremental processing
- update_summary_votes() - Marker block update for votes (Phase 1 fallback)
- process_discussion_with_ai() - Orchestrates all AI agents
- Enhanced _run_status() - Processes with AI when available, graceful fallback
- Dual import style for different execution contexts (pre-commit hook vs direct)

## Features

### Phase 1 (Always Enabled):
-  Vote parsing and tracking (READY/CHANGES/REJECT)
-  Latest vote per participant logic
-  Summary file auto-update and staging
-  Non-blocking git hook integration

### Phase 2 (Optional, requires ANTHROPIC_API_KEY):
-  @Mention extraction and tracking
-  Question identification and status tracking
-  Action item lifecycle management
-  Decision logging with rationale (ADR-style)
-  Incremental processing via git diff
-  Graceful degradation when API unavailable

## Architecture

- Modular design with separate concerns (agents, summary, workflow)
- Non-blocking operation (always exits 0)
- Dual-phase capability (basic + AI-enhanced)
- Graceful fallbacks at every level
- Comprehensive error handling

## Testing

- All 11 existing tests passing
- End-to-end testing in /tmp/cdev-test-phase2a confirmed:
  - Vote tracking works correctly
  - @Mentions extracted and grouped by target
  - Summary files updated non-destructively
  - Auto-staging of updated summaries
  - Pre-commit hook integration functional

## Documentation

- AUTOMATION.md covers architecture, usage, and troubleshooting
- Code comments explain complex logic
- Example formats provided for all features
- Configuration and setup instructions included

This completes the Phase 2 automation milestone, providing a sophisticated
AI-powered discussion summarization system while maintaining full backward
compatibility with basic vote-only mode.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 18:12:48 -03:00