Files
hakorune/docs/private/roadmap/phases/phase-15.7/async-sync-lowering.md

24 lines
1.1 KiB
Markdown
Raw Normal View History

# Phase15.7 — Async/Sync Lowering Plan (Short)
Scope
- Stabilize `callAsync` → scheduler → `FutureBox` across backends.
- Keep LLVM path green via nyllvmc (crate) and llvmlite harness for minimal async.
Milestones
1) Docs first (this file; guides/async-model.md; llvmhakoabi async notes) — done
2) Smokes
- quickselfhost: callable_async, callable_async_parallel — green
- curated_llvm: asyncawaitmin — keep green; spawn -> SKIP until builder fix
3) Builder fixes (llvmlite)
- Implement `_resolve_arg` in Python builder to support spawn/instance
- Add timeouts for harness subprocess; FailFast on missing `.o`
4) Batch timer harness
- Reduce TimerBox checks (batching+calibration) in fixedtime suite
- Optional asynctimer flag for stopflag scheduling
5) Parity sweep
- Rust VM ↔ HakoruneVM ↔ LLVM ops/sec within target bands on fixedtime suite
Policies
- Sync default; async optin only. No silent fallbacks.
- Determinism mode denies external IO/threads (futures must be pure compute or error).