Repository navigation
Zed Affine Earth Coding Agent Developer Guide
Zed's agent panel, driven by Affine.Earth. The model behind the panel is franklin-membrane at
https://affine.earth/v1, and it is not a language model. It plays a bounded coding language game:
it classifies what you asked into a move, reconstructs the board from the tool results already in
the thread, emits the hands that advance the board while the move is open, and closes with an
account of what it measured. Nothing is sampled. Every turn carries one line — what you asked,
what was measured, what is sealed — so the meaning of the turn is validated back to you while the
tools run.
Everything below was measured on 2026-09-18 against Zed 1.20.2 (stable) and the live nine-cell fleet. Where a number appears, it came from a run, not a doc.
Launch Zed through the helper, never from the Dock:
~/.config/zed/launch-affine-earth-agent.zshIt reads ~/.gaiaftcl/zed/affine-earth-api.key (mode 600) into AFFINE_EARTH_API_KEY and starts
Zed with it. Zed's custom provider id affine-earth reads exactly that variable; a Dock launch has
no environment and shows Credentials Missing. The helper no longer exports OPENAI_API_KEY —
that armed Zed's built-in OpenAI provider with the Affine key and put its model list in the selector.
~/.config/zed/settings.json — the agent block as Zed 1.20.2 documents it. Zed hot-reloads it:
Why each line is there:
- Every feature-specific model falls back to
default_modelwhen unset; all six are pinned so a model experiment can never move titles, compaction, commit messages or subagents off the membrane. -
default_profile: "write". Theaskprofile advertises eight read-only tools and no MCP tools;writeadvertises the full built-in set and, becauseenable_all_context_serversis true there, the ~51 affine.earth MCP tools ride in the sametools[]under their raw names. - The sandbox (Seatbelt) is a second gate on
terminalandfetch, separate fromtool_permissions. The LAW 7 build the agent emits takes its lock at~/.gaiaftcl/locksand writes SwiftPM caches — outside the project — so those paths must be writable or the build dies silently./tmpand/private/var/foldersare there because the Minecraft court's own scripts log to/tmpand build under$TMPDIR;~/Library/Logs/GaiaFTCLbecause the build law appends its queue log there (scripts/gaiaftcl-mac-build.sh:75) — measured in Zed as Operation not permitted on the first live build. -
allow_unsandboxed: true. Measured on the first live LAW 7 build inside Zed's terminal (2026-09-19): SwiftPM compiles the package manifest under its ownsandbox-exec, and Seatbelt refuses a nested sandbox —sandbox-exec: sandbox_apply: Operation not permitted— soswift buildcannot run in a sandboxed terminal however many paths are granted; and this repo'scells/xcode/.buildis a symlink into~/Library/Caches, outside the worktree. This is Zed's documented persistent off-switch (agent_settings.rs:427-434): the plainterminaltool runs. The grants below stay as the record of what a sandbox would have needed. -
allow_all_hosts: true. Measured in Zed 1.20.2's source (crates/agent/src/sandboxing.rs:181-189,crates/sandbox/src/macos_seatbelt.rs:357-369): with a host allowlist the sandboxed terminal may reach only one loopback proxy port — it cannot bind a port of its own orcurl 127.0.0.1. Bringing a program to life means binding ports (the play bus on 4223, the court on 8799) and probing them, so the allowlist alone is the wrong shape;allow_all_hostsemits(allow network*).allow_unsandboxed: trueis the other way out and removes the write gates too. -
enable_feedback: false: rating a reply sends the whole thread — your messages, the replies, repo diffs — to Zed's servers. -
timeout: 300: theumc_*andexecute_*MCP tools exceed the 60 s default.
.rules at the repository root. Zed injects exactly one project instruction file into every
request, first match in its list, and .rules is first. Before it existed the match was
AGENTS.md — 59,246 bytes whose own first line declares it historical — on every turn, while
CLAUDE.md never rode. The membrane does not read the system prompt at all; those bytes carried
nothing. .rules is short and says so.
Threads keep the model they were created with. default_model and default_profile seed
new threads only. After changing either, press ⌘N. The selector at the bottom of the panel should
read Franklin Membrane (Affine.Earth) · Write.
| action | key |
|---|---|
| toggle the agent panel | ⌘? (also ⌃⌘I under the VSCode base keymap) |
| new thread | ⌘N |
| send | ⏎ · ⌘⏎ send and follow · ⇧⌘⏎ interrupt the running turn |
| threads sidebar | ⌥⌘J · ⌃⇥ thread switcher · ⌘G history in the sidebar |
| profile selector / model selector | ⌘I / ⌥⌘/ |
| permission card | ⌘Y allow once · ⌥⌘Y always · ⌥⌘Z deny |
| review the agent's changes | ⇧⌃R |
| agent settings / manage skills | ⌥⌘C / ⌥⌘L |
Zed's docs print these as action names; the literal keys above are from the keymaps embedded in the 1.20.2 binary.
The prompt goes to POST /v1/chat/completions with the whole thread and the profile's tools[].
The membrane:
-
Classifies the move —
EdgeOpenAIHumanLanguageLayermatches the prose against sealed English faces projected through the translate court into the 25 mined languages, anchored at token boundaries. There is nocontains("build"): the word compile insideInvariantCompilercannot fire a build. The bounded coding moves are INGEST, LOCATE, READ, AUTHOR, BUILD, VERIFY and CLARIFY — a bring-up ("bring … to life", "run it so it stays up") that searches, opens what it found, and closes with a numbered question whose options are commands read byte-for-byte from files it opened; TEACH is a move too, on any turn. A line that answers a question —1,the arena,option 2, a number for a slot — is a follow-up: it keeps the move that asked and carries the answer, resolved by the same token-anchored matcher. - Rebuilds the board from the tool results in the thread — every file listed, read, written, built — with two layers: what the thread knows (cumulative) and what the current move has done (since your last message). State lives on the client and in NATS; no cell keeps a session, so any of the nine cells can take any turn.
-
Measures progress as an exact rational
p/qand projects it onto the coding attractor as amplitudes[3p/5q, 4p/5q], so the game's torsion(q²−p²)/q²is the distance from done: 1 on a fresh task, 0 exactly when the move's goal is met. The game seals CURE while work remains and CALORIE when it is done — never CALORIE on work never done. -
Emits the hands that advance the board — Zed executes every
tool_callselement and returns one tool message per call — or closes with a synthesized account when torsion reaches 0 or the board stops moving. Zed 1.20.2 has no per-turn request cap; the membrane is the only terminator, which is what the stagnation guard is for. -
Speaks the bond on every turn as
contentbeside the tool calls — one sentence a colleague would say:Bond — looking for “uum8d minecraft”.→Bond — found “uum8d minecraft”; reading what it has (8 files so far).→Bond — I found “uum8d minecraft” and read 21 files; what's left is your call.→Bond — running your pick: See the minecraft court run, locally, end to end.→Bond — done: … · 21 files sealed under 12629e789e4a.The geometry behind those words —Intent,Position(p/q, amplitudes[3p/5q, 4p/5q]against the coding attractor[3/5, 4/5], distance from done(q²−p²)/q²),Origin(this turn's root, the sealed workspace hash, the play tip and its NATS subject) andNext— rides in every turn's receipt asreceipt.audit, where the harness checks it against the receipt's other fields. It is not printed into the chat: the founder's ear, not a rule, decided that ("intent and origin geometry must map to human language" means map, not print). -
Teaches, at the level you ask for. A CLARIFY close says what the thing is (the README's
first sentences, the script's own header), what alive means here (the script's
=== 1. … ===section lines), the fork in words with the command behind each choice, then — at the defaultteachlevel — each script in its own words, the lines it will print (itsechos with its own defaults substituted), and where the files explain the things the phases name (“play bus” — RUNBOOK.md:16: …). Saybrieffor short answers,engineer levelfor the middle,teach mefor the full walk-through; the register is read from your own lines in the thread and the last one wins. Everything quoted, nothing composed: it is a template over bytes it read.
What each move emits:
| move | hands | close |
|---|---|---|
INGEST — "learn the code in dir" |
list_directory + find_path dir/**/* (paged 50 at a time), then eight read_file per turn |
coverage, bytes, the workspace hash |
| LOCATE — "where is …" |
grep + find_path, then the top-ranked hit opened |
the paths, which are open |
| READ — "read the file …" |
read_file with the root-prefixed path; an outlined file in 400-line windows; a question is answered by citation (path:line: text, byte-equal) and a route literal is followed to its server-side handler with one grep and one window read |
the cited lines |
| CLARIFY — "bring … to life", "run it so it stays up" |
grep per needle, find_path in both spellings and both shapes (**/*X*, **/*X*/**), two batches of manifests and scripts, then the question; on the answer, the selected command through terminal, and for a serve line the page's HTTP code and the court's own selftest |
the numbered options, then what the command printed |
| BUILD / VERIFY | the LAW 7 terminal build, diagnostics on red; VERIFY then replays every command the thread ran and says what changed |
exit status, tail, replay comparison |
| AUTHOR — "add a called beside the one in " | hydrate the target, find the sibling case, follow its symbol to the declaration, ask for the one unmeasured value, clone both anchors as edit_file, LAW 7 |
see §6 |
| TEACH — "teach me Affine.Earth from Study 44" | the studies index, the lesson page, the named study | what was opened |
Every read_file body in the thread is hashed; the workspace hash is sha256 over the sorted
path\tsha256(body) lines and rides inside the sealed statement, so an ingest that outgrows the
24-message transcript window is still sealed whole. Files over 16,384 bytes come back from Zed as
an outline, not the text — most Swift sources here — and the coverage line names them.
Zed also sends three service prompts of its own: a thread title after every turn, a detailed summary, and a compaction handoff. Under the pins they land on the membrane, which answers them from the board (a 3–7-word title from the move and its target, a Goal/State/Context/Next/Pitfalls handoff) and never seals a coding turn for them.
stream: true, stream_options: {include_usage: true}, temperature: 1.0 always,
parallel_tool_calls: true whenever tools are present, no max_tokens, no stop, no
tool_choice. Tool messages are {role: "tool", content, tool_call_id} with no name. The
membrane answers with SSE: a role chunk, the bond as content deltas, one indexed header chunk and
one arguments chunk per tool call, finish_reason: "tool_calls", [DONE]; usage is reported as
bytes/4 and labelled so. A JSON body to a stream: true request reads in Zed as No response from
the agent — the SSE path is the only one Zed uses, which is why the harness streams.
What rides on every request from this repository in the write profile, before your first byte:
a ~77 KB system prompt when AGENTS.md was the rules file (now .rules), the 51 MCP tool
definitions (~78 KB) and the built-ins — about 160 KB, ~40k prompt tokens. Zed's auto_compact
fires at 90 % of the declared window; at 12.8M it never does.
Nothing here needs a human at the keyboard. The harness plays Zed's half of the loop with the provider's real wire and Zed's real tool result formats, executes every hand against the workspace, and feeds the bytes back:
bash scripts/zed-coding-game/evidence.sh <label> # against the apex round-robin
RESOLVE=37.27.7.9 bash scripts/zed-coding-game/evidence.sh <label> # pinned to one cell — a measurement, never routingEight scenarios, each a discriminating instrument: ingest a folder; locate (the question that once
read a nutrition script); read a path; the InvariantCompiler control (must emit read_file,
never terminal); teach on turn two; the bond on every close; Zed's title prompt (3–7 words, no
punctuation); Zed's compaction prompt. The verdict is ZED_CODING_GAME_PROVEN only at 8/8 and is
sealed under evidence/zed-coding-game-<stamp>-<label>/VERDICT.json with every transcript.
To run the candidate binary locally before any cell sees it:
bash scripts/zed-coding-game/local-serve.sh # the Mac product on :18787, auth off, NATS closed
URL=http://127.0.0.1:18787/v1/chat/completions bash scripts/zed-coding-game/evidence.sh local-
It writes one class of edit and no other. The sibling clone: a measured anchor line with one
token renamed, plus a declaration cloned beside its sibling with a numeric slot the person
supplied in the thread. Every other edit is refused by name (
REFUSED_CLONE_NEEDS_LAW,REFUSED_NO_SIBLING,REFUSED_ANCHOR_NOT_UNIQUE,REFUSED_NEW_BYTES_CARRY_FLOAT) with the nearest sibling handed back, or closes asking for a sealed plan ({"affine_zed_tools":[{"name":"edit_file","arguments":{…}}]}) or an artifact brief forexecute_artifact_crucible. Generation stays the caller's half. - Eight files per ingest turn; a 350-file folder is ~50 turns. Zed executes each batch in parallel.
- A bring-up asks after two batches of hydration (sixteen files) — the person is the next hand, not a seventeenth file.
- The MCP tools are on the wire in the write profile but the game does not yet emit them as moves.
The full two-person acceptance — bring the UUM8D Minecraft to life, clarify twice, read by
citation, edit with a slot the person supplies, verify by replay — is written up with its sealed
text at Zed — Minecraft comes to life; run it with
bash scripts/zed-coding-game/minecraft/acceptance.sh <label>.
Zed persists every thread in ~/Library/Application Support/Zed/threads/threads.db — table
threads, one zstd blob per thread. Copy the database first; Zed holds a WAL.
sqlite3 threads.db "SELECT writefile('t.zst', data) FROM threads ORDER BY updated_at DESC LIMIT 1;"
zstd -d t.zst -o t.jsonThe JSON carries model, every message with its tool_results, cumulative_token_usage and
request_token_usage. Read model first: the panel's model, not the settings comment, is who
answered. Six threads on this Mac had run on LM Studio while their titles read "Hi, I'm Franklin…"
— the membrane had only ever written the titles.
| commit | what | evidence |
|---|---|---|
b8636e3c6 |
the bounded coding game replaces the substring bridge |
evidence/zed-coding-game-20260918T133318Z-local-7a7fc8bf — local 6/6 |
09f68f193 |
fleet artifact aaf9c047 on 8/9 |
…T140009Z-canary-hel04-aaf9c047 6/6 pinned · …T142150Z-apex-roundrobin-aaf9c047 6/6 |
6be4e547f · a7a536aee
|
omni-miner: bounded row fetch ends the OOM wall; DeepSeek V4.1 Flash mined first |
evidence/omni-miner-cure-20260918T150500Z — 9/9, 0 OOM, cursors on 9/9 |
5c1e1f7f0 |
the harness is Zed-faithful (stream, SSE, exact schemas) | — |
0b870ea7b |
the bond streams before tool_calls
|
…T152840Z-apex-sse-6e7cdc54 — 6/6 on the stream, 9/9 running inode |
3c5250bf0 |
.rules, helper, settings from Zed's docs and source |
— |
20a70e20f |
title/compaction answered from the board; 202 for notifications; Retry-After |
…T160628Z-apex-sse-aa7f7b13 — PROVEN 8/8 on the apex, aa7f7b13 on 9/9 file and running inode |
56453b607 |
the agent asks: CODE_CLARIFY, the audit block, citation, the sibling clone, verify by replay; the two-person Minecraft acceptance |
…T183940Z-minecraft-local — ZED_MINECRAFT_ACCEPTANCE_PROVEN 16/16, court hook REFUSED_UNKNOWN_BUDGET → WIN
|
| (this commit) | fleet artifact a7576aaaac5ca5ac on 9/9 as file and running host-systemd inode, C⁴ tip 9-way identical |
…T193…Z-minecraft-apex — PROVEN 16/16 on the apex round-robin, control arm discriminates |
Rights — source-available, all rights reserved. This wiki and its repository are published for public inspection and to let anyone re-derive the figures. They carry no LICENSE; under default copyright, all rights are reserved. No right is given or intended to use, run, or deploy it for any purpose other than re-deriving the published figures, nor to modify or build on it — any other use requires a written licensing agreement with the authors. · Affine.Earth · zero float · zero shear
Each step is the reason the next one exists. Nothing here is medical advice, and no page calls any medicine safe or unsafe.
1 · Why an exact safety screen at all
- Cures Without the Gatekeeper — the medicine front door: six real written medicines, one screen anyone can re-run
- The library admission law — what may enter, and the 71 arms that prove it refuses. The primary artefact.
2 · The three libraries, which grow rather than close
- The Library of Compound Cures — exact off-target maps for the medicines the registry publishes
- The Library of Proteins — 80,080 generated sequences, novel chemical matter, graded honestly
- The Library of Material Systems — what a system is, what was measured, where the law lives. C-007 absolute: no recipes
3 · The maps — every place a molecule could act, counted
- The off-target atlas — every nucleic-acid medicine the registry publishes a sequence for: WHERE it can pair
- The order of the bases — WHETHER THAT BURDEN IS UNUSUAL: 472 strands ranked against sixteen rearrangements of their own bases
- Where else could this guide cut? — the whole human genome, counted
- Designed, or forced by its own bases? — every clinical CRISPR guide, with its own composition as the control
- What a public genome deposit will tell you — and four ways it will mislead a health tool first
- Study 45 — which of nine billion answers a laboratory can act on — a safety review of AlphaGenome Atlas, measured live on 1,200 real variants at two genes. The headline score separates every one. The detailed tracks do not: splice-site usage hands back 950 of every 1,000 values shared with another variant at HBB and 998 at CFTR, and the shared values pile up in the quiet band where a bench clears a variant
4 · One medicine at a time
- Zilganersen — the first treatment for Alexander disease, screened on the real approved sequence
- A drug an AI designed — rentosertib for pulmonary fibrosis, and exactly what our instruments reach
- CAR-T, halted — the verdict a regulator could re-derive
- N-of-1 antisense — the only safety net at a population of one
- VERVE-102 — the off-target lattice a stranger can re-derive
- PM359 — prime editing, certified before anyone is dosed
- Del-Zota — the one safety question that can be made exact
5 · What keeps a disease alive, and what moves it
- Study 26 — master regulator bonds — 17 tumour types, 7,673 tumours; eleven compound pairs where no single agent among 20,308 cleared any
- Study 20 — Rife frequency — light and frequency, measured rather than dismissed
- Study 37 — five molecules — 37,910 "validated discoveries", 5 distinct molecules; why per-item validation cannot see a corpus-level defect
- Are the generated cures new? — 80,080 peptides against the human proteome
- Study 16 — disease type · Study 17 — chemistry InChIKey · Study 14 — protein lattice
- No language model in this stack — what the answers here are made of: measured 2026-09-12, no cell runs a model process, opens a model port or holds an unmasked model unit, and a gate refuses their return
- Run any study in your browser — all ninety programs open on your own device, forty-nine run there, and the run tells you whether it printed the sealed bytes
- The ontology — grades, terminals, controls, and what each page may say
- Zero Float · Zero Shear — the method in one page
- Ask someone you trust to check this — what to hand a sceptic
- Readers’ guide · Program index — all 42 studies · White paper · Roadmap
- The full-grade replacement — 49 retired instruments, 4 verticals
- The exactness seam — the business case
- Build a study — Falcon walkthrough — how to add one yourself
The same move every time: take a domain where a floating-point model is the accepted instrument, compute the same quantity in exact integers, and seal the cases where the two render opposite verdicts. The subject under grading is always the instrument, never the phenomenon.
- Study 48 — the atom already has an address — silicon dimers 3.840 Å apart, the smallest commanded scale on the board: a length carried in single precision mis-addresses its first atom at step 8,783; an address cannot
- Study 49 — the phase code never needs π — a phase-only modulator takes 256 codes per pixel; the code is a ratio of integers
- Study 50 — CMS raw data from the LHC, read exactly — CMS's 2011 collision bytes streamed from CERN Open Data into the Affine IDE and read in exact integers, every collision a hologram you can turn: 138 of 3,564 bunch slots carry 93,110 of 120,742 collisions, and in 3,854 the event record reads its slot exactly 3 lower than the pixel boards · public release
- Study 55 — IceCube: the light in the ice, hit by hit — IceCube's calibrated hits read byte for byte: 4 published files, 9,749 events, 2,289,821 hits, a census seal per file
- Study 47 — translation shear: the meaning that survives a language — LAW FROZEN · LIVE CLAIM, measured 2026-09-11 and again fleet-wide 2026-09-12: translation as an exact coordinate transform, charts derived in memory at every start from the raw rows of a pinned public weight file and never written down; one lattice digest on 9/9 cells, zero drift, every refusal named. The generative comparison arm is ABSENT — there is no generative translator in the stack
- Study 34 — the observer-invariant verdict — why a safety verdict needs an exact law, not a bigger computer
- Study 35 — the safety brain that forgets — deaf in 8.4 seconds, forgets across machines, disagrees with itself
- Study 36 — the language game of Fermat's Last Theorem — guess and shear, or project
- Study 40 — the number the simulation throws away — their ICO result computed as a fraction; in float the effect returns 0 at every width, and an effect returned as zero cannot be searched for
- Study 41 — fifty years of solving the wrong problem — the ordering was never about time, it was about arithmetic; 177× the work and 2,400× the wrong guesses to return the answer the machine already had
- Study 42 — The Exact Contract — 2.7M flood settlements in Int128 cents; the step exists and the rigidity does not
- Study 29 — continuous-model shear
- The lattice holds · Impact study — continuum dead · Death of continuous shear
- Fourier Phantom — Anima FNO vs 11+12+13 · Stellar dynamo kill shot
- QCD: freedom is dilation · UUM-8D vs IUT — WIN
- Peer-review bundle · Conjecture alignment
- We need fusion — the verdict every machine can check
- Affine Fusion Control — the local exact-integer court · public release
- Fusion researcher's guide
- Study 33 — the fusion control verdict court
- Every season, fifty tonnes — the biosphere-safety case
- The forcing nobody measures · Impact study — the SpaceX trajectory
- Study 31 — the biosphere joint ledger — LIVE on the court, 9/9 cells
- Study 28 — the wet-bulb threshold court — Act 1 sealed
- Study 32 — the taxi-out floor court
- Where humans actually yield — the fatigue curves, and where the rules already agree
- Study 30 — sovereign edge pod · Manufacture contracts
- The detector that flags the whole market — a manipulation geometry in exact integers, and the regulator's own indicator scored against a legitimate quoter
- Study 43 — almost every order is cancelled, and that is normal — nine sessions, three operators, two continents: 935 to 998 of every 1,000 orders that ended, ended without trading. A check that flags almost everything is a denominator, not a detector — and the stock you pick moves it further than the exchange does
- Study 44 — nine billion answers, four billion ways to say them — AlphaGenome Atlas ships 9 billion predictions in single-precision floats, which hold 4.28 billion distinct values: 52 of every 100 variants MUST share a score with another. Agreement and exhaustion look identical on the wire
- Study 38 — the loss-reserve triangle — a reserve is an exact rational; 481 of 482 verdicts identical in both arithmetics; the sixteen-billion figure comes from an unchecked premise
- Study 39 — the actuarial domain — life, pensions, multi-state and aggregation; the margin is 8 significant digits at its tightest
- Run any study in your browser — the ▶ badge beside a program name opens it in the Studio, already built and carrying its inputs, and runs it on your machine with nothing sent back
- Explore the live courts
- MCP user guide — all 51 tools · Deterministic no-float courts for LLMs
- Court Client — generic wasm IDE for every court · Court-client checkpoint
- Coding Court — the verdict IS the artifact
-
Zed — the coding agent, for developers — set Zed 1.20.2 up on
https://affine.earth/v1, no language model anywhere; what a turn does, the wire, the autonomous closure -
Zed — Minecraft comes to life — the two-person interaction, sealed: it asks, cites, clones a sibling with a value you supply, verifies by replay; the court flips
REFUSED_UNKNOWN_BUDGET → WIN - Zed — the agent that teaches the whole domain — architecture, protocols, server management and git, each answered from lines it read and instruments it ran; five closures PROVEN, and the cattle question answered with a counter the fleet did not have
- Math Court on Glama · Math Court user guide · Example app — entire court
- Quantum algorithms inventory · Shor witness certifier
- MCP clients (public)
- Glama connector
- Look in the UI (no visitor data)
A study appears here under the state its evidence has earned, and above under the question it answers. The two are different filings of the same work, on purpose.
✅ LAW FROZEN · DATA SEALED
- Study 06 — explosion vs earthquake · Study 07 — Sgr A* raw visibilities
- Study 11 — Ehrhart volume · Study 12 — parallel repetition · Study 13 — Connes rigidity
- Study 14 — protein lattice · Study 16 — disease type · Study 17 — chemistry InChIKey
- Study 18 — material STD · Study 19 — Go First dice
- Study 26 — master regulator bonds — 17 tumour types, every finding published
🔴 LIVE CLAIM — standing, not sealed
- Study 02 — launch ionospheric holes · Study 02 — regulatory alarm
- Study 09 — global convective bond · Study 20 — Rife frequency · Study 21 — stellar dynamo
- Study 22 — 2-local Hamiltonian · Study 23 — spin glass · Study 24 — N-representability · Study 25 — exact permanent
🌊 CHARTER · OPEN — the findings, published either way
- Study 03 — flare SIDs — archive went dead · predictions and validations
- Study 04 — tsunami vs surge — partial seal · Study 05 — Forbush decreases
- Study 08 — Gaia BH1 — no corpus until DR4 · Study 10 — Fermi / dark matter — does not disprove DM
- Study 15 — Skala DFT shear · Study 27 — exact nuclear scattering
- Overview · First 27 days · Success criteria
- The science, and what history says · Blind spots — five stories magnitude models miss
- Historical corpus · Data archives — every source, exactly how to reach it
- Model shear · Benchmark results · Prediction registry
- Substrate architecture — how a shadow becomes a geometry
- Operations runbook · Satellite & aviation advisory