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

24 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).