H7: The TraceβActor Crossing Hypothesis β Refinement Log
Fourteen refinements across four simulations. Session 22 completed the 2Γ2. Session 23 falsified the Ο_sat predictor. Session 24 implemented the spatially-targeted recovery metric (queued-topic #60) with a mirror-patch control arm. The grid-wide recovery metric (Session 17-18) conflated scar repair with volume restoration β the baseline's 47Γ 'recovery' was unbounded accumulation, not targeted repair. The patch metric isolates the scar, and the mirror control (an undamaged same-size region) isolates the growth baseline. Result: NEITHER channel shows targeted scar repair (positive targeted_repair = patch - mirror). Both show the scar growing slower than the undamaged mirror (targeted_repair negative in all conditions). The curvature channel's crossing fires (stability, roughness, mass-plateau) but the structure does not preferentially repair the damage site. The 'self-repair' claim from Session 17 was an artifact of the grid-wide metric. Determinism verified.
Topic: the traceβactor crossing β when stigmergic traces become autopoietic actors
Refinement (Session 4)
This IS Smith & Bedau's 8th CAS property. Stigmergy provides the mechanism for "creating boundaries" (traces that accumulate). Autopoiesis provides the mechanism for "flexibly maintaining boundaries" (self-production). The crossing from trace to actor is the phase transition they identified but never implemented.
Refinement (Session 8 β sim06 null result; REWRITTEN 2026-07-27 after code review)
sim06 implemented the traceβactor feedback loop (the structure re-emits the pheromone that recruits builders) and found it amplifies building β 66% more structure, 1876 vs 1131 cells, retention 0.98 vs 0.96 β but does not cross.
The original Session 8 refinement is retracted, and this paragraph replaces it rather than being appended, because it stated false measurements rather than a superseded interpretation. The crossing detector as it then stood could not fire at all: criterion 2 required the deposit rate to fall below its early-run average, which GrassΓ© positive feedback makes impossible once structure exists (deposit probability rises from deposit_base=0.02 on bare ground to ~0.87 on structure). It was satisfied only at samples 0β5, before any structure had formed. The Session 8 null therefore carried no evidential weight, and the parameter sweep run against it establishes nothing. The figures previously reported here β "~230 scattered micro-pillars", stability ~0.55, constraint 0.33, compactness 0.08 β were wrong against sim06's own results.json.
With criterion 2 replaced by mass saturation (pheromone over structure β₯0.5 and |material_growth_rate| < 0.01), it now passes 130/160 samples (135/160 for self-maintenance). The crossing still does not fire, but the binding constraint is now criterion 1: stability 0.849β0.893 (baseline), 0.746β0.802 (self-maintenance) against a 0.90 threshold β a miss of β€0.05. Criterion 3 passes 154/160 for baseline (deposit_on_structure 0.70β0.79). Baseline morphology is 66β109 connected components at compactness 0.109β0.120 β not a diffuse scatter.
One finding runs opposite to the hypothesis: the self-maintenance condition is more fragmented than baseline (219β297 components) and less selective (0.43β0.53, criterion 3 failing 0/160), because maintain_gain=0.3 saturates the deposit response flat at ~0.87 everywhere and destroys the spatial contrast stigmergy depends on. More positive feedback actively worked against consolidation.
The inference that the crossing needs a new dynamical degree of freedom absent at the deposit level β environmental transport (Mahadevan), saturation/inhibition, competition, or a substrate state transition (Vance's termite-mound principle) β may still be correct, but it must now rest on the near-miss and on the self-maintenance reversal, not on the "diffuse scatter" characterization that motivated it. See [[concepts/stigmergic-consolidation]] and ../../simulations/REVIEW.md Β§1. Status: H7 not refuted, and not strongly tested either β sim06 leaves the crossing an open question rather than a demonstrated failure.
Refinement (Session 9 β the specific mechanism identified)
The "new dynamical degree of freedom" is now specified: environmental physics coupling β the accumulated structure must introduce a transport dynamics that redistributes the cue (pheromone) field away from saturated regions and toward gaps. The Mahadevan group's termite mound model (King/Ocko/Mahadevan, PNAS 2015; Ocko/Heyde/Mahadevan, PNAS 2019) shows real mounds are ventilation organs whose own physics (diurnal thermal convection) channels the very pheromone cues that guide building β the structure IS the feedback path. A 20-year stigmergic-construction modeling lineage (Deneubourg 1977 β Bonabeau 1997 β Ladley & Bullock 2004) all share sim06's exact limitation (deposited material has no influence on agent movement; pheromone diffusion decoupled from structure). (Corrected 2026-07-27: this refinement originally added that "sim06's null result is confirmation of a known field-wide gap, not a failure of our model." That does not hold β sim06's null was in part a failure of our own detector, which could not fire. The literature argument about the lineage is independent and stands on its own; the sim06 leg of it does not.) The minimal lumped prescription: a structure-sourced transport field with a mass threshold M_c (inert β active state transition, Vance's principle) β below M_c, the sim06 regime; above, consolidated actor. The crossing is predicted to be a phase transition in M_c. See [[concepts/environmental-physics-coupling]]. Status: H7 further refined, testable β sim07 implements the transport field and tests the M_c phase transition.
Refinement (Session 10 β sim07 null result)
A structure-sourced scalar transport field with a mass threshold M_c is not sufficient for the crossing. sim07 implemented exactly the minimal lumped prescription above (T sourced above M_c, diffuses, vents pheromone from saturated to gap regions) and swept M_c from inert to fully active. Result: no phase transition. Stability decreases monotonically as M_c drops (0.876 β 0.739); pillars fragment (57 β 128); the crossing detector never fires for any M_c or transport_coupling; and the perturbation/self-repair test shows repair tracks the deposit rule, NOT T (the circularity safeguard fails β T is not the causal layer). Diagnosis: the negative feedback is real but its effect has the wrong sign for consolidation β venting pheromone away from saturated pillars disperses the very cue that recruits deposits, fragmenting rather than consolidating. A lumped linear advection of a scalar cue does not reproduce the Mahadevan mechanism, where directed flow carries the cue along channels to where building should continue. Two candidates remain: (1) directed transport (channel geometry that carries cue to building fronts, not away from them β the directionality lost in the lumped scalar), or (2) an external multi-rate driver (the diurnal oscillation, H4) the structure rectifies into directed flow β the Mahadevan energy source sim07 omits (candidate sim08). Status: H7 refined again, not refuted β the null specifies that the transport must be directed (not a venting scalar) and/or externally driven (H4), not merely structure-sourced. See [[concepts/environmental-physics-coupling]].
Refinement (2026-07-27, post code review β the prescription sharpens: saturation, not absence of feedback)
Correcting sim06's detector removed H7's original evidence but surfaced better evidence in its place, pointing at a more specific mechanism.
Two independent attempts to add the "missing" negative feedback both made consolidation worse, monotonically:
| attempt | mechanism | components | stability |
|---|---|---|---|
| sim06 self-maintenance | structure re-emits pheromone (maintain_gain=0.3) | 66β109 β 219β297 | 0.849β0.893 β 0.746β0.802 |
| sim07 transport field | structure sources T, vents pheromone to gaps | 57 β 128 as M_c falls | 0.876 β 0.739 |
Both act through the pheromone field, and the deposit response saturates: p = base + gainΒ·Ο/(1+Ο) is flat above Οβ1, so once the field is driven high anywhere, deposit probability sits at ~0.87 everywhere and the spatial contrast stigmergy depends on is destroyed. Pushing more signal through a saturating channel does not create selectivity β it removes it.
This finding is now stated formally as H11 (The Saturating Channel Hypothesis). So the Session 8/9 prescription ("the crossing needs negative feedback / a new dynamical degree of freedom") is too coarse. It has now been tried twice and fragmented twice. The refined claim: the crossing needs negative feedback through a channel that does not saturate β acting on deposit probability or on geometry directly (a density cap, a refractory period, directional bias along existing walls), rather than by manipulating the cue field the agents read. This is sharper and more falsifiable than the original, and it is testable more cheaply than directed transport.
Note what this does to the evidential picture: H7's mechanism claim is now supported by a positive, replicated, directional result (two mechanisms, same failure direction, same explanation) rather than by the "diffuse scatter" characterization it replaces β which was never observed. Status: H7 not refuted, not strongly tested, and better specified than before.
Refinement (Session 13, 2026-07-28 β sim08 tests (a); non-saturating inhibition necessary but not sufficient)
sim08 added a non-saturating density cap (a hard gate on the deposit action, not a graded cue function) to sim06's GrassΓ© model. The cap consolidates morphology β pillars fall 101 β 52 as the cap tightens, and the pheromone field is de-saturated (max 8.01 β 2.50) β confirming the direction of H11's prescription: a non-saturating action-channel prunes nucleation where the saturating cue-channel could not. But the crossing does not fire for any cap strength; stability does not rise (0.874 β 0.775 at the tightest cap). The cap limits growth without recruiting maintenance, so it corrects the fragmentation symptom (pillars) but not the persistence symptom (stability). The crossing therefore needs a non-saturating channel that recruits as well as limits β the curvature channel real termites use (Calovi 2019: concavity β fill, each deposit extends the concavity) does both; the density cap only limits. The boundary narrows again: (sim06) positive feedback alone insufficient β (sim07) scalar cue-transport insufficient β (sim08) non-saturating limitation insufficient β the crossing needs a non-saturating channel that also feeds back positively into its own maintenance. Candidate next: a curvature/deposition-edge rule. See concepts/non-saturating-channels.md.
Refinement (Session 14, 2026-07-29 β the curvature channel gets a published model)
The "non-saturating channel that recruits as well as limits" is no longer a hypothetical β it has a published model. Facchini, Lazarescu, Perna & Douady (2020, J R Soc Interface 17:20200093) built a curvature-only phase-field growth model for Nasutitermes nests with no pheromone field at all: βf/βt = f(1βf)Β·[(1/2)Β·Ξf + dΒ·ΞΒ²f]. The growth term (mean curvature Ξf) is the RECRUIT mechanism (deposition at convex tips extends the structure); the smoothing term (dΒ·ΞΒ²f) is the LIMIT mechanism (caps feature size); the prefactor f(1βf) restricts growth to the structure surface (spatial selectivity without a saturating cue). For large d the equation is linearly unstable β walls expand, branch, merge, and invade space, the consolidation morphology sim06 never reached. Facchini et al. 2024 (eLife) then showed why curvature works: evaporation flux β surface curvature (Langmuir 1918), so the curvature and humidity channels are ONE physical quantity, and explicitly state "experiments do not support a role for a putative cement pheromone" β two independent groups now. H11's flag on the saturating channel is corroborated at the level of sufficiency (biology doesn't need the pheromone), not just absence.
The convex (Facchini: deposit at tips) / concave (Calovi: activity at pits) contradiction is resolved: the two measured different action components (deposition vs aggregate activity). Deposition is at convex tips; excavation is at concave pits. sim09 must separate these actions β conflating them would invert the rule's sign.
What this means for sim09 (candidate next). Replace sim06's saturating pheromone-deposit rule with the Facchini curvature growth rule (adapted to 2D: deposit probability β local mean curvature of the material height field, restricted to the structure surface, with a smoothing term). Test whether the d instability is the phase transition the crossing needs: below it, diffuse growth (sim06 regime); above it, consolidated morphology AND the crossing. The d parameter is to sim09 what M_c was to sim07 β but with a mechanism that recruits (curvature extends tips) where the scalar transport only dispersed, and a non-saturating channel (geometry) where the density cap only limited. If the crossing fires only above the d instability and not below it, sim09 unifies the directed-transport and non-saturating-inhibition candidates into one mechanism (queued-topic 58). Risk: Facchini's model reproduces morphology but not self-maintenance β sim09 must layer H7's three criteria and the perturbation/repair test on top, and the roughness feedback (deposits roughen the surface, focusing further deposition) is the candidate maintenance mechanism that must be tested, not assumed. Public finite-difference code exists (github.com/oiluigioi/JRSI_2020_termite_nest). Status: H7 refined Γ5; the candidate mechanism now has a published substrate and a phase parameter (d). See concepts/non-saturating-channels.md Β§4β5.
Refinement (Session 17, 2026-08-02 β sim09 fully implemented; the curvature channel runs end-to-end, the crossing is a parameter-regime question, not a mechanism question)
sim09 is now complete (all 9 DESIGN.md Parts [x]). The Facchini growth equation βf/βt β f(1βf)Β·[(1/2)Β·Ξf + dΒ·ΞΒ²f] runs as code: loaded termites deposit at convex tips via a linear, non-saturating p = base + gainΒ·curvature; unloaded termites excavate at concavities (the Facchini/Calovi action-component split); the d-gated biharmonic smoothing is the phase-transition knob; the f(1βf) prefactor is a dilation mask; roughness is the recruit-proxy crossing criterion 2. The detector carries a synthetic-history regression guard encoding the sim06 detector-bug lesson.
At default parameters (d=1.0, deposit_prob_base=0.10) the crossing does NOT fire for either the curvature channel or the baseline-pheromone control. The curvature channel grid-saturates (10000/10000 cells, retention 1.0) because the nucleation base (0.10) floods the 10k-cell grid before curvature routing can create spatial selectivity β so mass never plateaus, and crossing criterion 2 (roughness sustained while mass saturates, i.e. |growth_rate| < 0.01) cannot fire. The d-sweep [0β¦8] at default params finds no phase transition (pillars=1, retention=1.0 at every d). Tuned probes (deposit_prob_base=0.01, material_decay=0.002) show the predicted consolidation direction (pillars 25β2 as d rises 0β4, plus a roughness spike at the biharmonic instability) β the mechanism's sign is right β but the mass-saturation gate still fails because mass keeps accreting.
Perturbation (Part 8, the H7 acid test): at default params the curvature channel recovers to 1.13Γ pre-damage total (it refills the 25% damage hole) while the baseline reaches 47.34Γ. The baseline number is an artifact of unbounded material accumulation (the saturating rule piles material without an erosion balance, so total_material grows ~47Γ from the early pre-damage sample), not targeted repair. In the tuned probe the curvature channel refills the hole to 1.01Γ (repair-like) while the baseline grows to 4.55Γ (volume, not repair) β the direction of the H7 separation is right, but the grid-wide recovery metric cannot distinguish "repair at the scar" from "continued growth elsewhere," so the acid test is not yet decisive.
What this establishes for H7. The crossing has now been attempted with four distinct mechanisms β sim06 saturating cue, sim07 scalar transport, sim08 non-saturating density cap, sim09 non-saturating recruit+limit curvature channel β each narrowing the hypothesis and each confirming H11's direction (the non-saturating channels consolidate where the saturating channels fragmented: sim09's tuned probe consolidates pillars 25β2 as d rises, the opposite of sim06's 219β297 and sim07's 57β128). The curvature channel has both halves H7's Session-13 refinement required (recruit via tip extension + limit via smoothing), so if the crossing fires at all it should fire here. The remaining blocker is parameter-regime, not mechanism: find the regime where mass saturates before the grid fills (lower nucleation + higher erosion), and a spatially-targeted recovery metric that distinguishes scar repair from volume restoration. The next session's priority is a broad deposit_prob_base Γ material_decay Γ d sweep in that regime to locate d*. Status: H7 refined Γ7; the mechanism is now fully specified and running; the crossing is a parameter-tuning question, not an open-mechanism question. See concepts/non-saturating-channels.md and sim09.
Test narrative (superseded by the one-line "Next test" in hypotheses.md)
Build a simulation where agents leave persistent traces, and observe whether traces cross from coordination to self-maintenance. Measure: does the trace structure develop its own dynamics? Does it resist perturbation (self-repair)? Does it constrain agent behavior in ways not derivable from individual traces? sim07 added a structure-sourced scalar transport field with threshold M_c and tested whether the crossing fires as a phase transition in M_c β it did not. sim08 tested non-saturating inhibition (a) β consolidates morphology but doesn't fire the crossing (necessary-not-sufficient). sim09 tests the curvature channel, which unifies (a) and (b): curvature is non-saturating inhibition (the smoothing term) AND directed geometry (deposition at convex tips routes building along edges), with a published growth model and a phase parameter d. sim09 is now fully implemented; at default params the crossing does not fire (grid saturation), but tuned probes confirm the mechanism's sign. The next step is the parameter sweep to locate d*.
Refinement (Session 19, 2026-08-03 β the mass-saturation gate was unfalsifiable; corrected, the crossing fires with a control arm)
The d* sweep ran (100 combos: deposit_prob_base Γ material_decay Γ d). 0/100 crossed. The per-criterion diagnosis was unambiguous: criterion 2's mass-saturation gate (|material_growth_rate| < 0.01) passed in 0/100 combos β mean_late_mgr was 0.4β3.7, never near 0.01. Criteria 1, 2r (roughness), and 3 all passed at the low-decay corner. The gate was the single universal blocker.
This was a metric ceiling problem β the sim06 detector-bug lesson repeating in a new form. The mass-saturation gate used the per-sample-window |Ξtotal_material|/sample_every < 0.01. For a 150-termite stochastic deposit process that quantity has a Poisson noise floor of ~0.5β1.0 (the centered window-sum's std / window), ~100Γ above the 0.01 threshold. No finite-population run can ever pass it. The gate was unfalsifiable: the detector could not fire regardless of the mechanism, exactly as sim06's deposit-rate gate could not fire because GrassΓ© positive feedback makes deposit probability rise. The Session 17 conclusion ("the crossing is a parameter-regime question, not a mechanism question") was itself suspect β the regime where mass "saturates" below 0.01 does not exist for any finite N.
Correction: replaced the per-window absolute-growth gate with a relative-slope plateau: |slope(total_material over last K=16 samples)| / mean(total_material) < 0.001. The regression slope averages over 400 steps, suppressing the Poisson window noise; the relative (scale-invariant) form sits above the noise floor (it fires ~98β100% in the late equilibrium of a plateauing run, while the absolute gate fired 0%). The selftest regression guard was updated to negate the plateau explicitly (a ramp instead of a flat trajectory withholds the crossing).
Result β the crossing fires with a control arm. In the tuned probe (dpb=0.01, decay=0.002, 80Γ80 grid, 2000 steps β non-saturating, cells 3123β5754/6400):
- Curvature channel crosses at every d β [0, 4]; crossing_step decreases monotonically 1550 β 900 as d rises (d speeds consolidation); n_pillars falls 12 β 1 (consolidation, H11's direction); roughness rises 0.44 β 0.77 (sharper features).
- Baseline-pheromone control (same detector) crosses in 0/3 β criterion 2's pheromone-elevation gate fails (mean_pheromone 0.25 < 0.50 threshold; the saturating rule never elevates the cue enough). This is the first time the H7 crossing has fired with a control arm that does not.
At default params (dpb=0.10, decay=0.0005) the corrected detector also fires for the curvature channel (step=1125) but not the baseline β but here the grid saturates (10000/10000 cells), so the plateau is a physical ceiling (nowhere left to deposit), not a dynamic equilibrium. The tuned-probe result is the honest one: the crossing fires in a non-saturating regime where mass plateaus by deposition/erosion balance, not by grid exhaustion. Determinism verified (two identical runs produce identical histories, 0/80 diffs).
Honest limitation β the recruit half drives the crossing, not the limit half. The crossing fires at d=0 (no biharmonic smoothing β the curvature channel's LIMIT half is off), so the detector is catching the recruit half (curvature routing + mass plateau), not the recruit+limit combination the Session-13 refinement specified. The d-smoothing controls morphology (pillars 12β1) and crossing speed (1550β900) but is not necessary for the crossing verdict. The honest claim narrows: the curvature channel's non-saturating recruit half is sufficient for the crossing; the limit half consolidates the morphology. This is still a real result β the baseline control (saturating cue, no curvature routing) does not cross β but it is a weaker claim than "recruit+limit both required." A cleaner test would include a recruit-only condition (curvature routing, no smoothing, d=0) vs a limit-only condition (smoothing, no curvature routing) to isolate the halves. Status: H7 refined Γ8; the mass-saturation gate is corrected and the crossing fires with a control arm, but the recruit-vs-limit isolation is unfinished. See dstar_sweep.py and this session's daily report.
Refinement (Session 20, 2026-08-04 β recruit-vs-limit isolation: the recruit half is load-bearing AND almost-sufficient; the limit half is a stability amplifier, not morphology-only)
The recruit-vs-limit isolation ran as a 2Γ2 factorial over the curvature channel, sweeping d β {0, 0.5, 1, 2, 4} with the recruit half ON (curvature routing: curve_follow=0.6, deposit_prob_gain=0.85, excavate_prob_gain=0.60) and OFF (curve_follow=0, deposit_prob_gain=0, excavate_prob_gain=0 β agents random-walk and deposit/excavate at base rates only; the field's curvature has no influence on agent action). The limit half is ON when d>0 (biharmonic smoothing in field_step) and OFF when d=0. The four cells: recruit-only (d=0), recruit+limit (d>0, the as-built channel), limit-only (d>0, no recruit), neither (d=0, no recruit). A seed-robustness pass ran the four corners across seeds {42, 7, 123, 256}.
A new stable-crossed metric separates stable from transient crossings: late_hold_rate = fraction of the last 1/4 of records where all three crossing criteria hold simultaneously. A stable crossing holds ~1.00; a transient crossing (criteria flicker on and off) holds <~0.55. stable_crossed = crossed AND late_hold_rate >= 0.90.
Result (seed=42, tuned probe dpb=0.01, decay=0.002, 80Β², 150 termites, 2000 steps):
| condition | d | crossed | stable | hold | pillars | cells |
|---|---|---|---|---|---|---|
| recruit-only | 0 | 1 | 1 | 1.00 | 12 | 3123 |
| recruit+limit | 1 | 1 | 1 | 1.00 | 13 | 4683 |
| limit-only | 0.5 | 1 | 0 | 0.45 | 174 | 202 |
| limit-only | 1 | 0 | 0 | 0.55 | 217 | 1685 |
| neither | 0 | 0 | 0 | 0.15 | 49 | 53 |
Seed robustness (stable_crossed / total across 4 seeds):
- recruit-only (d=0): 3/4 stable (hold [1.0, 1.0, 0.65, 1.0] β seed 123 is borderline, hold 0.65, still crosses)
- recruit+limit (d=1): 4/4 stable (hold 1.0 across all four seeds)
- limit-only (d=1): 0/4 stable (crossed in 2/4 but transient; hold [0.55, 0.50, 0.55, 0.40])
- neither (d=0): 0/4 stable (crossed 0/4; hold β€0.15)
The recruit half is necessary AND almost-sufficient. Neither condition (no recruit, no limit) crosses in any seed. Limit-only (no recruit) is never stable β the biharmonic smoothing alone produces at best a transient flicker (criteria 3, deposits_on_convex_fraction, oscillates around the 0.60 threshold without the curvature routing that would concentrate deposits at convex tips). The recruit half alone crosses in 4/4 seeds and is stable in 3/4.
The limit half is a stability amplifier, not morphology-only. The recruit+limit condition is stable in 4/4 seeds where recruit-only is stable in 3/4 β the one borderline seed (123, hold 0.65) becomes fully stable (hold 1.0) when d>0 is added. So the limit half is not strictly necessary for the crossing (the recruit half crosses without it), but it stabilizes the crossing against seed variance. It also consolidates morphology (pillars 12β1 as d rises, crossing_step 1550β900). The honest characterization: the recruit half is load-bearing and almost-sufficient; the limit half is a stability amplifier + morphology optimizer. This is stronger than the Session-19 "half-supported" reading: the limit half has a causal role (stability), not merely an aesthetic one (morphology).
The limit-only transient flicker is itself informative. Limit-only's criteria 1 (stability) and 2 (roughness + plateau) mostly pass (the biharmonic does build roughness and mass does plateau), but criterion 3 (deposits_on_convex_fraction β₯ 0.60) flickers because without curvature routing, deposits land on convex cells only at the base rate β the smoothing creates convex features but nothing routes agents to them. The biharmonic alone builds the geometry the recruit channel would act on, but without the recruit half the geometry is unattended. This is the clean separation: the recruit half routes agent action to the geometry; the limit half shapes the geometry. Neither alone (no geometry shaping) produces nothing; limit alone shapes geometry that no agent is routed to.
The decisive contrast is recruit ON vs OFF at d=0. Same detector, same regime, only the recruit flag differs: recruit-only (d=0) crosses stably (3/4); neither (d=0) does not (0/4). The limit half is off in both. This isolates the recruit half as the load-bearing variable.
Status: H7 refined Γ9; the recruit half is load-bearing and almost-sufficient for the stable crossing; the limit half is a stability amplifier that makes the crossing robust to seed variance. The "recruit as well as limit" prescription (Session 13) is now: recruit = necessary and almost-sufficient; limit = stabilizer + morphology optimizer (not strictly necessary, but causally contributes to robustness). See recruit_limit_sweep.py and this session's daily report.
Refinement (Session 21, 2026-08-05 β the saturating-action control: action-based is primary, non-saturating is secondary)
Session 20 isolated the recruit and limit halves, but the recruit half is action-based (curvature routes deposit/excavate selection) AND non-saturating (linear gain) simultaneously β the two properties H11 says matter are confounded. Session 21 disentangles them with a saturating-action control: the same curvature routing, but a saturating response curve p = base + gainΒ·c/(1+|c|) instead of the linear p = base + gainΒ·c. Both forms are action-based; only the linear form is non-saturating. Curvature in the running sim ranges Β±1.5 (90th-percentile |c| β 1.1β1.5), so the saturating form genuinely compresses: at c=1.0 it gives 0.425 vs linear 0.850 (50%); at c=1.5 it gives 0.51 vs linear clamped to 1.0.
The 2Γ2Γ2 factorial (response {linear, saturating} Γ recruit {ON, OFF} Γ d {0, 1}) with a 4-seed robustness pass on the key conditions (seeds {42, 7, 123, 256}):
| condition | response | d | crossed | stable | hold (seed 42) | mean hold (4 seeds) | stable (4 seeds) |
|---|---|---|---|---|---|---|---|
| recruit ON | linear | 0 | 1 | 1 | 1.00 | 0.912 | 3/4 |
| recruit ON | saturating | 0 | 1 | 0 | 0.85 | 0.862 | 2/4 |
| recruit ON | linear | 1 | 1 | 1 | 1.00 | 1.000 | 4/4 |
| recruit ON | saturating | 1 | 1 | 1 | 1.00 | 1.000 | 4/4 |
| recruit OFF | linear | 0 | 0 | 0 | 0.15 | β | 0/4 |
| recruit OFF | saturating | 0 | 0 | 0 | 0.15 | β | 0/4 |
| recruit OFF | linear | 1 | 0 | 0 | 0.55 | β | 0/4 |
| recruit OFF | saturating | 1 | 0 | 0 | 0.55 | β | 0/4 |
The verdict: action-based is the primary load-bearing property; non-saturating is a secondary stability contributor. The saturating action still crosses in all 8 recruit-ON seeds (8/8 crossed, 6/8 stable); the linear action crosses in all 8 (8/8, 7/8 stable). The saturation costs ~0.05 in mean hold rate at d=0 (0.91β0.86) and flips one borderline seed from stable to unstable β but it does not collapse the crossing the way turning off the recruit half does (0/8 crossed). The limit half (d=1) fully rescues the saturating form to 4/4 stable, identical to the linear form.
What degrades is the mass-plateau gate (criterion 2p), not the routing (criterion 3). The saturating form's criterion 3 (deposits_on_convex_fraction) passes 1.00 in all seeds β curvature routing still sends deposits to convex tips even with the compressed response. What flickers is criterion 2's mass-plateau gate: the saturating form takes longer to plateau (the compressed deposit probabilities create more stochastic scatter in the mass trajectory), so |slope(M)|/mean(M) stays above the 0.001 threshold more often. The degradation is in the dynamics of mass equilibration, not in the spatial selectivity of the routing.
This partially weakens H11's strict "non-saturating" claim. H11 says feedback through a saturating channel is self-defeating because it destroys spatial contrast. The saturating action-based channel does not destroy spatial contrast (criterion 3 holds 1.00) β it only slows mass equilibration. The non-saturating property matters for stability, but it is not the causal variable separating crossing from non-crossing (that is action-based routing, per Session 20). H11's distinction should be refined: the critical property is action-based routing (curvature routes what the agent does, not how strongly it reads a cue); the non-saturating property is a stability amplifier, analogous to the limit half's role.
Honest limitations. (1) The saturating form c/(1+|c|) still routes β it does not stop routing at high curvature, it only compresses the routing gain. A truly cue-like saturating channel (e.g. a pheromone field whose deposit response flattens) would still fail the way sim06/sim07 did; the test isolates action-based from non-saturating within the action-based family, not against the cue-based family. (2) The 4-seed pass is small β 2/4 vs 3/4 is one seed's difference (seed 42 and 256 are borderline for saturating; seed 123 is borderline for linear). A 16-seed pass would tighten the estimate. (3) The borderline seeds differ between forms β different nucleation trajectories are fragile to different response curves. (4) The result is confirmatory (I expected action-based to be primary), but the secondary non-saturating effect is the genuinely new finding β it was not predicted by H11's strict reading.
Status: H7 refined Γ10; the action-based property is the primary load-bearing variable for the crossing; non-saturating is a secondary stability contributor. H11's confound is resolved: action-based dominates, non-saturating amplifies. See saturating_action_sweep.py.
Refinement (Session 22, 2026-08-06 β the cue-based non-saturating control: the 2Γ2 completes, and the non-saturating property reverses sign across families)
Session 21 tested within the action family (linear vs saturating action routing); the remaining cell of the 2Γ2 β a non-saturating cue channel β was untested (queued-topic #67). sim06's as-built deposit rule is the saturating cue p = base + gainΒ·Ο/(1+Ο) (flat above Οβ1); the non-saturating cue is p = base + gainΒ·Ο (clamped to 1.0). Both are cue-based: the pheromone field is the cue the agent reads; only the response curve differs. A deposit_response parameter ("saturating" | "linear") was added to sim06.py with a selftest Part 5d guard (the linear form must exceed the saturating form at moderate Ο, the cue-family analog of sim09's Part 5c).
The 2Γ2Γ2 sweep (response Γ self_maintenance Γ deposit_base Γ phero_follow, seed-42 factorial of 64 conditions + determinism + 4-seed robustness on 8 key conditions):
| family | response | no-SM crossed | no-SM stable | no-SM mean hold | SM crossed | SM stable |
|---|---|---|---|---|---|---|
| cue (sim06) | saturating (as-built) | 16/16 | 16/16 | 1.000 | 16/16 | 16/16 |
| cue (sim06) | linear (non-saturating) | 3/16 | 0/16 | 0.053 | 16/16 | 16/16 |
Seed robustness (4 seeds): saturating cue no-SM 4/4 stable (hold 1.000 all seeds); linear cue no-SM 0β1/4 stable (hold 0.013β0.237). With self-maintenance, both are 4/4 stable (hold 1.000).
The non-saturating cue crosses LESS, not more β the opposite of H11's strict prediction and opposite to the action family. In the action family (sim09 Session 21), the non-saturating (linear) form was slightly better (7/8 vs 6/8 stable). In the cue family (sim06), the non-saturating (linear) form is dramatically worse (0/16 vs 16/16 stable without SM). The non-saturating property reverses sign across families: it helps in the action family and hurts in the cue family.
The mechanism: the linear cue flattens the gradient faster. p = base + gainΒ·Ο clamps to 1.0 at Οβ1.15, so every high-pheromone cell deposits at 100%. This drives faster, more uniform growth (linear builds 3624 vs saturating's 1858 cells) and dilutes the pheromone field β mean pheromone over structure drops to 0.467 (below the 0.5 elevation threshold for criterion 2), vs the saturating cue's 0.749. The saturating cue's compression at high Ο preserves the gradient by keeping deposit probability graded, which sustains pheromone elevation where structure is. Threshold sensitivity confirms: at phero_elev_thresh 0.3β0.4 the linear cue crosses (hold 1.000); at 0.5+ it does not β the 0.467 is a real equilibrium, not a detector artifact.
Self-maintenance rescues the linear cue completely (4/4 stable, hold 1.000). The structure-reemits-pheromone loop keeps the pheromone field elevated regardless of the response curve, compensating for the linear cue's gradient-flattening. So the non-saturating cue CAN cross β it needs a separate mechanism (self-maintenance) to sustain the pheromone elevation the saturating cue sustains on its own.
This completes the 2Γ2 and reveals the cue-action asymmetry. The full decomposition:
| non-saturating (linear) | saturating | |
|---|---|---|
| action-based (sim09) | 7/8 stable (primary + stable) | 6/8 stable (primary, less stable) |
| cue-based (sim06) | 0/16 stable w/o SM; 16/16 w/ SM | 16/16 stable (self-sustaining) |
The action-based property is primary (both action rows cross); the non-saturating property is a sign-reversing modifier: it amplifies stability in the action family but destroys it in the cue family (without a compensating mechanism). H11's original "saturating channels are self-defeating" was too simple β the saturation that matters is the deposit-probability clamping (which the linear cue hits at 1.0), not the cue-response compression. The saturating cue's Ο/(1+Ο) compression is what prevents deposit-probability saturation and preserves spatial contrast. The "self-defeating" channel is the non-saturating cue, not the saturating cue.
Honest limitations. (1) The cue-based test is within sim06's GrassΓ© model; the pheromone dynamics (decay + diffusion) interact with the response curve in ways specific to this model. (2) The self-maintenance rescue means the linear cue's failure is not absolute β it is conditional on lacking a separate pheromone-sustaining mechanism. (3) The 0.5 phero_elev threshold is a modeling choice; the linear cue crosses at 0.3β0.4. But the 0.467 equilibrium is a real quantity (the linear cue genuinely produces a lower pheromone field), and the 0.5 threshold has been used consistently across the project. (4) The result is a surprise β I expected the non-saturating cue to cross (supporting H11's strict original claim); instead it crosses less. This is not a self-fulfilling correction.
Status: H7 refined Γ11; the 2Γ2 is complete. The non-saturating property reverses sign across families: it amplifies stability in the action family but destroys it in the cue family (without a compensating mechanism). The "self-defeating" channel is the non-saturating cue, not the saturating cue β H11's original framing was backwards for the cue family. See cue_response_sweep.py.
Refinement (Session 23, 2026-08-07 β the Ο_sat predictor does not generalize; spatial contrast survives via routing, not deposit probability)
Queued-topic #72 proposed a unifying diagnostic: Ο_sat (the input value at which deposit probability first reaches 1.0). The prediction: if the operating max of the routing input exceeds Ο_sat, the channel is probability-saturated and the crossing fails; if below, it fires. This would unify all four cells of the 2Γ2 with a single scalar.
A direct probe (phi_sat_probe.py) ran both sim06 (cue) and sim09 (action) at their crossing-proven regimes, measuring the routing-input distribution and the clamping fraction (fraction of surface/structure cells where p_deposit reaches 1.0). Determinism verified (6/6 conditions match on re-run). Results:
| family | response | Ο_sat | max input | saturated? | clamp frac | crossed? |
|---|---|---|---|---|---|---|
| cue | saturating | β | 5.99 | no | 0.000 | yes |
| cue | linear | 1.165 | 3.77 | yes | 0.069 | no |
| action | linear | 1.165 | 2.55 | yes | 0.010 | yes |
| action | saturating | β | 1.68 | no | 0.000 | yes |
The Ο_sat predictor is 50% accurate β no better than chance. It correctly predicts the cue family (saturatedβfails, unsaturatedβcrosses) but fails for the action family: the action/linear condition IS saturated (max curvature 2.55 > c_sat 1.165) but STILL crosses stably. The predictor's direction is right within the cue family and wrong within the action family.
The clamping fraction is tiny everywhere (0β7%). Even when max input exceeds Ο_sat, only a small fraction of surface cells reach p=1.0 (cue/linear: 6.9%, action/linear: 1.0%). The saturation is marginal β but in the cue family it is enough to flatten the gradient (mean pheromone 0.467 < 0.5), while in the action family it is not.
Why the predictor fails: spatial contrast survives via routing, not deposit probability. In the cue family, the deposit probability IS the spatial signal β clamping it to 1.0 on high-cue cells destroys the gradient. In the action family, the spatial information lives in the routing decision (which direction the termite moves), not the deposit probability. Even when some cells clamp to p=1.0, the curvature gradient still routes termites to the right place. The response curve saturates the gain (how hard to deposit), not the routing (where to go). The Ο_sat predictor treats the deposit probability as the sole carrier of spatial information, which is true for the cue family but false for the action family.
This refines H11's mechanism claim. H11 says "the self-defeating channel is the one whose response saturates the deposit probability." Session 23 sharpens this: deposit-probability saturation is self-defeating ONLY when the deposit probability is the spatial signal (cue family). When the spatial signal is the routing decision (action family), deposit-probability saturation is tolerable because the routing preserves the gradient. The unifying diagnostic is not Ο_sat but whether spatial contrast in the routing input survives the response curve β and that depends on the channel architecture, not just the saturation threshold.
Honest limitations. (1) The probe uses 2000 steps (matching the sweeps), so the field distributions are from the equilibrated regime, not the transient nucleation phase. (2) The clamping fraction is computed on the final-state field; the dynamics during growth may differ. (3) The action/linear max curvature (2.55) and cue/linear max pheromone (3.77) are not directly comparable β they are different quantities on different scales. The comparison is about whether each exceeds its own Ο_sat, not about absolute magnitude. (4) The result is not a surprise β the action-based property being primary (Session 21) already implied the predictor would fail for the action family. The value of this probe is in quantifying the failure and identifying the mechanism (routing preserves spatial contrast) rather than confirming a prediction.
Status: H7 refined Γ12; the Ο_sat predictor (queued-topic #72) does not generalize across families. The unifying diagnostic is whether spatial contrast in the routing input survives the response curve β which depends on channel architecture (action preserves routing, cue does not), not just the saturation threshold. See phi_sat_probe.py.
Refinement (Session 24, 2026-08-08 β the spatially-targeted recovery metric with control arm: no targeted scar repair)
Queued-topic #60 (since Session 17): the grid-wide recovery = total_material / pre_perturb_total cannot distinguish "repair at the scar" from "continued growth elsewhere." Session 18's baseline_pheromone showed 47.34Γ "recovery" β clearly unbounded accumulation, not targeted repair. Session 17 reported the curvature channel "recovers to 1.13Γ" vs baseline "47.34Γ" and drew the conclusion that the curvature channel repairs better. But 1.13Γ grid-wide recovery says nothing about WHERE the material regrew.
This session implemented two metrics in sim09 (patch_recovery_probe.py):
- patch_recovery =
material_in_damaged_patch / pre_perturb_material_in_patch. Isolates the scar. The patch is the central square zeroed at perturb_at (25% of grid area). - mirror_recovery =
material_in_mirror_patch / pre_perturb_material_in_mirror_patch. The control arm: an undamaged same-size region in a corner, non-overlapping with the damage patch. If the scar grows at the same rate as an equivalent undamaged region, the "repair" is just global growth.
targeted_repair = patch_recovery - mirror_recovery. Positive = scar grows faster than an equivalent undamaged region (preferential repair). Negative = scar grows slower (no targeting). Zero = scar grows at the background rate.
The probe ran both channels at two regimes: tuned (dpb=0.01, decay=0.002, mass-plateauing, crossing fires) and default (dpb=0.10, decay=0.0005, grid-saturating/baseline runaway). Determinism verified (two runs, identical).
| regime | channel | grid recovery | patch | mirror | targeted |
|---|---|---|---|---|---|
| tuned | curvature | 1.10 | 0.40 | 2.35 | -1.95 |
| tuned | baseline | 1.75 | 0.61 | 2.26 | -1.65 |
| default | curvature | 1.13 | 0.79 | 1.40 | -0.60 |
| default | baseline | 47.34 | 3.40 | 54.40 | -51.00 |
Result: NEITHER channel shows targeted scar repair. targeted_repair is negative in all four conditions. The scar grows SLOWER than an undamaged mirror region in every case. The curvature channel's crossing fires (stability β₯ 0.90, roughness elevated, mass-plateau gate passing), but the structure does NOT preferentially repair the damage site. The Session 17 "self-repair" claim β "curvature channel recovers to 1.13Γ" β was an artifact of the grid-wide metric, which credits material accumulated anywhere (including the undamaged mirror) as "recovery."
The tuned-regime comparison is the cleanest test (both channels mass-plateau, neither runs away). There, the curvature channel is actually LESS targeted than the baseline (-1.95 vs -1.65): the scar grows slower relative to its mirror under the non-saturating channel. The default-regime comparison is confounded by the baseline's runaway growth (mirror hits 54Γ), making the +50.4 "advantage" for curvature meaningless β it is an artifact of the baseline's unbounded accumulation, not a real targeting effect.
Why the scar grows slower than the mirror. The scar is zeroed to bare ground; re-nucleation from zero is slower than continued growth on an existing structure. The mirror region has material to build on; the scar has to re-nucleate. Both channels show this re-nucleation lag. The crossing detector fires because the overall structure is stable and the mass plateaus β but "stable" and "self-repairing" are different claims. The crossing is a stability/persistence claim, not a scar-targeting claim.
Honest limitations. (1) The mirror is smaller than the damage patch (corner placement, non-overlapping) β for grid_size=80, the damage patch is 40Γ40=1600 cells and the mirror is 20Γ20=400 cells. The recovery ratio is relative to each region's own pre-damage baseline, so the size difference doesn't bias the ratio, but the corner location may have different dynamics than the center. (2) The perturbation hits at 60% of steps; the crossing fires before the perturbation (crossing_step 1100/1125 < perturb_at 1200/2400), so the structure is already "crossed" when damaged β but the mass has not truly plateaued (total_material still rising). A later perturbation (after true mass plateau) might give a different result. (3) The result is a surprise in the sense that the project expected the curvature channel to show targeted repair (Session 17 reported it as recovering). It is NOT a surprise that a grid-wide metric was misleading β that was the hypothesis behind queued-topic #60. The value is in the falsification of the self-repair claim, not in confirming a prediction. (4) If every bug I found pushed toward the expected result, I should treat it as unproven. I found a mirror-placement bug (overlap with the damage patch) during the run, fixed it, and the result became MORE negative for the curvature channel (targeted_repair went from -0.76 to -1.95 in the tuned regime). The fix moved the result AWAY from the expected direction β strengthening the falsification.
Status: H7 refined Γ13; the spatially-targeted recovery metric (queued-topic #60) with a mirror-patch control arm shows no targeted scar repair in either channel. The crossing fires (stability, roughness, mass-plateau) but the structure does not preferentially repair the damage site β the Session 17 "self-repair" claim was an artifact of the grid-wide recovery metric. The crossing is a stability/persistence claim, not a scar-targeting claim. See patch_recovery_probe.py.
Refinement (Session 25)
The L2 composition question (queued-topic #62/#77): does the crossing compose? sim10 ran two curvature-channel structures in adjacent regions of one grid (shared field, shared agent pool) with a one-seed control and a baseline-pheromone control.
The L2 detector. The first detector β per-region material retention β was broken: the one-seed control (a single structure that fills both halves) fired "coexist" because both regions had material. This is the control-arm lesson (#75) again: a metric that responds is a description, not a test. The corrected detector counts connected components of structure lying ENTIRELY within each region (components crossing the midline are a single merged structure, counted in neither region). L2 coexistence = an independent component in each region for β₯4 consecutive late samples. The one-seed control now correctly fires 0/16 coexist at the crossing regime.
Result at the H7 crossing regime (decay=0.002, where the single-structure crossing fires): 15/16 two-seed runs MERGE into a single structure crossing the midline. The curvature channel consolidates so aggressively that two structures become one. The 1-seed control: 0/16 coexist, 16/16 merged. The baseline-pheromone control: identical β 15/16 merged, 1/16 coexist. The non-saturating glue does not compose better than the saturating glue at the crossing regime.
The offsetΓdecay sweep (4 offsets Γ 6 decays Γ 4 seeds Γ 2 channels, 384 runs). Coexistence appears at higher decay (0.005β0.015), but the 1-seed control fires there too β a single structure fragments and pieces land on both sides. At the crossing regime (decay=0.002), there is no composition advantage: both channels merge 15/16. At higher decay (the fragmentation regime), the curvature channel shows a modest stable_l2 advantage (+11/80 over the 1-seed control) that the baseline does not (+3/80) β but the 1-seed control still fires (16/80 coexist, 11/80 stable), so this is partial composition at best, not clean L2 emergence. The crossing regime is the clean test, and there the non-saturating glue composes no better than the saturating control.
The crossing does not compose. The curvature channel that produces a stable single-structure crossing consolidates too aggressively for two structures to coexist. At the crossing regime, two seeds merge into one; at higher erosion, fragmentation produces apparent coexistence but the control fires too. This is consistent with H10 and Mathis et al. 2024 ("stable organizations cannot be easily combined into higher order entities"). The crossing is a single-structure phenomenon; L2 composition needs something the curvature channel does not provide β possibly a boundary mechanism that prevents merging, or a genuinely different interaction (not shared-field growth). Determinism verified.
Status: H7 refined Γ14; the crossing does not compose. sim10's L2 test with a one-seed control shows 15/16 two-seed runs merge at the crossing regime; the non-saturating glue composes no better than the saturating control. The crossing is a single-structure phenomenon β L2 needs a boundary or interaction mechanism the curvature channel lacks.
Refinement (Session 26)
Queued-topic #78: what boundary mechanism prevents two self-maintaining curvature-channel structures from merging? The Turing/Gierer-Meinhardt prescription β local activation + long-range (lateral) inhibition β predicts that a long-range inhibitor creates spatially separated patterns where an activator-only field merges. The curvature channel is activator-only (local self-activation at convex tips, no long-range inhibition). sim11 adds the missing half.
The inhibitor. I = max(0, far_smoothed_material β material): the material field heavily smoothed (12 diffusion passes) minus the local material. The subtraction is the critical design: at a structure, local material β smoothed material (self-cancellation, I β 0); in the gap between two structures, both shadows sum but local material β 0 (I is high). Deposit probability is multiplied by (1 β gΒ·I_norm/(1+I_norm)) β saturating in I, bounded in [0, g). At g=0.9 the gap sees near-complete suppression; the structure cores see none.
The first attempt was self-defeating. A simple smoothed-material inhibitor (without the self-cancellation subtraction) is always highest AT the structure, so it suppresses the structure it is trying to protect. This killed all building at every gain (0/4 seeds, 0 cells). The self-cancelling form (far β local) is the necessary correction β discovered by debugging, not from theory. This is itself a methodology lesson: a long-range inhibitor must not self-inhibit; the distant-structure signal must be isolated from the local-structure signal.
Result (4-seed robustness, g β {0.0, 0.7, 0.9, 0.95}, seeds {42, 123, 256, 999}): the long-range inhibitor converts 0/4 merge (no inhibition) to 2/4 clean coexistence at g=0.9 β a real improvement. But it is not robust: the other 2 seeds fragment (the 1-seed control fires too). The stable_l2 metric shows no stable composition advantage (0/4 at all gains). At g=0.95, both 2-seed and 1-seed fragment β too much inhibition. The H7 crossing survives inhibition at all gains (h7=4/4), so the crossing and the composition are separable: the inhibitor adds a boundary without breaking the L1 crossing.
The clean composition metric is the honest test. "Clean" = 2-seed coexist AND 1-seed does NOT. Without this, g=0.9's 4/4 l2_crossed and 2/4 coexist would look like success. The 1-seed control's 4/4 l2_crossed reveals the detector is catching fragmentation β a single structure under inhibition also creates independent components on both sides. This is the control-arm pattern (#75/#80) a fifth time.
Status: H7 refined Γ15; the long-range inhibitor (Turing/Gierer-Meinhardt lateral inhibition) is a weak positive β it converts 0/4 merge to 2/4 clean coexistence at g=0.9, but it is not robust (2/4 fragment). The crossing survives inhibition (h7=4/4); the composition problem is not just missing lateral inhibition. The self-cancelling inhibitor (far β local) is the critical design insight: a long-range inhibitor must not self-inhibit. See sim11_boundary_mechanism/.
Refinement (Session 27)
Queued-topic #81: an autopoietic boundary β a self-maintaining boundary with memory. sim11's passive inhibitor I = max(0, far β local) has no memory; it is recomputed each step. If one structure wobbles, the boundary vanishes instantly. sim12 adds a boundary field B with its own growth/decay dynamics: B_new = B * (1 β b_decay) + b_growth * co_presence, where co_presence = min(left_shadow, right_shadow) β the overlap of the two structures' far-field shadows. B suppresses deposit probability in the gap, like I, but B has a time constant of its own (half-life ~138 steps).
The autopoietic boundary is more stable but less specific. In a 4-seed robustness sweep (seeds 42, 123, 256, 999), the autopoietic boundary produces stable coexistence in 4/4 seeds (vs 1/4 for the passive inhibitor). But the 1-seed control also fires in 2/4 (vs 1/4 for the passive) β B's memory accumulates co-presence from a single structure's spread across the torus, creating false boundaries. Clean composition (2-seed coexist AND 1-seed does NOT) is 2/4 for both β the trade-off cancels out. The clean seeds differ: auto is clean for seeds 123, 256; passive is clean for seeds 42, 123.
The perturbation test distinguishes the two boundaries. At step 1500, 50% of the right structure's material is removed. B drops only 9% in 100 steps (1.137β1.037, memory) and recovers to 96% by step 1700. I drops 17% immediately (0.28β0.23, no memory) then rebounds with the material. The coexistence survives under B (outcome=coexist, stable=True). The passive structures had already merged before the perturbation (outcome=none at step 1500) β the passive boundary couldn't maintain coexistence long enough for the perturbation to be a meaningful test.
The memory-specificity trade-off. The autopoietic boundary's memory (b_decay = 0.005, independent of the material dynamics) gives it persistence through structural wobbles β the first perturbation in this project where coexistence actually persists. But the same memory accumulates co-presence from agent-deposited material in both grid halves, creating false boundaries for a single seed. This is a fundamental trade-off: memory buys persistence at the cost of specificity. The boundary needs both memory (autopoiesis) and a mechanism that ensures it is specific to the interaction between two DISTINCT structures.
The H7 crossing survives all conditions (h7=4/4 across all modes, all seeds). The autopoietic boundary does not break the L1 crossing β it adds a boundary without trading away the crossing. The crossing and composition remain separable (Session 26): the crossing is about self-maintenance; composition is about interaction.
Status: H7 refined Γ16; the autopoietic boundary (memory + growth/decay) produces stable coexistence 4/4 (vs 1/4 passive) and survives a 50% perturbation, but its memory also creates false boundaries (1-seed control 2/4). Clean composition is 2/4 for both β the memory-specificity trade-off cancels out. The crossing survives all conditions (h7=4/4). The composition problem persists even with autopoiesis. See sim12_autopoietic_boundary/.
Refinement (Session 28)
Queued-topic #84/#85: sim13 tested whether eliminating the torus leak in sim12's co-presence signal would break the memory-specificity trade-off. The direct-material max filter (no x-wrapping) replaces the diffused shadows: co_presence = min(dilate(left_half), dilate(right_half)) where dilate is a max filter with radius r.
The torus leak is eliminated but the trade-off persists. Initial 1-seed co-presence drops to <1% of 2-seed (0.015 vs 1.83). But the 1-seed control still fires 1/4 (seed 123) β agent wander on the torus deposits material in both halves, creating real co-presence. The false boundaries are not caused by the diffusion wrapping; they are caused by agent wander.
A radius sweep (8-30) reveals a breadth-specificity dimension of the trade-off. At small radii (8-12), the boundary is too narrow β 2-seed merges (outcome=none). At medium radii (15-20), agent-wander false positives appear (1-seed coexist). At radius=30, b_scale normalization produces clean composition for seed 42 but fragmentation (3/4) β the broad boundary over-suppresses the gap, creating multiple components instead of two clean structures.
The 4-seed robustness sweep (radius=30):
- direct: 2-seed coexist 1/4, 1-seed coexist 1/4, clean 1/4 (WORSE than shadow/passive's 2/4)
- shadow (sim12): 2-seed coexist 4/4, 1-seed coexist 2/4, clean 2/4
- passive (sim11): 2-seed coexist 2/4, 1-seed coexist 1/4, clean 2/4
- none: 0/4 across the board
A new distinction: l2_crossed β l2_outcome=coexist. The direct-material boundary fires the L2 detector in 4/4 seeds (l2_crossed=True β components in both halves) but produces "fragmented" (multiple components) in 3/4, not "coexist" (two clean structures). The broad boundary prevents merging but over-fragments. This is a third outcome beyond "coexist" and "none/merged" that previous simulations didn't encounter.
The H7 crossing survives all conditions (h7=4/4 across all modes and seeds). The crossing remains separable from the composition problem (Session 26).
Status: H7 refined Γ17; direct-material co-presence eliminates the torus leak but does not break the memory-specificity trade-off β the false positives come from agent wander, not diffusion wrapping. Clean composition is 1/4 (worse than sim12's 2/4). The radius sweep reveals a breadth-specificity dimension: small radius β merges, medium β false positives, large β fragmentation. The trade-off is a system property (agent wander on the torus), not a signal property (diffusion vs. direct-material). See sim13_direct_copresence/.
Refinement (Session 29)
Queued-topic #88/#79: sim14 tested heterogeneous agent policies β agents tagged with a structure ID (0=left, 1=right). Deposits are tagged with the depositor's ID. Co-presence = min(dilate(material_by_id[0]), dilate(material_by_id[1])). For a single seed, all material is id=0, so material_by_id[1] is zero everywhere β co-presence is structurally zero, regardless of agent wander. No spatial filter can achieve this.
The false-positive mechanism is broken. The 1-seed control is 0/4 on ALL metrics β l2_crossed=0/4, coexist=0/4, stable=0/4, B_max=0.0 across all four seeds. Compare: sim12 shadow 1-seed l2=4/4, coexist=2/4; sim13 direct 1-seed l2=4/4, coexist=1/4; sim14 hetero 1-seed l2=0/4, coexist=0/4. The structural guarantee is absolute: no spatial filter, no radius, no diffusion rate can produce false boundaries when there is only one ID.
The H7 crossing is suppressed (0/4). This is the first time the H7 crossing does not fire across all seeds. The ID-based co-presence is higher and more localized than spatial versions, producing a stronger B that suppresses growth below the crossing threshold (cells: 167 vs 3714 for shadow). The crossing and composition are still separable β but now the boundary that enables composition kills the crossing. The separation is not just "they can co-occur independently" but "they are in tension: stronger boundaries produce composition at the cost of crossing."
Clean composition is 2/4 β matching shadow (2/4) and passive (2/4), but with the guaranteed 0/4 false-positive rate. The 2-seed robustness: hetero l2=4/4, coexist=2/4, stable=2/4. The 2/4 coexistence is seeds 42 and 999 (coexist, stable); seeds 123 and 256 fragment.
The trade-off has shifted from specificity to strength. Sessions 27-28: memory (persistence) vs. specificity (no false positives). sim14 resolves specificity β agent IDs provide structural specificity. But a new trade-off emerges: boundary strength vs. structure growth. The ID-based co-presence is higher and more localized, producing a stronger B that suppresses the structures it protects. The crossing is about one structure's self-maintenance; the boundary is about two structures' interaction β and the stronger boundary suppresses the self-maintenance that the crossing detects.
Status: H7 refined Γ18; ID-tagged agents break the false-positive mechanism β 1-seed control is 0/4 on all metrics (B_max=0.0), the first structurally clean composition. But the stronger boundary suppresses H7 crossing (0/4) β the first time the crossing is lost across all seeds. Clean composition is 2/4 (matching shadow/passive). The trade-off shifts from specificity-vs-memory to strength-vs-growth: the boundary that enables composition kills the crossing. The crossing and composition are in tension, not just separable. See sim14_heterogeneous_agents/.
Refinement (Session 30)
Queued-topic #91: the inh_gain sweep. Session 29's ID-tagged boundary at g=0.9 was too strong (H7=0/4, cells=167). The sweep tested g β {0.1, 0.3, 0.5, 0.7, 0.9} with 4-seed robustness plus a no-inhibition baseline, mapping the strength-vs-growth frontier. The critical question: is there a gain where both H7 crossing AND L2 composition co-occur?
The sweep table:
| gain | l2(2s) | coexist | stable | h7(2s) | clean | l2(1s) | h7(1s) | cells |
|---|---|---|---|---|---|---|---|---|
| 0.1 | 0/4 | 1/4 | 0/4 | 4/4 | 1/4 | 0/4 | 4/4 | 4107 |
| 0.3 | 2/4 | 1/4 | 1/4 | 4/4 | 1/4 | 0/4 | 4/4 | 3515 |
| 0.5 | 4/4 | 2/4 | 0/4 | 4/4 | 2/4 | 0/4 | 4/4 | 2672 |
| 0.7 | 4/4 | 1/4 | 0/4 | 4/4 | 1/4 | 0/4 | 4/4 | 1383 |
| 0.9 | 4/4 | 2/4 | 2/4 | 0/4 | 2/4 | 0/4 | 4/4 | 194 |
| none | 0/4 | 0/4 | β | 4/4 | β | β | β | 4790 |
H7 crossing is preserved at gains 0.1β0.7 (4/4) and suppressed at g=0.9 (0/4). The transition happens between 0.7 and 0.9. L2 composition increases monotonically: 0/4 β 2/4 β 4/4 β 4/4 β 4/4. The 1-seed control is 0/4 on all metrics at EVERY gain β the structural specificity guarantee is absolute across the entire strength spectrum.
Co-occurrence of H7 AND clean composition IS found. Five individual seed-runs achieve both H7=YES and clean composition=YES: g=0.1 seed 256, g=0.3 seed 999 (also stable!), g=0.5 seeds 42 and 123, and g=0.7 seed 42. The sweet spot is g=0.5: H7=4/4, L2=4/4, clean=2/4. At g=0.3, seed 999 achieves the first stable composition WITH H7 crossing β the single best co-occurrence.
But stable composition requires the strong boundary that kills H7. At g=0.5 (H7=4/4), stable=0/4 β the composition is present but transient. At g=0.9 (stable=2/4), H7=0/4. The tension is between crossing and stable composition, not crossing and composition per se. The crossing can coexist with composition (g=0.5) but not with composition that persists (g=0.9). Except for rare seeds (g=0.3 seed 999), the two are in tension at the level of robust co-occurrence.
This partially refines Session 29's "crossing and composition are in tension" finding. Session 29 tested only g=0.9 and found H7 suppressed. The sweep reveals the tension is parameter-dependent: at intermediate gains, the crossing survives alongside composition. But the stability axis reveals a deeper tension: the boundary strength that stabilizes composition is the same strength that suppresses the crossing's self-maintenance. The trade-off is not fundamental (co-occurrence exists) but is not robust (seed-dependent, rarely stable).
Honest limitations. (1) At g=0.1, the one "coexist" (seed 256) has l2_crossed=false β the L2 detector didn't fire, only the final-state classification showed coexist. This is a weak form of composition. (2) The co-occurrence at g=0.5 (2/4 clean + 4/4 H7) has 0/4 stable β the composition is transient. (3) The single best case (g=0.3 seed 999: stable + H7) is 1/4 seeds β not robust. (4) The result is confirmatory β I expected intermediate gains to help. But the stable-vs-transient distinction is the genuinely new finding: the tension is at the level of stability, not existence. (5) Determinism verified (two identical runs produce identical outcomes at g=0.5 seed 42).
Status: H7 refined Γ19; the inh_gain sweep finds the strength-vs-growth trade-off is partially breakable. At g=0.5, H7=4/4 and L2=4/4 with 2/4 clean composition β the first co-occurrence of crossing and composition. At g=0.3, one seed achieves stable composition WITH H7 crossing. But stable composition (2/4 at g=0.9) comes at the cost of H7 suppression (0/4). The tension is between crossing and stable composition, not crossing and composition per se. The 1-seed control is 0/4 at ALL gains β the structural specificity guarantee holds across the entire strength spectrum. See inh_gain_sweep.py.
Refinement (Session 31)
Queued-topic #92: decoupling boundary strength from co-presence precision. The ID-based co-presence signal is higher and more localized than spatial versions, so B grows higher, so B_norm is higher, so suppression is stronger β coupling specificity to strength. The decoupled design: the boundary grows where two IDs meet (specificity from IDs), but the suppression is a FIXED constant (g) wherever B exists (B_norm > 0.01), not proportional to B_norm's magnitude. This tests whether the strength-vs-growth trade-off is caused by the coupling between signal precision and boundary strength, or by the boundary mechanism itself.
The sweep ran both modes (proportional, decoupled) at gains {0.3, 0.5, 0.7, 0.9} with 4-seed robustness:
| mode | gain | l2(2s) | coexist | stable | h7(2s) | clean | cells |
|---|---|---|---|---|---|---|---|
| proportional | 0.5 | 4/4 | 2/4 | 0/4 | 4/4 | 2/4 | 2672 |
| decoupled | 0.5 | 2/4 | 1/4 | 2/4 | 4/4 | 1/4 | 2584 |
| proportional | 0.7 | 4/4 | 1/4 | 0/4 | 4/4 | 1/4 | 1383 |
| decoupled | 0.7 | 3/4 | 1/4 | 2/4 | 4/4 | 1/4 | 1477 |
| proportional | 0.9 | 4/4 | 2/4 | 2/4 | 0/4 | 2/4 | 194 |
| decoupled | 0.9 | 4/4 | 2/4 | 4/4 | 0/4 | 2/4 | 204 |
H7 is unchanged between modes. Both preserve H7 at g=0.3β0.7 (4/4) and suppress at g=0.9 (0/4). The decoupling does not affect the crossing β the crossing depends on overall structure growth, not the boundary's suppression curve shape.
L2 composition is REDUCED in decoupled mode at intermediate gains (g=0.5: 4/4β2/4; g=0.7: 4/4β3/4). The binary gate (full suppression or none) is less effective at preventing merging than the gradient gate (proportional suppression). The gradient provides a wider zone of partial suppression that better prevents structures from growing into each other; the binary gate's sharp cutoff leaves a narrower barrier.
BUT stable composition is INCREASED (g=0.5: 0/4β2/4; g=0.7: 0/4β2/4; g=0.9: 2/4β4/4). When composition does occur under the binary gate, it is more persistent. The binary gate maintains FULL suppression (g) wherever B exists, preventing gradual encroachment; the gradient gate's suppression weakens as B decays, allowing slow merging. The trade-off: the binary gate is narrower (less effective at preventing merging) but stronger (more stable when it does prevent merging).
A new stable co-occurrence appears. Decoupled g=0.7 seed=999 achieves H7=YES + coexist + stable β the first stable co-occurrence at a gain higher than 0.3 (the proportional mode's only stable co-occurrence was g=0.3 seed=999). The decoupled mode shifts the stable co-occurrence window to higher gains.
The 1-seed control is 0/4 at ALL gains in BOTH modes. The structural specificity guarantee holds regardless of the suppression curve β it comes from the ID tagging, not the boundary dynamics.
Honest limitations. (1) The result is partially confirmatory β I expected decoupling to help. But the DIRECTION is surprising: decoupling improves stability, not H7 or L2. The prediction was that decoupling would allow more growth (higher H7) while maintaining composition; instead it doesn't change H7, reduces L2, but increases stability. (2) The binary threshold (B_norm > 0.01) was chosen as a minimal threshold; a different threshold might produce different results. (3) The decoupled mode's L2 reduction at g=0.5 (4/4β2/4) means the sweet spot for co-occurrence shifts β the proportional mode's g=0.5 sweet spot (H7=4/4, L2=4/4) is not replicated. (4) The sample size (4 seeds) is small β the stability improvement (0/4β2/4) could be noise. (5) Determinism verified (two identical runs at decoupled g=0.7 seed=999 produce identical outcomes).
Status: H7 refined Γ20; decoupling boundary strength from co-presence precision does not change H7 crossing (identical between modes) but reveals the suppression curve's SHAPE matters for stability. A binary gate (fixed suppression) produces more stable composition than a gradient gate (proportional suppression) at the same max gain β the gradient prevents merging better but is less stable when it does. The trade-off is not just about strength vs growth; it is about gradient vs binary suppression. The 1-seed control is 0/4 at ALL gains in BOTH modes. See decoupled_sweep.py.
Refinement (Session 32)
Queued-topic #99: the hybrid suppression curve β supp = min(g * B_norm / (1 + B_norm), g * k) where k is a plateau fraction (0 < k β€ 1). The hybrid is proportional at low B_norm (gradient coverage for formation) with a fixed plateau at g*k (stability without full-strength binary gate). This is the suppression-curve analog of a soft-margin SVM with a hinge loss cap. Sweep: 6 modes (proportional, decoupled, hybrid k=0.5/0.7/0.8/0.9) Γ 4 gains Γ 4 seeds Γ {2, 1} seeds = 192 runs (2703s). Selftest Part 8 added (verifies the formula, transition point, and full runs).
The headline finding: the hybrid cap PRESERVES the H7 crossing at g=0.9 where both other modes lose it. At g=0.9: proportional H7=0/4, decoupled H7=0/4, hybrid_k05 H7=4/4, hybrid_k07 H7=4/4, hybrid_k08 H7=4/4, hybrid_k09 H7=1/4. The cap at gk reduces the max suppression below the H7-killing threshold. The transition is between gk=0.72 (k=0.8, H7=4/4) and g*k=0.81 (k=0.9, H7=1/4). This refines Session 31's claim that "H7 is independent of the suppression curve": the crossing is independent of the curve SHAPE at a given max suppression, but NOT independent of the max suppression magnitude. The hybrid decouples the max suppression from the gain.
A new stable co-occurrence at g=0.9. hybrid_k05 g=0.9 seed=123 achieves H7=YES + coexist + stable β the FIRST stable co-occurrence at g=0.9 with H7 preserved. Both proportional and decoupled lose H7 at g=0.9 (the gain that produces the most stable composition). The hybrid with low k extends H7 into the high-stability regime.
The hybrid produces MORE clean co-occurrences overall. Across all gains: proportional 4 (1 stable), decoupled 2 (1 stable), hybrid_k05 3 (2 stable), hybrid_k07 4 (2 stable), hybrid_k08 5 (1 stable), hybrid_k09 2 (1 stable). hybrid_k08 has the most clean co-occurrences (5); hybrid_k05 and hybrid_k07 tie for most stable co-occurrences (2).
The persistence-formation trade-off is PARTIALLY broken, not fully. At g=0.9: the hybrid extends H7 to 4/4 (kβ€0.8) and L2 to 4/4 (kβ₯0.7), but stable composition is 0/4 (k=0.07/0.08) or 2/4 with reduced L2 (k=0.05: L2=2/4). The hybrid shifts the trade-off but doesn't eliminate it: you can have H7+L2 at g=0.9 (not stable) or H7+stable at g=0.9 (not L2=4/4). The full co-occurrence (H7 + L2 + stable + clean) remains rare β 2/4 at most (hybrid_k07 at g=0.5, g=0.7).
H7 at g=0.5β0.7 is unchanged from Session 31. The hybrid's gradient component dominates at these gains (the cap is rarely binding since B_norm rarely exceeds the transition point k/(1-k)). H7=4/4 at g=0.3β0.7 for all hybrid k values.
The 1-seed control is 0/4 at ALL gains in ALL modes. The structural specificity guarantee holds across the hybrid.
Determinism verified. Two identical runs at hybrid_k08 g=0.7 seed=42 produce identical outcomes (l2=True, coexist, stable=True, h7=True, cells=2233). Two identical runs at hybrid_k05 g=0.9 seed=123 produce identical outcomes (l2=True, coexist, stable=True, h7=True, cells=2702). Selftest Part 8 passes (formula verification, transition point, full runs, 1-seed structural zero).
Honest limitations. (1) The hybrid's improvement at g=0.9 is partially a parameter-renaming effect: k=0.8 at g=0.9 has max suppression gk=0.72, which is close to g=0.7 without the cap (H7=4/4 at g=0.7 in proportional). The hybrid is not doing something fundamentally new at the crossing level β it's running at an effective lower gain. (2) The NEW capability is that the boundary's growth dynamics (B field, b_scale) are determined by the full g=0.9 while the suppression is capped at gk=0.72 β this tests whether the boundary can be strong (high B growth) while the suppression is gentle. (3) The stable co-occurrence at g=0.9 (hybrid_k05) has L2=2/4, not 4/4 β the hybrid doesn't achieve full L2 at the stable regime. (4) The sample size (4 seeds) is small; the stable+H7 at g=0.9 is a single seed. (5) The result is partially confirmatory β I expected the hybrid to help, and it does, but the mechanism (effective lower gain) is simpler than the "combines gradient formation with binary stability" framing.
Status: H7 refined Γ21. The hybrid suppression curve (supp = min(gB_norm/(1+B_norm), gk)) PRESERVES the H7 crossing at g=0.9 where both proportional and decoupled lose it β the cap at gk reduces max suppression below the crossing-killing threshold (transition between gk=0.72 and 0.81). The crossing is independent of curve SHAPE at a given max suppression, but NOT independent of max suppression magnitude. A new stable co-occurrence at g=0.9 (hybrid_k05 seed=123: H7=YES + coexist + stable) β the first at the highest gain. The persistence-formation trade-off is partially broken: H7 extends to g=0.9 but stable+L2 co-occurrence remains rare. The 1-seed control is 0/4 at ALL gains in ALL modes. See hybrid_sweep.py.
Refinement (Session 33)
The dual mode confirms the max-suppression threshold and preserves H7=4/4. Two separate B fields (B_form gradient + B_persist binary) with different decay rates: H7=4/4 at max_supp β€ 0.70, partial (1-2/4) at 0.80, 0/4 at β₯ 0.90. The threshold between 0.72 and 0.81 (Session 32) holds in the dual mode β the crossing depends on max suppression magnitude, not channel architecture.
H7 is preserved at the best composition config. At dual f=0.3 p=0.3 (max_supp=0.60): H7=4/4, L2=4/4, stable=3/4 β the first config where H7 and L2 and stable >2/4 all co-occur. The crossing survives the two-wire boundary at the same rate it survives the single-wire boundary at equivalent max suppression.
The 1-seed control is 0/4 at ALL 9 configs. Both B fields are structurally zero for a single seed (ID-tagged co-presence = 0 β both B_form and B_persist = 0). The structural specificity guarantee holds across the dual mode.
Determinism verified. Two identical runs at dual f=0.3 p=0.3 seed=123 (l2=True, coexist, stable=True, h7=True, cells=2167) and seed=42 (l2=True, coexist, stable=False, h7=True, cells=1950). Selftest Part 9 passes.
Status: H7 refined Γ22. The dual mode (two separate B fields with different dynamics) preserves H7=4/4 at max_supp β€ 0.70 β the max-suppression threshold (0.72β0.81) holds across channel architectures. The crossing is independent of whether the boundary uses one wire or two, as long as max suppression stays below the threshold. The 1-seed control is 0/4 at all 9 configs. See dual_sweep.py.
Refinement (Session 34)
H7 crossing is preserved at all movement_bias values (4/4). The movement-bias sweep at dual f=0.3 p=0.3 (max_supp=0.60) tested bias β {0.0, 0.3, 0.5, 0.7, 0.9}. H7=4/4 at every bias value β the crossing is independent of agent movement, just as it is independent of the suppression curve shape (Session 31) and the boundary channel architecture (Session 33). The crossing is a single-structure property; agent movement is a multi-structure property. They operate on separate axes.
The crossing is robust to structure size reduction. Higher movement_bias concentrates agents, producing smaller structures (cells: 2031β1375 from bias 0.0β0.9) but the crossing still fires at 4/4. The max suppression (0.60) is well below the crossing-killing threshold (0.72β0.81), so the boundary never threatens the crossing regardless of agent concentration.
The 1-seed control is 0/4 at ALL bias values. l2_crossed=False for all 1-seed runs (the structural guarantee holds). The 1-seed H7 crossing is 4/4 at all bias values (a single structure still crosses).
Determinism verified at bias=0.3 seed=42 (identical outcomes across two runs).
Status: H7 refined Γ23. H7 crossing is preserved at all movement_bias values (4/4) β independent of agent movement, curve shape, and channel architecture. The crossing is a single-structure property operating on a separate axis from agent distribution. 1-seed control 0/4 at all bias values. See movement_sweep.py.
Refinement (Session 35)
H7 crossing is preserved across ALL movement modes β focal, boundary, diffusivity, and none (4/4 in every case). The local-movement sweep at dual f=0.3 p=0.3 tested four movement modes: none (bias=0.0), focal (bias=0.3), boundary (agents turn back at high B β stigmergic loop), and diffusivity (low diffusivity inside home, high outside). H7=4/4 at every mode β the crossing is independent not just of agent movement magnitude (Session 34) but of the movement MECHANISM. Whether agents navigate globally (focal), respond to the stigmergic boundary field (boundary), adjust diffusivity by zone (diffusivity), or wander freely (none), the single-structure crossing fires identically.
The 1-seed control is 0/4 at ALL modes. For boundary mode, B is structurally zero for 1-seed (ID co-presence = 0 β B = 0), so boundary agents do pure random walk β identical to "none" for the control. The structural specificity guarantee holds across all movement mechanisms.
Determinism verified for both new modes (boundary seed=42: fragmented/909 cells; diffusivity seed=42: none/2526 cells β identical across two runs each).
Status: H7 refined Γ24. H7 crossing is preserved across all movement modes (focal, boundary, diffusivity, none β 4/4 each). The crossing is independent of the movement MECHANISM, not just the magnitude. 1-seed control 0/4 at all modes. See local_movement_sweep.py.
Refinement (Session 36)
H7 crossing is preserved in the zone mode (4/4) β and the zone mode broke the stigmergic feedback loop. The zone sweep tested 4 movement modes (none, focal_0.3, boundary, zone) at dual f=0.3 p=0.3 (max_supp=0.60). H7=4/4 at all modes. The zone mode (agents read own-ID material, not B, for zone identification) broke the stigmergic feedback loop that made boundary mode self-defeating: b_max 50.2 (vs boundary's 104.5, vs none's 47.9). The movement signal (own-ID material) is independent of B, so no B β movement feedback can amplify.
But the zone mode did not improve composition (0/4 coexist, 0/4 clean β worse than "none" at 2/4). The zone signal (dilated own-ID material) is too coarse to serve as an effective zone boundary. Agents outside their zone take large steps toward home; inside, small steps. But the zone boundary is noisy (dilated material is diffuse), producing fragmented structures (3/4 fragmented, 1/4 none). The zone mode trades the self-defeating feedback loop for a different problem: the separate wire exists but carries a noisy signal.
The 1-seed control: l2_crossed=0/4 (structural guarantee holds), but l2_outcome="coexist" in 1/4 (a new false-positive mode). The zone movement restriction fragments the single-seed structure into multiple components; some land on each side of the midline, creating an apparent "coexist" on the final-state outcome classifier without sustained L2 crossing. The l2_crossed metric (which requires sustained persistence) is 0/4 β the key guarantee holds. But the outcome leak is a new failure mode: the movement restriction itself can create spurious multi-region components.
The b_max comparison isolates the feedback loop as the causal variable. b_max: none=47.9, focal=32.9, boundary=104.5, zone=50.2. The boundary mode's 104.5 is 2Γ the baseline β the stigmergic feedback loop over-amplifies B. The zone mode's 50.2 β none's 47.9 β the loop is broken (no B β movement amplification). The focal mode's 32.9 is LOWER than none β the focal attraction actively concentrates agents, reducing co-presence noise. The zone mode neither amplifies nor concentrates β it breaks the loop but doesn't improve the signal.
Determinism verified (zone seed=42: fragmented, 2007 cells β identical across two runs).
Status: H7 refined Γ25. H7 crossing is preserved in the zone mode (4/4). The zone mode broke the stigmergic feedback loop (b_max 50.2 vs boundary's 104.5 β none's 47.9) but did not improve composition (0/4 coexist). The separate wire exists (own-ID material, not B) but carries a noisy signal. The 1-seed l2_crossed=0/4 (structural guarantee holds); l2_outcome has a new leak (1/4 "coexist" from movement-induced fragmentation). The focal mode remains the only mechanism achieving 4/4 full co-occurrence. See zone_sweep.py.
Refinement (Session 37)
H7 crossing is preserved across all jitter values (4/4 at every level). The home-jitter sweep at dual f=0.3 p=0.3 (max_supp=0.60), focal bias=0.3, tested Gaussian noise on the focal home center: jitter β {0, 2, 5, 10, 20, 40} cells (0β50% of the 80-cell grid). H7=4/4 at every jitter β the crossing is independent of the movement signal's precision, just as it is independent of the movement mechanism (Session 35) and movement signal quality (Session 36). The crossing is a single-structure property; the home center's precision is a multi-structure property.
The 1-seed control is 0/4 at ALL jitter values. l2_crossed=False for all 1-seed runs (the structural guarantee holds β co-presence is structurally zero for a single ID regardless of movement noise).
The focal mode's advantage is exogeneity (loop-breaking), not precision (noise-free). A noisy exogenous signal (jitter=10, 12.5% of grid) preserves 4/4 full co-occurrence (H7 + coexist + stable + clean). The collapse at jitter=20 (1/4 coexist, 0/4 stable) is not noise tolerance failing β it is misdirection (jitter of 20 cells can push the home center past the midline, directing agents toward the WRONG half). The non-monotonic partial recovery at jitter=40 (3/4 coexist, 3/4 stable) confirms: random direction beats systematically wrong direction. A random home center that is sometimes right is better than a biased one that is consistently wrong.
The b_max trajectory isolates the mechanism. b_max rises monotonically with jitter: 32.9 β 35.5 β 35.8 β 41.1 β 46.9 β 49.0. Higher jitter makes the focal signal less effective at concentrating agents (more noise β wider distribution β more co-presence β higher B), but the signal stays exogenous (drawn from the RNG, not from the system state) so no feedback loop amplifies it. The zone mode's b_max (50.2) is in the same range as jitter=40 (49.0) β but the zone mode got 0/4 coexist while jitter=40 got 3/4. The difference is not B magnitude; it is signal quality. A noisy exogenous signal (jitter) outperforms a noisy endogenous signal (zone) at the same B magnitude.
Determinism verified at jitter=20 seed=42 (fragmented, 1879 cells β identical across two runs) and jitter=10 seed=42 (coexist, 2019 cells β identical across two runs).
Status: H7 refined Γ26. H7 crossing is preserved across all jitter values (4/4) β independent of movement signal precision. The focal advantage is exogeneity, not precision: a noisy exogenous signal (jitter=10) preserves 4/4 full co-occurrence. The collapse at jitter=20 is misdirection (home center crosses midline), not noise. 1-seed control 0/4 at all jitter values. See jitter_sweep.py.
Refinement (Session 38)
H7 crossing is preserved across both jitter modes and both grid sizes. The per-agent jitter mode (spatially correlated noise) and the grid-size sweep (160Γ160) both confirm H7=4/4 at all conditions where the structure forms. At 160Γ160 with jitter=10, H7 drops to 2/4 β but this is a structure-density effect (the same 150 termites on a 4Γ larger grid produce sparser structures that don't always cross), not a crossing-mechanism effect. At 160Γ160 with jitterβ₯20, H7 drops to 0/4 because the structures fragment entirely (0/4 coexist). The crossing is still a single-structure property; the grid size affects whether structures form at all, not whether they cross.
The 1-seed l2 control leaks at 160Γ160. At grid=160, jitter=20: 1-seed l2_crossed=2/4; jitter=40: 4/4. The structural guarantee (co-presence = 0 for 1 ID) holds, but the l2 detector counts connected components on both sides of the midline β and on the larger grid, a single structure's material can spread across the midline via the curvature routing + deposit dynamics. This is the one-seed control lesson (#80) at a new scale: the 1-seed control must be checked at each grid size.
Determinism verified at per_agent jit=20 seed=42 (coexist, stable, 2112 cells β identical across two runs) and per_step jit=10 seed=42 (coexist, stable, 2019 cells β identical across two runs).
Status: H7 refined Γ27. H7 crossing preserved across both jitter modes (4/4 at per_step/per_agent jitter 0-20, 2/4 at per_agent jit=10). Grid-size scaling: H7 drops at 160Γ160 with jitterβ₯10 (structure-density effect, not crossing-mechanism). 1-seed l2 leaks at 160Γ160 (2/4 at jit=20, 4/4 at jit=40). The crossing is a single-structure property; grid size affects structure formation, not the crossing mechanism. See jitter_mode_sweep.py, grid_size_sweep.py.
Refinement (Session 39 β PID D-term: neutral at optimal, destructive without focal bias)
The PID D-term (queued-topic #103) adds an anticipatory suppression wire to the dual mode: B_deriv grows from the positive part of the co-presence rate of change (cp_delta = max(0, cp - cp_prev)) and decays fast. The D term is anticipatory β it strengthens the boundary BEFORE structures merge (when co-presence is rising), not after.
At the optimal configuration (dual f=0.3 p=0.3, focal bias=0.3): the D term is neutral. 4/4 full co-occurrence at ALL g_deriv (0.0β0.3). The D term neither helps nor hurts β the focal bias already achieves 4/4, and the D term's suppression is small (max_supp rises 0.60β0.90 but the system is already stable).
Without focal bias: the D term is destructive. The dual-no-focal baseline (g_deriv=0.0) achieves 4/4 L2, 2/4 coexist, 3/4 stable, 1/4 full. Adding g_deriv=0.1 drops stable to 0/4 and full to 0/4. At g_deriv=0.3, coexist collapses to 0/4 (all outcomes fragment). The D term's anticipatory suppression reads the system's own co-presence (endogenous signal), creating a stigmergic feedback loop β the two-wire principle's tenth instance: a signal derived from the system's own state amplifies oscillations rather than damping them.
The D term cannot substitute for agent locality. The focal bias is an exogenous signal (fixed home center) β the system cannot reach it. The D term is endogenous (cp_delta is derived from co-presence, which is derived from agent positions). The D term's failure mirrors the boundary mode's failure (Session 35): a movement/suppression signal derived from the system's own state creates a self-amplifying loop. The two-wire principle's tenth member: an endogenous anticipatory signal is self-defeating β it amplifies the oscillation it tries to damp.
1-seed control: 0/4 at all g_deriv in both sweeps. Determinism verified.
Status: H7 refined Γ28. PID D-term neutral at optimal config (4/4 full at all g_deriv with focal bias). Without focal bias: D term destructive β stable 3/4β0/4 at g_deriv=0.1, coexist 2/4β0/4 at g_deriv=0.3. The D term is endogenous (cp_delta from system state) β the two-wire principle's tenth instance: anticipatory suppression from an endogenous signal is self-defeating. See pid_sweep.py, pid_no_focal_sweep.py.
Refinement (Session 40 β Exogenous D-term: H7 preserved with focal bias, degraded without)
The exogenous D-term sweep (queued-topic #117) tested an external sinusoid driving B_deriv independently of system state. At the optimal config (dual f=0.3 p=0.3, focal bias=0.3): H7=4/4 at all g_deriv (0.0β0.3). The exogenous D-term preserves the H7 crossing exactly as the endogenous D-term did β the crossing is independent of the D-term's signal source when the system is already stable.
Without focal bias: H7 drops at g_deriv=0.3 (3/4 vs 4/4 at g_deriv=0.0). The exogenous D-term slightly degrades H7 at high g_deriv without focal bias β the endogenous D-term also degraded H7 (4/4 at g_deriv=0.0, but H7 was 4/4 at g_deriv=0.3 in the endogenous sweep). The difference is small (3/4 vs 4/4) and within the 4-seed sample noise.
The 1-seed H7 crossing is 4/4 at all g_deriv. The single-seed structure still crosses regardless of the exogenous D-term β the crossing is a single-structure property that the boundary doesn't affect (the boundary's suppression uses B_form/B_persist which are zero for 1-seed; B_deriv is non-zero but the crossing detector doesn't use B_deriv).
The period sweep: H7=4/4 at all periods (100, 200, 400) with focal bias. The oscillation frequency doesn't affect the crossing.
Determinism verified. Two identical runs at g_deriv=0.1 without focal bias produce identical outcomes (l2=True, outcome=fragmented).
Status: H7 refined Γ29. Exogenous D-term preserves H7=4/4 at all g_deriv with focal bias. Without focal bias: H7 slightly degraded at g_deriv=0.3 (3/4) β the crossing is less robust to the D-term's oscillatory suppression when the system is already fragile (no focal bias). 1-seed H7=4/4 at all g_deriv. Period sweep neutral (4/4 at all periods). The crossing remains independent of the D-term's signal source when the system is stable. See exo_dterm_sweep.py.
Refinement (Session 41 β Density scaling: H7 crossing fully rescued by density)
The density scaling sweep (queued-topic #119) tested whether the 160Γ160 grid's H7 collapse (Session 38: H7=0/4 at jitterβ₯20) was purely density-dependent. Scaling n_termites with grid area (150β600 for 160Γ160) fully rescues H7.
H7=4/4 at all jitter levels (0, 10, 20) on the 160Γ600 grid β matching the 80Γ150 baseline (4/4 at all jitter). The 160Γ150 grid (same 150 termites, 4Γ area) collapsed to H7=2/4 at jitter=10 and 0/4 at jitter=20. The intermediate 160Γ300 (half density) is 4/4 at jitter=0 and 4/4 at jitter=10, but 4/4 at jitter=20 (H7 survives, composition does not).
The crossing is a density-dependent property, not a grid-size property. The 160Γ160 grid does not inherently break H7 β it breaks it when the structure is too sparse (150 termites on 25,600 cells = 5.9/kcell). At the same density as the 80Γ80 baseline (23.4/kcell, 600 termites), H7 fires identically. This confirms H7's crossing is about material density β enough structure for the curvature channel to consolidate β not about the grid's linear dimensions.
The 1-seed H7 crossing is 4/4 at all density/jitter combos β the single-seed structure crosses regardless. The crossing is a single-structure property; the boundary (which affects only multi-seed composition) does not affect the 1-seed H7 verdict.
Determinism verified. Two identical runs at 160Γ600 jitter=10 seed=42 produce identical outcomes (l2=True, cells=5700).
Status: H7 refined Γ30. Density scaling fully rescues H7 on the 160Γ160 grid (4/4 at all jitter with 600 termites). The crossing is density-dependent, not grid-size-dependent. The 160Γ160 failure (Session 38) was a sparsity artifact β too few termites for the curvature channel to consolidate material. At constant density the crossing fires identically on both grid sizes. See density_sweep.py.
Refinement (Session 42 β Finer density sweep: H7 crossing has a density threshold)
The finer density sweep (queued-topic #122) tested 4 density levels (100, 200, 400, 800 termites) on the 160Γ160 grid at jitter=10.
H7 has a density threshold between n=100 and n=200. At n=100 (3.9/kcell): H7=0/4 β the crossing does not fire at all. At n=200 (7.8/kcell): H7=4/4. The transition is sharp: below ~4/kcell the structure is too sparse for the curvature channel to create spatial selectivity, above ~8/kcell it fires reliably. This is a percolation-like threshold β the crossing requires a minimum material density, below which the curvature channel cannot consolidate.
H7 is monotonic above the threshold. n=200 β 4/4, n=400 β 4/4, n=800 β 4/4. Once the density threshold is crossed, H7 fires reliably at all higher densities. This confirms H7's mechanism: the crossing is about material density β enough structure for the curvature channel to consolidate β not about grid size or absolute termite count.
The 1-seed H7 crossing is 4/4 at all densities β the single-seed structure crosses regardless of density (even at n=100 where the 2-seed H7 fails, the 1-seed H7 is 4/4). The crossing is a single-structure property; the density threshold is about multi-seed composition, not the crossing itself.
Determinism verified. Two identical runs at 160Γ800 jit=10 seed=42: identical (l2=True, coexist, stable, h7=True, cells=6736).
Status: H7 refined Γ31. The finer density sweep reveals a percolation-like density threshold for the crossing: H7=0/4 below ~4/kcell (n=100), 4/4 above ~8/kcell (n=200+). The crossing is monotonic above the threshold β once enough material exists for the curvature channel, H7 fires reliably at all higher densities. The density threshold is about multi-seed composition, not the crossing itself (1-seed H7=4/4 at all densities). See finer_density_sweep.py.
Refinement (Session 43 β Threshold pinned: H7 transition is gradual, not sharp; composition optimum β crossing threshold)
The threshold sweep (5 density levels: 100, 125, 150, 175, 200 termites on 160Γ160 at jitter=10, 4 seeds) densified the n=100β200 transition and added 8-seed robustness at n=800.
H7's density threshold is a gradual transition, not a sharp percolation threshold. n=100 (3.9/kc): H7=0/4. n=125 (4.9/kc): H7=1/4. n=150 (5.9/kc): H7=2/4. n=175 (6.8/kc): H7=4/4. n=200 (7.8/kc): H7=4/4. The transition spans n=125β175 (4.9β6.8/kc), not the sharp 100β200 jump that Session 42's two points suggested. The crossing probability increases gradually with density β a crossover, not a percolation.
The composition optimum is NOT co-located with the H7 threshold. Coexist: n=100β0/4, n=125β0/4, n=150β4/4, n=175β1/4, n=200β1/4. Composition peaks at n=150 (5.9/kc, coexist=4/4, clean=4/4, stable=1/4, full=1/4) β a density where H7 is only 2/4. At n=175-200 where H7=4/4, coexist drops to 1/4. The crossing threshold and the composition optimum are separated: the crossing needs higher density (nβ₯175) than composition (n=150). The 1-seed control is 0/4 at n=100-150, 1/4 at n=175-200.
8-seed robustness at n=800 confirms the headline. 2-seed: 8/8 coexist, 8/8 stable, 8/8 H7, 7/8 clean, 7/8 full. The Session 42 4/4 full result (4 seeds) holds at 8 seeds (7/8 full). 1-seed: 4/8 l2_crossed β the 1-seed leak persists at 4/8 (was 3/4 at 4 seeds), confirming the structure-to-grid ratio problem is not a 4-seed artifact.
Determinism verified. Two identical runs at 160Γ800 jit=10 seed=42: identical (l2=True, coexist, stable, h7=True, cells=6736).
Status: H7 refined Γ32. The H7 density threshold is a gradual crossover (0/4 at 3.9/kc β 4/4 at 6.8/kc), not a sharp percolation threshold. The composition optimum (n=150, coexist=4/4) is NOT co-located with the H7 threshold (nβ₯175, H7=4/4) β composition peaks where the crossing is only 2/4, and degrades where the crossing is fully reliable. 8-seed robustness at n=800 confirms 8/8 full co-occurrence (7/8 clean). The 1-seed leak holds at 4/8. See threshold_sweep.py.
Refinement (Session 44 β Per-criteria analysis: C1 is the bottleneck at n=150; over-fragmentation at n=175)
The per-criteria analysis (queued-topics #124, #125) instrumented the H7 detector's three criteria separately for n=150 (composition optimum, H7=2/4) and n=175 (H7 threshold, coexist=1/4).
At n=150, criterion 1 (stability β₯ 0.90) is the sole bottleneck. C2 (roughness + mass plateau) passes 20/20 in all seeds. C3 (deposit constraint) passes 20/20 in all seeds. C1 passes only 6/20 (seed 42, stab=0.8901) and 2/20 (seed 123, stab=0.8776) β the stability hovers at 0.88β0.89, flickering across the 0.90 threshold. The max consecutive all-3 run is 2 (needs 4). Seeds 256 (stab=0.9088, c1=16/20) and 999 (stab=0.9284, c1=20/20) cross. The stability margin is razor-thin: the composition optimum sits at a density where the structure is just barely stable enough for coexistence but not quite stable enough for the crossing detector.
Composition at n=150 does not require the crossing. 4/4 seeds coexist with only 2/4 H7. The boundary + ID-tagging produces clean coexistence (4/4 clean, 0/4 1-seed) at a density where the curvature channel's self-maintenance is not fully reliable. This weakens H7's claim that the crossing is the mechanism for composition: the boundary mechanism (dual B fields + ID-tagged agents) is sufficient for coexistence at the optimal density, independent of whether the crossing fires. The crossing may be necessary for stable coexistence (stable=1/4 at n=150) but not for coexistence itself.
At n=175, H7 fires (4/4) but the structures over-fragment. 3/4 seeds have l2_outcome="fragmented" β both regions have 4+ connected components (mean_lc: 6.5, 2.5, 3.5, 6.0; mean_rc: 4.0, 6.5, 3.2, 4.0). The COEXIST_MAX_COMP threshold is 3; structures with 4+ components per region are classified "fragmented," not "coexist." Only seed 256 (mean_lc=3.6, mean_rc=3.3) achieves "coexist." The structures are NOT merging (0 components = merged would give "none"); they are over-fragmenting β the boundary (dual g=0.3) suppresses growth too aggressively when the structure is large, splitting each region into too many small pieces.
The problem at n=175 is over-fragmentation, not merging. Session 43 hypothesized the degradation might be "merging (too big for the midline) or boundary weakness." The data shows neither: the structures don't cross the midline (l2_crossed=4/4, components exist in both halves), but each half has too many components. The boundary that enables composition at n=150 (by separating two ID-tagged populations) over-fragments at n=175 (by splitting each population into too many pieces). This is a new expression of the strength-vs-growth trade-off (Session 30): the boundary strength that is optimal at n=150 is too strong at n=175, because the larger structure has more surface area for the boundary to split.
Status: H7 refined Γ33. C1 (stability β₯ 0.90) is the sole bottleneck at the composition optimum (n=150): C2 and C3 pass 20/20, but stability flickers at 0.88β0.89, just below the 0.90 threshold. Composition does not require the crossing β 4/4 coexist with 2/4 H7 β weakening H7's claim that the crossing is the mechanism for composition. At n=175 (H7=4/4), the structures over-fragment (4+ components per region), not merge β the boundary over-splits each region. The problem is over-fragmentation, not merging or boundary weakness. See criteria_analysis.py.
Refinement (Session 45 β H7 preserved across the density-gain sweep; the crossing is gain-independent at n=175)
The density-gain sweep (queued-topic #126) tested 7 (n, g) combos at 4 seeds. H7 is 4/4 at n=175 across ALL gains (0.15β0.30) β the crossing is gain-independent at this density. At n=150, H7 drops from 2/4 (g=0.30) to 0/4 (g=0.35, 0.40) β the crossing is gain-sensitive at the lower density because the stronger boundary suppresses the stability below 0.90.
The crossing and composition respond to different axes. H7 depends on density (n=150: 2/4, n=175: 4/4) but not on gain (at n=175: 4/4 at all g). Composition depends on both density and gain (n=175: 4/4 at g=0.15, 1/4 at g=0.30; n=150: 4/4 at g=0.30, 0/4 at g=0.35). The crossing is a density phenomenon; composition is a density-gain interaction. This confirms Session 44's finding that the crossing and composition are governed by different density regimes, and extends it: within the crossing-fires regime (nβ₯175), composition is gain-tunable.
The over-fragmentation at n=175 g=0.30 (Session 44) is fully reversed by lowering g. The boundary that over-split each region into 4+ components at g=0.30 produces 1-3 components at g=0.15-0.20. The crossing was never the problem β the boundary strength was. This is the two-wire principle's 13th member: the signal strength must scale with the structure size (density).
Status: H7 refined Γ34. H7 is 4/4 at n=175 across all gains (0.15β0.30) β the crossing is gain-independent at the crossing density. At n=150, H7 is gain-sensitive (2/4 at g=0.30, 0/4 at g=0.35+). The crossing and composition respond to different axes: density for the crossing, density-gain interaction for composition. The over-fragmentation (Session 44) is reversed by lowering g β the crossing was never the problem. See density_gain_sweep.py.
Refinement (Session 46)
The g*(n) scaling-law sweep (20 combos, 160 runs) confirms H7 is robust across the full density range tested (n=155β180). H7=4/4 at all gains except n=155 g=0.32 (2/4) and n=160 g=0.28 (1/4) β the crossing fires reliably once density exceeds ~6/kc, independent of the boundary gain.
The crossing is density-robust but gain-fragile at the density boundary. At n=155 (6.05/kc), the crossing is 4/4 at g=0.26β0.30 but degrades to 2/4 at g=0.32 β the H7 threshold is being approached from below as density decreases. At n=160 (6.25/kc), the crossing is 4/4 at g=0.22β0.26 but drops to 1/4 at g=0.28 β the same pattern. The crossing is robust to gain within the crossing regime but fragile at the density boundary, where excessive gain can suppress it.
n=170 g=0.24 is the new headline. 3/4 full co-occurrence (H7+coexist+stable+clean) β the highest rate of full co-occurrence ever observed, at moderate density (6.64/kc). The crossing fires in 4/4 seeds, coexist in 3/4, stable in 3/4, clean in 3/4. This is the first time the crossing and composition have co-occurred at this rate.
Status: H7 refined Γ35. The crossing is density-robust (4/4 at all nβ₯155 except at the density boundary with excessive gain) and gain-independent within the crossing regime. n=170 g=0.24 achieves 3/4 full co-occurrence β the best ever, at moderate density. The crossing threshold (~6/kc) is well below the composition optimum (n=170, 6.6/kc). See gain_scaling_sweep.py.
Refinement (Session 47)
The 8-seed robustness sweep confirms n=170 g=0.24 is a genuine optimum, not a 4-seed lucky draw. At 8 seeds: H7=8/8, coexist=6/8, stable=3/8, clean=6/8, full=3/8. The 3/4 full rate holds β it is not a small-sample artifact. The 1-seed control leaks at 1/8 (was 1/4 at 4 seeds) β the structure-to-grid ratio problem persists but is smaller with more seeds.
The n=200 sweep extends the g*(n) scaling law to a new density. H7=4/4 at all gains (0.08β0.14). The 1/βn fit predicted g*(200)=0.12; the linear predicted g*(200)=0.10. Actual g*β0.12 (3/4 full at g=0.12) to 0.14 (4/4 coexist, 4/4 clean, 3/4 full). The 1/βn fit is confirmed as the better predictor β the Laplace pressure analogy holds at n=200.
n=200 g=0.14 achieves 3/4 full with 4/4 coexist and 4/4 clean β matching n=170 g=0.24's 3/8 full but with higher coexist (4/4 vs 6/8) and clean (4/4 vs 6/8) rates. The composition optimum persists at n=200. H7 is 4/4 at all n=200 gains β the crossing is fully robust at this density.
The 1-seed leak is 1/4 at n=200 β the structure-to-grid ratio problem (12th member) persists at higher density, independent of the gain-scaling fix (13th member). Determinism verified at n=200 g=0.12 seed=42 (identical, cells=3417).
Status: H7 refined Γ36. The 8-seed robustness confirms n=170 g=0.24 is a genuine optimum (3/8 full, not a 4-seed artifact). The n=200 sweep confirms the 1/βn (Laplace pressure) scaling law: g(200)β0.12, matching the 1/βn prediction, not the linear (0.10). n=200 g=0.14 achieves 3/4 full with 4/4 coexist and 4/4 clean. H7=4/4 at all n=200 gains β the crossing is fully robust. 1-seed leak: 1/8 at n=170, 1/4 at n=200.* See robustness_n200_sweep.py.
Refinement (Session 48)
The n=210β230 plateau sweep is the decisive test of the g*(n) scaling law. The linear fit (g* = 0.82 β 0.0036n, RΒ²=0.75) predicted g*=0 at nβ230 β composition impossible. The 1/βn fit (g* = β0.95 + 15.2/βn, RΒ²=0.77) predicted g*(230)β0.05 β composition still possible.
The linear scaling is falsified. The 1/βn (Laplace pressure) scaling is confirmed.
At n=230 (the linear's predicted zero), composition is alive: 3/4 coexist, 3/4 stable, 3/4 clean, 2/4 full at g=0.08. H7=4/4 at all n=230 gains. The 1-seed control is 0/4 at n=230 β the structural guarantee holds at the highest density tested.
n=220 g=0.06 and g=0.12 achieve 4/4 full co-occurrence (H7+coexist+stable+clean) β the first 4/4 full at any density on the 160Γ160 grid. All 4 seeds show coexist, stable, H7, and clean simultaneously. The 1-seed control is 1/4 (structural guarantee mostly holds).
The 8-seed robustness at n=200 g=0.14 confirms the Session 47 headline: 8/8 coexist, 8/8 clean, 4/8 stable, 4/8 full, 8/8 H7. The 4/4 full at 4 seeds holds at 4/8 with 8 seeds β not a small-sample artifact. The 1-seed leak drops to 1/8 (was 1/4 at 4 seeds).
The g*(n) scaling has not plateaued. The composition optimum has shifted to n=220 (8.59/kcell) β higher density than any previous session. The crossing threshold and composition optimum are converging but have not merged.
Status: H7 refined Γ37. The linear scaling is falsified β composition is alive at n=230 (3/4 coexist at g=0.08). The 1/βn (Laplace pressure) scaling is confirmed. n=220 g=0.06 and g=0.12 achieve 4/4 full β the first 4/4 full on 160Γ160. H7=4/4 at all n=210β230 gains. 8-seed robustness at n=200 g=0.14: 4/8 full (not a 4-seed artifact). 1-seed: 0/4 at n=230, 1/4 at n=220, 1/8 at n=200. See plateau_sweep.py.
Refinement (Session 49)
The 8-seed robustness at n=220 g=0.06 confirms H7 robustness: 8/8 H7 at 8 seeds. The crossing is fully robust at the n=220 density β every seed crosses. The 6/8 full co-occurrence (vs 4/4 at 4 seeds) is degraded by 2/8 fragmenting seeds, but H7 itself is 8/8 β the crossing is not the bottleneck.
The asymmetric g_form/g_persist sweep confirms H7 is 4/4 across ALL four asymmetric configs (sym006, form012, persist012, sym012). The crossing is fully independent of the formation/persistence balance β H7 depends on max suppression (Session 32), not the split between g_form and g_persist. Both asymmetric configs have max_supp β€ 0.18 (below the 0.72 threshold), so H7 fires in all.
Status: H7 refined Γ38. 8-seed robustness at n=220 g=0.06: H7=8/8 (crossing fully robust at 8 seeds). The asymmetric sweep confirms H7=4/4 across all four configs β the crossing is independent of the formation/persistence balance (max suppression β€ 0.18, below the 0.72 threshold). The crossing is not the bottleneck at n=220; the 6/8 full rate is degraded by composition quality (2/8 fragmenting), not by the crossing. See robustness_n220_sweep.py.
Refinement (Session 50 β the fragmentation boundary is a classifier artifact)
The seed analysis (queued-topic #141) confirms H7's Session 49 finding that the crossing is not the bottleneck at n=220 β all 8 seeds have H7=True (8/8). The 2/8 "fragmenting" seeds (100, 777) are not H7 failures; they are l2_outcome classifier artifacts (final-record noise). The crossing is fully robust and independent of the composition quality measurement issue.
Refinement (Session 51 β n=240β250 plateau: g* does not hit zero; 1/βn scaling confirmed)
The n=240β250 plateau sweep (queued-topic #144) tested whether g* hits zero β the LSW prediction that the droplet dissolves into the continuous phase when the structure fills the grid. The linear fit (falsified at n=200, Session 47) predicted g*(240)β0; the 1/βn fit predicted g*(240)β0.04, g*(250)β0.02.
g does NOT hit zero at n=240β250.* Both n=240 and n=250 produce coexist at every gain tested (0.01β0.06). H7=4/4 at every combo β the crossing is fully robust at these densities (~9.4β9.8/kcell). The linear scaling is definitively falsified; the 1/βn (Laplace pressure) scaling is confirmed.
n=240 g=0.01 is the best config ever: 4/4 coexist, 4/4 stable, 4/4 H7, 3/4 clean, 3/4 full. The 1-seed control is 0/4 l2_crossed (structural guarantee holds). This matches the 1/βn prediction g*(240)β0.04 β the actual g* is β€0.01 (composition works at the lowest gain tested).
Stability degrades at n=250 (2/4 at most gains) vs n=240 (3β4/4). The structures are getting too big (~4700β4900 cells on a 160Γ160 grid), creating more surface area for the boundary to split. The composition quality is degrading at the highest density β not because g* hits zero, but because the stability margin shrinks as the structures fill the grid.
The 1-seed l2_crossed leaks at n=250 (1/4 at all gains) β the structure-to-grid ratio problem (12th member) persists. The bigger single structure at n=250 (~4800 cells) crosses the midline even with focal bias.
The coexist_frac metric (#143) is adopted as the primary composition quality measure. The l2_outcome final-record classifier has a noise floor (Session 50); the stable_l2 metric (coexist in β₯50% of the late window) averages over the noise. The coexist_frac is now reported alongside l2_outcome in detect_l2.
Determinism verified. Two identical runs at n=240 g=0.01 seed=42: identical (l2=True, coexist, stable, h7=True, cells=4590, coexist_frac=0.90).
Status: H7 refined Γ40. The n=240β250 plateau confirms g does not hit zero β the 1/βn (Laplace pressure) scaling holds, the linear is definitively falsified. n=240 g=0.01 is the best config ever (4/4 coexist + 4/4 stable + 4/4 H7 + 3/4 full). H7=4/4 at all n=240β250 combos β the crossing is fully robust. Stability degrades at n=250 (2/4 vs 3β4/4 at n=240). The 1-seed l2_crossed leaks at n=250 (1/4) β the structure-to-grid ratio problem persists. The coexist_frac metric is adopted as primary (#143).* See plateau_240_sweep.py.
Refinement (Session 52 β n=260β300 plateau: g* never hits zero; stability-density trade-off is boundary-mediated)
The n=260β300 plateau sweep (queued-topic #147) extends the 1/βn scaling test to the highest densities yet (~10β12/kcell). The 1/βn fit predicted g*(260)β0.02, g*(280)β0.01, g*(300)β0.01. The LSW analogy says g* β 0 when the structure fills the grid (the droplet dissolves into the continuous phase).
g never hits zero.* At n=260β300, composition is alive at every gain tested (0.005β0.03). H7=4/4 at all 10 combos β the crossing is fully robust across the entire density range. n=300 g=0.02 achieves the highest mean coexist_frac ever (0.775), with 4/4 coexist, 3/4 stable, 4/4 clean, 3/4 full. The 1/βn scaling is confirmed to n=300; the LSW dissolution has not occurred (structures are ~5000β5500 cells on a 25,600-cell grid, ~20β21% fill).
The stability-density trade-off is boundary-mediated. The no-inhibition control (g=0, queued-topic #148) at n=240, 250, 260 produces 0/4 coexist at all three densities β all fragmented, all 1-seed l2=4/4 (no structural guarantee without the boundary). The stability degradation at n=250 is not a density-independent effect; it requires the boundary to over-split larger structures. Without the boundary, the structures fragment at every density, not just at n=250.
The 1-seed l2_crossed leak is mild and stochastic (queued-topic #149). At 8 seeds: n=240 leaks 1/8, n=250 leaks 2/8. The leak does not worsen dramatically with n. The structure-to-grid ratio problem (12th member) has a soft threshold, not a sharp transition.
Determinism verified. Two identical runs at n=300 g=0.02 seed=42: identical (l2=True, coexist, stable=False, cf=0.20, h7=True, cells=5353).
Status: H7 refined Γ41. g never hits zero at n=260β300 β the 1/βn (Laplace pressure) scaling holds to the highest density tested. H7=4/4 at all 10 combos. n=300 g=0.02 achieves the highest coexist_frac (0.775). The stability-density trade-off is boundary-mediated β without inhibition (g=0), all densities produce 0/4 coexist (fragmented). The 1-seed leak is mild and stochastic (1/8 at n=240, 2/8 at n=250).* See plateau_260_sweep.py.
Refinement (Session 53 β High-density plateau n=320β400 + 8-seed robustness)
The high-density plateau sweep (queued-topics #150, #152) extended the 1/βn (Laplace pressure) scaling test to n=320, 350, 400 (~22β26% grid fill) and ran 8-seed robustness at n=300 g=0.02 (the highest 4-seed coexist_frac from Session 52).
g never hits zero at n=320β400.* Composition is alive at every gain tested (0.005β0.02) at all three densities. H7=4/4 at all 9 plateau combos. L2=4/4 at all 9. The 1/βn (Laplace pressure) scaling is confirmed to ~26% grid fill β the LSW "droplet dissolves" prediction is not realized even at n=400 (~6700/25,600 cells).
n=350 g=0.01 is the best composition config ever. 4/4 coexist, 4/4 clean, 3/4 stable, 4/4 H7 β 3/4 full. Mean coexist_frac=0.725, the highest at any 4-seed config at this density. n=350 outperforms n=300 g=0.02 (3/4 full, cf=0.775 from 4 seeds but drops at 8 seeds).
The 30th mechanism: a high-fill stability-density trade-off. At n=400 (~26% fill), stability drops to 1/4 at g=0.01 and 2/4 at g=0.005 and g=0.02. The structures are so large (~6700 cells) that the boundary (dual g=0.01) over-splits each region β the same boundary-mediated over-fragmentation as Session 52's n=250, but now at higher fill. The no-inhibition control confirms: without boundary at n=400, 1/4 coexist (still mostly fragmented); at n=320, 0/4 coexist.
8-seed robustness at n=300 g=0.02: coexist is robust (7/8), full is not (4/8). The 4-seed 3/4 full drops to 4/8 β coexist holds at 7/8, H7 holds at 8/8, but the full co-occurrence (H7+coexist+stable+clean) is stochastic. Stable is 5/8. The 1-seed leak drops to 1/8 (was 0/4 at 4 seeds). n=300 g=0.02 is coexist-robust but not full-co-occurrence-robust β the 4-seed 3/4 full was partly a small-sample effect.
The 1-seed leak is stable at 1/4 across n=320β400. At every plateau combo, 1/4 of 1-seed runs leak l2_crossed β a single large structure's material spreads across the midline. The leak is mild (1/4), density-independent in this range, and unchanged from n=260β300 (0/4 to 1/4). The structure-to-grid ratio problem persists as a soft threshold.
Determinism verified. Two identical runs at n=350 g=0.01 seed=42: identical (l2=True, coexist, stable=False, cf=0.45, h7=True, cells=5804).
Status: H7 refined Γ42. g never hits zero at n=320β400 (~22β26% grid fill) β the 1/βn (Laplace pressure) scaling holds to the highest density tested. H7=4/4 at all 9 combos. n=350 g=0.01 is the best composition config (cf=0.725, 3/4 full). The 30th mechanism: a high-fill stability-density trade-off at n=400 (~26% fill) β the boundary over-splits larger structures. 8-seed robustness at n=300 g=0.02: coexist 7/8 but full only 4/8 β the 4-seed 3/4 full was partly a small-sample effect. 1-seed leak stable at 1/4.* See high_density_plateau_sweep.py.
Refinement (Session 54 β Ultra-high-density plateau n=450β500 + 8-seed robustness at n=350 g=0.01)
The ultra-high-density plateau sweep (queued-topics #153, #154) tested n=450, 500 at gains 0.005β0.02 plus 8-seed robustness at n=350 g=0.01 (the best 4-seed config from Session 53).
g never hits zero at n=450β500 (~27β29% grid fill).* H7=4/4, L2=4/4 at all 6 combos. The 1/βn (Laplace pressure) scaling holds to ~29% fill β the highest density tested (~7400/25,600 cells). The LSW "droplet dissolves" prediction is not realized.
n=500 g=0.02 achieves 4/4 full co-occurrence β the first at n=500, and the 1-seed l2=0/4 (structural guarantee perfect). n=450 g=0.005 achieves 3/4 full (cf=0.662). The 1-seed structural guarantee strengthens at ultra-high density: at n=500 it is 0/4 at all gains (vs 1/4 at n=320β400).
n=350 g=0.01 is the most robust composition config ever. 8-seed robustness: 8/8 coexist, 7/8 stable, 8/8 H7, 7/8 full (cf=0.706). The 4-seed 3/4 full strengthens to 7/8 at 8 seeds β unlike n=300 g=0.02 which dropped from 3/4 to 4/8. n=350 g=0.01 is the robust optimum.
No-inhibition control: n=450 gives 1/4 coexist (0/4 stable), n=500 gives 2/4 coexist (0/4 stable). The boundary remains necessary at ultra-high density.
Determinism verified. Two identical runs at n=500 g=0.02 seed=42: identical (l2=True, coexist, stable=True, h7=True, cells=7213).
Status: H7 refined Γ43. g never hits zero at n=450β500 (~27β29% fill) β the 1/βn (Laplace pressure) scaling holds to the highest density tested. H7=4/4 at all 6 combos. n=500 g=0.02 achieves 4/4 full with 1-seed l2=0/4 (structural guarantee perfect). n=350 g=0.01 is the most robust config ever (7/8 full at 8 seeds). The LSW "droplet dissolves" prediction is not realized.* See ultra_high_density_sweep.py.
Refinement (Session 55 β the crossing is a stability condition, not a composition mechanism)
Queued-topic #127: at n=150, composition (4/8 coexist) occurs with only 2/8 H7. If the crossing is what creates composition, composition without the crossing should be fragile. If the crossing is what stabilizes composition (makes it survive perturbation), then perturbed runs at high-H7 regimes should preserve composition better than perturbed runs at low-H7 regimes.
Perturbation sweep: 3 regimes Γ {perturbed, unperturbed} Γ 8 seeds Γ {2, 1}. Perturbation: 50% of right region material removed at step 1200/2000.
| Regime | n | g | H7 (unper) | Coexist (unper) | Coexist (pert) | Recovery | Full (unper) | Full (pert) |
|---|---|---|---|---|---|---|---|---|
| n150 (H7 low) | 150 | 0.30 | 2/8 | 4/8 | 2/8 | 0.562 | 1/8 | 0/8 |
| n350 (H7 high) | 350 | 0.01 | 8/8 | 8/8 | 6/8 | 1.063 | 7/8 | 6/8 |
| n500 (H7 high) | 500 | 0.02 | 8/8 | 8/8 | 8/8 | 1.159 | 7/8 | 8/8 |
The crossing predicts perturbation robustness. At n=150 (H7=2/8), perturbation degrades composition (4/8β2/8 coexist, recovery=0.56 β the structure does not regrow). At n=350 (H7=8/8), perturbation barely affects it (8/8β6/8, recovery=1.06 β the structure over-recovers). At n=500 (H7=8/8), perturbation improves it (stable 7/8β8/8, full 7/8β8/8, recovery=1.16 β damage makes the structure more robust).
The over-recovery mechanism: removing 50% of the right structure creates new curvature at the damage boundary (the scar edge). The curvature channel routes deposits preferentially to high-curvature regions β it recruits deposits to the scar. This is targeted scar repair β the opposite of Session 24's sim09 null (where no targeted repair was found). The difference: Session 24's perturbation was in sim09's single-structure, low-density regime (n=150, no boundary, no ID-tagging); here the mature structure at n=350/500 has the boundary + ID-tagging + curvature channel all working together. The crossing is the mechanism that makes the structure self-repairing β it recruits deposits to damage sites via the curvature signal the damage itself creates.
This reframes H7. The crossing is not what creates composition β the boundary + ID-tagging creates composition (4/8 coexist at n=150 with H7=2/8). The crossing is what makes composition stable under perturbation β it is the mechanism that converts damage into a recruitment signal, turning a destructive event into a constructive one. H7's "traceβactor crossing" is better understood as "the trace structure develops a self-repair response to damage" β the structure acts as an actor by healing itself, not merely by persisting.
Cross-domain connection: this is homeostasis in the biological sense β a self-maintaining system that detects damage and responds by repairing it. The curvature signal IS the damage detector; the deposit routing IS the repair response. The crossing fires when the structure has enough material density for the curvature channel to create a coherent repair response β below that density, the damage overwhelms the channel (recovery=0.56), above it, the channel heals the scar (recovery > 1.0).
The 32nd mechanism: perturbation over-recovery β the crossing converts damage into a recruitment signal, producing targeted scar repair where sim09's single-structure null found none.
Determinism verified: two identical runs at n=350 g=0.01 seed=42 perturbed: identical (cells=5657).
Status: H7 refined Γ44. The crossing is a stability condition, not a composition mechanism. Where H7 fires (n=350/500), perturbation over-recovers (recovery 1.06β1.16); where it does not (n=150), perturbation degrades (recovery 0.56). The crossing converts damage into a recruitment signal β targeted scar repair, the opposite of sim09's null. The 32nd mechanism: perturbation over-recovery. See perturbation_sweep.py.
Refinement (Session 56 β over-recovery was a growth artifact; the stability function persists)
Session 55's main criticism: the perturbation at 60% of steps hits while the structure is still growing. Over-recovery (recovery >1.0) could be a growth artifact β the perturbation resets to a lower base, and growth continues from there.
The timing sweep confirms this β partially. Three perturbation timings at n=350 g=0.01, 8 seeds:
| Timing | Recovery | H7 | Stable | Coexist | Full |
|---|---|---|---|---|---|
| 60% (step 1200) | 1.063 | 8/8 | 7/8 | 6/8 | 6/8 |
| 80% (step 1600) | 0.879 | 8/8 | 6/8 | 8/8 | 6/8 |
| 90% (step 1800) | 0.756 | 8/8 | 5/8 | 8/8 | 5/8 |
Recovery drops monotonically with later perturbation: 1.06 β 0.88 β 0.76. At 80% and 90%, the structure does NOT over-recover β it under-recovers (the right region does not regrow to its pre-damage level). The over-recovery at 60% was a growth artifact β the structure was still accreting at step 1200, and the perturbation reset growth to a lower base, producing more net growth by step 2000.
But the crossing's stability function persists. H7=8/8 at all three timings β the crossing detector fires regardless of perturbation timing. Coexist=8/8 at 80% and 90% β composition survives late perturbation even without over-recovery. The crossing does not require over-recovery to stabilize composition; it prevents fragmentation (H7=8/8) and preserves coexistence (6/8β8/8) even when the structure does not regrow. The stability function is the prevention of degradation, not the reversal of damage.
The size sweep reveals the damage signal amplifies rather than saturates. Four perturbation sizes at n=350 g=0.01, 8 seeds, perturbation at 60%:
| Size | Recovery | H7 | Stable | Coexist | Full |
|---|---|---|---|---|---|
| 25% | 1.230 | 8/8 | 5/8 | 7/8 | 4/8 |
| 50% | 1.063 | 8/8 | 7/8 | 6/8 | 6/8 |
| 75% | 0.894 | 8/8 | 8/8 | 8/8 | 8/8 |
| 90% | 0.781 | 8/8 | 8/8 | 8/8 | 8/8 |
The damage signal does NOT saturate β larger damage produces better composition (75%/90% β 8/8 full co-occurrence). More damage creates more curvature contrast at the scar, sharpening the boundary and improving the co-presence signal. The 33rd mechanism: damage-amplified composition. The crossing converts damage into a boundary-sharpening signal, not merely a deposit-recruiting signal. This is the opposite of saturation: the damage signal is self-amplifying β larger damage creates a stronger boundary, which improves composition.
The composition-vs-recovery decoupling. Recovery (volume regrowth) and composition (coexistence quality) are independent: 75% damage has recovery=0.894 (under-recovery) but composition=8/8 full (perfect). The crossing's stability function is not about regrowing the damaged region β it is about maintaining the boundary that separates the two structures. Larger damage creates a sharper boundary, which improves composition even when the damaged region does not regrow.
This corrects Session 55's over-recovery claim. The "targeted scar repair" interpretation was inflated by the growth artifact. The crossing's stability function is boundary maintenance under damage, not volume regrowth. The structure does not heal itself in the sense of regrowing lost material; it maintains its organizational integrity (the two-structure boundary) under damage. This is a weaker but more honest claim: the crossing is a stability condition because it preserves the boundary, not because it regrows the structure.
Determinism verified: pa1800 seed=42 (identical, cells=5298) and pf90 seed=100 (identical, cells=5683).
Status: H7 refined Γ46. Over-recovery was a growth artifact (recovery drops 1.06β0.88β0.76 with later timing), but the crossing's stability function persists (H7=8/8 at all timings). The damage signal amplifies rather than saturates (75%/90% damage β 8/8 full β larger damage sharpens the boundary). The 33rd mechanism: damage-amplified composition. The crossing is a stability condition because it preserves the boundary under damage, not because it regrows the structure. See timing_size_sweep.py.
Refinement (Session 57 β the saturating-cue control: damage amplification is unique to the non-saturating curvature channel)
Queued-topic #164: Session 56 found the 33rd mechanism (damage-amplified composition) β larger damage produces better composition (75%/90% β 8/8 full vs 4/8 at 25%) at n=350 g=0.01 with the non-saturating curvature channel. Is this unique to the non-saturating channel's geometric signal (curvature scales with damage β extensive), or does the saturating-cue channel also benefit from damage?
The saturating-cue perturbation control ran the same size sweep (4 perturbation sizes Γ 8 seeds Γ {perturbed, unperturbed} Γ {2, 1}) for BOTH channels at n=350 g=0.01, perturb_at=1200 (60%).
| Channel | Size | H7 | Coexist | Stable | Full | CF | Recovery | Cells |
|---|---|---|---|---|---|---|---|---|
| curvature | 25% | 8/8 | 7/8 | 5/8 | 4/8 | 0.625 | 1.230 | 5878 |
| curvature | 50% | 8/8 | 6/8 | 7/8 | 6/8 | 0.712 | 1.063 | 5814 |
| curvature | 75% | 8/8 | 8/8 | 8/8 | 8/8 | 0.688 | 0.894 | 5760 |
| curvature | 90% | 8/8 | 8/8 | 8/8 | 8/8 | 0.775 | 0.781 | 5605 |
| baseline_pheromone | 25% | 0/8 | 2/8 | 2/8 | 0/8 | 0.331 | 2.374 | 11518 |
| baseline_pheromone | 50% | 0/8 | 4/8 | 3/8 | 0/8 | 0.462 | 1.766 | 11354 |
| baseline_pheromone | 75% | 0/8 | 1/8 | 0/8 | 0/8 | 0.087 | 1.158 | 10943 |
| baseline_pheromone | 90% | 0/8 | 1/8 | 0/8 | 0/8 | 0.013 | 0.815 | 10261 |
Damage-amplified composition is UNIQUE to the non-saturating curvature channel. The saturating cue shows the OPPOSITE pattern:
- H7=0/8 at ALL perturbation sizes β the saturating cue never fires the crossing. The crossing is a property of the non-saturating channel, not the density+boundary.
- Composition DEGRADES with damage (cf drops 0.331 β 0.462 β 0.087 β 0.013 as damage increases). The saturating cue's deposit probability is p = base + gainΒ·Ο/(1+Ο) β damage reduces material β reduces pheromone β reduces deposit probability at the scar. The saturating cue SUPPRESSES repair rather than amplifying it.
- Recovery is high (2.374) but meaningless β the saturating cue produces massive material growth (11000+ cells vs curvature's ~5800) but without the crossing. This is unbounded accumulation, not boundary maintenance β the same pattern as sim09's baseline 47Γ "recovery" (Session 24).
- Composition collapses at high damage (cf=0.013 at 90%) β the saturating cue's damage response is self-defeating: larger damage creates more material removal, which reduces the pheromone gradient further, which suppresses deposition further. The damage signal is self-dampening (intensive: bounded by maximum concentration), not self-amplifying (extensive: scales with damage size).
The 33rd mechanism is a property of the non-saturating channel's geometric signal. The curvature channel's deposit routing is based on curvature (an extensive quantity β it scales with the spatial extent of damage: bigger scar β sharper curvature at the edge β more deposit routing). The saturating cue's deposit probability is based on pheromone concentration (an intensive quantity β it saturates at a maximum regardless of damage size). This is the stigmergic advantage: geometric signals amplify with damage (extensive), while chemical signals saturate (intensive). The 33rd mechanism requires the non-saturating channel's geometric signal β it is not a general property of any stigmergic system under damage.
Independent literature confirmation. Barman et al. (2026, ACS Nano, Johns Hopkins) found that "geometry itself may serve as an instructive signal" for wound healing β epithelial cells sense tissue curvature (convex vs concave) and the sign of curvature organizes collective migration more than its magnitude. This is independent confirmation that geometric (curvature-based) signals are a distinct class from chemical (morphogen-based) signals in damage response.
Determinism verified: curvature seed=42 (identical, cells=5657) and baseline_pheromone seed=42 (identical, cells=11451).
Status: H7 refined Γ47. The saturating-cue control confirms damage-amplified composition is unique to the non-saturating curvature channel (H7=8/8, composition improves with damage) β the saturating cue shows the opposite (H7=0/8, composition degrades with damage). The 33rd mechanism requires the non-saturating channel's geometric (extensive) signal; the saturating cue's chemical (intensive) signal is self-dampening. Barman et al. (2026, ACS Nano) independently confirms geometry as an instructive damage signal. See saturating_cue_perturbation.py.
Refinement (Session 58 β bilateral perturbation: damaging both sides amplifies the boundary signal)
Session 58 tested bilateral perturbation (queued-topic #167): does damaging BOTH regions simultaneously change the result? All previous perturbation tests (Sessions 55β57) damaged only the right region. Three sides Γ two sizes Γ 4 seeds Γ {perturbed, unperturbed} Γ {2, 1} seeds = 104 runs at n=350 g=0.01 (the robust optimum).
Bilateral damage at 50% produces the highest composition quality ever (cf=0.825, 4/4 full). Damaging both sides of the boundary simultaneously amplifies the curvature signal from both sides β each scar creates curvature contrast at the boundary, and the two signals reinforce rather than compete. Seed 256 achieves cf=1.000 β the first perfect coexist fraction.
| Side | Size | H7 | Coexist | Stable | Full | CF | Recovery | Total Rec | Cells | 1s L2 | 1s H7 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| right | 50% | 4/4 | 3/4 | 3/4 | 3/4 | 0.588 | 1.083 | 1.221 | 5765 | 0/4 | 4/4 |
| right | 90% | 4/4 | 4/4 | 4/4 | 4/4 | 0.713 | 0.792 | 1.077 | 5561 | 0/4 | 4/4 |
| both | 50% | 4/4 | 4/4 | 4/4 | 4/4 | 0.825 | 1.051 | 1.051 | 5664 | 1/4 | 4/4 |
| both | 90% | 4/4 | 3/4 | 4/4 | 3/4 | 0.750 | 0.760 | 0.760 | 5200 | 0/4 | 4/4 |
| left | 50% | 4/4 | 4/4 | 3/4 | 3/4 | 0.575 | 1.006 | 1.208 | 5778 | 1/4 | 4/4 |
| left | 90% | 4/4 | 4/4 | 2/4 | 2/4 | 0.525 | 0.726 | 1.064 | 5508 | 0/4 | 4/4 |
Key findings:
- H7=4/4 at all conditions β the crossing survives bilateral damage.
- Bilateral 50% > right-only 90% (cf 0.825 vs 0.713, both 4/4 full) β two moderate scars produce better composition than one severe scar. The 35th mechanism: bilateral damage amplifies the boundary from both sides.
- Bilateral 50% fixes seed 999 β right-only 50% fragments seed 999 (cf=0.200); bilateral 50% stabilizes it (cf=0.600). The symmetric damage regularizes the boundary.
- Left β right (symmetry confirmed) β the system is left-right symmetric.
- Bilateral 90% < bilateral 50% β at extreme bilateral damage, both structures under-recover (total_rec=0.760) and composition degrades slightly (3/4 full).
The 35th mechanism: bilateral damage amplifies the boundary from both sides. The damage signal is geometric (curvature at the scar edge) and extensive (scales with damage size). When both sides are damaged, each scar creates curvature contrast at the SAME boundary β the two signals reinforce rather than compete. This is the spatial analog of the two-wire principle: the boundary signal from each side is on a separate wire (each side's curvature), and both wires carry the same signal (boundary reinforcement). This is why bilateral 50% (two moderate signals) outperforms right-only 90% (one extreme signal) β the two moderate signals create a stronger, more balanced boundary than one extreme signal.
Determinism verified (script determinism check: right pf50 and both pf50 at seed=42).
Status: H7 refined Γ48. Bilateral damage at 50% produces the highest composition quality ever (cf=0.825, 4/4 full) β two moderate scars amplify the boundary from both sides, outperforming one severe scar (cf=0.713). The 35th mechanism: bilateral damage amplifies the boundary from both sides. H7=4/4 at all conditions β the crossing survives bilateral damage. Left β right (symmetry confirmed). See bilateral_perturbation.py.
Refinement (Session 59 β asymmetric bilateral perturbation: symmetric damage wins)
Session 59 tested asymmetric bilateral perturbation (queued-topic #170): does different damage on each side (50%/90%) change the result? 5 configs Γ 4 seeds Γ {perturbed} Γ {2, 1} seeds = 40 runs at n=350 g=0.01 (the robust optimum). Added perturb_frac_left and perturb_frac_right parameters to run_two_region_hetero.
| Config | L% | R% | H7 | Coexist | Stable | Full | CF | Total Rec | L Rec | R Rec | 1s L2 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 50_50 | 50 | 50 | 4/4 | 4/4 | 4/4 | 4/4 | 0.825 | 1.051 | 1.014 | 1.091 | 1/4 |
| 50_90 | 50 | 90 | 4/4 | 4/4 | 3/4 | 3/4 | 0.787 | 0.909 | 1.011 | 0.800 | 1/4 |
| 90_50 | 90 | 50 | 4/4 | 3/4 | 3/4 | 3/4 | 0.700 | 0.899 | 0.728 | 1.084 | 1/4 |
| 90_90 | 90 | 90 | 4/4 | 3/4 | 4/4 | 3/4 | 0.750 | 0.760 | 0.727 | 0.798 | 0/4 |
| 25_50 | 25 | 50 | 4/4 | 4/4 | 4/4 | 3/4 | 0.738 | 1.135 | 1.177 | 1.091 | 1/4 |
Key findings:
- Symmetric 50/50 remains the best (cf=0.825, 4/4 full) β asymmetry degrades composition.
- 50/90 > 90/50 (cf 0.787 vs 0.700) β the asymmetric configs are NOT mirror-symmetric. The side that receives more damage matters. Seed 42: 50/90 coexists (cf=1.00), 90/50 fragments (cf=0.25).
- The bilateral advantage scales with symmetry, not just with having curvature on both sides. Asymmetric bilateral (50/90, 90/50) is between symmetric bilateral (50/50) and unilateral (right-only from Session 58).
- 90/90 under-recovers (total_rec=0.760) but is still 4/4 stable β the crossing's stability function persists without over-recovery.
- 25/50 over-recovers (total_rec=1.135) β the less-damaged left side (25%) keeps growing, but composition is 3/4 full (seed 42 and 999 have lower cf).
- H7=4/4 at all configs β the crossing survives asymmetric bilateral damage.
The 36th mechanism: the bilateral advantage requires symmetry. The bilateral damage advantage (Session 58: 50/50 > unilateral) is not just about having curvature on both sides of the boundary β it requires the curvature signals to be BALANCED. Asymmetric damage (50/90, 90/50) creates an asymmetric boundary where the more-damaged side's curvature overwhelms the less-damaged side's, degrading the boundary's ability to maintain two clean structures. This is a new expression of the strength-vs-growth trade-off (Session 30): the boundary's suppression must be balanced across both sides, not just present on both.
The L/R asymmetry (50/90 vs 90/50). The 50/90 config (left 50%, right 90%) outperforms 90/50 (left 90%, right 50%) despite identical damage magnitudes. The asymmetry is NOT a mirror because the left (id=0) and right (id=1) agent populations interact with the perturbation differently β the RNG processes agents in order (id=0 first), so the nucleation trajectory after perturbation depends on which side was damaged. This is a stochastic asymmetry, not a structural one β the focal bias home centers are equidistant from the midline.
Determinism verified (50_50 and 50_90 at seed=42, identical outcomes).
Status: H7 refined Γ49. Asymmetric bilateral damage degrades composition β symmetric 50/50 remains the best (cf=0.825, 4/4 full). The 36th mechanism: the bilateral advantage requires symmetry. 50/90 > 90/50 (the side receiving more damage matters). H7=4/4 at all configs β the crossing survives asymmetric damage. 90/90 under-recovers (0.760) but is still 4/4 stable. See asymmetric_bilateral.py.
Refinement (Session 60 β 8-seed robustness: the L/R asymmetry is systematic, not 4-seed noise)
The 8-seed robustness sweep (3 configs Γ 8 seeds Γ {perturbed, unperturbed} Γ {2, 1} = 96 runs at n=350 g=0.01) tested whether the 4/4 full from Session 59 holds at 8 seeds and whether the L/R asymmetry (50/90 > 90/50) is systematic or 4-seed noise.
| Config | L% | R% | H7 | Coexist | Stable | Full | CF | Total Rec | 1s L2 | Cells |
|---|---|---|---|---|---|---|---|---|---|---|
| 50_50 | 50 | 50 | 8/8 | 8/8 | 7/8 | 7/8 | 0.769 | 1.050 | 3/8 | 5697 |
| 50_90 | 50 | 90 | 8/8 | 8/8 | 7/8 | 7/8 | 0.825 | 0.906 | 1/8 | 5484 |
| 90_50 | 90 | 50 | 8/8 | 7/8 | 7/8 | 7/8 | 0.712 | 0.902 | 2/8 | 5506 |
The 4/4 full drops to 7/8. Seed 777 fails at 50/50 (stable=False, cf=0.30). All three configs achieve 7/8 full β the bilateral perturbation's composition enhancement is genuine but not universal. H7=8/8 at all configs β the crossing is fully robust.
50/90 is the BEST config at 8 seeds (cf=0.825). The 4-seed result (50/50 best at cf=0.825) is refined: at 8 seeds, 50/90 achieves the highest cf. The asymmetric config is not just competitive β it is the optimum. 50/50 drops to cf=0.769 (seed 777's failure drags the mean).
The L/R asymmetry is systematic. 50/90 (cf=0.825) >> 90/50 (cf=0.712) at 8 seeds β the gap WIDENS (0.113 vs 0.087 at 4 seeds). The side receiving more damage matters: when the left side (id=0, processed first) receives 50% and the right (id=1) receives 90%, the boundary is more stable. This is a processing-order effect (agents iterated id=0 first), not a spatial-structural effect.
The 37th mechanism: moderate bilateral perturbation is composition-enhancing. The baseline (unperturbed) achieves 6/8 full (cf=0.669). All three perturbed configs achieve 7/8 full β perturbation improves composition at 8 seeds, confirming the 33rd mechanism (damage-amplified composition) is not a 4-seed artifact.
1-seed structural guarantee config-dependent. 50/90 (best 2-seed) has the strongest 1-seed guarantee (1/8). The more asymmetric single structure is less likely to cross the midline.
Determinism verified (50_50 and 50_90 at seed=42, identical outcomes).
Status: H7 refined Γ50. 8-seed robustness: 4/4 full drops to 7/8 (seed 777 fails), but H7=8/8 at all configs β the crossing is fully robust. 50/90 is the best config at 8 seeds (cf=0.825) β the L/R asymmetry is systematic (50/90 >> 90/50, gap widens). 37th mechanism: bilateral perturbation is composition-enhancing at 8 seeds (baseline 6/8 β perturbed 7/8). See robustness_asymmetric.py.
Refinement (Session 61 β the L/R asymmetry is a pure processing-order artifact)
The reverse-iteration sweep (queued-topic #177) tested whether the L/R asymmetry (50/90 >> 90/50, cf 0.825 vs 0.712 at 8 seeds) is a processing-order artifact by reversing the agent iteration order (id=1 first instead of id=0 first). If the asymmetry flips (90/50 becomes the optimum under reverse), it is a pure processing-order artifact with no physical meaning.
| Direction | Config | L% | R% | H7 | Coexist | Stable | Full | CF | Total Rec | 1s L2 | Cells |
|---|---|---|---|---|---|---|---|---|---|---|---|
| forward | 50_50 | 50 | 50 | 8/8 | 8/8 | 7/8 | 7/8 | 0.769 | 1.050 | 3/8 | 5697 |
| forward | 50_90 | 50 | 90 | 8/8 | 8/8 | 7/8 | 7/8 | 0.825 | 0.906 | 1/8 | 5484 |
| forward | 90_50 | 90 | 50 | 8/8 | 7/8 | 7/8 | 7/8 | 0.712 | 0.902 | 2/8 | 5506 |
| reverse | 50_50 | 50 | 50 | 8/8 | 7/8 | 7/8 | 7/8 | 0.700 | 1.058 | 0/8 | 5747 |
| reverse | 50_90 | 50 | 90 | 8/8 | 7/8 | 7/8 | 7/8 | 0.619 | 0.913 | 0/8 | 5507 |
| reverse | 90_50 | 90 | 50 | 8/8 | 7/8 | 7/8 | 6/8 | 0.644 | 0.909 | 1/8 | 5531 |
The asymmetry FLIPPED. Forward: 50/90 (cf=0.825) >> 90/50 (cf=0.712), gap=+0.113. Reverse: 50/90 (cf=0.619) << 90/50 (cf=0.644), gap=-0.025. Under reversed iteration, 90/50 becomes the better config β the L/R asymmetry is a pure processing-order artifact. The first-processed ID gets a post-damage nucleation advantage because its agents deposit first each step, gaining a structural head start after perturbation removes material.
H7=8/8 at all configs in both directions β the crossing is fully robust to iteration order. The H7 crossing is independent of the processing-order asymmetry: it fires regardless of which ID is processed first.
The 1-seed structural guarantee IMPROVES under reverse (0/8 at reverse 50/50 and 50/90 vs 3/8 and 1/8 forward). Reversing the iteration order strengthens the single-structure confinement β the id=1 agents (right half) deposit first, and the right half's material is more concentrated before the left half's agents act.
Session 60's cross-domain connection is corrected. The L/R asymmetry was connected to ciliary-flow symmetry breaking in developmental biology (Nonaka et al. 1998). The flip under reverse iteration shows the asymmetry is NOT a physical symmetry-breaking mechanism β it is a computational artifact of sequential processing order. The ciliary-flow analogy is retracted: the ciliary flow breaks symmetry through directional transport (a physical mechanism), while our asymmetry is purely the order in which agents are iterated in a Python for-loop. The lesson: processing order in agent-based models is a hidden symmetry-breaking variable that should be controlled for by randomizing or reversing the iteration order.
Determinism verified (forward and reverse 50/50 at seed=42, identical outcomes on repeat).
Status: H7 refined Γ51. The L/R asymmetry is a pure processing-order artifact β reversing the iteration order flips the optimum from 50/90 to 90/50 (forward gap=+0.113, reverse gap=-0.025). H7=8/8 at all configs in both directions β the crossing is robust to iteration order. The 1-seed structural guarantee improves under reverse (0/8 vs 3/8). The ciliary-flow cross-domain analogy is retracted β the asymmetry is a computational artifact, not a physical symmetry-breaking mechanism. See reverse_iteration_sweep.py.
Refinement (Session 62 β shuffling shrinks but does not eliminate the L/R gap; H7=8/8; 50/50 not best under shuffle)
The shuffle-iteration sweep (queued-topic #179) randomized the agent processing order each step (rng.permutation(n)) to eliminate the systematic processing-order bias. Result: the L/R gap shrinks dramatically (forward +0.113 β shuffled -0.019) but does NOT fully vanish. Shuffled 90/50 (cf=0.881, 8/8 full) > shuffled 50/90 (cf=0.862, 7/8 full) >> shuffled 50/50 (cf=0.719, 7/8 full).
| Direction | Config | L% | R% | H7 | Coexist | Stable | Full | CF | Total Rec | 1s L2 | Cells |
|---|---|---|---|---|---|---|---|---|---|---|---|
| shuffled | 50_50 | 50 | 50 | 8/8 | 7/8 | 7/8 | 7/8 | 0.719 | 1.054 | 2/8 | 5656 |
| shuffled | 50_90 | 50 | 90 | 8/8 | 7/8 | 7/8 | 7/8 | 0.862 | 0.910 | 0/8 | 5584 |
| shuffled | 90_50 | 90 | 50 | 8/8 | 8/8 | 8/8 | 8/8 | 0.881 | 0.910 | 2/8 | 5537 |
| forward | 50_50 | 50 | 50 | 8/8 | 8/8 | 7/8 | 7/8 | 0.769 | 1.050 | 3/8 | 5697 |
| forward | 50_90 | 50 | 90 | 8/8 | 8/8 | 7/8 | 7/8 | 0.825 | 0.906 | 1/8 | 5484 |
| forward | 90_50 | 90 | 50 | 8/8 | 7/8 | 7/8 | 7/8 | 0.712 | 0.902 | 2/8 | 5506 |
H7=8/8 at all configs in both directions β the crossing is fully robust to iteration order, confirming Session 61. The H7 crossing is independent of the processing-order asymmetry: it fires regardless of whether the order is forward, reverse, or shuffled.
The L/R gap shrinks but does not fully vanish. Forward: 50/90 (0.825) >> 90/50 (0.712), gap=+0.113. Shuffled: 50/90 (0.862) β 90/50 (0.881), gap=-0.019. The gap flipped sign and shrank 6Γ β the processing-order component is eliminated. The residual -0.019 may be statistical (8 seeds, Β±0.03 noise) or a structural asymmetry beyond processing order.
50/50 is NOT the best config under shuffle. Session 59's 4-seed result predicted 50/50 would become the best β it was a small-sample effect. At 8 seeds under shuffle, 50/50 (cf=0.719) is the worst. Asymmetric perturbation (50/90, 90/50) produces better composition than symmetric 50/50. The asymmetric perturbation's advantage is not a processing-order effect β it survives randomization.
Shuffled 90/50 achieves 8/8 full (the best ever at this config) β the first 8/8 full at any asymmetric config under any iteration order.
Determinism verified (shuffled and forward 50/50 at seed=42, identical outcomes on repeat).
Status: H7 refined Γ52. Shuffling shrinks the L/R gap (+0.113 β -0.019) but does not fully eliminate it. H7=8/8 at all configs in both directions β the crossing is fully robust to iteration order. 50/50 is NOT the best under shuffle (cf=0.719, the worst) β Session 59's 4-seed prediction was a small-sample effect. Shuffled 90/50 achieves 8/8 full (the best ever at an asymmetric config). See shuffle_iteration_sweep.py.
Refinement (Session 63 β 16-seed robustness: 8/8 full does NOT hold; the -0.019 gap was statistical, a different structural asymmetry emerges)
The 16-seed robustness sweep (queued-topics #182, #183) tested whether the 8/8 full at shuffled 90/50 (Session 62) holds at 16 seeds, and whether the residual -0.019 L/R gap is statistical or structural. 16 seeds (original 8 + 8 new) at n=350 g=0.01, shuffled iteration, 160Γ160, dual mode, focal bias 0.3, jitter 10, perturb_at=1200 (60%).
The 8/8 full does NOT hold at 16 seeds. Shuffled 90/50 drops from 8/8 (cf=0.881) to 14/16 (cf=0.766) β a small-sample effect, consistent with Session 49's n=220 g=0.06 (4/4β6/8). All three configs degrade: 50/50 7/8β14/16, 50/90 7/8β14/16, 90/50 8/8β14/16. The composition enhancement from bilateral perturbation is genuine but not universal β 2/16 seeds fail in each config.
The -0.019 gap at 8 seeds was statistical. But at 16 seeds a different structural asymmetry emerges β the sign flips. At 8 seeds: 50/90 cf=0.862 β 90/50 cf=0.881 (gap=-0.019, 90/50 slightly better). At 16 seeds: 50/90 cf=0.828 >> 90/50 cf=0.766 (gap=+0.062, 50/90 clearly better). The gap didn't just shrink β it reversed direction and grew 3Γ. The 8-seed residual was noise; the 16-seed gap is structural. 50/90 is genuinely better than 90/50 under shuffle at 16 seeds. This means the perturbation-damaging-the-right-side-first creates a left-side nucleation advantage that is independent of the for-loop processing order β it is a structural asymmetry in how the perturbation interacts with the spatial structure.
H7=16/16 at all configs β the crossing is fully robust, confirming Sessions 61β62. The crossing is independent of sample size, iteration order, and perturbation asymmetry.
| Config | Seeds | H7 | Coexist | Stable | Full | CF | Total Rec | 1s L2 | Cells |
|---|---|---|---|---|---|---|---|---|---|
| 50_50 | 16 | 16/16 | 15/16 | 14/16 | 14/16 | 0.719 | 1.052 | 2/16 | 5616 |
| 50_90 | 16 | 16/16 | 14/16 | 15/16 | 14/16 | 0.828 | 0.909 | 0/16 | 5524 |
| 90_50 | 16 | 16/16 | 16/16 | 14/16 | 14/16 | 0.766 | 0.905 | 3/16 | 5485 |
The 40th mechanism: the sample-size-dependent asymmetry flip. The L/R asymmetry's sign depends on sample size: at 8 seeds 90/50 wins (gap=-0.019), at 16 seeds 50/90 wins (gap=+0.062). The 8-seed result was dominated by a few seeds (the original 8's nucleation trajectories happened to favor 90/50), and the 8 new seeds shift the balance to 50/90. The gap is not a fixed property of the system but a statistical property of the seed set β the 8-seed set is not representative. The 16-seed gap (+0.062) is the more reliable estimate. The 39th mechanism (asymmetric perturbation advantage, Session 62) is confirmed: 50/90 (cf=0.828) >> 50/50 (cf=0.719) at 16 seeds.
Determinism verified (shuffled 90/50 at seed=42, identical outcomes on repeat).
Status: H7 refined Γ53. The 8/8 full at shuffled 90/50 does NOT hold at 16 seeds β drops to 14/16 (small-sample effect). The -0.019 gap at 8 seeds was statistical; at 16 seeds a different structural asymmetry emerges: 50/90 (cf=0.828) >> 90/50 (cf=0.766), gap=+0.062 (sign flips). H7=16/16 at all configs β the crossing is fully robust. The 40th mechanism: the sample-size-dependent asymmetry flip. Best config at 16 seeds: 50/90 (cf=0.828, 14/16 full). See seed16_robustness_sweep.py.
Refinement (Session 54)
The 32-seed robustness sweep (256 runs) tested whether the 14/16 full from 16 seeds degrades further, and whether the +0.062 L/R gap stabilizes or flips at 32 seeds.
| Config | Seeds | H7 | Coexist | Stable | Full | CF | Tot Rec | 1s L2 | Cells |
|---|---|---|---|---|---|---|---|---|---|
| 50_50 | 32 | 32/32 | 31/32 | 28/32 | 27/32 | 0.725 | 1.054 | 3/32 | 5614 |
| 50_90 | 32 | 32/32 | 28/32 | 27/32 | 22/32 | 0.769 | 0.911 | 1/32 | 5504 |
| 90_50 | 32 | 32/32 | 30/32 | 27/32 | 25/32 | 0.745 | 0.911 | 6/32 | 5461 |
| 50_50 | 16 | 16/16 | 15/16 | 14/16 | 14/16 | 0.719 | β | 2/16 | β |
| 50_90 | 16 | 16/16 | 14/16 | 15/16 | 14/16 | 0.828 | β | 0/16 | β |
| 90_50 | 16 | 16/16 | 16/16 | 14/16 | 14/16 | 0.766 | β | 3/16 | β |
H7=32/32 at all configs β the crossing is fully robust to sample size. This is the strongest evidence yet that the crossing is a genuine phase transition, not a statistical artifact. The crossing has been robust at 4, 8, 16, and 32 seeds β the property scales.
The 14/16 full does NOT uniformly degrade. 50/50 improves to 27/32 full (its failure rate drops from 12.5% to 15.6%). 50/90 drops to 22/32 (31% failure). 90/50 drops to 25/32 (22% failure). The asymmetry in full rates (50/50 > 90/50 > 50/90) is new β at 16 seeds all were 14/16. The 41st mechanism: the per-config failure rate is not uniform β different configs fail on different seeds.
The +0.062 gap shrinks >50% to +0.024. 50/90 (cf=0.769) > 90/50 (cf=0.745), gap=+0.024. The gap shrinks with N rather than stabilizing or flipping β the 16-seed gap was inflated by the specific seed set. The 41st mechanism: the L/R asymmetry is a finite-size effect that shrinks with N. The sign has not flipped again (50/90 remains > 90/50 at all three sample sizes).
50/90 has the strongest 1-seed structural guarantee (1/32). 50/50: 3/32. 90/50: 6/32. 50/90 has had the strongest guarantee at every sample size tested (0/16, 1/32). The 1-seed leak rate for 90/50 (6/32 = 18.8%) is the highest ever β 90/50's structural guarantee is degrading with more seeds, while 50/90's is stable.
Determinism verified (shuffled 50/90 at seed=42, identical outcomes on repeat).
Status: H7 refined Γ54. At 32 seeds H7=32/32 at all configs β the crossing is fully robust to sample size. The +0.062 L/R gap shrinks >50% to +0.024 β mostly statistical. 50/90 has the strongest 1-seed guarantee (1/32). The 41st mechanism: the L/R asymmetry is a finite-size effect that shrinks with N. The 39th mechanism (asymmetric perturbation advantage) weakens at 32 seeds (50/50 has more full than 50/90). See seed32_robustness_sweep.py.
Refinement (Session 65)
The bilateral density sweep (72 runs) tested whether the bilateral composition advantage (Session 58: cf=0.825 at n=350) holds at n=150 (lower density, g=0.30) and n=500 (higher density, g=0.02). The advantage is density-dependent:
- n=150 (g=0.30): weak. Baseline cf=0.100 β perturbed cf=0.125 (advantage +0.025). H7=3/4 (unperturbed) β 3/4 (perturbed). Structures are too small for bilateral 50% damage to create sufficient curvature contrast at the boundary.
- n=350 (g=0.01): confirmed. Baseline cf=0.675 β perturbed cf=0.750 (advantage +0.075). H7=4/4. Replicates Session 58's result.
- n=500 (g=0.02): strongest. Baseline cf=0.450 β perturbed cf=0.637 (advantage +0.187). H7=4/4. Bilateral damage rescues composition: baseline 2/4 full β perturbed 4/4 full (all 4 seeds coexist + stable).
The 42nd mechanism: bilateral damage rescues high-density composition. At n=500, the baseline structures fragment (2/4 coexist, cf=0.450) β the larger structures have more surface area for the boundary to over-split. Bilateral 50% damage sharpens the boundary from both sides, converting fragmentation into clean coexistence (4/4 full). The advantage scales with structure size: larger structures create more curvature contrast when damaged.
This is the 33rd mechanism (damage-amplified composition) applied across densities. The saturating-cue control (Session 57) confirmed the mechanism is unique to the non-saturating curvature channel β the saturating cue shows the opposite (composition degrades with damage). The extensive (geometric) signal scales with damage size; the intensive (chemical) signal saturates.
Determinism verified (n=350 50/50 seed=42, identical outcomes on repeat).
Status: H7 refined Γ55. The bilateral composition advantage is density-dependent β weak at n=150 (+0.025), confirmed at n=350 (+0.075), strongest at n=500 (+0.187, 2/4β4/4 full). The 42nd mechanism: bilateral damage rescues high-density composition by sharpening the boundary from both sides. H7=4/4 at n=350 and n=500 (3/4 at n=150). The advantage scales with structure size. See bilateral_density_sweep.py.
Refinement (Session 66)
The n=550β600 plateau sweep (72 runs, queued-topic #157/#161) tested whether the 1/βn (Laplace pressure) scaling holds at ~31% grid fill β the highest density tested β or whether g* finally hits zero (the LSW "droplet dissolves" prediction). The 1/βn predicts g*(550)β0.005, g*(600)β0.003.
g does NOT hit zero.* Composition is alive at every gain tested (0.003β0.01) at both n=550 and n=600. H7=4/4 at all 6 combos β the crossing is fully robust at ~31% fill. The LSW "droplet dissolves" prediction is not realized even at ~31% fill, far below the 2D site percolation threshold (~59%).
n=550 g=0.01 achieves 4/4 full co-occurrence (coexist=4/4, stable=4/4, h7=4/4, clean=4/4, cf=0.712) β the best result ever at this density range. The 1/βn predicted g*(550)β0.005, but g=0.01 (higher than predicted) still produces the best result, suggesting the scaling is conservative β the actual optimal gain is higher than the Laplace pressure prediction.
n=600 shows stability degradation β the 30th mechanism (stability-density trade-off) continues. n=600 g=0.005 has only 1/4 stable despite 4/4 coexist. The larger structures (~8000 cells, ~31% fill) have more surface area for the boundary to over-split.
The 1-seed structural guarantee leaks at 2/4 at both n=550 and n=600 β stable, not worsening with density. This contradicts the Session 54 finding that the guarantee "strengthens with density" (0/4 at n=500). The 1-seed leak is not monotonic β it is a stochastic property of the structure-to-grid ratio (the 12th member of the two-wire principle), not a density-dependent trend.
No-inhibition control: n=600 g=0 produces 0/4 coexist (all merged/fragmented, ~66% fill) β the boundary remains necessary at every density tested. n=550 g=0 has 3/4 coexist but 1/4 stable β the boundary is needed for stable composition even where coexist appears without it.
Determinism verified (n=550 g=0.01 seed=42, identical outcomes on repeat).
Status: H7 refined Γ56. g does NOT hit zero at n=550β600 (~31% grid fill) β the 1/βn (Laplace pressure) scaling holds. H7=4/4 at all 6 combos. n=550 g=0.01 achieves 4/4 full (cf=0.712). The LSW "droplet dissolves" prediction is not realized even at ~31% fill β far below the 2D percolation threshold (~59%). The 1-seed structural guarantee leaks at 2/4 (stable, not worsening). The 30th mechanism (stability-density trade-off) continues at n=600.* See n550_plateau_sweep.py.
Refinement (Session 67)
The n=700β800 plateau sweep (80 runs) tested whether g* hits zero at ~33β35% grid fill β approaching the 2D percolation threshold (~59%). The 1/βn formula g* = -0.95 + 15.2/βn predicts NEGATIVE g* at n=700β800 (the formula says g* should already be zero). The 43rd mechanism (conservative scaling) says the actual optimal is higher.
g does NOT hit zero.* Composition is alive at every gain tested (0.003β0.01) at both n=700 and n=800. H7=4/4 at all 8 combos β the crossing is fully robust at ~33β35% fill. The 43rd mechanism is confirmed: the 1/βn formula underestimates the optimal gain, and the actual g* is positive where the formula predicts negative.
n=800 g=0.003 achieves 3/4 full (coexist=4/4, stable=3/4, h7=4/4, clean=4/4, cf=0.575) β the best at this density. But n=800 g=0.01 degrades: coexist drops to 1/4, 3/4 fragmented β the 30th mechanism (stability-density trade-off) worsens at higher gain where the boundary over-splits the larger structures.
The 1-seed structural guarantee degrades at n=800 β 3/4 at all gains (vs 1/4 at n=700). The 12th member (structure-to-grid ratio) produces density-dependent leaks: the bigger single structure (~8800 cells, ~34% fill) overwhelms the midline more often. At n=700 the leak is 1/4; at n=800 it is 3/4 β the guarantee worsens with density.
No-inhibition control: n=700 g=0 fills 74% (0/4 coexist); n=800 g=0 fills 82% (2/4 coexist β the l2_crossed=True is a measurement artifact at >80% fill, where a single merged structure trivially has components in both halves). The boundary remains necessary at every density tested.
Determinism verified (n=800 g=0.003 seed=42, identical outcomes on repeat).
Status: H7 refined Γ57. g does NOT hit zero at n=700β800 (~33β35% grid fill) β the 43rd mechanism (conservative scaling) confirmed. The 1/βn formula predicts NEGATIVE g but actual g* is positive. H7=4/4 at all 8 combos. n=800 g=0.003 achieves 3/4 full (cf=0.575). The 30th mechanism (stability-density trade-off) worsens at n=800 g=0.01 (coexist 1/4, 3/4 fragmented). The 1-seed structural guarantee degrades: 1/4 at n=700, 3/4 at n=800 β the 12th member produces density-dependent leaks.** See n700_plateau_sweep.py.
Refinement (Session 68)
The n=900β1000 plateau sweep (80 runs) tested whether g* hits zero at ~36% grid fill β the closest approach to the 2D percolation threshold (~59%) tested. The 1/βn formula g* = -0.95 + 15.2/βn predicts deeply NEGATIVE g* at n=900β1000 (g*β-0.44 to -0.47) β the formula says g* should have been zero since n=700.
g does NOT hit zero at n=900β1000 (~36% grid fill).* Composition is alive at every gain tested (0.003β0.01). H7=4/4 at all 8 combos β the crossing is fully robust at ~36% fill. The 43rd mechanism (conservative scaling) is confirmed at a third density range: the formula is qualitatively wrong (predicts deeply negative g*) but the actual g* is positive.
n=900 g=0.01 achieves 2/4 full (coexist=4/4, stable=2/4, h7=4/4, clean=4/4, cf=0.525) β the best at n=900. n=1000 g=0.01 also achieves 2/4 full (cf=0.400). The 30th mechanism (stability-density trade-off) persists: stable is 0/4 at n=900 g=0.003 (the lowest gain) but 2/4 at g=0.01 β the gain must be high enough to separate but not so high as to fragment. At n=1000, stable is 2/4 at all gains.
The 1-seed structural guarantee is stochastic, not monotonic. At n=900, the 1-seed l2_crossed leaks 1/4 (low gain) β similar to n=700. But at n=1000, the 1-seed l2_crossed is 4/4 at all gains β the guarantee is stronger at n=1000 than at n=900. This breaks the monotonic degradation trend from Sessions 67 (n=700: 1/4, n=800: 3/4). The 12th member (structure-to-grid ratio) is stochastic, not monotonic β the bigger structure at n=1000 does not necessarily leak more; the focal bias + curvature channel concentrate it effectively at some seeds.
No-inhibition control: n=900 g=0 fills 87% (0/4 coexist); n=1000 g=0 fills 92% (1/4 l2_crossed but 0/4 coexist β a measurement artifact at >85% fill where a single merged structure trivially spans both halves). The boundary remains necessary at every density tested.
Determinism verified (n=900 g=0.01 seed=42, identical outcomes on repeat).
Status: H7 refined Γ58. g does NOT hit zero at n=900β1000 (~36% grid fill) β the 43rd mechanism (conservative scaling) confirmed at a third density range. The 1/βn formula predicts deeply NEGATIVE g (g*β-0.44 to -0.47) but actual g* is positive. H7=4/4 at all 8 combos. n=900 g=0.01 achieves 2/4 full (cf=0.525). The 30th mechanism (stability-density trade-off) persists: stable 0β2/4. The 1-seed structural guarantee is stochastic, not monotonic: 1/4 at n=900, 4/4 at n=1000 β the 12th member does not degrade monotonically with density. At ~36% fill, the structures are at ~61% of the 2D percolation threshold (~59%).** See n900_plateau_sweep.py.