docs: restore docs/private/roadmap from 7b4908f9 (Phase 20.31)

This commit is contained in:
nyash-codex
2025-10-31 18:00:10 +09:00
parent 1d49e24bf0
commit 8fd3a2b509
433 changed files with 108935 additions and 0 deletions

View File

@ -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