docs: restore docs/private/roadmap from 7b4908f9 (Phase 20.31)
This commit is contained in:
@ -0,0 +1,473 @@
|
||||
# @enum/@match Daily Execution Log
|
||||
|
||||
**Purpose**: Copy this template for each day to track progress
|
||||
|
||||
**Instructions**:
|
||||
1. Copy the relevant "Day N" section below
|
||||
2. Fill in as you work (start time, end time, issues)
|
||||
3. At EOD, update CURRENT_TASK.md with summary
|
||||
4. Use this to track velocity and identify blockers early
|
||||
|
||||
---
|
||||
|
||||
## Day 1: Parser + AST
|
||||
|
||||
**Date**: _______________
|
||||
**Start Time**: ___:___
|
||||
**End Time**: ___:___
|
||||
**Total Hours**: ___h
|
||||
|
||||
### Tasks (from plan)
|
||||
- [ ] Add @enum token (30 min)
|
||||
- [ ] Parse enum definition structure (3h)
|
||||
- [ ] Create EnumDefNode AST (2h)
|
||||
- [ ] Unit tests for parser (2h)
|
||||
|
||||
### Actual Progress
|
||||
```
|
||||
Task Planned Actual Status
|
||||
─────────────────────────────────────────────────────────
|
||||
Add @enum token 30 min ___min ☐ ☑
|
||||
Parse enum definition 3h ___h ☐ ☑
|
||||
Create EnumDefNode AST 2h ___h ☐ ☑
|
||||
Unit tests 2h ___h ☐ ☑
|
||||
```
|
||||
|
||||
### Issues Encountered
|
||||
1. (Issue description)
|
||||
- **Impact**: (blocker / delay / minor)
|
||||
- **Resolution**: (what you did)
|
||||
- **Time Lost**: ___h
|
||||
|
||||
### Tests
|
||||
```
|
||||
Parser recognizes @enum ☐ PASS ☐ FAIL
|
||||
AST represents 3+ enums ☐ PASS ☐ FAIL
|
||||
Syntax errors helpful ☐ PASS ☐ FAIL
|
||||
All unit tests ☐ PASS ☐ FAIL
|
||||
```
|
||||
|
||||
### Files Changed
|
||||
- [ ] `src/parser/mod.rs` (~100-150 lines)
|
||||
- [ ] `src/parser/tests/enum_syntax.rs` (~80 lines)
|
||||
|
||||
### Notes
|
||||
(Any observations, learnings, or concerns)
|
||||
|
||||
### Tomorrow's Plan
|
||||
- [ ] (Top priority for Day 2)
|
||||
|
||||
### EOD Update to CURRENT_TASK.md
|
||||
```markdown
|
||||
### 2025-XX-XX: @enum Day 1 - Parser + AST
|
||||
|
||||
**Completed**:
|
||||
- ✅ (list successes)
|
||||
|
||||
**Issues**:
|
||||
- ⚠️ (list issues)
|
||||
|
||||
**Tomorrow**:
|
||||
- [ ] Day 2: Macro engine integration
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Day 2: Macro Engine Integration
|
||||
|
||||
**Date**: _______________
|
||||
**Start Time**: ___:___
|
||||
**End Time**: ___:___
|
||||
**Total Hours**: ___h
|
||||
|
||||
### Tasks (from plan)
|
||||
- [ ] Register @enum handler (2h)
|
||||
- [ ] Generate BoxDef for VariantBox (2h)
|
||||
- [ ] Generate birth() method (1h)
|
||||
- [ ] Basic expansion test (2h)
|
||||
|
||||
### Actual Progress
|
||||
```
|
||||
Task Planned Actual Status
|
||||
─────────────────────────────────────────────────────────
|
||||
Register @enum handler 2h ___h ☐ ☑
|
||||
Generate BoxDef 2h ___h ☐ ☑
|
||||
Generate birth() method 1h ___h ☐ ☑
|
||||
Basic expansion test 2h ___h ☐ ☑
|
||||
```
|
||||
|
||||
### Issues Encountered
|
||||
1. (Issue description)
|
||||
- **Impact**: (blocker / delay / minor)
|
||||
- **Resolution**: (what you did)
|
||||
- **Time Lost**: ___h
|
||||
|
||||
### Tests
|
||||
```
|
||||
@enum expands to static box ☐ PASS ☐ FAIL
|
||||
Generated code compiles ☐ PASS ☐ FAIL
|
||||
Macro trace correct ☐ PASS ☐ FAIL
|
||||
```
|
||||
|
||||
### Files Changed
|
||||
- [ ] `src/macro/engine.rs` (~120 lines)
|
||||
- [ ] `apps/macros/enum/enum_macro.hako` (50 lines)
|
||||
|
||||
### Notes
|
||||
(Any observations, learnings, or concerns)
|
||||
|
||||
### Tomorrow's Plan
|
||||
- [ ] (Top priority for Day 3)
|
||||
|
||||
### EOD Update to CURRENT_TASK.md
|
||||
(See Day 1 template)
|
||||
|
||||
---
|
||||
|
||||
## Day 3: Constructor + Helper Generation
|
||||
|
||||
**Date**: _______________
|
||||
**Start Time**: ___:___
|
||||
**End Time**: ___:___
|
||||
**Total Hours**: ___h
|
||||
|
||||
### Tasks (from plan)
|
||||
- [ ] Generate static variant constructors (3h)
|
||||
- [ ] Generate is_VariantName() helpers (2h)
|
||||
- [ ] Generate as_VariantName() helpers (2h)
|
||||
- [ ] Integration test (1h)
|
||||
|
||||
### Actual Progress
|
||||
```
|
||||
Task Planned Actual Status
|
||||
─────────────────────────────────────────────────────────
|
||||
Constructors 3h ___h ☐ ☑
|
||||
is_* helpers 2h ___h ☐ ☑
|
||||
as_* helpers 2h ___h ☐ ☑
|
||||
Integration test 1h ___h ☐ ☑
|
||||
```
|
||||
|
||||
### Issues Encountered
|
||||
1. (Issue description)
|
||||
- **Impact**: (blocker / delay / minor)
|
||||
- **Resolution**: (what you did)
|
||||
- **Time Lost**: ___h
|
||||
|
||||
### Tests
|
||||
```
|
||||
Constructors create instances ☐ PASS ☐ FAIL
|
||||
is_* returns correct bool ☐ PASS ☐ FAIL
|
||||
as_* extracts value ☐ PASS ☐ FAIL
|
||||
Wrong variant panics ☐ PASS ☐ FAIL
|
||||
Integration test ☐ PASS ☐ FAIL
|
||||
```
|
||||
|
||||
### Files Changed
|
||||
- [ ] `apps/macros/enum/enum_macro.hako` (~150 lines total)
|
||||
- [ ] `apps/tests/enum_basic.hako` (~40 lines)
|
||||
|
||||
### Notes
|
||||
(Any observations, learnings, or concerns)
|
||||
|
||||
### Tomorrow's Plan
|
||||
- [ ] (Top priority for Day 4)
|
||||
|
||||
### EOD Update to CURRENT_TASK.md
|
||||
(See Day 1 template)
|
||||
|
||||
---
|
||||
|
||||
## Day 4: Test Suite (10 Patterns)
|
||||
|
||||
**Date**: _______________
|
||||
**Start Time**: ___:___
|
||||
**End Time**: ___:___
|
||||
**Total Hours**: ___h
|
||||
|
||||
### Tasks (from plan)
|
||||
- [ ] Write test file (4h)
|
||||
- [ ] Debug failures (3h)
|
||||
- [ ] Document behavior (1h)
|
||||
|
||||
### Actual Progress
|
||||
```
|
||||
Task Planned Actual Status
|
||||
─────────────────────────────────────────────────────────
|
||||
Write tests 4h ___h ☐ ☑
|
||||
Debug failures 3h ___h ☐ ☑
|
||||
Document behavior 1h ___h ☐ ☑
|
||||
```
|
||||
|
||||
### Issues Encountered
|
||||
1. (Issue description)
|
||||
- **Impact**: (blocker / delay / minor)
|
||||
- **Resolution**: (what you did)
|
||||
- **Time Lost**: ___h
|
||||
|
||||
### Tests (10 Patterns)
|
||||
```
|
||||
1. Basic Option ☐ PASS ☐ FAIL
|
||||
2. Basic Result ☐ PASS ☐ FAIL
|
||||
3. Multi-field variant ☐ PASS ☐ FAIL
|
||||
4. Zero-field variant ☐ PASS ☐ FAIL
|
||||
5. Nested enum ☐ PASS ☐ FAIL
|
||||
6. Type mismatch panic ☐ PASS ☐ FAIL
|
||||
7. Schema validation ☐ PASS ☐ FAIL
|
||||
8. Field access bounds ☐ PASS ☐ FAIL
|
||||
9. Debug string ☐ PASS ☐ FAIL
|
||||
10. Round-trip ☐ PASS ☐ FAIL
|
||||
|
||||
TOTAL: ___/10 PASS
|
||||
```
|
||||
|
||||
### Files Changed
|
||||
- [ ] `apps/tests/enum_comprehensive.hako` (~200 lines)
|
||||
- [ ] `apps/macros/enum/README.md` (~100 lines)
|
||||
|
||||
### Notes
|
||||
(Any observations, learnings, or concerns)
|
||||
|
||||
### Tomorrow's Plan
|
||||
- [ ] (Top priority for Day 5)
|
||||
|
||||
### EOD Update to CURRENT_TASK.md
|
||||
(See Day 1 template)
|
||||
|
||||
---
|
||||
|
||||
## Day 5: Smoke Tests + Integration
|
||||
|
||||
**Date**: _______________
|
||||
**Start Time**: ___:___
|
||||
**End Time**: ___:___
|
||||
**Total Hours**: ___h
|
||||
|
||||
### Tasks (from plan)
|
||||
- [ ] Add smoke test script (2h)
|
||||
- [ ] Test with existing Option/Result (2h)
|
||||
- [ ] Performance validation (1h)
|
||||
- [ ] Run full smoke test suite (1h)
|
||||
|
||||
### Actual Progress
|
||||
```
|
||||
Task Planned Actual Status
|
||||
─────────────────────────────────────────────────────────
|
||||
Add smoke test 2h ___h ☐ ☑
|
||||
Test existing boxes 2h ___h ☐ ☑
|
||||
Performance check 1h ___h ☐ ☑
|
||||
Full smoke suite 1h ___h ☐ ☑
|
||||
```
|
||||
|
||||
### Issues Encountered
|
||||
1. (Issue description)
|
||||
- **Impact**: (blocker / delay / minor)
|
||||
- **Resolution**: (what you did)
|
||||
- **Time Lost**: ___h
|
||||
|
||||
### Tests
|
||||
```
|
||||
enum_basic_vm.sh ☐ PASS ☐ FAIL
|
||||
No naming conflicts ☐ PASS ☐ FAIL
|
||||
Performance < 5% overhead ☐ PASS ☐ FAIL
|
||||
Full smoke suite (all tests) ☐ PASS ☐ FAIL
|
||||
```
|
||||
|
||||
### Performance Metrics
|
||||
```
|
||||
Constructor overhead: ___% (target: < 5%)
|
||||
Smoke suite runtime: ___s (before: ___s, delta: ___%)
|
||||
```
|
||||
|
||||
### Files Changed
|
||||
- [ ] `tools/smokes/v2/profiles/quick/core/enum_basic_vm.sh`
|
||||
|
||||
### Notes
|
||||
(Any observations, learnings, or concerns)
|
||||
|
||||
---
|
||||
|
||||
## 🚦 GATE 1: End of Day 5 Decision
|
||||
|
||||
### Success Criteria
|
||||
```
|
||||
✅ 10/10 tests PASS Actual: ___/10
|
||||
✅ Smoke tests clean Actual: ☐ PASS ☐ FAIL
|
||||
✅ Performance < 5% Actual: ___%
|
||||
```
|
||||
|
||||
### Decision
|
||||
- ☐ **GO**: Proceed to Week 2 (@match implementation)
|
||||
- ☐ **NO-GO**: (Choose one)
|
||||
- ☐ +1-2 days debugging (if fixable)
|
||||
- ☐ Full rollback (if fundamental flaw)
|
||||
|
||||
### If NO-GO, describe issue:
|
||||
(Explain what went wrong and why)
|
||||
|
||||
### Stakeholder Notification
|
||||
(Update CURRENT_TASK.md and notify team if NO-GO)
|
||||
|
||||
---
|
||||
|
||||
## Days 6-11: @match Implementation
|
||||
|
||||
**(Use similar template structure for each day)**
|
||||
|
||||
**Day 6**: Parser @match syntax
|
||||
**Day 7**: Pattern analysis
|
||||
**Day 8**: If-else desugaring
|
||||
**Day 9**: Exhaustiveness check
|
||||
**Day 10**: Test suite (15 patterns)
|
||||
**Day 11**: Edge cases
|
||||
|
||||
---
|
||||
|
||||
## 🚦 GATE 2: End of Day 11 Decision
|
||||
|
||||
### Success Criteria
|
||||
```
|
||||
✅ 15/15 tests PASS Actual: ___/15
|
||||
✅ Exhaustiveness works Actual: ☐ YES ☐ NO
|
||||
✅ Smoke tests clean Actual: ☐ PASS ☐ FAIL
|
||||
```
|
||||
|
||||
### Decision
|
||||
- ☐ **GO**: Proceed to Week 3 (Selfhost integration)
|
||||
- ☐ **CAUTION**: Proceed with limitations (if 12-14/15 tests PASS)
|
||||
- ☐ **NO-GO**: Rollback to @enum-only (if < 12/15 tests PASS)
|
||||
|
||||
### If CAUTION or NO-GO, describe:
|
||||
(Explain limitations or issues)
|
||||
|
||||
---
|
||||
|
||||
## Days 12-14: Selfhost Application
|
||||
|
||||
**(Use similar template structure for each day)**
|
||||
|
||||
**Day 12**: Option/Result v2
|
||||
**Day 13**: Mini-VM integration
|
||||
**Day 14**: Integration tests + docs
|
||||
|
||||
---
|
||||
|
||||
## 🚦 GATE 3: End of Day 14 Decision
|
||||
|
||||
### Success Criteria
|
||||
```
|
||||
✅ ALL smoke tests PASS Actual: ☐ PASS ☐ FAIL
|
||||
✅ No regressions Actual: ☐ PASS ☐ FAIL
|
||||
✅ Performance < 5% Actual: ___%
|
||||
```
|
||||
|
||||
### Decision
|
||||
- ☐ **GO**: Ready to ship (or use buffer days for polish)
|
||||
- ☐ **CAUTION**: Use buffer days to fix issues
|
||||
- ☐ **NO-GO**: Full rollback
|
||||
|
||||
### If CAUTION or NO-GO, describe:
|
||||
(Explain what needs fixing)
|
||||
|
||||
---
|
||||
|
||||
## Days 15-17: Buffer Days
|
||||
|
||||
**Purpose**: Debug, optimize, polish
|
||||
|
||||
### Activities
|
||||
- [ ] Fix remaining test failures
|
||||
- [ ] Performance optimization
|
||||
- [ ] Documentation polish
|
||||
- [ ] Code review and cleanup
|
||||
|
||||
---
|
||||
|
||||
## 🏁 FINAL GATE: End of Day 17
|
||||
|
||||
### Success Criteria
|
||||
```
|
||||
✅ All 30 test patterns PASS Actual: ___/30
|
||||
✅ All 62 smoke tests PASS Actual: ___/62
|
||||
✅ Performance < 5% Actual: ___%
|
||||
✅ Documentation complete Actual: ☐ YES ☐ NO
|
||||
```
|
||||
|
||||
### Decision
|
||||
- ☐ **SHIP**: Ready to commit
|
||||
- ☐ **ABORT**: Full rollback
|
||||
|
||||
### If ABORT, post-mortem:
|
||||
(Document what went wrong and lessons learned)
|
||||
|
||||
---
|
||||
|
||||
## 📊 Weekly Summary Template
|
||||
|
||||
### Week 1 Summary (Days 1-5)
|
||||
```
|
||||
Total Hours: ___h (planned: 30-40h)
|
||||
Tests PASS: ___/10
|
||||
Gate 1 Result: ☐ GO ☐ NO-GO
|
||||
Key Issues: (list)
|
||||
Lessons Learned: (list)
|
||||
```
|
||||
|
||||
### Week 2 Summary (Days 6-11)
|
||||
```
|
||||
Total Hours: ___h (planned: 38-50h)
|
||||
Tests PASS: ___/15
|
||||
Gate 2 Result: ☐ GO ☐ CAUTION ☐ NO-GO
|
||||
Key Issues: (list)
|
||||
Lessons Learned: (list)
|
||||
```
|
||||
|
||||
### Week 3 Summary (Days 12-14)
|
||||
```
|
||||
Total Hours: ___h (planned: 16-22h)
|
||||
Smoke Tests: ___/62 PASS
|
||||
Gate 3 Result: ☐ GO ☐ CAUTION ☐ NO-GO
|
||||
Key Issues: (list)
|
||||
Lessons Learned: (list)
|
||||
```
|
||||
|
||||
### Buffer Summary (Days 15-17)
|
||||
```
|
||||
Total Hours: ___h (planned: 0-24h)
|
||||
Activities: (list)
|
||||
Final Result: ☐ SHIP ☐ ABORT
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Final Project Summary
|
||||
|
||||
**Total Calendar Days**: ___
|
||||
**Total Work Hours**: ___h
|
||||
**Tests Written**: ___
|
||||
**Tests Passing**: ___/___
|
||||
**Files Changed**: ___
|
||||
**Lines Added**: ___
|
||||
**Lines Deleted**: ___
|
||||
**Performance Impact**: ___%
|
||||
|
||||
**Success Criteria Met**:
|
||||
- [ ] All functional requirements
|
||||
- [ ] All quality requirements
|
||||
- [ ] All "ガチガチ" criteria
|
||||
|
||||
**Rollback Used**:
|
||||
- [ ] No rollback (full implementation)
|
||||
- [ ] Option 1 (@enum only)
|
||||
- [ ] Option 2 (full rollback)
|
||||
|
||||
**Lessons Learned**:
|
||||
1. (What went well)
|
||||
2. (What could be improved)
|
||||
3. (Unexpected challenges)
|
||||
4. (Recommendations for future)
|
||||
|
||||
---
|
||||
|
||||
**Created**: 2025-10-08
|
||||
**Purpose**: Daily execution tracking
|
||||
**Usage**: Copy relevant day template, fill in as you work, update CURRENT_TASK.md at EOD
|
||||
Reference in New Issue
Block a user