Scratch-only mounted interception fixture, 2026-10-02

Artifacts
- fix.patch: three WORKBENCH native source files, runner opt-in, new actual-method regression and existing cover harness compatibility adapter.
- source-manifest.json: exact proposed source/test/patch SHA256.
- baseline.json + baseline/: working/index evidence for all previously existing changed files, including inherited runner changes.
- apply-check.log: git apply --check against successor passed. No target edits, staging or native launch occurred.
- run-tests.sh: repeatable focused tests; test.log and cover-test.log both green.
- dwell-reset-mutation.log: deleting the actual dwell reset compiled and assertion-failed; isolated mutation never belongs to patch.
- Register tests/test_native_mounted_intercept.py in tools/check.py separately. No check.py changes included.

Future opt-in command shape (do not execute without parent frozen-source/native preflight):
python3 tools/headless_workbench.py --project chat --smoke convoy --mounted-intercept --rounds 1 --timeout 900 --compat <owned-disposable-prefix> --profile <fresh-external-private-profile>
Retain existing environment/native ownership guards and any required explicit audited external addon argument. --mounted-intercept rejects non-convoy, non-Chat, multiple rounds, timeout below 900, or --convoy-cover. Ordinary default fixture remains unchanged.

Proof boundary
After existing native six-vehicle readiness/cargo/original-actor/movement proof, a fixed 240-second stage arranges two explicitly synthetic on-foot observation samples through an original remote foot radio witness. ContactReport, actual uplink route, HQ delivered memory, ordinary mounted intercept planning and actual downlink delivery remain production paths. Pending/Delivered hooks only observe the production TickMountedIntercept boundary; there is no ApplyIntercept, direct memory insertion/delivery, AI teleport, new force, cargo transfer or refilling.
The fixture pins exact original vehicle/group/crew, order/token/report/revision/destination/expiry. It requires actual detour waypoint installation after radio completion, >=20 m motion and <=15 m target arrival, continuous five-second hold within 5 m with no detour waypoint, retention until fixed expiry, exact claim/detour removal, ordinary route waypoint and >=10 m physical resumed movement. Leaving before dwell completion resets the dwell; leaving after proof before expiry fails. Native actor identities and force/cargo counts remain unchanged.
Outer opt-in deadline is 840 seconds; external minimum is 900. Original base convoy proof remains bounded by its original 480-second stage. No missing capacity/status/road/radio condition is forced to pass.

Interventions and limitations
The original convoy fixture already opens the prison, protects its observer and dispatches a finite authored convoy. New fixture explicitly clears the selected observer's LocalAwareness inbox to isolate two synthetic observation samples. This is synthetic report arrangement, not natural hostile detection or perceptual qualification. Native radio hops, HQ selection, physical AI routing, dwell and resumption remain required and currently UNTESTED in engine. Natural local convoy contact intentionally cancels interception; lack of road clearance, fresh armed escort status, task availability, planner capacity or eligible witness can cause a bounded failure. No settings or gameplay policies are weakened to obtain success.
The actual-method tests double engine boundaries and exercise the complete witness class, actual runner argument AST, and actual convoy terminal branch. The queue/hook methods have source/order checks, not a full native radio simulation. Do not label this native-qualified until a future frozen-source run passes.

Current parent development package is intentionally unaffected by this scratch proposal.

Refresh1456: current source apply-check passed. All three proposed native source files and runner byte-identical to1349. New regression additionally checks visible protected base/production hook declarations and executes actual fixture override for all transition outcomes. See api-review.json; native compilation is still pending. Prior dwell reset red evidence remains at /tmp/erri-mounted-native-1349/dwell-reset-mutation.log.
