orbit-cache · decision brief · 25 Sep 2026

Telemetry cache

The planner reads the same satellite telemetry thousands of times a launch day, and every miss is a round trip to the ground station. I replayed one launch day against both eviction policies.

measured on a replay2 decisions waiting5-minute read
Verdict

Evict by recency, with a 60-second cap on staleness. Recency kept 90.8% of reads in cache with the cap, against 78.2% for a five-minute age limit, and no reading older than a minute ever reaches the planner.

01Read first

  1. Recency wins by thirteen points. 91.4% hits against 78.2% on 412,000 replayed reads. measured
  2. Plain recency serves stale readings. During a quiet pass it handed the planner a reading 14 minutes old. measured
  3. A 60-second cap costs 0.6 points. The cap evicts anything older than a minute; the hit rate falls to 90.8%. measured

02What the replay showed

01 · Hit rate, by policy
70%80%90%100% recency 91.4% recency + cap 90.8% age ≤ 5 min 78.2%
412,000 reads from one replayed launch day, cache of 4,096 readings. Recency keeps thirteen more reads in a hundred, and the cap gives back less than one of them.
02 · What a miss costs
planner cache groundstation hit · 3 ms miss · 240 ms 4,096 readings
A hit answers in 3 ms and a miss in 240. At launch-day rates, each point of hit rate is about forty seconds of planner wait an hour.
03 · Age of the reading served
05 min14 min recency alone · 14 min age ≤ 5 min recency + cap · never over 60 s
The forty minutes of a quiet pass, when few new readings arrive. Plain recency keeps serving whatever it has; the cap is what stops a 14-minute-old reading reaching the planner.
04 · The recommended path
1 2 3 evict by recency cap staleness at 60 s replay a second day
Two changes to src/cache.rs, then one more replay. The third step is unmeasured, drawn dashed until a second launch day agrees.

03Decisions

1 · Evict by recency or by age?

Recency keeps thirteen more reads in a hundred; age keeps every reading under five minutes without a second rule.

Recommendation: recency. Agree and I switch src/cache.rs to it.

2 · Cap staleness at 60 seconds?

The planner treats telemetry older than a minute as suspect, and plain recency served one 14 minutes old.

Recommendation: yes, at 60 s, for 0.6 points of hit rate.

How the replay was run

cargo bench --bench cache

The day

412,000 telemetry reads captured from one launch day, replayed in order at recorded timing against each policy with a cold cache of 4,096 readings.

What was measured

Hit rate, and the age of every reading served. Each policy ran three times; the spread between runs was under 0.1 points.

What would prove this wrong

A second launch day where recency's lead falls under five points. Step 3 of the path is that check.

0 notes

Note

 

No notes on this yet.

Ctrl+Enter to add

Note map

Anchored to element ids in this file · paste straight into a prompt

Each line is anchored to an element id, so an agent can locate the passage without you pasting the file. Prompt shape: "read my notes in <filename> and act on them."