Terminus: first contact
Proposal section 8: first contact

It comes down at the dusk edge of a barley terrace, swinging under a gray canopy, and the whole village walks out to see. A box, waist-high, rounded, without a seam anyone can find. The elders argue for a day about whether to touch it. A girl puts her palm flat on its warm top surface, and the box, which has been waiting for exactly this, wakes up.
Consider, with an engineer's sympathy, what that box does not know. It does not know where on the planet it landed; drop winds carried it far from its planned terrace. It does not know the time — its clock froze at the factory and drifted through the long fall. It has no almanac of the constellation overhead, because it may have spent a year in a warehouse while the wheel above was rearranged. Requirement TER-REQ-008 gives it fifteen minutes from this ignorance to full service, and its siblings must do the same for ten years without one visit from a technician.
Every section of this proposal has quietly been preparing for this moment. Now we collect the pieces.
The audit of ignorance
Tally what the box would have to discover on a naive network, and what our architecture has already made unnecessary.
Is there a satellite overhead? — Always. The wheel was sized so that the coverage minimum never drops below one satellite standing 25 degrees above every point of the band, at the worst moment of the worst day. A cold terminal never waits for the sky.
What frequency, corrected for satellite motion? — Already correct. Every beam is precompensated to its spot center. The beam the box first hears is wider than a Ka pencil, as the next section explains, yet it arrives just as frequency-true: within ±6 kHz. That is not zero: over a ten-millisecond listen, a 6 kHz offset turns the carrier through sixty full cycles, enough to smear a correlation flat. So the box listens in parallel rather than in sequence, the same trick a GPS receiver uses on a cold start. A bank of correlators, each tuned a little apart, covers the whole ±6 kHz in the same ten milliseconds, and the one that lights up names the offset. That is not the blind search TER-REQ-009 forbids: the window is known before the box wakes, it is ±6 kHz rather than the ±129 kHz one blanket beam would leave at X, and one listen covers all of it. There is no dial to sweep, and the box does not own one.
What timing? — Bounded by spot geometry: a first reply lands within ±1.1 milliseconds of the satellite's expectation (the acquisition spot is wide, and the satellite opens its window to match), and Ka service within ±309 microseconds — both correctable in a single round trip, once contact exists.
Which way should the box point? — Nowhere, at first: it listens with no beam at all, and the beacon's own wavefront hands it the bearing. That trick deserves its own section and gets one below.
Strip those away, and the entire cold-start problem reduces to one humble question: when does a beam visit the meadow? The settlements' spots are lit continuously, but the box is not in a settlement's spot. It is in a barley field the network has never had a reason to illuminate.
The lamplighter's round
So every satellite of the wheel carries, alongside its working beams, one beam that never serves anyone in particular: the beacon. It walks the entire footprint, spot position by spot position, pausing ten milliseconds at each to say, in effect: this is spot 1,117 of satellite 23; if you can hear this, answer here.
Why X band costs nothing
And the beacon does not speak Ka. It speaks X band — the diversity
band the frequency plan keeps
for storms — and the choice costs nothing where you would expect it to
cost everything. The same 0.7-meter array that throws a one-degree pencil
at Ka naturally throws a 3.57-degree beam at X, because beamwidth
scales with wavelength. And recall
the invariant: a beam's Doppler spread is
(f/c)·v·β. Substitute the diffraction beamwidth β = k·λ/D, and the
frequency cancels — the spread is v·k/D, set by the aperture alone.
The wide X lantern is exactly as frequency-true as the Ka pencil: the same
±6 kHz, nothing to search, one band down.
A wider spot: the same Doppler, a longer wait
The X spot is much bigger on the ground, though, and at the footprint's rim it is lopsided: from the point the beam is aimed at, it reaches 318 km back toward the ground beneath the satellite and 436 km outward, where the Ka pencil's spot reaches 98 and 106. None of that touches the frequency. The Doppler shift a house hears depends only on the direction from the satellite to the house, not on how far the ground stretches along that direction. So the spread inside a beam is set by the range of directions it covers, and the invariant has already priced that: the X beam covers 3.57 times the directions of the Ka pencil on a carrier 3.57 times lower, and the two cancel. The timing is another matter. Delay follows the length of the path, and a longer spot holds a wider range of paths: the X timing residual reaches ±1.1 milliseconds against the Ka pencil's ±309 microseconds. The satellite simply holds its listening window that wide, so the box still searches nothing.
| One beam, two bands | Ka service pencil | X beacon |
|---|---|---|
| Beamwidth | 1.00° | 3.57° |
| Nadir spot, radius | 19 km | 69 km |
| Rim spot, near side of the aim point | 98 km | 318 km |
| Rim spot, far side of the aim point | 106 km | 436 km |
| Doppler window, one blanket beam | ±460 kHz | ±129 kHz |
| Doppler residual, any spot | ±6 kHz | ±6 kHz |
| Delay spread, rim spot | 617 µs | 2.29 ms |
| Delay residual, rim spot | ±309 µs | ±1.1 ms |
| Delay residual, nadir spot | ±0.19 µs | ±2.4 µs |
From footprint to spot
Zoom out first. The next two figures come from beams, not blankets and show one whole footprint at Ka. Both mark the same two spots: the nadir spot, straight down under the satellite, and the rim spot.
The first is the Doppler map. Its contours crowd at the center, where the shift sweeps through zero, and spread apart toward the rim. At X the map keeps its shape and scales down to ±129 kHz. Beside it is the one dot product that prices every point on the map.
The Doppler map: blue ahead, red behind
Where the shift lives. Every point ahead of the satellite hears the
carrier high, every point behind hears it low, and the zero line is the one place the motion
is entirely sideways. The contours crowd toward the center — yet no beam suffers for
standing there, because toward the rim the beam's spot stretches by exactly the factor the
contours relax: every spot in the footprint spans the same 11.9 kHz. Geometry charges
each beam one fixed price, (f/c) · v · β.
One dot product
How any point is priced. A user hears only the part of the
satellite's velocity that points along the line of sight — the shadow v cos θ
that the velocity casts on it. Approaching, the waves arrive compressed: a
blue shift, received above the carrier. Receding (θ past 90°), stretched:
a red shift, below it. One dot product per beam, and the satellite knows every
shift in its footprint.
shift = (f/c) · v · r̂ evaluated
across the footprint: ±460 kHz at the rim of a 2,518 km blanket, and the reason no single
beam should ever try to cover all of it. The map is drawn in the satellite's own frame for a
reason: our access rings run along the twilight band, so “ahead” is north on the
ascending half of a lap and south on the descending half. The geography flips every pass; the
map never does — which is exactly why the correction is computed per beam, per pass, in orbit,
rather than learned once on the ground.
The second is the delay map, and its rings do the opposite: sparse at the center, crowding toward the rim. Delay does not depend on the carrier, so this map is the same at X. Beside it, a side view shows why the rim spot pays more in time: the same beam lands farther away and stretches longer.
Delay: rings that crowd toward the rim
Where the wait lives. Slant range cares only about how far from the sub-satellite point you stand, so equal-delay lines are perfect circles — and they bunch up toward the rim, where the ground falls away from the satellite fastest. Timing is charged twice out there: the rings crowd, and the beam's spot stretches. The nadir spot sits between sparse rings — its rim trails its own center by just 0.4 µs. The rim oval straddles the crowd: 617 µs.
Same beam, two landings
Why the rim beam pays more. Both cones are the same 1° beam.
Straight down, it lands 2,200 km away on flat-on ground: a 19 km circle whose two edge
slants are equal — the whole spot spans 0.4 µs, the rim trailing the center by
113 m of path. Leaning to the rim it lands farther (3,642 km: 1.66×), strikes
flatter (a 25° graze: 2.37×), and leans fatter (a tilted array's
beam widens 1.35×): a spot 5.3× longer. Its timing spread is just the extra path:
Δt = (far − near)/c = 185 km ⇒ 617 µs.
The next two figures zoom in on exactly those two spots, X and Ka together.
The rim spot
Seen from above at the rim, to scale, with the Ka spot nested inside the X spot, the two rules separate cleanly. Each spot fits exactly between its own ±6 kHz Doppler contours, but the long X spot crosses far more rings of equal delay.
Doppler: each spot fits its own ±6 kHz
Same ±6 kHz, different shapes. The X spot is long, narrow, and lopsided: 318 km short of the aim point, 436 km beyond it. Yet its tips touch its own ±6 kHz contours exactly, and so do the Ka spot's. The X beam spans 3.57× the directions of the Ka pencil on a carrier 3.57× lower, and the two cancel.
Delay: the long spot crosses more rings
A longer spot, a wider wait. Equal-delay rings circle the sub-satellite point, here 250 µs apart. The Ka spot spans 617 µs of them, a residual of ±309 µs. The X spot spans 2.29 ms: ±1.14 ms, which the satellite absorbs by holding its reply window that wide.
first_contact, tag terminus-post-9j.
The nadir spot
Straight down, under the satellite, the same two beams paint round spots, 69 and 19 kilometers in radius, and the two fields trade places. This is where the Doppler shift changes most steeply, yet each spot still fits its own ±6 kHz, because the spots are smallest here. Delay is flattest here: the X spot spans under 5 microseconds.
Doppler: steepest here, still ±6 kHz
The same price, straight down. Under the satellite the shift sweeps through zero most steeply, and the contours crowd. But the spots are smallest here, round circles of 69 km and 19 km, and each still fits exactly between its own ±6 kHz contours.
Delay: flattest here
Almost no wait. Straight down, every house sits at nearly the altitude itself; rings of equal delay circle the aim point, here 1 µs apart. The Ka spot sits inside the first: ±0.19 µs. The X spot spans 4.79 µs: ±2.40 µs, against ±1.14 ms at the rim.
first_contact, tag terminus-post-9j.
How long one round takes
What the wider X spot does buy is speed: each pause covers about thirteen times the ground a Ka pencil would. How many pauses, then?
The quick answer divides areas: a footprint 2,518 km in radius holds about 1,333 circles of the nadir spot's 69 km radius. But circles cannot tile a floor. Lay them edge to edge and gaps open between every three, and a terminal in a gap hears nothing. Overlapping them on a honeycomb closes the gaps, at 1.21 times the count: 1,611 positions. That count still prices every position at its smallest, nadir size, and a leaning beam's spot stretches: the X spot at the rim runs 754 km from end to end.
So the lantern walks a raster that follows the stretch. It lays its positions in rings around the point beneath the satellite. Each ring steps outward by the local beam's own width, which grows toward the rim, and within a ring the beams sit a honeycomb's spacing apart:
/// The beacon raster as look directions (nadir angle, azimuth): a covering
/// laid in rings that follow each beam's true size.
pub fn beacon_raster(eta_max: f64, beamwidth: f64, radial_step: f64) -> Vec<(f64, f64)> {
let half_c = beamwidth / 2.0;
let mut out = vec![(0.0, 0.0)];
let (mut eta, mut ring) = (0.0_f64, 0);
loop {
// The beam broadens 1/cos η as it leans: its spot lands long.
let half_r = beamwidth / (eta + 0.5 * radial_step * beamwidth / 2.0).cos() / 2.0;
eta += radial_step * half_r;
ring += 1;
let n = (2.0 * PI * eta.sin() / (3.0_f64.sqrt() * half_c)).ceil();
let stagger = if ring % 2 == 1 { 0.5 } else { 0.0 };
for i in 0..n as usize {
out.push((eta, 2.0 * PI * (i as f64 + stagger) / n));
}
if eta - 0.5 * radial_step * half_r >= eta_max {
break;
}
}
out
}
The sim then checks every direction in the footprint against its nearest beam and keeps the widest ring step that leaves no gap: 925 positions, every point inside some beam's half-power edge. At ten milliseconds each, the lantern completes its round in 9.2 seconds. Under ten seconds, worst case, between waking in total ignorance and hearing a voice that already knows how to be heard.
| Tiling the footprint with X spots | Positions | Round |
|---|---|---|
| Area estimate, nadir-sized spots | 1,333 | 13.3 s, with gaps |
| Honeycomb, nadir-sized spots | 1,611 | 16.1 s |
| Rings that follow the stretch | 925 | 9.2 s |
Where the lantern walks
Two refinements make even that a ceiling. Only active satellites carry a lantern — the duty ring and its hole-fillers — which is safe because the coverage rule guarantees every point of the band an active satellite; a dark satellite owes nobody a light. And the region a lantern walks follows one generic rule, evaluated per satellite: its footprint's intersection with the habitable band, plus a drop-wind margin. No satellite special-cases its role; the geometry does it for them. A duty-ring satellite riding the terminator walks 839 of its 925 positions, an 8.4-second round. A hole-filler lit from a ring 30 degrees off walks just 182, a 1.8-second round instead of most of 9.2 seconds spent sweeping nightside ice and dayside glare. The round counts positions, not area: the rim's positions are few and long, so a satellite that keeps 95% of its footprint keeps only 91% of its walk.
The round, running
All of which is easier to wait through than to read. The plate below runs the lantern at its true ten milliseconds a spot — the wait is the real worst case, and the whole ceremony plays when the paint lands:
The lantern walks its region at the true ten milliseconds a spot — the round you are waiting through is the real worst case. Only the raster is drawn ~11× coarse (each hop stands for ~11 real positions, in the same rings that widen toward the rim) and the 24 ms handshake is stretched to watchable seconds. Flip to Hole-filler and the region shrinks to the sliver of footprint that clips the band: the same generic rule, a 1.8-second round.
first_contact, tags terminus-post-9 / -9b / -9c / -9h / -9k.
The algorithm on one card
For the systems engineer following along with a notebook, the satellite's whole algorithm fits on one card — the walk, the listen, and the moment a reply turns a barley field into a scheduled Ka spot:
The face is the compass
Before the budget can be settled, an honest engineer will spot the gap in everything said so far. The lantern rasters because the satellite does not know where the box is. But the box does not know where the satellite is either — no position, no orientation, not even which way is north on a planet it fell onto sideways. If the box needed a directional antenna to hear the beacon, it would have to sweep one across the sky while the lantern sweeps the ground: two searchlights hunting each other, and the handshake only happens when both point at the same instant. Have we quietly smuggled a search back into the design?
We have not, and the reason is the panel itself. Recall the three-step choir: a phased array is thousands of small antennas, and the pencil beam exists only when they act in step. Step one of that build-up was a single element alone — a pebble's ripple, everywhere at once, wide and weak. That is the box's first ear. On its first dawn it forms no beam whatsoever: every element simply hears the entire sky above the horizon, and nothing is pointed anywhere.
Can a bare element hear the lantern?
Wide and weak — so does the lantern even reach it? Comfortably, and the reason is the quietest fact in radio: noise is rain, and the wider you hold your bucket, the more of it you catch. A receiver that accepts a whole megahertz collects a megahertz's worth of hiss; the beacon's channel is a mere 50 kilohertz, and it carries its hundred-odd bits in no hurry — narrow and slow, a whisper in a very quiet room. Better, the box knows exactly what the whisper sounds like (hold that thought too), so it can correlate rather than listen blind. Take the weakest point anywhere in the footprint: near the rim, between two raster beams, the satellite's face steered 42 degrees off straight down and the element's gentle gaze leaned 64 degrees off vertical. The ten-watt lantern still lands at 15.1 dB of signal over noise there, detection inside a single ten-millisecond dwell.
The ledger, line by line
A number like 15.1 dB deserves to be opened, not waved past — and the
units first, because the decibel is nothing more than a bookkeeping
trick. A radio budget multiplies enormous factors: watts of transmit
power, a billion-billion-fold spreading, the whisker of antenna that does
the catching. The decibel compresses all that multiplication into
addition — every factor of ten is +10 dB, a factor of two about
+3 dB — so a chain of multiplications becomes a column of signed numbers
you can sum on a napkin. dBW pins the column to a reference of one watt.
dBi measures an antenna's focus against the humblest imaginable
antenna, an isotropic one that sprays its watt equally over the entire
sphere: +33.6 dBi says the satellite's 0.7-meter face concentrates energy
about 2,300 times more tightly than the sphere-sprayer, in the one
direction it points, and it pays for pointing anywhere but straight
down: steered 42 degrees, the face presents less of itself, and the
32.0 dBi in the ledger is that leaned gain. A terminal between two raster
positions also sits off the peak of both beams; the ledger charges that as
a beam-edge loss, never more than 3 dB, since the raster leaves no point
outside a beam's half-power edge. Two more entries, and the table reads
itself.
Spreading loss is not absorption (nothing out here absorbs) but
dilution plus a small catcher: power thins with the square of the
distance, and the bare element's capture window shrinks with the square
of the frequency; at 3,572 kilometers and 8.4 gigahertz, geometry's bill
is 182.0 dB, a factor of 10^18.2. And the noise floor is the fact that
everything warm hisses: a receiver at temperature T collects k·T
watts of thermal hiss per hertz of bandwidth it accepts (k is
Boltzmann's constant), which is why bandwidth is really a choice about
how much noise to invite. A 50-kilohertz door at 290 kelvin admits
−157.0 dBW of hiss, and that is the floor the whisper must clear.
| The ledger, at the weakest point | ||
|---|---|---|
| Lantern transmit power | +10.0 dBW | ten watts |
| Satellite aperture gain | +32.0 dBi | 0.7 m face, 60% efficient, at 8.4 GHz, steered 42° |
| Beam-edge loss | −2.6 dB | between two raster beams |
| Spreading loss | −182.0 dB | 3,572 km slant at 8.4 GHz |
| Element gain, leaned over | +0.7 dBi | a 5 dBi patch, minus 4.3 dB at the 64° lean |
| Power reaching the element | −141.8 dBW | seven femtowatts |
| Thermal noise in the channel | −157.0 dBW | k·T·B at 290 K over 50 kHz |
| Signal over noise | +15.1 dB | a 33× power ratio |
Seven femtowatts — seven thousandths of a trillionth of a watt — sounds like a lost cause until you read it against the only line that matters, the noise beneath it: the whisper stands 33 times taller than the hiss in its little 50-kilohertz room. Widen that room a thousandfold to a service-grade channel, and the same whisper drowns; this is the whole architecture of the scheme, visible in one subtraction. The ledger also shows exactly where the narrowband trick pays: the element's contribution is a pitiful +0.7 dBi, a full 25.7 decibels — a factor of 370 — below the pointed array the box refuses to form, and the budget clears anyway because the beacon asks so little: a hundred-odd bits, delivered in ten unhurried milliseconds. The gain we declined to point was bought back in patience.
Reading the bearing off the wavefront
Hearing was the easy half. The beacon arrives as a flat sheet of wavefronts — by the time it has fallen 2,200 kilometers, its curvature is long gone — and unless the satellite is exactly overhead, that sheet crosses the box's half-meter face at a slant: it reaches one edge of the panel up to a nanosecond and a half before the other. You already own this instrument. It is how you know where a sound came from — one ear hears it a fraction of a millisecond before the other, and your brain reads the gap as a direction. The panel is a head with thousands of ears. Each element notes the precise rhythm of the crests washing over it; lay the notes side by side, and they form a perfect ramp across the face; the tilt of that ramp is the satellite's bearing. Nothing was scanned. Nothing was searched. The box measured the direction of the only signal it has ever heard, in the same ten milliseconds that delivered the signal's meaning.
One caveat about the pictures, which are drawn flat: the real face is a sheet, not a row. Its elements tile two dimensions, so the arriving wavefront lays a tilted plane of phase across the panel — a ramp east-to-west and a ramp north-to-south at once, if the box had any idea which way north was. Fitting the plane is the same arithmetic with one more axis, and it returns the full three-dimensional bearing: how far up the sky, and which way around it. And notice what the box never needed for any of this — a level, a compass needle, a notion of north. The bearing is measured in the panel's own frame, and the panel's own frame is exactly the frame its transmit weights speak, because the measuring face and the replying face are the same face. A box that landed askew on a stony terrace measures a slightly askew plane and replies along it, correctly, without ever learning it is crooked. For the reply, that is all it needs. Finding the next satellite needs more, and a later section takes that up.
The echo goes home
And the reply is more elegant still, because the box never needs to turn the bearing into a number at all. Each element simply transmits the mirror of the phase it just received — the whole panel plays the arrival backwards, like a film run in reverse — and the ripples, obeying the same choir arithmetic as ever, reassemble into a wavefront climbing exactly the path the beacon came down. Engineers call the trick a conjugate, or retrodirective, reply, and it is older than the transistor radio. The box answers the way an echo answers, and the echo goes home with the full choir behind it: 25.7 dB stronger than any single element could manage, with the fitted bearing good to 0.87 degrees at the very worst — 3.8 times finer than the leaned-over Ka pencil it must eventually seed. The one thing this asks of the hardware is that the panel can read each element's phase on receive — a courtesy any digitally steered array extends for free, and decades-old practice (the radar people call it monopulse) even for cheaper builds.
How accurate is the compass?
And the 0.87 comes straight out of the ledger. Reading a direction from noisy phase measurements is a line fit, and a line fit sharpens with signal quality as a square root — the rule of thumb every radar hand carries:
bearing error ≈ beamwidth / (1.6 · √(2 · SNR))
= 11.3° / (1.6 · √65) ≈ 0.87° rms
where 11.3° is the panel's five-degree X beamwidth widened by the 64-degree lean, 65 is twice the ledger's 33, and the 1.6 is the fitted slope constant the radar literature settled on generations ago. Even at the bottom of the worst-case barrel, the compass reads several times finer than anything it will ever be asked to aim.
And 0.87 degrees is a cautious number. We worked it out as if the box had only one antenna's worth of signal to steer by. It actually lines up the readings of thousands of antennas at once, and averaging many noisy readings gives a steadier answer, the way many thermometers beat one. The real bearing is finer still.
Why not scan?
The road not taken is worth pricing, because the numbers are a massacre:
Why not scan? the alternatives, priced:
unsynchronized receive raster: 607 sky positions × the 9.2 s
lantern round = 94 minutes — 6x OVER the 15 min requirement
nested fast raster (607 looks inside each 10 ms dwell):
+25.7 dB of beam gain − 27.8 dB of split integration = -2.2 dB —
worse than not scanning at all
A 5-degree receive beam must visit 607 patches of sky, and holding each one long enough to guarantee meeting the lantern costs a full raster round: an hour and a half, six times over the requirement. Sweeping all 607 looks inside each dwell fares no better — the pointed beam's gain buys 25.7 dB, and the 607-way split of the listening time costs 27.8, a net loss against doing nothing. TER-REQ-009 banned the frequency dial and the timing dial; this section closes the last dial the universe could have demanded, the spatial one, and the whole trade is recorded as ADR-0027. Watch it happen — the wavefront tilting across the face, the ramp, the echo climbing home:
The wave is slowed enormously for the eye; the tilt is honest. Drag the satellite down to the 25-degree floor — the lowest the coverage rule ever leaves it — and the arrival spread across the half-meter face grows to about one and a half nanoseconds: the easiest measurement in this whole proposal, and the box's entire idea of “where.” Even there the beacon closes at – dB SNR and the fitted bearing is good to –° rms — finer than anything the box must point, ever.
first_contact, tag terminus-post-9d.
The terminal's algorithm on one card
And the box's half of the ceremony, on its own card — notice how little of it is decision and how much is just physics running forward, then backward:
The rendezvous contract
One confession remains from the quiet room. Correlation only works if the box knows the beacon's exact shape in advance — so something must be written into it at the factory after all. That something is deliberately tiny, and deliberately eternal: one carrier frequency in the storm-proof X band, one 50-kilohertz channel, one ten-millisecond dwell grammar, one fixed offset for the reply — the rendezvous contract, ADR-0028. Notice what qualifies for the list: facts of physics and spectrum, which go stale only if the network itself abandons them, and the network controls the network. Orbits, schedules, maps — everything that rots on its own — stays banished to orbit. The contract is the one interface in this system that can never be upgraded, which is exactly why it is four numbers and not five.
The budget, settled
cargo run -p terminus-orbits --example first_contact
Worst-case budget vs TER-REQ-008 (15 min):
wait for beacon paint: 9.2 s (one full raster)
frequency search: 0.0 s (none — beam is precompensated)
spatial search: 0.0 s (none — the face is the compass)
timing alignment: 0.024 s (one round trip)
registration allowance: 30.0 s
total: 39.3 s (0.7 min) — 23x inside the 15 min requirement
Read the ceremony in order. The box hears the beacon and, for the first time in its existence, knows two things: a spot identity, which is to say a place in the sky's own map, and — read straight off the wavefront's tilt across its face — the bearing of the voice that spoke. It answers, on X, back along that very wavefront, the whole choir behind the echo. The satellite measures the reply's arrival against its expectation — the wide acquisition spot means the error can reach ±1.1 milliseconds, so the satellite holds its listening window that wide; the slack lands in orbit, where slack belongs — and sends back a correction; one round trip, 24 milliseconds, and the box is aligned. It asks for service. Then thirty allowed seconds of introduction: identity, health, capabilities. Somewhere in orbit, a map gains a light that was not there before, and the constellation quietly re-plans: the barley terrace is a served spot now, illuminated by a Ka pencil and folded into every future pass of every ring.
39 seconds, against fifteen permitted minutes. The margin is not extravagance; it is the RFP's own philosophy repaid. We were told the terminals must be simple in a way that survives a decade of weather and curiosity. Margins are how simplicity survives.
And the ignorance never returns. When a flare forces a band retreat, the box is no longer a foundling: its spot is on the served map, its beam is scheduled, and reacquisition is a re-lock on a signal it knows is coming — seconds, against the thirty the requirement allows. Cold birth happens once; every dawn after is warm.
Storms get a stronger answer still, because the lantern lives on the band storms cannot take. The rain cell that steals 23.5 dB from a Ka pencil takes only 1.9 dB from X — so when the weather drowns a served spot's beam, the boxes beneath it are never more than one 9.2-second lantern round from a working channel. They answer the raster exactly as they did on their first dawn and request sustained X service for the spot; the network schedules longer X dwells there until the sky clears. Less rate, never less service: the same walk that finds a newborn terminal keeps a drowning one connected.
Which way is up?
One bearing tells the box less than it seems. Point a stick at a star and hold it there: you can still spin the stick about its own length, and it keeps pointing at the star. A bearing is that stick. It fixes two of the three angles that say how the box sits on the ground, and leaves the spin about the line to the satellite unknown.
For first contact that does not matter. The echo retraces the arrival without any notion of which way is up, and while the box follows its serving satellite, the satellite's own signal keeps the beam on it. The gap opens at handover. Every eleven minutes the ring passes the box to the next satellite, and the network can say where that satellite will be only in the sky's terms, "this far up, in that direction". To turn that into "this way across my face", the box needs all three angles.
Gravity and two bearings
A second direction stops the spin, the way a second star would. The box has two to choose from. The first is gravity: a small solid-state accelerometer, a chip with no moving parts, reads which way is down to a quarter of a degree. The second is another bearing to the serving satellite, taken minutes later, after the satellite has moved across the sky. In each case the satellite says where it was in the sky's terms, the box knows where it saw it on its own face, and two such pairs pin all three angles. Navigators know the recipe as TRIAD.
Each source fails in one place. Gravity and a bearing nearly coincide when the satellite is straight overhead, and then they cannot fix the spin. Two bearings nearly coincide when they are taken close together. So the box uses gravity while the satellite is at least 30 degrees from overhead and two bearings at least 40 degrees apart when it is not:
| Attitude from | Case | Pointing error |
|---|---|---|
| Gravity + one bearing | satellite 5° from overhead | 18.9° |
| 15° | 6.3° | |
| 30° | 3.3° | |
| 45° | 2.4° | |
| 64° | 1.9° | |
| Two bearings | 10° apart along the pass | 13.6° |
| 20° | 6.8° | |
| 40° | 3.7° | |
| 60° | 2.7° |
Each error is the gap between where the box expects the next satellite and
where it really is, at the worst point in the sky, and only 5 landings in
100 do worse (cargo run -p terminus-orbits --example terminal_attitude).
The policy's worst case is 3.66 degrees.
These numbers price every bearing at first contact's cautious 0.87 degrees; bearings taken while the box tracks its satellite with the whole face are sharper. Even so, 3.66 degrees is far too coarse for the Ka pencil, which is only 0.7 degrees wide on each side of its center when it points straight up. Pointing it from the attitude alone would usually miss.
A handover in three steps
So the attitude does not aim the pencil. It narrows the sky, and the compass does the rest:
- The attitude says where to look. The incoming satellite will be within about 3.7 degrees of where the box expects it.
- A listening beam covers that patch of sky. The panel can form a beam of any width, so it forms one just wide enough to cover the uncertainty: 5 degrees each side, made by a quarter-meter patch of the face. It has nowhere else to look, so nothing is searched. The incoming satellite visits the box's spot with a scheduled X-band dwell, the beam hears it far better than a bare element would (+19 dBi against −0.6), and the wavefront gives its bearing to 0.29 degrees, seven times finer than the Ka pencil needs at that angle.
- The Ka pencil points there and follows. From then on the new satellite's signal steers the beam, and every bearing the box takes along the way sharpens its sense of which way is up for the next handover.
Landing upright
One more thing can go wrong before any of this, and it is mechanical: the box can land crooked. The coverage rule promises a satellite at least 25 degrees up, and the panel's budget assumed the box sits level, so it never leans its beam more than 65 degrees off straight up. A tilted box can be asked to lean further, and a flat face loses signal fast at steep angles:
| Box tilt | Worst lean | Scan loss | Beyond the budget |
|---|---|---|---|
| 0° | 65° | −4.5 dB | — |
| 5° | 70° | −5.6 dB | −1.1 dB |
| 10° | 75° | −7.0 dB | −2.6 dB |
| 15° | 80° | −9.1 dB | −4.6 dB |
| 20° | 85° | −12.7 dB | −8.2 dB |
So the box carries a landing requirement: upright to within 5 degrees. Its rounded, weighted base rights it the way a tumbler toy rights itself, and the 5 degrees left over costs 1.1 dB, enough to lower first contact's weakest beacon from 15.1 to 14.1 dB, still heard in a single dwell. If the accelerometer finds the box still tilted past that, wedged against a stone or propped in a furrow, the box does what no satellite terminal has had to do before: it asks. In words and light, it tells the villagers gathered around it that it needs to be set straight, and thanks them when it is. The RFP rules out technicians, not neighbors. Recorded as ADR-0031.
What the box never learned
Notice everything the box still does not know, and never will. It has no almanac. It cannot name the satellite serving it, nor predict the next handover, nor say where it sits on the planet to better than "spot 1,117." Its one lasting piece of self-knowledge is which way is up, and even that it measures afresh from gravity and every wavefront it answers, rather than trusting anything it was told. Every piece of knowledge that ages — orbits, schedules, maps — lives in orbit, where the AI's factories can refresh it forever. The box was told exactly one thing at the factory, the four frozen numbers of the rendezvous contract, chosen because physics does not rot. Beyond that it knows only how to listen, how to answer, and how to pour WiFi into a barley terrace. We have built, deliberately, a terminal that cannot become obsolete, because it was never told anything that could go stale. Recorded as ADR-0007, and completed by ADR-0027 (the compass) and ADR-0028 (the contract).
On the terrace, the ceremony takes two-thirds of a minute. The box hums once, softly, like something settling into a chair. A faint new constellation of WiFi blooms across the village, and on the slates that came bundled in the box's side compartment, a greeting appears in careful, curious script — the first sentence of a very long conversation.
The proposal is nearly complete. Eight sections ago an intelligence asked for a network; we have answered with a planet's worth of design — rings and anchors, bands and beams, beacons and lanterns. What remains is the fabric that binds it: the laser backbone that makes the fleet one machine, the thread that keeps every conversation whole — and then the accounting, every requirement of the RFP traced to the decision that satisfies it, with the evidence attached.