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
rob
05002b766b
test: Add comprehensive workflow tests and improve template tests
...
Testing improvements completing Week 1 consolidation:
1. Add tests/test_workflow.py (6 comprehensive tests)
- test_extract_vote_value: Vote value extraction
- test_parse_votes_single_participant_single_vote: Basic parsing
- test_parse_votes_single_participant_multiple_votes: Latest vote wins
- test_parse_votes_multiple_participants: Multi-participant tracking
- test_parse_votes_malformed_lines: Error handling
- test_parse_votes_mixed_content: Real-world scenarios
2. Improve tests/test_template_meta.py
- Replace stub tests with real implementations
- test_find_template_fields: Field extraction from templates
- test_render_request_from_template: Template rendering
- test_render_request_from_template_with_existing_meta: Preserve existing data
3. Add __init__.py files for test imports
- assets/__init__.py: Make assets importable
- automation/__init__.py: Make automation importable
- Enables tests to import workflow.py and create_feature.py
4. Update pyproject.toml pytest configuration
- Add ".", "assets" to pythonpath
- Allows tests to import from automation/ and assets/
Test Results:
- All 11 tests passing
- Coverage: workflow vote parsing, template rendering, utils
- Foundation ready for Stage 2 development
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:20:42 -03:00
rob
858dcae72e
fix: Make workflow.py executable and add missing argparse import
...
Critical bug fixes discovered during end-to-end testing:
1. Add missing argparse import to workflow.py
- workflow.py was missing `import argparse`
- Caused NameError when pre-commit hook tried to run it
- Added import at line 13
2. Make workflow.py executable during installation
- Installer now sets executable permissions (0o755)
- Pre-commit hook checks `if [ -x "automation/workflow.py" ]`
- Without executable bit, hook silently skipped workflow
- Fix in setup_project.py lines 381-384
Testing:
- Created fresh project with installer
- Added votes to discussion file
- Verified workflow.py runs during commit
- Output: "CHANGES: 2 votes, READY: 3 votes" ✓
Impact:
- Users now see vote counts during commits
- Phase 1 orchestration fully functional
- Foundation ready for Stage 2 (summary updates)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 16:14:44 -03:00
rob
4e7ad11b4c
feat: Implement vote parsing orchestrator and testing infrastructure
...
Major implementation milestone - core automation is now functional:
1. Add automation/workflow.py (Phase 1 - Vote Parsing)
- Parse VOTE: lines from discussion files
- Track latest vote per participant
- Print human-readable vote summaries
- Non-blocking (always exits 0)
- Proper error handling for missing files/git failures
- 158 lines of production-quality code
2. Add testing infrastructure
- Create tests/ directory with pytest configuration
- Add test_utils.py with actual version reading test
- Add test_template_meta.py (stubs for META system tests)
- Add test_build.py (stub for build verification)
- Configure pytest in pyproject.toml (pythonpath)
- All 4 tests passing
3. Add AGENTS.md - Developer guidelines
- Project structure and module organization
- Build, test, and development commands
- Coding style and naming conventions
- Testing guidelines
- Commit and PR guidelines
4. Update docs/DESIGN.md
- Document workflow.py implementation
- Update automation status from "planned" to "implemented"
- Clarify Phase 1 vs future phases
5. Code cleanup - Remove empty stub modules
- Delete src/cascadingdev/feature_seed.py
- Delete src/cascadingdev/fs_scaffold.py
- Delete src/cascadingdev/ramble_integration.py
- Delete src/cascadingdev/rules_seed.py
Impact:
- Users can now see vote counts in their commits
- Testing foundation enables safe refactoring
- Code is cleaner with only working modules
- Week 1 implementation goals complete
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:25:53 -03:00
rob
03bb4afdcc
build: Bundle automation/ and update pre-commit hook comment
...
Integration fixes to make workflow.py available in user projects:
1. Bundle automation/ directory in installer
- Add automation/ to build_installer.py copy process
- Ensures workflow.py is available in generated projects
- Pre-commit hook can now actually call workflow.py
2. Update pre-commit hook comment
- Change from "planned feature...does not yet exist"
- Update to "provides non-blocking vote status reporting"
- Accurately describes current implementation
Verified:
- automation/workflow.py present in install bundle
- workflow.py executes successfully from bundle
- Pre-commit hook comment matches reality
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 14:24:32 -03:00
rob
7e7779c9d7
uptodate agents
2025-10-30 13:17:58 -03:00
rob
536d885b6b
docs: Add CLAUDE.md and restructure DESIGN.md for clarity
...
Major documentation improvements:
1. Add CLAUDE.md
- Comprehensive guide for AI assistants working in this repo
- Repository architecture and directory structure
- Common development commands and workflows
- Build system explanation
- Key concepts and design philosophy
2. Restructure DESIGN.md
- Clarify three directory contexts: CascadingDev Repo, Install Bundle, User Project
- Add clear section headers and visual separation
- Mark future/unimplemented features with 🚧 emoji
- Document undocumented wins: META system and Ramble providers
- Add comprehensive Ramble documentation (mock and claude providers)
- Document template META system with code examples
3. Fix setup_project.py
- Correct error message path (was scripts/hooks/pre-commit, now assets/hooks/pre-commit)
These changes address confusion between tooling source, distribution bundle, and
generated user projects while highlighting sophisticated features like the
self-describing template system and multi-provider Ramble GUI.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-30 12:31:33 -03:00
rob
d78b0d83c8
1st commit
2025-10-29 01:22:40 -03:00
rob
db728ac2e4
1st commit
2025-10-28 22:24:46 -03:00
rob
ea38549348
1st commit
2025-10-28 21:24:28 -03:00
rob
a0b2816cc5
1st commit
2025-10-28 21:23:08 -03:00
rob
e914caf15f
1st commit
2025-10-28 11:56:01 -03:00
rob
67a4415600
1st commit
2025-10-27 20:17:35 -03:00
rob
ade5f91ad7
1st commit
2025-10-27 16:28:14 -03:00
rob
a075472a98
1st commit
2025-10-27 16:24:50 -03:00
rob
5506891a52
1st commit
2025-10-26 12:28:04 -03:00
rob
6fd29b7085
1st commit
2025-10-25 22:14:34 -03:00
rob
e4cf48b3ea
1st commit
2025-10-25 21:16:15 -03:00
rob
51a9bb0aa2
1st commit
2025-10-25 13:34:20 -03:00
rob
5425ce9fbb
1st commit
2025-10-25 02:30:38 -03:00
rob
5e3a7231f9
1st commit
2025-10-25 02:27:38 -03:00
rob
c61c988966
1st commit
2025-10-25 02:24:55 -03:00
rob
1684169515
1st commit
2025-10-25 00:52:34 -03:00
rob
b2dec202e3
1st commit
2025-10-25 00:12:55 -03:00
rob
18d84c2b15
1st commit
2025-10-24 20:55:11 -03:00
rob
1141725d14
1st commit
2025-10-24 13:58:59 -03:00
rob
6f6c66891f
1st commit
2025-10-22 14:25:04 -03:00
rob
e4174218ed
1st commit
2025-10-22 13:48:47 -03:00
rob
6fa6f6ba66
1st commit
2025-10-22 07:18:58 -03:00