Scaffold plus the Layer 1 analytical core and the first two experiments. - knowledge/: truth, metrics, teachers (2.7.1 shared-switch construction), step, lineage, experiment, config, seeding (imported as `knowledge`). - Validation spine green: neutral decay (Pred 1), fixation (Pred 2), exact mutation-drift equilibrium (Pred 3), union coverage (Pred 5). 68 tests pass. - E1 reproduces tail-first collapse. E2 delivers the headline: a grounding phase boundary g* << 1, with stationary H tracking the exact H_eq closed form (g=0.005 -> 68% of truth diversity; g=0.05 -> 96%). - Reproducibility: uv venv from a hash-pinned uv.lock is the source of truth; every run writes results.parquet + resolved_config.yaml + manifest.json (lib versions, git commit, sha256). Figures and manifests tracked; the large regenerable parquet is gitignored. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
32 lines
899 B
YAML
32 lines
899 B
YAML
experiment: E1_reproduce_collapse
|
|
seed: 20260704
|
|
n_replicates: 100
|
|
generations: 600
|
|
|
|
# Null model (blueprint 2.5-E1): no grounding, single teacher, no selection.
|
|
# Starting from the truth makes the collapse narrative clean -- the tail is lost first,
|
|
# support shrinks to 1, forward-KL diverges, and H decays geometrically at rate 1/n.
|
|
# (The decay law E[H_t]=H_0(1-1/n)^t holds from any start; see the validation suite.)
|
|
truth:
|
|
K: 500
|
|
R: 1
|
|
tail: zipf
|
|
zipf_s: 1.1
|
|
tail_frac: 0.5
|
|
tail_threshold: 1.0e-3
|
|
init: truth
|
|
|
|
dynamics:
|
|
n: 100 # distillation sample size = drift strength
|
|
teachers: {K_T: 1, rho: 0.0, q: 1.0}
|
|
grounding: {m: 0, policy: proportional}
|
|
selection: {mode: none, novelty_alpha: 0.0}
|
|
remint: {enabled: false, period: null, H_gate: null}
|
|
|
|
metrics:
|
|
kl_floor: 1.0e-9
|
|
support_eps: 1.0e-9
|
|
|
|
# No sweep: a single condition.
|
|
output:
|
|
dir: results/E1
|