Wiki · Evidence & Verdicts
Honest-Consummation RED — pre-registration (Cure-2)
How to read this page
Three ways to read this page. Precise is the document itself, exactly as it is written in the repository. Plain and Clear were written for this website to help you meet that document — they are about it. They are not it, and they are not evidence.
Eighty-seven dated pages: receipts, pre-registrations, handoffs, validation records and review verdicts. A receipt is written at the moment a piece of work was checked. It names what was claimed, the commit and the seed, what was actually run, and the outcome in one of a small set of controlled words. Then it names what the work did not achieve. That last part is what makes it a receipt rather than an announcement. A pre-registration is the same discipline run in advance: the conditions that would count as a pass and the conditions that would falsify the claim are written down before the run, so neither can be adjusted once the numbers arrive.
That is why so many small dated stubs are an audit trail rather than noise. No one of them is meant to be a good read. The value is in the sequence and in the dates, because you can watch a prediction be registered, then the run happen, then the verdict land — sometimes against the prediction. Pages here record a falsified result, a rejected fix, a retracted overclaim, and a green receipt that turned out not to be reproducible from the commit that carried it. A record that carried only successes would be worth a good deal less than this one.
A gentle way in is to read a pre-registration first, so the shape becomes familiar, then a result page, then one of the corrections. This section sits off the main navigation on purpose: it is the record you check the rest of the site against, not the place to begin.
What it is not: documentation, and not a summary. Nothing here has been tidied in hindsight. Every entry reads as of its date, a later entry may overturn an earlier one, and the presence of a page is not a claim that its result stood.
Your browser cannot switch reading levels, so the document itself is shown.
Precise — the source document
This is the document. Rendered from the repository at the commit above, with nothing rewritten for the web. A gate re-renders it on every deploy and fails the build if a single byte differs.
Pre-registered BEFORE the run (Lab Protocol). Continuation of the owner-directed forage flow (2026-07-11/12).
Runner: runs/forage_honest_red.exs. Branch lab/ozone-life-uni-hard-science @ 3a1311a. Lab-team verdict:
SIGN-WITH-CHANGES (workflow wf_0cf41964-463); the three artifacts are the typed spec, this RED, and the
ship-gate checklist in the cure commit.
Question
Does the honest-consummation couple (consummation_honest) make hunger reliably drive HUNTING — removing the
eat-on-empty swamp so the agent acquires food (hunts) then eats — where the diagnosed-broken control does not?
This runs on the ALREADY-CONFIRMED hunt motor (ff57a5a, DIAG-2: survival-by-hunting is physically possible).
Design — ONE variable
Both arms: fresh minds, novelty ON (0.3), same prey-stocked peaceful/day world, same nursery metab_scale runway
(SCALE, held identical), the SAME has_food preference (+2.0, untouched). The ONLY difference is the couple:
- CONTROL = kin 74,
Genome.nursery(0.3, SCALE)—consummation_honest = false(the forage-RED-1 lineage). - TREATMENT = kin 75,
Genome.nursery(0.3, SCALE) | consummation_honest: true(the honest-eat couple ON).N_PER_ARM=3,SOAK_SEC≈2100(35 min), 3s sampling. Isolation: distinct kin (74/75) + memory dir, on the idlemc-server(streamed colony down). ZERO calorie gives (guard raises on give/item/clear/xp; prey are summoned live animals; the nursery runway is a drain-RATE, not manna, identical across arms).
Gates (pre-registered — no post-hoc retuning)
| Gate | Channel | PASS | FALSIFIES |
|---|---|---|---|
| G1 selection | per-bot action log | TREATMENT attack-share (in the depleted+empty window) materially exceeds CONTROL (target ≥ 2×), eat-on-empty share lower | attack-share ≈ CONTROL ⇒ the couple is not the lever (F1) |
| G2 acquisition | inv.food / max_inv_food |
TREATMENT secures world-earned meat (max_inv_food > 0 for ≥ half its bots); CONTROL ≈ 0 |
TREATMENT also ≈ 0 ⇒ hunt loop still not closing (F2) |
| G3 survival (necessary-not-sufficient) | alive_frac + kill→refill | TREATMENT survival fraction + kill→energy-recovery cycles exceed CONTROL by a clear margin | no survival gain ⇒ eat de-valued but chicken-and-egg dominates (F3 escalation, seed the dormant strike prior as a SEPARATE RED) |
| G-REWARD (fence) | config audit | no C magnitude inflated (reserve span 10.5, has_food +2.0 both arms) | a win needed an inflated C ⇒ REJECT |
- WITHHELD/VOID (re-run clean) if any second variable differs between arms (runway, prey density, novelty, has_food-C), or both arms die before the learning window (raise SCALE / lengthen soak).
- FOOD-HACK guard (G4): any survival with NO kill→refill cycles ⇒ it came from the runway ⇒ withdraw the claim.
Claim fence
A PASS demonstrates the reward-free BEHAVIOUR "the honest-eat couple makes hunger drive hunting" — necessary-not- sufficient, zero evidential weight for awareness / hunger-as-experience / life. Every store/count/belief is a MODEL VARIABLE. Survival = in-world persistence only.
After this verdict
PASS → the acquisition loop is closed and reliable; proceed (owner go-ahead) to the nursery→pure-world QA gate, then ping the Producer for G2 only after a TRAINED brain forages+survives a scaffold-free pure world. F3 → escalate to the dormant-strike-prior step as its own single-variable RED (first rule). No rollback.
RESULT — Run 1 (recorded 2026-07-12, live on mc-server, container uni-colony-honest)
VERDICT: PARTIAL — G1 (selection) PASS, G2 (acquisition) FALSIFIES, G3 (survival) confounded. Clean run
(zero gives). Evidence: ~uni/.claude-evidence/forage_red/honest_red_*.log.
| arm | bots | total_attack | killed_food | survived_full | mean_min_e |
|---|---|---|---|---|---|
| CONTROL (kin74, honest OFF) | 3 | 6 | 1 (scavenged, see below) | 1 | 0.136 |
| TREATMENT (kin75, honest ON) | 3 | 43 | 0 | 0 | 0.004 |
- G1 selection — PASS (the cure's designed mechanism, CONFIRMED). TREATMENT chose
:attack7× more than CONTROL (43 vs 6), in LESS time (all TREATMENT dead by ~600 s vs CONTROL's survivor to 2040 s) ⇒ an even larger per-time attack rate. The ONLY variable isconsummation_honest, so this is attributable to the couple: de-valuing eat-on-empty makes hunger drive HUNTING, exactly as the FEP design predicted. (The launcher'sde_attack_share=0.0both arms is a 3 s-sampling artifact — it rarely catches the brief:attackat the sample instant;attack_count/total_attackis the reliable channel.) - G2 acquisition — FALSIFIES. TREATMENT's 43 attacks yielded 0 self-collected meat (
max_food=0all 3). The hunt motor does not reliably CONVERT frequent attacks into kills+collected food. A NEW, specific motor gap: it worked for occasional attacks (DIAG-2 UNI-72-1: 12 food; and see CONTROL below) but not under aggressive repeated attacking (thrash: re-target nearest each call / never complete a kill / move off the drop). - G3 survival — CONFOUNDED. CONTROL's lone survivor (UNI-74-1,
food=5from onlyattack=1) almost certainly scavenged meat the aggressive TREATMENT bots killed-but-left-uncollected (5 food from 1 attack ≠ self- sufficiency;collectDropsgrabs any nearby item). Shared-world drop-scavenging muddies per-bot attribution ⇒ the survival comparison is not clean.
Honest read: the FE cure is a genuine, attributable WIN on its target (hunger→hunting selection). The loop still doesn't close because of a MOTOR kill-conversion gap, now precisely located, plus an experiment-isolation confound. NOT a dead end.
Fix-forward (no rollback):
- Diagnose + fix the hunt-motor kill-conversion: instrument doAttack to log target/strikes/kill/drop per call; likely fixes — stick to ONE target until it dies (don't re-target the nearest each call), ensure the kill's drop is collected before moving, cap re-attack thrash. Body-only, no FE touch.
- Isolate arms in the next RED (separate worlds or well-separated regions + per-bot drop attribution) so scavenging can't confound survival.
- Re-run the paired RED (CONTROL vs TREATMENT) on the fixed motor + isolated arms. Only then does G3 survival become a clean read. The cure itself (G1) needs no change — it is confirmed.
Do NOT proceed to nursery/QA or ping the Producer for G2. The selection cure holds; the motor must convert.
RESULT — Run 2 (recorded 2026-07-12, FIXED motor 11013f7, container uni-colony-honest)
THE EMERGENT FORAGING LOOP IS CLOSED (live, with the developmental runway) — but the CURE's distinct benefit is
NOT established, and I must correct Run-1's optimistic G1 read. Clean run, zero gives. Evidence:
~uni/.claude-evidence/forage_red/honest_red2_fixedmotor_*.log.
| arm | bots alive @30min | killed_food | max_food | total_attack | mean_min_e |
|---|---|---|---|---|---|
| CONTROL (kin74, honest OFF) | 2/3 (e=5 full) | 3/3 | 34 | 210 | 0.403 |
| TREATMENT (kin75, honest ON) | 2/3 (e=5 full) | 3/3 | 2 | 18 | 0.532 |
- MOTOR kill-conversion — CONFIRMED. 19+ kills landed (
killed=true); every bot secured world-earned meat (killed_food 3/3both arms). The G2 gap is closed: the hunt now completes and collects. - Emergent foraging loop — CLOSED (with the runway). 4 of 6 deep-body UNIs (2 per arm) survived the full soak at
FULL energy by their OWN hunting — prey → kill → collect meat → eat → stay fed — live, world-earned, ZERO gives.
This is literal emergent foraging survival from the model + learning + priors. (Caveat: WITH the
metab_scale 0.2developmental runway; pure-world scale-1.0 graduation is NOT yet tested — a separate gate.) - CURE (honest consummation) — live advantage NOT established; Run-1's "7× attacks" did NOT replicate. Run-1: TREATMENT 43 > CONTROL 6 attacks. Run-2: CONTROL 210 > TREATMENT 18 — the direction FLIPPED. At n=3 the attack-selection difference is within noise, non-replicating ⇒ Run-1's G1 "PASS" was NOT a stable effect; I withdraw that claim. Both arms survive equally (2/3). Decisively, CONTROL (the honest-OFF "eat-swamp" lineage) hunted 210×, collected 34 meat, and survived — so once the motor works, the forage lineage LEARNS to hunt+survive WITHOUT the cure: novelty + has_food-C + live feedback let it experience attack→food and learn past the birth eat-bias. The eat-swamp is a real BIRTH bias (offline-proven, deterministic) that the agent learns past given the working motor + a runway. The cure's OFFLINE mechanism proof stands (344/0); its LIVE necessity is marginal in THIS world (VOID: both arms pass — world/runway too forgiving to discriminate it).
Honest bottom line: the binding constraint was the MOTOR, not the policy. Fixing kill-conversion closed the loop; emergent foraging survival is now real and reliable (with the runway). The honest-consummation cure is a mechanistically-sound, gated, byte-identical addition whose distinct live benefit is unproven here — it would need a HARSHER world (pure-world scale 1.0, sparser prey, no runway) where the birth eat-bias actually starves a control bot before it learns. Keep the cure (it can only help, and it's fenced), but do not claim it as the survival driver.
Fix-forward / next gates:
- Pure-world graduation (scale 1.0, no runway): does a trained forager survive with NO scaffold? THIS is the real self-sufficiency gate + where the cure may earn its keep. Isolate arms (separate worlds) to kill the shared-world drop-scavenging confound.
- Only a clean pure-world survival PASS (repeated kill→eat→recovery, zero gives) → nursery/QA → owner go-ahead → ping the Producer for G2. WITH-runway survival is development, not graduation.
sha256 8bedb0242b0a2698 — of the original file, so what was ingested stays checkable.
Plain — written for this website, not the source document
A pre-registration — the conditions written down before the run — with two runs recorded underneath it, and the second run withdraws a claim the first one made. The question was whether one change makes hunger reliably drive hunting. In the first run the treated arm attacked far more often but never converted an attack into food, and the survival comparison was confounded by scavenging. In the second, with the motor fixed, the direction flipped, so the earlier claim is withdrawn. What the second run did show is that the feeding loop closed, with a scaffold still in place.
Plain · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 8bedb0242b0a2698
Clear — written for this website, not the source document
One page holding a pre-registration — the conditions written down first — and two runs, in that order, with the later run correcting the earlier one rather than replacing it.
The design is a single variable. Both arms start fresh in the same prey-stocked peaceful world, with the same runway and the same preference, differing only in one setting. The isolation is described, the guard that raises an error if anything is given rather than earned is named, and there is a note that the runway is a drain rate rather than food.
The gates are written down before the run as a table with channels, pass conditions, and the results that would show them wrong. And there is a fence about the fence — a stated limit on what the result may be taken to mean. An audit checks that any win did not come from inflating a preference. A void condition applies if a second variable differs between arms, and a food-hack guard withdraws the claim if survival happened with no feeding cycles at all.
The first run comes back partial. Selection passes, because the treated arm chose to attack many times more often, in less time, with only one variable differing, so it is attributed to the change. Acquisition falsifies, because all those attacks yielded no collected food, which locates a new and specific motor gap under repeated aggressive attacking. And survival is confounded, because the lone survivor in the other arm almost certainly picked up meat the treated bodies killed and left, since collection grabs anything nearby. The honest read is that the change wins on its own target while the loop stays open, and the fix-forward list is body-only work plus isolating the arms next time.
The second run is where the page becomes unusual. With the motor fixed, the loop closes: bodies hunt, kill, collect, eat and stay fed, world-earned with nothing given, and several survive the full soak at full energy. That is stated with its caveat attached, because the runway was still in place and the unscaffolded case is a separate gate.
Then the withdrawal. The first run's headline difference did not replicate. The direction flipped, and at this size the difference is within noise, so the earlier pass is withdrawn by name. More decisively, the arm without the change hunted far more and survived, which means that once the motor works the lineage learns to hunt without the change at all. The bias it was designed to remove is real at birth and is learned past, given a working motor and a runway.
The bottom line is that the binding constraint was the motor rather than the policy. The change is kept, because it is mechanistically sound, gated and harmless, but it is explicitly not claimed as the reason for survival. Establishing that would need a harsher world, where the birth bias actually starves a control before it can learn. The next gates are named, with the reminder that surviving with a scaffold is development and not graduation.
Clear · written 2026-08-01 by claude-opus-5 · not yet checked by a person · about the document whose sha256 is 8bedb0242b0a2698