Skip to content
Astera Technology

Separate capture mode from guessed scanner origin

Compare identical traces before claiming timing identifies hardware.

Download complete case notes and answer keys ↓

Set the decision and its input

The supplied human and scanner candidate traces both contain A/1/2 at0/5/10. The programme compares each observed key and time in order and finds the sequences identical. Those observations cannot distinguish the origins. Manual or scanner capture mode selects routing, not verified physical provenance.

Filled local test worksheet
CaseInput JSON
Base test{"captureMode":"manual","traces":[{"candidateOrigin":"human","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]},{"candidateOrigin":"scanner","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]}]}
Download editable CSV ↓

Run the supplied comparison

The faulty path still calls the input scanner-originated. The correction keeps physicalOrigin unknown. No universally reliable speed classifier is proposed.

Faulty and required outputs
PathOutput JSON
Faulty path{"route":"scanner","physicalOrigin":"scanner","sameObservedTrace":true,"timingCanDistinguish":false}
Required path{"route":"manual","physicalOrigin":"unknown","sameObservedTrace":true,"timingCanDistinguish":false}
Download editable CSV ↓
Complete local Node24.14.1 programme
import assert from 'node:assert/strict';

const run=function run(i,corrected=true){
    if(!['scanner','manual'].includes(i.captureMode))return {held:true};
    const signature=trace=>trace.events.map(event=>[event.key,event.at]);
    const sameObservedTrace=i.traces.length===2&&JSON.stringify(signature(i.traces[0]))===JSON.stringify(signature(i.traces[1]));
    if(!sameObservedTrace)return {held:true,reason:'outside-matched-trace-example'};
    return {route:corrected?i.captureMode:'scanner',physicalOrigin:corrected?'unknown':'scanner',sameObservedTrace,timingCanDistinguish:!sameObservedTrace};
  };
const cases=[{"input":{"captureMode":"manual","traces":[{"candidateOrigin":"human","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]},{"candidateOrigin":"scanner","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]}]},"corrected":false,"expected":{"route":"scanner","physicalOrigin":"scanner","sameObservedTrace":true,"timingCanDistinguish":false}},{"input":{"captureMode":"manual","traces":[{"candidateOrigin":"human","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]},{"candidateOrigin":"scanner","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]}]},"corrected":true,"expected":{"route":"manual","physicalOrigin":"unknown","sameObservedTrace":true,"timingCanDistinguish":false}},{"input":{"captureMode":"scanner","traces":[{"candidateOrigin":"human","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]},{"candidateOrigin":"scanner","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]}]},"corrected":true,"expected":{"route":"scanner","physicalOrigin":"unknown","sameObservedTrace":true,"timingCanDistinguish":false}},{"input":{"captureMode":null,"traces":[]},"corrected":true,"expected":{"held":true}}];
for(const test of cases){const actual=await run(test.input,test.corrected);assert.deepEqual(actual,test.expected);console.log(actual);}
Download runnable example ↓

Choose from the boundary evidence

Explicit scanner mode leaves physical origin unknown. A missing mode is held; a different trace pair is outside this matched example and is not automatically classified.

  1. Compare complete traces
  2. Retain unresolved origin
  3. Choose routing explicitly

A fast trace is not hardware identity evidence.

Editable boundary inputs and outputs
ConditionInput JSONExpected output JSON
explicit scanner capture mode{"captureMode":"scanner","traces":[{"candidateOrigin":"human","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]},{"candidateOrigin":"scanner","events":[{"key":"A","at":0},{"key":"1","at":5},{"key":"2","at":10}]}]}{"route":"scanner","physicalOrigin":"unknown","sameObservedTrace":true,"timingCanDistinguish":false}
mode not selected{"captureMode":null,"traces":[]}{"held":true}
Download editable CSV ↓

Does scanner mode prove the device origin?

Show the worked answer

No. It only selects capture routing. The identical observed traces remain compatible with both supplied origins.

Related resources