Terminus: first contact

Proposal section 8: first contact

A hooded villager lays a palm on the seamless, rounded terminal at the edge of a village and it wakes, light threading up from it into the sky beside the fallen parachute canopy, the red dwarf resting on the horizon

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 — there is always 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; whatever the box eventually hears arrives frequency-true to within a few kilohertz. 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 ±308 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.

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. What the width does buy is speed: each pause covers thirteen times the ground, so the round is thirteen times shorter. How long? Pure geometry:

/// Number of spot-beam positions needed to tile one satellite footprint:
/// the ratio of the footprint's spherical-cap area to a spot's cap area.
pub fn spots_per_footprint(body, altitude, min_elevation, spot_radius) -> f64 {
    let lambda = footprint_radius(body, altitude, min_elevation) / body.radius;
    let s = spot_radius / body.radius;
    (1.0 - lambda.cos()) / (1.0 - s.cos())
}

A footprint 2,518 km in radius tiles into about 1,300 69-kilometer X spots; at ten milliseconds each, the lantern completes its round in 13.3 seconds — a worst case twice over, since the count prices every spot at its smallest, nadir size, but a leaning beam's spot stretches and covers more meadow per pause. A quarter of a minute, worst case, between waking in total ignorance and hearing a voice that already knows how to be heard.

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 keeps 95% of its footprint, a 22.65-degree cap against the ±20-degree band. A hole-filler lit from a ring 30 degrees off keeps just 24%, a 3.2-second round instead of most of 13.3 seconds spent sweeping nightside ice and dayside glare.

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:

Raster region
Clock
The box
Spots walked

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 lattice is drawn ~10× coarse (each hop stands for ~10 real spots) 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 3.2-second round.

The whole of first contact in one loop. A box lands somewhere in the region and listens; the X lantern — frequency-true to the same ±6 kHz as any Ka pencil, because a beam's Doppler spread is set by the aperture alone — paints its meadow inside one 13.3-second round; the box answers up the beam, one 24 ms round trip aligns it, it asks for service, and a Ka pencil lights the spot and stays. Numbers from first_contact, tags terminus-post-9 / -9b / -9c.

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:

flowchart TD accTitle: The lamplighter's algorithm on each active satellite accDescr: Each active satellite computes its raster region as the intersection of its footprint with the habitable band plus a drop-wind margin. It walks the region spot position by spot position, transmitting a ten-millisecond X-band beacon at each, precompensated to the spot center and carrying the satellite identity, the spot identity, and a reply grant. After each dwell it listens in a window of plus or minus 1.1 milliseconds. With no reply it steps to the next position. When a reply arrives it measures the timing offset against its expectation and sends a correction in one round trip, then branches on who answered. A newborn box registers within the thirty-second allowance, exchanging identity, health, and capabilities. The satellite marks the spot as served on the orbit-side map, and the constellation schedules a Ka pencil and folds the spot into every ring's plan. A served box whose Ka beam a storm has drowned instead receives sustained X dwells for its spot until the sky clears. In every branch the lantern resumes its walk. REGION["Raster region =<br/>footprint ∩ habitable band<br/>+ drop-wind margin"] --> WALK["Step to next spot position<br/>beam precompensated to spot center"] WALK --> DWELL["Transmit 10 ms X beacon<br/>satellite id · spot id · reply grant"] DWELL --> LISTEN{"Reply within the<br/>±1.1 ms window?"} LISTEN -->|"no"| WALK LISTEN -->|"yes"| ALIGN["Measure timing offset<br/>send correction — one round trip"] ALIGN --> KIND{"Who answered?"} KIND -->|"newborn box"| REG["Registration ≤ 30 s<br/>identity · health · capabilities"] REG --> MAP["Mark spot served<br/>on the orbit-side map"] MAP --> KA["Schedule a Ka pencil —<br/>fold the spot into every ring's plan"] KA --> WALK KIND -->|"served box, Ka drowned"| STORM["Grant sustained X dwells<br/>until the sky clears"] STORM --> WALK
The lamplighter's algorithm, one card per active satellite. The raster region is computed from one generic rule, the walk transmits a ten-millisecond precompensated beacon per spot, and a reply — newborn or storm-drowned — branches into the ceremony that ends with a Ka pencil scheduled or sustained X dwells granted. Then the lantern walks on.

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 hundreds 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.

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. Run the worst case twice over — the satellite at the rim of its footprint, the element's gentle gaze leaned 65 degrees off vertical — and the ten-watt lantern still lands at 18.9 dB of signal over noise, detection inside a single ten-millisecond dwell.

A number like 18.9 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. 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,642 kilometers and 8.4 gigahertz, geometry's bill is 182.2 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, worst case
Lantern transmit power+10.0 dBWten watts
Satellite aperture gain+33.6 dBi0.7 m face, 60% efficient, at 8.4 GHz
Spreading loss−182.2 dB3,642 km edge slant at 8.4 GHz
Element gain, leaned over+0.5 dBia 5 dBi patch, minus 4.5 dB at the 65° lean
Power reaching the element−138.1 dBWsixteen femtowatts
Thermal noise in the channel−157.0 dBWk·T·B at 290 K over 50 kHz
Signal over noise+18.9 dBa 78× power ratio

Sixteen femtowatts — sixteen 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 78 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.5 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.

Hearing was the easy half. Now the compass. 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 hundreds 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.

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.59 degrees at the very worst — 5.6 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.

And the 0.59 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.8° / (1.6 · √156) ≈ 0.59° rms

where 11.8° is the panel's five-degree X beamwidth widened by the 65-degree lean, 156 is twice the ledger's 78, 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.

Could the box have scanned instead? It is worth pricing the road not taken, because the numbers are a massacre:

Why not scan? the alternatives, priced:
  unsynchronized receive raster: 607 sky positions × the 13.3 s
    lantern round = 135 minutes — 9x 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: two and a quarter hours, nine 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:

Phase
Arrival spread
Bearing
Reply

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.

The receive side of first contact, end to end. No receive beam exists while the box is ignorant — every element hears everything. The beacon's wavefront crosses the face at a slant, the slant is fitted, and the fit is the satellite's bearing; the reply returns along the conjugate wavefront at full array gain,  dB over a bare element. Drawn as one vertical slice: the real face is a two-dimensional sheet, so the fitted ramp is a fitted plane and the pointing is fully three-dimensional. Numbers from first_contact, tag terminus-post-9d.

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:

flowchart TD accTitle: The terminal's receive algorithm — configure, measure, echo accDescr: On wake the terminal forms no beam. Every element of the panel hears the whole sky while a correlator armed with the rendezvous contract's hard-coded sequence watches the contract's X-band carrier. Until a correlation peak appears the terminal keeps listening — there is nothing to adjust and nothing to scan. On detection it decodes the satellite identity, the spot identity, and the reply grant, and reads each element's carrier phase at the correlation peak. The phases form a ramp across the face. Fitting the ramp yields the satellite's bearing, and conjugating the phases yields the transmit weights. The terminal replies inside the grant window at the contract's fixed frequency offset, each element transmitting the mirror of the phase it heard, so the reply climbs back along the arrival path at full array gain. It applies the satellite's timing correction, requests service, and registers. When the Ka pencil arrives it seeds the Ka beam from the fitted bearing, tracks closed-loop from then on, and serves WiFi. WAKE["Wake — no almanac,<br/>no clock, no position"] --> EAR["Configure the array: no beam<br/>every element hears the whole sky<br/>correlator armed with the contract sequence"] EAR --> CORR{"Correlation peak on<br/>the contract carrier?"} CORR -->|"no — keep listening<br/>(nothing to adjust, nothing to scan)"| CORR CORR -->|"yes"| DECODE["Decode satellite id ·<br/>spot id · reply grant"] DECODE --> PHASE["Read each element's phase<br/>at the correlation peak"] PHASE --> FIT["Fit the ramp → bearing<br/>conjugate the phases → transmit weights"] FIT --> ECHO["Reply in the grant window<br/>at the contract's fixed offset —<br/>the echo climbs the arrival path"] ECHO --> ALIGN["Apply timing correction<br/>request service · register"] ALIGN --> KA["Seed the Ka pencil from the bearing<br/>then track closed-loop"] KA --> SERVE["Pour WiFi into the terrace"]
The terminal's receive algorithm. The array is configured to no beam at all — every element listening, a correlator armed with the rendezvous contract's hard-coded sequence. Detection yields the message and the per-element phases in the same dwell; the phase ramp is fitted for the bearing and conjugated for the transmit weights; the reply echoes back along the arrival path, and the fitted bearing later seeds the Ka pencil.

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:        13.3 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:                        43.3 s  (0.7 min) — 21x 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.

43 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 13.3-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.

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." It could not even point at the satellite twice: the bearing it measured was used, and discarded, and will be measured fresh from the next wavefront that wants answering. 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 three-quarters 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, vaults 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.