38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
|
|
# Sprint 52 Plan: Dynamic Language Family (Python, JavaScript, TypeScript, Ruby, Lua)
|
||
|
|
|
||
|
|
## Context
|
||
|
|
|
||
|
|
Dynamic languages need stronger intent recovery and runtime-behavior modeling.
|
||
|
|
Sprint 52 targets semantics needed for safe projection to static targets.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Goals
|
||
|
|
|
||
|
|
1. Model dynamic typing, duck typing, and runtime reflection boundaries
|
||
|
|
2. Add type-shape inference packets for IR lowering
|
||
|
|
3. Add configurable strictness policies when raising to static languages
|
||
|
|
4. Gate dynamic->static ports with explicit review packets
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Steps
|
||
|
|
|
||
|
|
### Step 749: Python lowering adapter v2 (dynamic shape packets) (12 tests)
|
||
|
|
### Step 750: JavaScript lowering adapter v2 (prototype/object model) (10 tests)
|
||
|
|
### Step 751: TypeScript lowering adapter v2 (declared type integration) (10 tests)
|
||
|
|
### Step 752: Ruby lowering adapter v1 (meta-programming boundaries) (10 tests)
|
||
|
|
### Step 753: Lua lowering adapter v1 (table/closure semantics) (10 tests)
|
||
|
|
### Step 754: Dynamic strictness policy engine (`lenient/balanced/strict`) (10 tests)
|
||
|
|
### Step 755: Dynamic->static risk classifier (8 tests)
|
||
|
|
### Step 756: `whetstone_transpile_dynamic_family` MCP tool (8 tests)
|
||
|
|
### Step 757: Dynamic family acceptance report + review queue wiring (8 tests)
|
||
|
|
### Step 758: Sprint 52 integration summary + regression (8 tests)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Policy Requirement
|
||
|
|
|
||
|
|
- Any unresolved dynamic dispatch must emit review-required packets
|
||
|
|
- No silent `any`-style collapse in strict profile
|