Summary
witness MC/DC on the composed flight-control stream pipeline (//:falcon-cascade-stream-coverage) instruments cleanly — 2713 branches found — but the run invokes nothing (witness-run.json: invoked: [], trace rows 0), so 0/2713 branches are exercised and the LCOV is empty.
Cause
The composed pipeline's only export is the async-lift stream function [async-lift]falcon:cascade-stream/cascade-stream@0.1.0#monitor. The witness WASI harness (host/witness-wasi-harness) discovers + invokes exports, but it can't drive an async-lift stream export (streams aren't simple call-return; the harness's --invoke-with-args / WITNESS_HARNESS_INVOKES syntax is for scalar args). The earlier "memory fault at 0x100000" traces were the harness failing to invoke it, not a buffer overflow (trace_health.overflow: false).
Progress already landed (v1.75, #201)
The ask
Populated MC/DC on the stream pipeline needs either (a) witness/harness support to drive an async-lift stream export (feed a bounded input stream, collect the output), or (b) a sync entry point on the composed component (e.g. step(cascade-input) -> motor-pwm) the harness can invoke — but the harness also needs to supply the nested-record arg. Tracking here; cross-ref #145.
Summary
witness MC/DC on the composed flight-control stream pipeline (
//:falcon-cascade-stream-coverage) instruments cleanly — 2713 branches found — but the run invokes nothing (witness-run.json:invoked: [], trace rows 0), so 0/2713 branches are exercised and the LCOV is empty.Cause
The composed pipeline's only export is the async-lift stream function
[async-lift]falcon:cascade-stream/cascade-stream@0.1.0#monitor. The witness WASI harness (host/witness-wasi-harness) discovers + invokes exports, but it can't drive an async-lift stream export (streams aren't simple call-return; the harness's--invoke-with-args/WITNESS_HARNESS_INVOKESsyntax is for scalar args). The earlier "memory fault at 0x100000" traces were the harness failing to invoke it, not a buffer overflow (trace_health.overflow: false).Progress already landed (v1.75, #201)
cabi_realloc→ witness parses it. (The syncfalcon-cascade-fusedfuses 6 components → duplicatecabi_realloc$N→ still parse-blocked, witness MC/DC on the real flight component (falcon_flight_component.wasm) #145.)witness lcovmoved to--run/--manifestflags.The ask
Populated MC/DC on the stream pipeline needs either (a) witness/harness support to drive an async-lift stream export (feed a bounded input stream, collect the output), or (b) a sync entry point on the composed component (e.g.
step(cascade-input) -> motor-pwm) the harness can invoke — but the harness also needs to supply the nested-record arg. Tracking here; cross-ref #145.