Context
Typra 0.13.0's @vector harness is async-capable: it awaits awaitable adapter
results and enforces the sync/async contract (a sync-declared vector that
returns a future is a violation). Several pipeline-stage contracts
(render / parse / toRequest / process / replay) are currently wired through
sync stand-ins in some runtimes rather than the runtime's real async
pipeline, so the async path isn't exercised end-to-end everywhere.
This is a Prompty-side wiring task (not upstream-blocked): the harness already
supports async; we need to route the waived/sync-standin stages through the
actual async pipeline in each runtime that has one.
Scope
- For each runtime with a real async pipeline, wire render/parse/toRequest/
process/replay adapters to the async implementation instead of a sync
stand-in.
- Keep honest waivers only where a stage genuinely does not exist in that
runtime.
- Confirm the harness exercises the async path (await + sync-violation
enforcement) for those stages.
Done when
- Async pipeline stages are driven by the real async implementations across
runtimes that have them, with waivers only for genuinely-absent layers.
- Conformance green; no sync stand-ins masking async behavior.
Not blocked
Async support is present in the pinned emitter (0.13.0).
Context
Typra 0.13.0's
@vectorharness is async-capable: it awaits awaitable adapterresults and enforces the sync/async contract (a sync-declared vector that
returns a future is a violation). Several pipeline-stage contracts
(render / parse / toRequest / process / replay) are currently wired through
sync stand-ins in some runtimes rather than the runtime's real async
pipeline, so the async path isn't exercised end-to-end everywhere.
This is a Prompty-side wiring task (not upstream-blocked): the harness already
supports async; we need to route the waived/sync-standin stages through the
actual async pipeline in each runtime that has one.
Scope
process/replay adapters to the async implementation instead of a sync
stand-in.
runtime.
enforcement) for those stages.
Done when
runtimes that have them, with waivers only for genuinely-absent layers.
Not blocked
Async support is present in the pinned emitter (0.13.0).