zerodds-async-1.0 — Open Items
Aggregate of zerodds-async-1.0.en.md, generated by website/_tools/gen_open_items.py.
No new content: every entry appears there as an item with its evidence.
Non-goal — async counterpart of WaitSet
Status: open — the spec excludes the async form of WaitSet and at the same time describes it as Stream<Item = ConditionEvent>; that stream is missing in crates/dcps-async/. WaitSet itself stays synchronous in crates/dcps/.
§8 One async counterpart per sync test
Status: partial — the async surface is covered item by item, but crates/dcps/tests/ holds around sixty test files (QoS matrix, lifecycle wire, discovery server, security) and crates/dcps-async/tests/ holds nine. There is no 1:1 counterpart per sync test. The remainder is tracked as its own open item “§8 1:1 async counterpart per sync test”.
§8 tokio::test as the default runner, smol as a feature probe
Status: partial — the default runner is tokio, and runtime independence is covered by a park executor built inside the test. There is no smol variant; smol is not a dev-dependency. The remainder is tracked as its own open item “§8 smol test variant”.
§8 E2E against live Cyclone plus a latency comparison
Status: partial — the sync-against-async latency comparison runs as an assertion on the release build, in the CI job perf-gate. The Cyclone live part is #[ignore] and did not run in this audit. The remainder is tracked as its own open item “§8 Cyclone live e2e without a lab gate”.
§8 1:1 async counterpart per sync test
Status: open — crates/dcps-async/tests/ has 9 test files, crates/dcps/tests/ 150; a mapping sync test → async counterpart is missing.
§8 smol test variant
Status: open — no test runs under smol::test; smol appears only in the list of runtimes that crates/dcps-async/tests/default_build.rs rules out as a dependency.
§8 Cyclone live e2e without a lab gate
Status: open — crates/dcps-async/tests/cyclone_live_async_e2e.rs::async_reader_does_not_panic_against_live_cyclone_pub is #[ignore] and needs the Cyclone lab host (ZERODDS_LAB_SSH).
zerodds-async-1.0 — offene Punkte
Aggregat aus zerodds-async-1.0.md, erzeugt von website/_tools/gen_open_items.py.
Kein eigener Inhalt: jedes Item steht dort mit seinem Beleg.
Nicht-Ziel — async-Gegenstück zu WaitSet
Status: open — die Spec schließt die async-Fassung von WaitSet aus und beschreibt sie zugleich als Stream<Item = ConditionEvent>; dieser Stream fehlt in crates/dcps-async/. WaitSet selbst bleibt synchron in crates/dcps/.
§8 Ein async-Pendant pro Sync-Test
Status: partial — die Async-Oberfläche ist item-für-item belegt, aber crates/dcps/tests/ hat rund sechzig Test-Files (QoS-Matrix, Lifecycle-Wire, Discovery-Server, Security) und crates/dcps-async/tests/ neun. Ein 1:1-Pendant pro Sync-Test gibt es nicht. Der Rest steht als eigenes open-Item „§8 1:1-Async-Pendant pro Sync-Test”.
§8 tokio::test als Default-Runner, smol als Feature-Probe
Status: partial — der Default-Runner ist tokio, und die Runtime-Unabhängigkeit ist über einen im Test gebauten Park-Executor belegt. Eine smol-Variante gibt es nicht; smol ist keine dev-dependency. Der Rest steht als eigenes open-Item „§8 smol-Test-Variante”.
§8 E2E gegen Cyclone-Live plus Latenz-Vergleich
Status: partial — der Latenz-Vergleich sync gegen async läuft als Assertion im Release-Build, im CI-Job perf-gate. Der Cyclone-Live-Teil ist #[ignore] und lief in diesem Audit nicht. Der Rest steht als eigenes open-Item „§8 Cyclone-Live-E2E ohne Lab-Gate”.
§8 1:1-Async-Pendant pro Sync-Test
Status: open — crates/dcps-async/tests/ hat 9 Testdateien, crates/dcps/tests/ 150; eine Zuordnung Sync-Test → async-Pendant fehlt.
§8 smol-Test-Variante
Status: open — kein Test läuft unter smol::test; smol kommt nur in der Liste der Runtimes vor, die crates/dcps-async/tests/default_build.rs als Abhängigkeit ausschließt.
§8 Cyclone-Live-E2E ohne Lab-Gate
Status: open — crates/dcps-async/tests/cyclone_live_async_e2e.rs::async_reader_does_not_panic_against_live_cyclone_pub ist #[ignore] und braucht den Cyclone-Laborhost (ZERODDS_LAB_SSH).