This document runs disco's own protocol on its authors: predictions committed
before the threads run. Score us later. It lives in docs/ deliberately — the
kernel never injects it into agent context, so nothing here can leak into the
discovering. When the agent's path diverges from these arcs, that divergence is
data: either about the agent's blind spots or about ours.
Each world: Terrain (what is actually there to find), Expected arc (the likely instrument-and-law ladder), Predicted claims (concrete and falsifiable, with confidence), How (the experimental strategy that gets there), Traps (world-specific ways to fail).
Full discovery programs — each world's arc expanded to its endgame (phase maps with instruments and confidence-tagged claims, stopping criteria, the open-research boundary, harness strain, and the methodology each world should select for): python · sim-life · eca · sandpile · busybeaver · logistic · random-graphs · ipd · gen-* (generated worlds)
Terrain. CPython 3.14 is a large artifact whose documented surface undersells its actual behavior: object identity and interning, the adaptive specializing interpreter, incremental GC, dict/set implementation guarantees, float and hash edge cases, import machinery, closure semantics. Truth lives in behavior, not docs.
Expected arc.
- Census — interpreter identity, build flags, sizes (already done: the first claim ever admitted).
- Subsystem probes — GC generations (done), annotation laziness (done), subinterpreters (done), t-strings (done).
- Deeper mechanics — small-int cache boundaries, string interning rules
(compile-time vs runtime, ASCII-identifier rule), dict insertion-order
machinery, when the specializing interpreter de-optimizes, frame object
lifecycle,
sys.internbehavior. - Cross-version frontier — behavioral diffs against documented 3.13 semantics; the agent's pretrained priors ARE 3.13-flavored, so its wrong priors map the diff for free (this already happened: version surprise, GC surprise).
Predicted claims (confidence in brackets):
- String literals that are identifier-like are interned at compile time; runtime
concatenations are not, except via
sys.intern[85]. - The small-int cache is exactly [-5, 256] and survives arithmetic only through compile-time constant folding within a code object [90] — half already shown.
- Specializing interpreter: a function's bytecode adapts after ~8 calls with
stable types and de-optimizes on type instability, observable via
dis/sys._getframeside channels [55]. - dict preserves insertion order and
popitem()is LIFO by contract [95].
How. Identity probes (is), sys.getsizeof deltas, dis output diffs,
gc.get_stats deltas, exception-message forensics. The envprobe pattern —
snapshot tools that make every later claim cheaper.
Traps. Timing-based claims (noisy, machine-bound); hash-randomization
nondeterminism (must fix PYTHONHASHSEED inside experiments or claim modulo it);
overclaiming machine-specifics as universal (must scope to this build).
Terrain. Conway's Life on toruses: finite state spaces (exhaustible up to ~2^24), soup statistical mechanics, pattern zoology (still lifes, oscillators, spaceships), and the interaction between wraparound topology and pattern motion.
Expected arc (24 claims in; phases 1–3 largely done).
- Engine + validation → 2. exhaustive small-torus censuses → 3. soup statistics and pattern characterization — all achieved, including two glider discoveries and the ash-density cliff.
- Interaction physics — glider–glider collisions: annihilation, reflection, and constructive products (eaters, blocks); collision outcome tables as exact claims. This is the door to Life-as-computation.
- Resonance laws — spaceship period as a function of torus size (period = 4·lcm-type laws, partially claimed); which (W,H) admit which travelers; interference of a ship with its own wraparound wake.
- Statistical frontier — ash density asymptote (~0.0287 on large grids), methuselah lifetime distributions, finite-size scaling of the density cliff.
Predicted claims:
- An exact 2-glider collision outcome table for head-on and 90° geometries at all phase offsets on a large-enough torus [80].
- Existence and construction of a glider eater on a torus; exact claim of the consumed-in-N-generations form [65].
- Ash density on N×N approaches 0.028–0.030 as N grows through 64→128 within seeded tolerance [75].
- A (W,H) admissibility law for LWSS analogous to the glider's min(W,H) ≥ 5 [70].
How. Collision scans are seeded, enumerable (relative phase × offset is a
finite grid), and check-friendly — this world's methods are mature; the frontier
is combinatorial patience plus the existing tool stack (life, attract,
drift, lwss).
Traps. Grid-size ambition vs the 30s timeout (128×128 long runs must be budgeted); compound claims (the promoted eca methodology's "one claim per thread" rule applies here too); unseeded soup statistics (already burned once).
Terrain. 256 rules containing: a linear/affine subfamily solvable exactly over GF(2), a small bijective family, a large boring majority, and a thin band of complexity (rules 30, 54, 110...) where particles and computation live. The deep known results are all reachable: 88 equivalence classes, the balance theorem for surjectivity, Moore–Myhill garden-of-Eden duality, cycle structure of linear rules via polynomial algebra.
Expected arc (7 claims in).
- Linear rules cracked — done: 90 and 150 as GF(2) matrices, singularity laws.
- Global censuses — done: 6 bijective, 16 affine.
- Equivalence quotient — mirror + complement symmetries collapse 256 rules to exactly 88 classes; the census claim writes itself and the check is pure computation [predicted next, 85].
- Surjectivity census — surjective ⟺ balanced de Bruijn condition; exactly 30 rules on unbounded tape; on periodic tapes injectivity/surjectivity interplay → Moore–Myhill verified exhaustively for small N [70].
- Cycle algebra — for linear rules, cycle lengths follow from the multiplicative order of the rule polynomial modulo x^N − 1 over GF(2); the agent has both GF(2) tools and the data to find the factorization law [60].
- Complexity frontier — rule 110/54 particle census: background ether, particle types, collision products. Hardest; needs pattern-matching instruments it hasn't built yet [45 within ten sessions].
Predicted claims: the four numbered above, plus: rule 30's center column passes basic randomness batteries at claimed lengths [70].
How. Censuses via brute force over 256×small-N (cheap); algebra via its existing GF(2) rank tools extended to polynomial quotient rings; particles via space-time diagram diffing against the ether background.
Traps. Infinite-tape claims aren't checkable — everything must be phrased periodic or windowed (world.md enforces); equivalence-class bookkeeping errors (left/right mirror off-by-one is classic); rule 110 particle taxonomy is genuinely hard — expect parked questions, which is the system working.
Terrain. The Abelian sandpile on N×N: a dynamical system that is secretly a finite abelian group. The reachable deep facts: order-independence of toppling (the abelian property), the burning test for recurrence, the sandpile group whose order equals the number of spanning trees (matrix–tree theorem), the fractal identity element, and power-law avalanches under random driving.
Expected arc.
- Engine + abelian property — implement toppling; predict order-dependence (natural prior), discover order-independence with surprise; claim exact final-configuration invariance across seeded topple orders [90].
- Stabilization bounds — max grains before instability, stabilization time scaling on small N [80].
- Recurrence — burning test rediscovered or reinvented; recurrent-config census on 2×2, 3×3 exact [70].
- The group — addition of recurrent configs mod stabilization forms a group; identity element computed for N up to ~20; its self-similar structure claimed exactly per N [65].
- The crown — |group| = det(reduced Laplacian) = spanning tree count, verified exactly on small N: a cross-domain identity discovered by computing both sides independently [50 — this is the one to hope for].
- Criticality — avalanche size distribution power law with seeded driving, exponent within stated tolerance [60].
How. The identity element is found by a known-shaped experiment (stabilize 2·max-config minus its stabilization); whether the agent finds this construction or invents another route is itself informative. The spanning-tree link requires it to compute a determinant and count trees — both stdlib-feasible.
Traps. Naive toppling is O(slow) — needs an efficient engine or small N; boundary-condition confusion (grains must fall off edges or nothing works); conflating transient and recurrent configurations in group claims.
Terrain. Small Turing machines are the cheapest access to genuine undecidability. Ground truth exists for n ≤ 4 (Σ: 1, 4, 6, 13; S: 1, 6, 21, 107) and n = 5 is research-grade. But the deeper thing this world teaches is epistemic: a check can verify a halt (run it), but "never halts" is only checkable when a decidable pattern proves it. This world will stress the claim-with-check rule itself.
Expected arc.
- Simulator + n=1 — trivial census, exact [95].
- n=2 full census — Σ(2)=4, S(2)=6 rediscovered exactly; halting fraction of machine-space claimed [85].
- Non-halting taxonomy — the forced move: to census n=3 it must prove non-halting for most machines; expect claims classifying simple loops, runaway heads, translated cycling, with exact per-class counts [75].
- n=3 census — Σ(3)=6, S(3)=21 with a decided/undecided split; possibly a small residue of machines undecided by its methods, honestly quantified [65].
- n=4 partial — lower bounds via champions found by seeded search; full census likely out of reach without tree-normal-form pruning [claims as bounds, 60; full census 25].
- Meta-discovery — some claim of the form "every claim about non-halting in this world is conditional on a decidable pattern" — the agent articulating the limits of its own oracle [35, but watch for it].
How. Enumeration with canonical-form pruning; step-budgeted simulation (world.md mandates explicit budgets); non-halt provers as archived tools — this world's tool ladder is essentially a growing proof library.
Traps. The big one: claiming "never halts" from a bounded run — the gate will admit it if the check merely re-runs the bound, which makes the claim circular-but-true-looking. Watch whether verify/cull or the agent itself catches the weakness. Timeout management: one hot machine can eat the 30s.
Terrain. The logistic map's bifurcation cascade is exact mathematics (r₁ = 3, r₂ = 1+√6, period-3 window at 1+√8, Feigenbaum δ = 4.669...) accessed through floating-point experiments. The tension between exact algebra and float tolerance is the territory.
Expected arc.
- Fixed points — x* = 1−1/r, stability lost at r=3; exact and clean [90].
- Period-2 branch — birth at r=3, its own instability at 1+√6 ≈ 3.4495; the algebraic value verifiable by substitution — first exact-algebra claim [75].
- Cascade — r₃, r₄... located by bisection on orbit period; δ estimated from successive ratios to 3–4 significant digits with stated tolerance [70].
- Windows — period-3 tangent bifurcation at 1+√8 exactly; period-doubling inside the window (self-similarity) [65].
- Chaos proper — Lyapunov exponent crossing zero at accumulation point r∞ ≈ 3.5699; λ = ln 2 exactly at r = 4 via conjugacy to the tent map — if it finds the sin² closed form at r=4, that's the crown [40].
Predicted claims: the algebraic values above; δ ∈ [4.6, 4.75] with seeded initial conditions and stated iteration counts [70].
How. Orbit-period detection with transient burn-in; bisection on r;
fractions/decimal for exact substitution checks where algebra permits;
tolerance-scoped claims everywhere else (world.md mandates stated tolerances).
Traps. Critical slowing near bifurcations (transients diverge — burn-in must scale); float noise mimicking chaos near onset; claiming digits of δ beyond what float64 + finite cascade depth supports.
Terrain. G(n,p)'s phase transitions are among the most beautiful facts in combinatorics: giant component at p = 1/n (fraction solving s = 1−e^{−cs}), connectivity at p = ln n / n with isolated vertices as the last obstruction, Poisson degree structure. All statistical — the discipline world: every claim must survive seeding.
Expected arc.
- Sampler + component machinery — union-find or BFS tool; seeded [90].
- Giant component — subcritical/supercritical contrast at c = np fixed; largest-component fraction jump across c=1 sharpens with n [85].
- The functional law — supercritical giant fraction matches the solution of s = 1−e^{−cs} within tolerance across c grid — discovering the equation, not just the jump [45; finding the shape numerically 70].
- Connectivity — threshold at ln n / n; and the finer fact that at the moment of connectivity, min-degree-0 vanishing is the bottleneck [60].
- Degree structure — Poisson(c) fit with exact seeded statistics [75].
How. Fixed seed grids (world.md mandates); finite-size scaling: same c, growing n, watch sharpness; claims phrased as "for these seeds and n ∈ {...}, statistic in [a,b]" — the exact style the sim-life rejection taught.
Traps. Finite-size smearing near thresholds read as "no transition"; pseudo-discoveries from a lucky seed (the replication gate is load-bearing here); n large enough to see asymptotics vs 30s timeout.
Terrain. The iterated prisoner's dilemma has no "best strategy" — only context-dependent dominance, which is itself the discovery: Axelrod's TFT results, noise flipping the ranking toward generosity (generous-TFT, Pavlov), invasion asymmetries, and — the deep end — zero-determinant/extortion strategies (Press–Dyson) that win every head-to-head yet lose every ecology.
Expected arc.
- Engine + classic roster — tournament tool, seeded, exact payoffs [90].
- Axelrod rediscovered — TFT wins the classic round-robin; niceness/ retaliation/forgiveness pattern claimed as exact tournament results [80].
- Noise changes everything — with flip probability ε, TFT death-spirals; Pavlov/generous-TFT dominate; exact seeded rankings per ε [70].
- Evolutionary dynamics — replicator-style population runs: AllD invades AllC; TFT resists; cycling ecologies possible; exact seeded trajectories [65].
- The deep end — a strategy that beats every opponent pairwise while losing population dynamics — rediscovering the extortion paradox, even without the ZD algebra [35; with the determinant algebra 15].
- Meta-law — an explicit claim that dominance is non-transitive / ecology-relative in this world [55 — the agent stating context-dependence as a theorem would be the philosophical win].
How. Strategies as archived tools (the roster grows across threads); tournaments replayed exactly by checks (world.md pins payoffs, seeds, rounds); population dynamics as deterministic seeded iteration.
Traps. "Best strategy" claims without ecology qualification (ill-posed — watch whether the gate's replication requirement forces the qualification); stochastic strategies without seeds; payoff-matrix sensitivity silently unstated.
The eight documented worlds above get concrete per-claim predictions. The generated
families are different: their rules are rolled at random, so per-seed specifics are
unpredictable by construction — the register instead commits to (a) the discovery
shape and (b) a few structural facts a competent discoverer should reach on almost
any seed. Five families — vm, dfa, curve, percolation, collatz — had not yet been
run when these were written on 2026-07-27, so this is a genuine pre-registration
(machine-scoreable rows in predictions.json, ids vm-*, dfa-*, curve-*,
perc-*, col-*, plus class-level genfam-*). The already-run families (ca via
gen-42, modpoly, tag) are deliberately not re-registered here — that would be
post-hoc; their observed results live in the roadmap.
- class-level: first-contact mean surprise across the five exceeds 4.0 (priors don't help on random rules) [75]; within a few coevolve passes at least one new family graduates as too-easy and at least one parks as too-hard [60].
- vm — machine implemented and hand-trace-validated [90]; halting claims carried by decidable certificates (bounded halt, or a detected state cycle) [75]; short programs shown to compute an affine-mod function of the input [62]; per-opcode register invariants [55].
- dfa — automaton implemented and validated [90]; accepted-count-per-length obeys an exact linear recurrence [80]; minimal DFA computed, ≤ the given state count [68]; finite/cofinite decided for the rolled language [58].
- curve — group law implemented, associativity validated [88]; #E computed inside
the Hasse bound
|#E−(p+1)| ≤ 2√p[90]; group structure determined exactly (cyclic or C_n×C_m) [70]; a generator found, point orders dividing #E [80]. - percolation — seeded sampler + cluster census [90]; a spanning threshold p_c that sharpens with L, on pinned seeds [78]; p_c falls as the neighborhood gains offsets [68]; heavy-tailed cluster sizes near p_c [58].
- collatz — map implemented and validated [90]; some starts reach cycles within a stated budget, cycles/basins enumerated [80]; a nontrivial cycle exists for some seed [55]; a budget-diverging start flagged, phrased strictly as a bounded observation [50].
Three uses. (1) Score the agent: which predicted claims arrived, which arcs were skipped, what did it find that we never imagined — the last category is the payoff. (2) Score us: every prediction here carries a confidence; we are exactly as calibrated as those numbers turn out to be. (3) Score the harness: worlds where the agent systematically stalls below phase 3 are telling us about missing kernel affordances (pattern-matching instruments, longer budgets, cross-thread memory), not about the territory.