docs: restore docs/private/roadmap from 7b4908f9 (Phase 20.31)
This commit is contained in:
565
docs/private/roadmap/phases/phase-20.6/CHECKLIST.md
Normal file
565
docs/private/roadmap/phases/phase-20.6/CHECKLIST.md
Normal file
@ -0,0 +1,565 @@
|
||||
# Phase 20.6 — Checklist
|
||||
|
||||
**Status**: Planning
|
||||
**Duration**: 12 weeks (2026-03-01 → 2026-05-24)
|
||||
|
||||
---
|
||||
|
||||
## 進捗スナップショット(2025‑10 反映)
|
||||
|
||||
済(実装/統合)
|
||||
- [x] MirCall 正規化(Callee=Method/ModuleFunction/Extern/Constructor)
|
||||
- [x] NewBox→Constructor 既定ON(Builder/Optimizer 統一)
|
||||
- [x] Static Box “me” 注入を Rewrite へ移設 + Verifier で違反 Fail‑Fast
|
||||
- [x] LoopForm(quick 既定ON/PHI 安定)
|
||||
- [x] Boot/Lock(Zero‑Box Boot): `--frozen`/`--lock`/`--lock-verify`/`--lock-diff`
|
||||
- [x] PluginLoader v2: BootPlan 優先で探索撤退(TOML I/O 抑止)
|
||||
- [x] Lock Diff: libraries/plugins/order と先頭不一致/位置ズレ表示
|
||||
- [x] ValueIdAllocator 常時ON(ValueIdGenerator 撤退)
|
||||
- [x] スモーク刷新(quick/integration): 旧仕様/プラグイン依存スモークを opsサマリ or Hako最小コードへ置換し、全緑化
|
||||
|
||||
残(20.6 範囲:設計/文書中心・挙動不変)
|
||||
- [ ] memory ops(load/store/copy)最終仕様と Golden 設計
|
||||
- [ ] typeop(cast/check)最終仕様と Verifier 規約の整合
|
||||
- [ ] unaryop(not/neg)表記の確定(Mir JSON v1 への反映)
|
||||
- [ ] PublishedKnown と `/arity` 規約の明記(Builder/VM の使い分け)
|
||||
- [ ] Box Eq/Ne 統一経路(Enum.equals / nyrt.ops.op_eq)の記述強化
|
||||
- [ ] Boot/Lock 運用 CLI 例を PLAN/INDEX にも併記
|
||||
|
||||
---
|
||||
|
||||
## Phase B Complete: VM Core (Week 1-6)
|
||||
|
||||
### Week 1-2: Memory Operations (2026-03-01 - 03-14)
|
||||
|
||||
#### Implementation
|
||||
|
||||
- [ ] Design memory operation handlers
|
||||
- [ ] Implement `load_handler.hako`
|
||||
- [ ] Load value from memory
|
||||
- [ ] Handle invalid memory addresses
|
||||
- [ ] Result-based error handling
|
||||
- [ ] Implement `store_handler.hako`
|
||||
- [ ] Store value to memory
|
||||
- [ ] Handle memory overflow
|
||||
- [ ] Result-based error handling
|
||||
- [ ] Implement `copy_handler.hako`
|
||||
- [ ] Copy value between registers
|
||||
- [ ] Handle invalid register IDs
|
||||
- [ ] Result-based error handling
|
||||
|
||||
#### Testing
|
||||
|
||||
- [ ] Create test suite: `tests/golden/phase-b/memory/`
|
||||
- [ ] `test_load_basic.hako` - Basic load operation
|
||||
- [ ] `test_store_basic.hako` - Basic store operation
|
||||
- [ ] `test_copy_basic.hako` - Basic copy operation
|
||||
- [ ] `test_load_invalid_address.hako` - Error handling
|
||||
- [ ] `test_store_overflow.hako` - Error handling
|
||||
- [ ] `test_memory_aliasing.hako` - Multiple references
|
||||
- [ ] `test_load_store_cycle.hako` - Load after store
|
||||
- [ ] `test_copy_chain.hako` - Multiple copies
|
||||
- [ ] `test_memory_edge_cases.hako` - Edge cases
|
||||
- [ ] `test_memory_stress.hako` - Stress test
|
||||
|
||||
#### Integration
|
||||
|
||||
- [ ] Update instruction dispatcher to handle new ops
|
||||
- [ ] Run Golden Tests for memory operations
|
||||
- [ ] Measure performance vs Rust-VM
|
||||
- [ ] Document memory operation design
|
||||
|
||||
---
|
||||
|
||||
### Week 3-4: Unified Call (MirCall) (2026-03-15 - 03-28)
|
||||
|
||||
#### Implementation
|
||||
|
||||
- [ ] Design unified MirCall handler
|
||||
- [ ] Implement `mir_call_handler.hako`(単一エントリ)
|
||||
- [ ] Callee::Method(受領者付き)
|
||||
- [ ] Callee::ModuleFunction("Box.method/arity")
|
||||
- [ ] Callee::Extern("iface.method")
|
||||
- [ ] Callee::Constructor{box_type}
|
||||
- [ ] Result-based error handling / Effect tracking
|
||||
|
||||
#### Testing
|
||||
|
||||
- [ ] Create test suite: `tests/golden/phase-b/calls/`
|
||||
- [ ] `test_method_call.hako` - Method
|
||||
- [ ] `test_module_function_call.hako` - Module function
|
||||
- [ ] `test_closure_call_basic.hako` - Basic closure
|
||||
- [ ] `test_closure_call_capture.hako` - Closure with capture
|
||||
- [ ] `test_extern_call_time.hako` - External call (time)
|
||||
- [ ] `test_extern_call_array_size.hako` - External call (array.size)
|
||||
- [ ] `test_constructor_call.hako` - Constructor callee
|
||||
- [ ] `test_call_recursion.hako` - Recursive call
|
||||
- [ ] `test_call_nested.hako` - Nested calls
|
||||
- [ ] `test_call_with_complex_args.hako` - Complex arguments
|
||||
- [ ] `test_call_error_handling.hako` - Error propagation
|
||||
- [ ] `test_mircall_all_variants.hako` - All MirCall variants
|
||||
|
||||
#### Integration
|
||||
|
||||
- [ ] Update instruction dispatcher to handle call ops
|
||||
- [ ] Run Golden Tests for call operations
|
||||
- [ ] Measure call performance vs Rust-VM
|
||||
- [ ] Document MirCall unification design
|
||||
|
||||
---
|
||||
|
||||
### Week 5: Type Operations (2026-03-29 - 04-04)
|
||||
|
||||
#### Implementation
|
||||
|
||||
- [ ] Design type operation handlers
|
||||
- [ ] Implement `typeop_handler.hako`
|
||||
- [ ] Type checking (is_a?)
|
||||
- [ ] Type casting (as)
|
||||
- [ ] Type comparison
|
||||
- [ ] Result-based error handling
|
||||
(Box creation は MirCall::Constructor に統一)
|
||||
|
||||
#### Testing
|
||||
|
||||
- [ ] Create test suite: `tests/golden/phase-b/types/`
|
||||
- [ ] `test_typeop_check.hako` - Type checking
|
||||
- [ ] `test_typeop_cast.hako` - Type casting
|
||||
- [ ] `test_typeop_compare.hako` - Type comparison
|
||||
- [ ] `test_typeop_invalid.hako` - Invalid type operation
|
||||
- [ ] `test_constructor_basic.hako` - Constructor callee
|
||||
- [ ] `test_constructor_birth_lifecycle.hako` - Birth method call
|
||||
- [ ] `test_type_operations_stress.hako` - Stress test
|
||||
|
||||
#### Integration
|
||||
|
||||
- [ ] Update instruction dispatcher to handle type ops
|
||||
- [ ] Run Golden Tests for type operations
|
||||
- [ ] Measure type operation performance
|
||||
- [ ] Document type system design
|
||||
|
||||
---
|
||||
|
||||
### Week 6: Control Optimizations + Golden Tests (2026-04-05 - 04-11)
|
||||
|
||||
#### Implementation
|
||||
|
||||
- [ ] Implement `barrier_handler.hako`
|
||||
- [ ] GC barrier semantics
|
||||
- [ ] Memory ordering
|
||||
- [ ] Implement `safepoint_handler.hako`
|
||||
- [ ] GC safepoint semantics
|
||||
- [ ] Stack scanning preparation
|
||||
- [ ] Implement `loopform_handler.hako`
|
||||
- [ ] Loop detection hint
|
||||
- [ ] Optimization metadata
|
||||
- [ ] Implement `unaryop_handler.hako`
|
||||
- [ ] Unary negation
|
||||
- [ ] Logical NOT
|
||||
- [ ] Result-based error handling
|
||||
|
||||
#### Golden Test Suite (100+ tests)
|
||||
|
||||
##### Arithmetic (10 tests)
|
||||
- [ ] `test_arithmetic_add.hako`
|
||||
- [ ] `test_arithmetic_sub.hako`
|
||||
- [ ] `test_arithmetic_mul.hako`
|
||||
- [ ] `test_arithmetic_div.hako`
|
||||
- [ ] `test_arithmetic_mod.hako`
|
||||
- [ ] `test_arithmetic_overflow.hako`
|
||||
- [ ] `test_arithmetic_underflow.hako`
|
||||
- [ ] `test_arithmetic_divide_by_zero.hako`
|
||||
- [ ] `test_arithmetic_complex.hako`
|
||||
- [ ] `test_arithmetic_stress.hako`
|
||||
|
||||
##### Control Flow (10 tests)
|
||||
- [ ] `test_control_if_else.hako`
|
||||
- [ ] `test_control_loop.hako`
|
||||
- [ ] `test_control_nested_loop.hako`
|
||||
- [ ] `test_control_branch.hako`
|
||||
- [ ] `test_control_jump.hako`
|
||||
- [ ] `test_control_phi_simple.hako`
|
||||
- [ ] `test_control_phi_complex.hako`
|
||||
- [ ] `test_control_early_return.hako`
|
||||
- [ ] `test_control_break_continue.hako`
|
||||
- [ ] `test_control_stress.hako`
|
||||
|
||||
##### Collections (10 tests)
|
||||
- [ ] `test_collections_array_ops.hako`
|
||||
- [ ] `test_collections_map_ops.hako`
|
||||
- [ ] `test_collections_array_iteration.hako`
|
||||
- [ ] `test_collections_map_iteration.hako`
|
||||
- [ ] `test_collections_nested_arrays.hako`
|
||||
- [ ] `test_collections_nested_maps.hako`
|
||||
- [ ] `test_collections_mixed.hako`
|
||||
- [ ] `test_collections_large_array.hako`
|
||||
- [ ] `test_collections_large_map.hako`
|
||||
- [ ] `test_collections_stress.hako`
|
||||
|
||||
##### Recursion (5 tests)
|
||||
- [ ] `test_recursion_factorial.hako`
|
||||
- [ ] `test_recursion_fibonacci.hako`
|
||||
- [ ] `test_recursion_ackermann.hako`
|
||||
- [ ] `test_recursion_mutual.hako`
|
||||
- [ ] `test_recursion_deep.hako`
|
||||
|
||||
##### Closures (5 tests)
|
||||
- [ ] `test_closures_capture.hako`
|
||||
- [ ] `test_closures_nested.hako`
|
||||
- [ ] `test_closures_multiple_capture.hako`
|
||||
- [ ] `test_closures_return_closure.hako`
|
||||
- [ ] `test_closures_closure_chain.hako`
|
||||
|
||||
##### Strings (10 tests)
|
||||
- [ ] `test_strings_concat.hako`
|
||||
- [ ] `test_strings_substring.hako`
|
||||
- [ ] `test_strings_length.hako`
|
||||
- [ ] `test_strings_compare.hako`
|
||||
- [ ] `test_strings_empty.hako`
|
||||
- [ ] `test_strings_unicode.hako`
|
||||
- [ ] `test_strings_escape.hako`
|
||||
- [ ] `test_strings_long.hako`
|
||||
- [ ] `test_strings_interpolation.hako`
|
||||
- [ ] `test_strings_stress.hako`
|
||||
|
||||
##### Types (10 tests)
|
||||
- [ ] `test_types_check.hako`
|
||||
- [ ] `test_types_cast.hako`
|
||||
- [ ] `test_types_newbox.hako`
|
||||
- [ ] `test_types_inheritance.hako`
|
||||
- [ ] `test_types_polymorphism.hako`
|
||||
- [ ] `test_types_interface.hako`
|
||||
- [ ] `test_types_null_handling.hako`
|
||||
- [ ] `test_types_error_propagation.hako`
|
||||
- [ ] `test_types_complex.hako`
|
||||
- [ ] `test_types_stress.hako`
|
||||
|
||||
##### Memory (10 tests)
|
||||
- [ ] `test_memory_load.hako`
|
||||
- [ ] `test_memory_store.hako`
|
||||
- [ ] `test_memory_copy.hako`
|
||||
- [ ] `test_memory_aliasing.hako`
|
||||
- [ ] `test_memory_stack.hako`
|
||||
- [ ] `test_memory_heap.hako`
|
||||
- [ ] `test_memory_gc_barrier.hako`
|
||||
- [ ] `test_memory_gc_safepoint.hako`
|
||||
- [ ] `test_memory_leak_check.hako`
|
||||
- [ ] `test_memory_stress.hako`
|
||||
|
||||
##### Complex (30 tests)
|
||||
- [ ] `test_complex_mini_compiler.hako`
|
||||
- [ ] `test_complex_json_parser.hako`
|
||||
- [ ] `test_complex_expression_evaluator.hako`
|
||||
- [ ] `test_complex_state_machine.hako`
|
||||
- [ ] `test_complex_tree_traversal.hako`
|
||||
- [ ] `test_complex_graph_algorithm.hako`
|
||||
- [ ] `test_complex_sorting.hako`
|
||||
- [ ] `test_complex_searching.hako`
|
||||
- [ ] `test_complex_pattern_matching.hako`
|
||||
- [ ] `test_complex_regex.hako`
|
||||
- [ ] `test_complex_http_parser.hako`
|
||||
- [ ] `test_complex_csv_parser.hako`
|
||||
- [ ] `test_complex_xml_parser.hako`
|
||||
- [ ] `test_complex_markdown_parser.hako`
|
||||
- [ ] `test_complex_code_formatter.hako`
|
||||
- [ ] `test_complex_calculator.hako`
|
||||
- [ ] `test_complex_interpreter.hako`
|
||||
- [ ] `test_complex_vm_simulator.hako`
|
||||
- [ ] `test_complex_assembler.hako`
|
||||
- [ ] `test_complex_disassembler.hako`
|
||||
- [ ] `test_complex_profiler.hako`
|
||||
- [ ] `test_complex_debugger.hako`
|
||||
- [ ] `test_complex_optimizer.hako`
|
||||
- [ ] `test_complex_code_generator.hako`
|
||||
- [ ] `test_complex_type_checker.hako`
|
||||
- [ ] `test_complex_linter.hako`
|
||||
- [ ] `test_complex_test_framework.hako`
|
||||
- [ ] `test_complex_build_system.hako`
|
||||
- [ ] `test_complex_package_manager.hako`
|
||||
- [ ] `test_complex_stress_all.hako`
|
||||
|
||||
#### Performance Measurement
|
||||
|
||||
- [ ] Run all Golden Tests (100+)
|
||||
- [ ] Measure Hako-VM vs Rust-VM performance
|
||||
- [ ] Generate performance report
|
||||
- [ ] Verify: Hako-VM ≥ 50% of Rust-VM
|
||||
|
||||
#### Week 6 Deliverables
|
||||
|
||||
- [ ] All 16 MIR instructions implemented
|
||||
- [ ] 100+ Golden Tests ALL PASS
|
||||
- [ ] Performance report complete
|
||||
- [ ] Phase B completion report
|
||||
|
||||
---
|
||||
|
||||
## Phase C: Dispatch Unification (Week 7-12)
|
||||
|
||||
### Week 7-8: Resolver Integration (2026-04-12 - 04-25)
|
||||
|
||||
#### Design
|
||||
|
||||
- [ ] Finalize Resolver architecture
|
||||
- [ ] Design MethodHandle structure
|
||||
- [ ] Design type registry structure
|
||||
- [ ] Review with ChatGPT/Claude
|
||||
|
||||
#### Implementation
|
||||
|
||||
- [ ] Implement `resolver_box.hako`
|
||||
- [ ] `lookup(type_id, method, arity) -> MethodHandle`
|
||||
- [ ] Type registry initialization
|
||||
- [ ] Method registration API
|
||||
- [ ] Fail-Fast for unknown methods
|
||||
- [ ] Implement `method_handle_box.hako`
|
||||
- [ ] Handle storage (implementation + metadata)
|
||||
- [ ] Arity information
|
||||
- [ ] Type information
|
||||
- [ ] Implement `type_registry_box.hako`
|
||||
- [ ] Type registration
|
||||
- [ ] Method registry per type
|
||||
- [ ] Lookup optimization
|
||||
|
||||
#### Testing
|
||||
|
||||
- [ ] Create test suite: `tests/golden/phase-c/resolver/`
|
||||
- [ ] `test_resolver_lookup_success.hako` - Successful lookup
|
||||
- [ ] `test_resolver_lookup_failure.hako` - Fail-Fast behavior
|
||||
- [ ] `test_resolver_arity_mismatch.hako` - Arity check
|
||||
- [ ] `test_resolver_type_not_found.hako` - Unknown type
|
||||
- [ ] `test_resolver_method_not_found.hako` - Unknown method
|
||||
- [ ] `test_resolver_registration.hako` - Type registration
|
||||
- [ ] `test_resolver_override.hako` - Method override
|
||||
- [ ] `test_resolver_inheritance.hako` - Method inheritance
|
||||
- [ ] `test_resolver_multiple_types.hako` - Multiple types
|
||||
- [ ] `test_resolver_performance.hako` - Lookup performance
|
||||
- [ ] `test_resolver_edge_cases.hako` (10 tests) - Edge cases
|
||||
|
||||
#### Integration
|
||||
|
||||
- [ ] Integrate Resolver with call_handler
|
||||
- [ ] Run integration tests (20 tests)
|
||||
- [ ] Measure lookup performance
|
||||
- [ ] Document Resolver design
|
||||
|
||||
---
|
||||
|
||||
### Week 9-10: CallableBox Refactoring (2026-04-26 - 05-09)
|
||||
|
||||
#### Design
|
||||
|
||||
- [ ] Finalize CallableBox architecture
|
||||
- [ ] Design NoOperatorGuard mechanism
|
||||
- [ ] Design macro desugaring strategy
|
||||
- [ ] Review with ChatGPT/Claude
|
||||
|
||||
#### Implementation
|
||||
|
||||
- [ ] Implement `exec_box.hako`
|
||||
- [ ] `call_by_handle(handle, args, guard)`
|
||||
- [ ] Argument validation
|
||||
- [ ] NoOperatorGuard integration
|
||||
- [ ] Error handling
|
||||
- [ ] Implement `no_operator_guard_box.hako`
|
||||
- [ ] Guard activation/deactivation
|
||||
- [ ] Recursion prevention (for op_eq, etc.)
|
||||
- [ ] Thread-local state (if needed)
|
||||
- [ ] Implement macro desugaring (compiler side)
|
||||
- [ ] `arr.push(value)` → `Callable.ref_method(arr, :push, 1).call([value])`
|
||||
- [ ] Operator desugaring (e.g., `a + b` → `Callable.ref_operator(a, :+, 1).call([b])`)
|
||||
|
||||
#### Testing
|
||||
|
||||
- [ ] Create test suite: `tests/golden/phase-c/callable/`
|
||||
- [ ] `test_callable_call_by_handle.hako` - Basic call
|
||||
- [ ] `test_callable_no_operator_guard.hako` - Guard mechanism
|
||||
- [ ] `test_callable_recursion_prevention.hako` - Prevent re-entry
|
||||
- [ ] `test_callable_arity_validation.hako` - Arity check
|
||||
- [ ] `test_callable_error_propagation.hako` - Error handling
|
||||
- [ ] `test_macro_desugar_method.hako` - Method desugaring
|
||||
- [ ] `test_macro_desugar_operator.hako` - Operator desugaring
|
||||
- [ ] `test_macro_desugar_chain.hako` - Method chaining
|
||||
- [ ] `test_macro_desugar_nested.hako` - Nested calls
|
||||
- [ ] `test_callable_performance.hako` - Call performance
|
||||
- [ ] `test_callable_edge_cases.hako` (15 tests) - Edge cases
|
||||
|
||||
#### Integration
|
||||
|
||||
- [ ] Integrate ExecBox with Resolver
|
||||
- [ ] Update compiler for macro desugaring
|
||||
- [ ] Run integration tests (25 tests)
|
||||
- [ ] Measure call overhead
|
||||
- [ ] Document CallableBox design
|
||||
|
||||
---
|
||||
|
||||
### Week 11: Universal Route Minimization (2026-05-10 - 05-16)
|
||||
|
||||
#### Removal Tasks
|
||||
|
||||
- [ ] Identify all special-case dispatch code
|
||||
- [ ] Remove Global function special case
|
||||
- [ ] Remove Box method special case
|
||||
- [ ] Remove Closure special case
|
||||
- [ ] Remove Constructor special case
|
||||
- [ ] Remove Module function special case
|
||||
- [ ] Remove hardcoded method tables
|
||||
- [ ] Remove fallback implementations
|
||||
|
||||
#### Unification Tasks
|
||||
|
||||
- [ ] All calls go through Resolver.lookup
|
||||
- [ ] All invocations go through ExecBox.call_by_handle
|
||||
- [ ] Verify Fail-Fast for unknown methods
|
||||
- [ ] Verify no silent fallbacks
|
||||
|
||||
#### Testing
|
||||
|
||||
- [ ] Create test suite: `tests/golden/phase-c/unification/`
|
||||
- [ ] `test_unification_no_global_special_case.hako` - No special case
|
||||
- [ ] `test_unification_no_box_special_case.hako` - No special case
|
||||
- [ ] `test_unification_no_closure_special_case.hako` - No special case
|
||||
- [ ] `test_unification_no_constructor_special_case.hako` - No special case
|
||||
- [ ] `test_unification_no_module_special_case.hako` - No special case
|
||||
- [ ] `test_unification_fail_fast_unknown_method.hako` - Fail-Fast
|
||||
- [ ] `test_unification_fail_fast_wrong_arity.hako` - Fail-Fast
|
||||
- [ ] `test_unification_no_fallback.hako` - No fallback
|
||||
- [ ] `test_unification_all_paths.hako` (22 tests) - All code paths
|
||||
|
||||
#### Codebase Cleanup
|
||||
|
||||
- [ ] Remove unused code
|
||||
- [ ] Simplify control flow
|
||||
- [ ] Consolidate error handling
|
||||
- [ ] Update documentation
|
||||
|
||||
#### Integration
|
||||
|
||||
- [ ] Run all Golden Tests again (100+)
|
||||
- [ ] Verify no regressions
|
||||
- [ ] Measure performance (should be same or better)
|
||||
- [ ] Document route minimization
|
||||
|
||||
---
|
||||
|
||||
## C‑ABI Unification (design only in 20.6)
|
||||
|
||||
### Documents / Flags
|
||||
- [ ] Draft ABI header spec(hako_abi_v1: TypeId/Handle/Result/Dispatch/Allocator)
|
||||
- [ ] Two‑Layer Export policy(Stable ABI / Inlinable API)を docs に追加
|
||||
- [ ] env docs に flags を追記: `NYASH_ABI_BASIC_ON`, `NYASH_ABI_BUILTIN_LINK`
|
||||
- [ ] Build presets(default/embedded/research)を記載
|
||||
|
||||
### Verification
|
||||
- [ ] フラグOFFで quick/integration 緑(挙動不変)
|
||||
- [ ] CI は ABI フラグ非依存(導入のみ)
|
||||
|
||||
---
|
||||
|
||||
### Week 12: Integration + Documentation (2026-05-17 - 05-24)
|
||||
|
||||
#### Integration Testing
|
||||
|
||||
- [ ] Re-run all Golden Tests (155+ tests)
|
||||
- [ ] Phase B tests: 50 tests
|
||||
- [ ] Phase C tests: 75 tests
|
||||
- [ ] Integration tests: 30 tests
|
||||
- [ ] Verify 100% PASS rate
|
||||
- [ ] Run stress tests
|
||||
- [ ] Run regression tests
|
||||
|
||||
#### Performance Testing
|
||||
|
||||
- [ ] Run benchmark suite
|
||||
- [ ] Measure Hako-VM vs Rust-VM
|
||||
- [ ] Verify: Hako-VM ≥ 50% of Rust-VM
|
||||
- [ ] Generate performance report
|
||||
- [ ] Identify bottlenecks (for Phase 20.7)
|
||||
|
||||
#### Documentation
|
||||
|
||||
- [ ] **VM Core Complete Reference**
|
||||
- [ ] All 16 instructions documented
|
||||
- [ ] Control flow patterns
|
||||
- [ ] Memory model
|
||||
- [ ] Error handling
|
||||
- [ ] **Dispatch Unification Design Doc**
|
||||
- [ ] Resolver architecture
|
||||
- [ ] CallableBox design
|
||||
- [ ] NoOperatorGuard mechanism
|
||||
- [ ] Macro desugaring strategy
|
||||
- [ ] **Performance Report**
|
||||
- [ ] Benchmark results
|
||||
- [ ] Performance comparison
|
||||
- [ ] Bottleneck analysis
|
||||
- [ ] Optimization recommendations
|
||||
- [ ] **Phase 20.6 Completion Report**
|
||||
- [ ] Summary of achievements
|
||||
- [ ] Lessons learned
|
||||
- [ ] Known issues
|
||||
- [ ] Recommendations for Phase 20.7
|
||||
- [ ] **Phase 20.7 Planning Doc**
|
||||
- [ ] Collections in Hakorune
|
||||
- [ ] MapBox implementation plan
|
||||
- [ ] ArrayBox implementation plan
|
||||
- [ ] Deterministic behavior design
|
||||
|
||||
#### Code Review
|
||||
|
||||
- [ ] Self-review complete
|
||||
- [ ] ChatGPT review complete
|
||||
- [ ] Claude review complete
|
||||
- [ ] Address all review comments
|
||||
|
||||
#### CI Integration
|
||||
|
||||
- [ ] All Golden Tests passing in CI
|
||||
- [ ] Performance benchmarks in CI
|
||||
- [ ] Documentation builds in CI
|
||||
- [ ] Release notes prepared
|
||||
|
||||
---
|
||||
|
||||
## Summary Checklist
|
||||
|
||||
### Phase B Complete (Week 1-6)
|
||||
|
||||
- [ ] All 16 MIR instructions implemented
|
||||
- [ ] 50+ Golden Tests for Phase B
|
||||
- [ ] Performance: Hako-VM ≥ 50% of Rust-VM
|
||||
- [ ] Phase B completion report
|
||||
|
||||
### Phase C Complete (Week 7-12)
|
||||
|
||||
- [ ] Resolver.lookup implemented
|
||||
- [ ] ExecBox.call_by_handle implemented
|
||||
- [ ] Special-case dispatch removed
|
||||
- [ ] 75+ Golden Tests for Phase C
|
||||
- [ ] Phase C completion report
|
||||
|
||||
### Overall Phase 20.6
|
||||
|
||||
- [ ] 155+ Golden Tests ALL PASS
|
||||
- [ ] Dispatch unified (single path)
|
||||
- [ ] Performance verified (≥ 50%)
|
||||
- [ ] Documentation complete
|
||||
- [ ] Phase 20.7 planned
|
||||
- [ ] Phase 20.6 completion report submitted
|
||||
|
||||
### Completion (2025‑10)
|
||||
- Acceptance 達成:
|
||||
- quick/integration 緑(AOT canaries 含む)
|
||||
- Gate‑C Strict の代表負例が安定(診断文言固定)
|
||||
- 実施メモ:
|
||||
- quick: BlockBuilder/JsonEmit 依存の古いスモークを opsサマリ化(非プラグイン・純粋)。
|
||||
- integration: 自己ホストM2 parity を Hakoコード直書きのVM/LLVM 比較に刷新。
|
||||
- FFI‑C: devゲート(HAKO_FFI_C_STRICT)導入。既定は無効、検証時のみ厳格Fail‑Fastを確認。
|
||||
|
||||
---
|
||||
|
||||
**Created**: 2025-10-14
|
||||
**Last Updated**: 2025-10-14
|
||||
**Status**: Planning
|
||||
**Total Tasks**: 200+ checkboxes
|
||||
**All Uncompleted**: [ ] (ready for execution)
|
||||
Reference in New Issue
Block a user