443 lines
15 KiB
Markdown
443 lines
15 KiB
Markdown
# CascadingDev Implementation Progress
|
|
|
|
**Last Updated:** 2025-11-03
|
|
**Overall Completion:** ~57% (M0✅ M1✅ M2🚧 M3❌ M4✅)
|
|
|
|
---
|
|
|
|
## 📊 Quick Status Overview
|
|
|
|
| Milestone | Target | Status | Completion |
|
|
|-----------|--------|--------|------------|
|
|
| **M0: Process Foundation** | Foundation docs and setup | ✅ Complete | 100% |
|
|
| **M1: Orchestrator MVP** | Core automation working | ✅ Complete | 100% |
|
|
| **M2: Stage Automation** | All 7 stages + moderator | 🚧 In Progress | 40% |
|
|
| **M3: Gitea Integration** | PR/issue automation | ❌ Not Started | 0% |
|
|
| **M4: Python Migration** | Bash → Python hook | ✅ Complete | 100% |
|
|
|
|
**Current Focus:** Starting Stage 4 (Implementation)
|
|
|
|
---
|
|
|
|
## ✅ Milestone M0: Process Foundation (100%)
|
|
|
|
**Goal:** Establish project structure, documentation, and templates
|
|
|
|
### Core Documentation
|
|
- [x] `docs/DESIGN.md` - System architecture (3,018 lines)
|
|
- [x] `docs/AUTOMATION.md` - User-facing automation guide
|
|
- [x] `docs/INSTALL.md` - Installation instructions
|
|
- [x] `CLAUDE.md` - AI assistant guidance
|
|
- [x] `AGENTS.md` - Developer guidelines
|
|
- [x] `README.md` - Project overview
|
|
- [x] `VERSION` - Semantic versioning
|
|
|
|
### Setup Infrastructure
|
|
- [x] `src/cascadingdev/setup_project.py` - Project installer (478 lines)
|
|
- [x] `src/cascadingdev/cli.py` - CLI commands (doctor, build, smoke, release, pack)
|
|
- [x] `tools/build_installer.py` - Bundle builder
|
|
- [x] `tools/bundle_smoke.py` - End-to-end installer test
|
|
- [x] `pyproject.toml` - Package configuration
|
|
|
|
### Templates (6 files)
|
|
- [x] `assets/templates/feature_request.md` - Feature request template
|
|
- [x] `assets/templates/feature.discussion.md` - Feature discussion template
|
|
- [x] `assets/templates/feature.discussion.sum.md` - Summary template
|
|
- [x] `assets/templates/design.discussion.md` - Design discussion template
|
|
- [x] `assets/templates/design_doc.md` - Design document template (needs enhancement)
|
|
- [x] `assets/templates/USER_GUIDE.md` - User guide shipped to projects
|
|
|
|
### Policy Files
|
|
- [x] `config/ai.yml` - AI provider configuration
|
|
- [x] `assets/templates/process/policies.yml` - Process policies template
|
|
|
|
### Ramble GUI
|
|
- [x] `assets/runtime/ramble.py` - Feature capture GUI (PySide6/PyQt5)
|
|
- [x] `assets/runtime/create_feature.py` - CLI feature creation
|
|
- [x] Template META system - JSON metadata in HTML comments
|
|
|
|
---
|
|
|
|
## ✅ Milestone M1: Orchestrator MVP + Hook Enhancements (100%)
|
|
|
|
**Goal:** Python automation engine with cascading rules
|
|
|
|
### Core Automation Modules (2,469 lines total)
|
|
- [x] `automation/config.py` (182 lines) - Rule loading, merging, path resolution
|
|
- [x] `automation/runner.py` (146 lines) - Rule evaluation, output generation
|
|
- [x] `automation/patcher.py` (720 lines) - AI patch generation and application
|
|
- [x] `automation/workflow.py` (533 lines) - Vote tracking, status reporting
|
|
- [x] `automation/summary.py` (301 lines) - Summary file formatting
|
|
- [x] `automation/agents.py` (438 lines) - AI agent integration
|
|
- [x] `automation/ai_config.py` (149 lines) - Multi-provider configuration
|
|
- [x] `src/cascadingdev/agent/` (sdk/providers/patcher) - Shared helpers for participant scripts
|
|
|
|
### Pre-commit Hook
|
|
- [x] `assets/hooks/pre-commit` (192 lines bash)
|
|
- [x] Secret detection (regex patterns)
|
|
- [x] Append-only validation for discussions
|
|
- [x] Summary file template creation
|
|
- [x] Python module orchestration
|
|
|
|
### Cascading Rules System
|
|
- [x] Hierarchical .ai-rules.yml loading (nearest file wins)
|
|
- [x] Template variable support (`{feature_id}`, `{dir}`, `{basename}`, etc.)
|
|
- [x] Path normalization and security (blocks `../` escapes)
|
|
- [x] Rule merging with override semantics
|
|
- [x] 10 rule types defined in `assets/templates/rules/features.ai-rules.yml`
|
|
|
|
### Multi-Provider AI System
|
|
- [x] Three optimization levels (fast/default/quality)
|
|
- [x] Fallback chains (Claude → Codex → Gemini)
|
|
- [x] Model hint propagation (rule → runner → patcher)
|
|
- [x] Cost optimization via intelligent routing
|
|
- [x] Environment variable overrides
|
|
- [x] Claude subagent setup script (`tools/setup_claude_agents.sh`)
|
|
- [x] **AI normalization system** (agents.normalize_discussion())
|
|
- [x] Natural conversation → structured JSON extraction
|
|
- [x] Fast model usage for cost-effective extraction
|
|
- [x] Simple fallback for explicit markers when AI unavailable
|
|
- [x] Two-tier architecture (AI primary, regex fallback)
|
|
|
|
### Testing Infrastructure
|
|
- [x] `tests/test_workflow.py` - Workflow automation tests (vote parsing, participant agents, summaries)
|
|
- [x] `tests/test_patcher.py` - Patch generation tests
|
|
- [x] `tests/test_runner.py` - Rule evaluation tests
|
|
- [x] `tests/test_config.py` - Config loading tests
|
|
- [x] `tests/test_utils.py` - Utility tests
|
|
- [x] `tests/test_template_meta.py` - Template metadata tests
|
|
- [x] `tests/test_build.py` - Build system tests
|
|
- [x] **Total: 39 tests (pytest -q), 100% passing**
|
|
|
|
---
|
|
|
|
## 🚧 Milestone M2: Stage Automation & Moderator (45%)
|
|
|
|
**Goal:** Implement all 7 stages of the development lifecycle
|
|
|
|
### Stage 1: Request (100% ✅)
|
|
- [x] Template: `assets/templates/feature_request.md`
|
|
- [x] Rule: `feature_request` in features.ai-rules.yml
|
|
- [x] Automation: Creates `feature.discussion.md` on commit
|
|
- [x] Tested: Working in production
|
|
|
|
### Stage 2: Feature Discussion (100% ✅)
|
|
- [x] Template: `assets/templates/feature.discussion.md`
|
|
- [x] Summary template: `assets/templates/feature.discussion.sum.md`
|
|
- [x] Rules: `feature_discussion_update`, `feature_discussion_writer`
|
|
- [x] Automation:
|
|
- [x] Vote tracking (VOTE: READY/CHANGES/REJECT)
|
|
- [x] **AI normalization** for natural conversation (agents.normalize_discussion())
|
|
- [x] Question extraction from natural language
|
|
- [x] Participant agent scripts (`agents/moderator.py`, `agents/visualizer.py`) invoked via `.ai-rules.yml` `participants`
|
|
- [x] Background participant support (`background: true`) so researcher/visualizer can run asynchronously without casting votes
|
|
- [x] Action item tracking from conversational text
|
|
- [x] Decision tracking with context understanding
|
|
- [x] @mention tracking
|
|
- [x] Timeline generation
|
|
- [x] Summary file updates
|
|
- [x] Simple fallback for explicit line-start markers (DECISION:, QUESTION:, ACTION:)
|
|
- [x] Gate creation: `design.discussion.md` when status = READY_FOR_DESIGN
|
|
- [x] Tested: `tests/test_workflow.py` covers moderator invocation, idempotency, and visualizer diagram generation plus production validation
|
|
|
|
### Stage 3: Design Discussion (100% ✅)
|
|
- [x] Template: `assets/templates/design.discussion.md`
|
|
- [x] **Enhanced template:** `assets/templates/design_doc.md` with comprehensive ADR structure
|
|
- [x] Rules: `design_gate_writer`, `design_discussion_writer`
|
|
- [x] Automation:
|
|
- [x] Gate creation when feature status = READY_FOR_DESIGN
|
|
- [x] Discussion file generation
|
|
- [x] Design document template ready for AI generation
|
|
- [x] **End-to-end tests:** 4 comprehensive tests created (2 passing, 1 skipped, 1 specification)
|
|
- [x] Tested: Promotion logic validated via unit tests
|
|
|
|
**Completed (2025-11-02):**
|
|
1. ✅ Enhanced `design_doc.md` template with 14-section ADR structure
|
|
2. ✅ Created end-to-end test suite (test_stage_promotion.py)
|
|
3. ✅ Validated vote counting and threshold logic
|
|
4. ✅ Documented AI vote exclusion behavior
|
|
|
|
**Remaining Work (5% - Polish):**
|
|
- [x] Integrate status update into runner/workflow (currently manual)
|
|
- [x] Test design document AI generation in production
|
|
|
|
### Stage 4: Implementation Discussion (75% 🚧)
|
|
- [x] Template: `implementation.discussion.md`
|
|
- [x] Template: `implementation/plan.md`
|
|
- [x] Template: `implementation/tasks.md`
|
|
- [x] Rules: `implementation_gate_writer`
|
|
- [x] Rule: `implementation_discussion_writer`
|
|
- [ ] Automation:
|
|
- [x] Gate creation when design status = READY_FOR_IMPLEMENTATION
|
|
- [x] Task checkbox tracking (parse `- [ ]` / `- [x]`)
|
|
- [ ] PR/commit linking
|
|
- [ ] Progress tracking roll-up
|
|
- [x] Human gate: Require ≥1 human READY vote + all tasks complete
|
|
- [x] Tests: Workflow + promotion coverage for implementation stage
|
|
|
|
**Next Steps:**
|
|
1. Track PR/commit references and surface them in summaries
|
|
2. Feed implementation progress into higher-level reporting (burn-down, dashboards)
|
|
|
|
### Stage 5: Testing Discussion (0% ❌)
|
|
- [ ] Template: `testing.discussion.md` **← MISSING**
|
|
- [ ] Template: `testing/testplan.md` **← MISSING**
|
|
- [ ] Template: `testing/checklist.md` **← MISSING**
|
|
- [ ] Rules: `testing_gate_writer` **← MISSING**
|
|
- [ ] Rule: `testing_discussion_writer` **← MISSING**
|
|
- [ ] Automation:
|
|
- [ ] Gate creation when implementation complete
|
|
- [ ] Test result tracking ([RESULT] PASS/FAIL)
|
|
- [ ] Checklist progress
|
|
- [ ] Bug linking
|
|
- [ ] Tests: None
|
|
|
|
**Next Steps:**
|
|
1. Create testing templates
|
|
2. Design test result format
|
|
3. Implement testing rules
|
|
4. Add result parser to workflow.py
|
|
|
|
### Stage 6: Review Discussion (0% ❌)
|
|
- [ ] Template: `review.discussion.md` **← MISSING**
|
|
- [ ] Template: `review/findings.md` **← MISSING**
|
|
- [ ] Rules: `review_gate_writer` **← MISSING**
|
|
- [ ] Rule: `review_discussion_writer` **← MISSING**
|
|
- [ ] Automation:
|
|
- [ ] Gate creation when testing complete
|
|
- [ ] Finding tracking
|
|
- [ ] Approval tracking
|
|
- [ ] Human gate: Require ≥1 human READY vote
|
|
- [ ] Tests: None
|
|
|
|
**Next Steps:**
|
|
1. Create review templates
|
|
2. Design review findings format
|
|
3. Implement review rules
|
|
4. Test human gate enforcement
|
|
|
|
### Stage 7: Release (0% ❌)
|
|
- [ ] Template: Changelog generation **← MISSING**
|
|
- [ ] Template: Rollback notes **← MISSING**
|
|
- [ ] Rules: `release_writer` **← MISSING**
|
|
- [ ] Automation:
|
|
- [ ] Changelog from commits
|
|
- [ ] Version tagging
|
|
- [ ] Release notes
|
|
- [ ] Human gate: Require maintainer approval
|
|
- [ ] Tests: None
|
|
|
|
**Next Steps:**
|
|
1. Design release automation
|
|
2. Create changelog generator
|
|
3. Implement version tagging
|
|
4. Add maintainer role checking
|
|
|
|
### AI_Moderator Protocol (0% ❌)
|
|
- [ ] Nudge system for inactive discussions
|
|
- [ ] Escalation paths for blocked features
|
|
- [ ] Conversation guidance
|
|
- [ ] Question tracking and follow-up
|
|
- [ ] Vote reminder system
|
|
- [ ] Timeout detection
|
|
|
|
**Implementation Location:** `automation/moderator.py` (does not exist)
|
|
|
|
**Next Steps:**
|
|
1. Create moderator.py module
|
|
2. Implement nudge timing logic
|
|
3. Add escalation rules to policies.yml
|
|
4. Integrate with workflow.py
|
|
|
|
### Bug Sub-Cycles (0% ❌)
|
|
- [ ] BUG_YYYYMMDD_slug folder structure
|
|
- [ ] Bug-specific templates
|
|
- [ ] Bug tracking rules
|
|
- [ ] Integration with testing stage
|
|
- [ ] Bug lifecycle automation
|
|
|
|
**Next Steps:**
|
|
1. Design bug folder structure
|
|
2. Create bug templates
|
|
3. Add bug rules to features.ai-rules.yml
|
|
4. Link bugs to parent features
|
|
|
|
### Discussion Summaries (90% ✅)
|
|
- [x] Marker-based updates (SUMMARY:* blocks)
|
|
- [x] Vote tallies
|
|
- [x] Question tracking
|
|
- [x] Action items
|
|
- [x] Decisions
|
|
- [x] @mentions
|
|
- [x] Timeline
|
|
- [ ] Links (PR/commit auto-detection) - partially implemented
|
|
- [ ] Snapshots for large discussions
|
|
|
|
---
|
|
|
|
## ❌ Milestone M3: Gitea Integration (0%)
|
|
|
|
**Goal:** Integrate with Gitea for PR/issue automation
|
|
|
|
### Gitea Adapter
|
|
- [ ] `automation/adapters/gitea_adapter.py` **← MISSING**
|
|
- [ ] Gitea API client integration
|
|
- [ ] Authentication setup
|
|
|
|
### PR Automation
|
|
- [ ] Auto-create PRs from implementation stage
|
|
- [ ] Link PRs to feature discussions
|
|
- [ ] Update PR descriptions with status
|
|
- [ ] Auto-label PRs based on stage
|
|
- [ ] Comment with review findings
|
|
|
|
### Issue Tracking
|
|
- [ ] Create issues from action items
|
|
- [ ] Link issues to discussions
|
|
- [ ] Update issue status from discussions
|
|
- [ ] Close issues when tasks complete
|
|
|
|
### Status Reporting
|
|
- [ ] Post stage status to PR comments
|
|
- [ ] Update PR labels on stage changes
|
|
- [ ] Link to discussion summaries
|
|
- [ ] Report blocker status
|
|
|
|
**Next Steps:**
|
|
1. Research Gitea API capabilities
|
|
2. Design adapter interface
|
|
3. Implement basic PR creation
|
|
4. Test with local Gitea instance
|
|
|
|
---
|
|
|
|
## ✅ Milestone M4: Bash to Python Migration (100%)
|
|
|
|
**Goal:** Migrate from bash-heavy hook to Python-powered automation
|
|
|
|
### Architecture
|
|
- [x] Core rule resolution in Python (automation/config.py)
|
|
- [x] Patch generation in Python (automation/patcher.py)
|
|
- [x] Bash hook as thin wrapper (192 lines)
|
|
- [x] Python modules handle complex logic (2,469 lines)
|
|
|
|
### Bash Hook Responsibilities (Minimal)
|
|
- [x] Secret detection (regex patterns)
|
|
- [x] Append-only validation
|
|
- [x] Summary file template creation
|
|
- [x] Python module orchestration
|
|
|
|
### Python Module Responsibilities (Core)
|
|
- [x] Rule loading and cascading
|
|
- [x] AI prompt generation
|
|
- [x] Patch generation and application
|
|
- [x] Vote tracking and summary updates
|
|
- [x] Provider integration and fallback
|
|
|
|
### Error Handling
|
|
- [x] Python exception handling
|
|
- [x] Graceful degradation
|
|
- [x] Debug logging (.git/ai-rules-debug/)
|
|
- [x] Clear error messages
|
|
|
|
**Status:** Completed early in development (built right from the start)
|
|
|
|
---
|
|
|
|
## 📈 Overall Progress Summary
|
|
|
|
### By Component Type
|
|
|
|
**Templates:** 6/13 (46%)
|
|
- ✅ Feature request, discussions (feature, design)
|
|
- ❌ Implementation, testing, review templates missing
|
|
|
|
**Rules:** 10/16 (63%)
|
|
- ✅ Request, feature, design rules complete
|
|
- 🚧 Implementation gate defined but untested
|
|
- ❌ Testing, review, release rules missing
|
|
|
|
**Automation Modules:** 7/9 (78%)
|
|
- ✅ Core modules complete (config, runner, patcher, workflow, summary, agents, ai_config)
|
|
- ❌ Moderator, Gitea adapter missing
|
|
|
|
**Testing:** 18/30+ (60%)
|
|
- ✅ 18 tests passing (core automation)
|
|
- ❌ Stage promotion tests missing
|
|
- ❌ Integration tests needed
|
|
|
|
**Documentation:** 7/7 (100%)
|
|
- ✅ All major docs complete and up-to-date
|
|
|
|
---
|
|
|
|
## 🎯 Recommended Next Steps
|
|
|
|
### Short Term (1-2 weeks)
|
|
1. **Complete Stage 3:**
|
|
- [ ] Enhance design_doc.md template
|
|
- [ ] Add end-to-end design stage test
|
|
- [ ] Document design stage workflow
|
|
|
|
2. **Start Stage 4 (Implementation):**
|
|
- [ ] Create implementation templates (discussion, plan, tasks)
|
|
- [ ] Implement task checkbox parser
|
|
- [ ] Add human gate enforcement
|
|
- [ ] Test implementation stage promotion
|
|
|
|
### Medium Term (3-4 weeks)
|
|
3. **Add Stage 5 (Testing):**
|
|
- [ ] Create testing templates
|
|
- [ ] Implement test result tracking
|
|
- [ ] Add checklist automation
|
|
|
|
4. **Add Stage 6 (Review):**
|
|
- [ ] Create review templates
|
|
- [ ] Implement findings tracking
|
|
- [ ] Add human gate enforcement
|
|
|
|
### Long Term (5-8 weeks)
|
|
5. **Complete Stage 7 (Release):**
|
|
- [ ] Design release automation
|
|
- [ ] Implement changelog generation
|
|
- [ ] Add version tagging
|
|
|
|
6. **Implement AI_Moderator:**
|
|
- [ ] Create moderator.py module
|
|
- [ ] Add nudge system
|
|
- [ ] Implement escalation paths
|
|
|
|
7. **Add Bug Sub-Cycles:**
|
|
- [ ] Design bug workflow
|
|
- [ ] Create bug templates
|
|
- [ ] Integrate with testing stage
|
|
|
|
### Optional (Future)
|
|
8. **Gitea Integration (M3):**
|
|
- [ ] Research Gitea API
|
|
- [ ] Implement PR automation
|
|
- [ ] Add issue tracking
|
|
|
|
---
|
|
|
|
## 📝 How to Update This Document
|
|
|
|
When completing items:
|
|
1. Change `[ ]` to `[x]` for completed checkboxes
|
|
2. Update completion percentages in section headers
|
|
3. Update "Last Updated" timestamp at top
|
|
4. Update "Overall Completion" percentage
|
|
5. Update "Current Focus" line
|
|
6. Move items from "Next Steps" to checkboxes as work progresses
|
|
7. Commit changes: `git add docs/PROGRESS.md && git commit -m "docs: update progress tracking"`
|
|
|
|
---
|
|
|
|
## 🔗 Related Documents
|
|
|
|
- **DESIGN.md** - Full system architecture and design rationale
|
|
- **AUTOMATION.md** - User-facing automation guide
|
|
- **CLAUDE.md** - AI assistant context and guidance
|
|
- **AGENTS.md** - Developer guidelines and conventions
|
|
- **README.md** - Project overview and quick start
|