Friction
rivet 0.32.0, rivet coverage --tests on pulseengine/varve (commit with markers in crates/varve-core/src/*.rs and crates/varve/tests/cli.rs).
Markers written in the documented shape:
// rivet: verifies REQ-SCOPE-001
#[test]
fn resolution_and_listing_never_write_to_the_core() { ... }
are sometimes attributed to the wrong function in the coverage report. Observed attributions:
REQ-SCOPE-001 → ambiguous_name_fails_closed_instead_of_choosing (the marker sits on the next test, resolution_and_listing_never_write_to_the_core)
- helper fns reported as tests:
store (verifies), varve (verifies), fmt (verifies), load (verifies), find_pin (verifies) — these are non-test helpers/impl fns adjacent to marked tests
The requirement→marker count is right, so rivet verify still advances correctly, but the marker→test-name binding is unreliable — which matters for evidence auditing (an assessor reading the report is pointed at the wrong test, and a future verification-evidence-style check that trusts the binding would validate the wrong thing).
Guess: the scanner binds a marker to the nearest fn by proximity rather than to the first fn after the marker (skipping attributes like #[test]), so intervening helpers or preceding impl fns win.
Repro: pulseengine/varve @ feat/v0.1.0-resolution-core, rivet coverage --tests.
🤖 Filed mid-feature-loop per report-tool-friction.
Friction
rivet 0.32.0,
rivet coverage --testson pulseengine/varve (commit with markers incrates/varve-core/src/*.rsandcrates/varve/tests/cli.rs).Markers written in the documented shape:
are sometimes attributed to the wrong function in the coverage report. Observed attributions:
REQ-SCOPE-001 → ambiguous_name_fails_closed_instead_of_choosing(the marker sits on the next test,resolution_and_listing_never_write_to_the_core)store (verifies),varve (verifies),fmt (verifies),load (verifies),find_pin (verifies)— these are non-test helpers/impl fns adjacent to marked testsThe requirement→marker count is right, so
rivet verifystill advances correctly, but the marker→test-name binding is unreliable — which matters for evidence auditing (an assessor reading the report is pointed at the wrong test, and a futureverification-evidence-style check that trusts the binding would validate the wrong thing).Guess: the scanner binds a marker to the nearest
fnby proximity rather than to the firstfnafter the marker (skipping attributes like#[test]), so intervening helpers or preceding impl fns win.Repro: pulseengine/varve @ feat/v0.1.0-resolution-core,
rivet coverage --tests.🤖 Filed mid-feature-loop per report-tool-friction.