Skip to content

witness MC/DC: harness can't invoke async-lift stream exports (composed pipeline coverage is 0/2713) #202

Description

@avrabe

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions