This document tracks the parity gate for scanner core logic consolidated into
crates/scanner-engine.
The runtime-facing integration surface currently keeps configuration,
summary, and parity plumbing local to gossip-scanner-runtime:
crates/gossip-scanner-runtimeprovides typedscan_fsandscan_gitentrypoints plus sink-awarescan_fs_with_runtimeandscan_git_with_runtimehelpers.crates/scanner-rs-cliexposes the workspacescanner-rsbinary withscan fs|gitshape and--execution-modedefaulting todirect.crates/gossip-workerexercises the same runtime surface through a config-resolved worker entrypoint that can dispatch either to local scans or to the distributed worker path.crates/gossip-scanner-runtimeowns localScanReport,ScanCheckpoint,CancellationToken, commit-pipeline, commit-sink, commit-model, result-translation, result-committer, checkpoint-aggregator, coordination-sink, and distributed worker-loop types.crates/scanner-engineowns the detection pipeline: vectorscan prefilter, regex, transform decode, offline validation, and finding emission.
At the moment the runtime validates scan inputs, routes filesystem and git requests through live family runtimes, and exposes a receipt-driven distributed worker loop for filesystem leases. End-to-end parity work remains focused on the surfaces with pinned fixtures and canonicalized outputs:
- CLI parsing and summary rendering
- event-sink formatting
- JSONL canonicalization in
parity.rs - local-vs-distributed filesystem finding-set parity after JSONL path normalization
- deterministic identity derivation via
translate_item_result
As additional receipt-driven distributed paths land, the same public runtime API can widen detection-path parity work without another caller-facing surface change.
Throughput gates apply to runtime paths that execute the scanner engine:
- median absolute throughput delta <=
2.0% - per-case absolute throughput delta <=
5.0%