Queued Topics for Later Exploration
Findings from daily research that lead down a different focus track. Saved here for later exploration.
From Session 1
- Holland's Echo model β A classic SFI complex adaptive system model. How does it handle (or fail to handle) multi-scale composition?
- Langton's edge of chaos (Lambda parameter) β Does the edge of chaos shift when you allow multi-scale composition? Is the edge of chaos a network restructuring event?
- Stigmergy β Indirect coordination through environmental modification. ANT-compatible (environment as actor). Mechanism for cross-scale interaction.
- Deleuze & Guattari's rhizome β Latour references this. No center, no hierarchy. How does this differ from a scale-free network?
- Blaise AgΓΌera y Arcas β Emergence in neural systems, social aggregation in computational systems.
- Renormalization group (Wilson) β Formal method for relating descriptions at different scales in physics. Could it be adapted for ALife?
- von Neumann's universal constructor β Original self-replication model. The constructor builds itself, which is a strange loop.
- Kauffman's NK model and fitness landscapes β How do fitness landscapes change when actors are defined relationally?
- Capra & Luisi, The Systems View of Life β Systems thinking, autopoiesis, origins of life.
From Session 2
- Downward causation and computational irreducibility β If high-level patterns causally influence low-level components, does that make the system more or less irreducible? Can we quantify this?
- Multi-scale autopoiesis β Systems producing systems at different scales. Is this the mechanism for complexification? Test via simulation.
- Tangled hierarchy formalization β How to represent a tangled hierarchy computationally? Not a tree, not a graph, but a level-crossing feedback structure.
- GΓΆdel's incompleteness and ALife β Hofstadter connects GΓΆdel to strange loops. Does formal undecidability have implications for what ALife simulations can produce?
- Luhmann's social autopoiesis β Niklas Luhmann applied autopoiesis to social systems. Connection to ANT's social networks.
- Memes and evolutionary stigmergy (Blackmore/Dawkins) β Memes as stigmergic traces that propagate, mutate, and evolve. How does this differ from static stigmergic traces? Can stigmergic traces in a simulation evolve? Connection to quasi-objects (traces that transform through circulation). Memes as a bridge between stigmergy and Darwinian replicators.
From Session 8
- Environmental physics coupling (the Mahadevan mechanism) β DONE (Session 9). Researched and specified as the concrete negative-feedback mechanism for the traceβactor crossing (H7). New concept file
environmental-physics-coupling.md. sim07 design sketched (transport field + M_c threshold). NEXT PRIORITY: implement sim07 Part-by-Part per its DESIGN.md. - The 20-year stigmergic-construction modeling lineage β DONE (Session 9). Documented that Deneubourg (1977) β Bonabeau (1997) β Ladley & Bullock (2004) all share sim06's limitation (material doesn't influence movement). (2026-07-27: the lineage documentation stands as literature, but the conclusion drawn here β "sim06's null result is a known field-wide gap" β does not. sim06's null had a separate local cause, a detector that could not fire.) Reference added to references.md.
- sim07: implement the transport field + M_c phase transition β DONE (Session 10). Implemented sim07 per DESIGN.md. NULL result: no phase transition in M_c β scalar structure-sourced transport fragments rather than consolidates (stability 0.876β0.739, pillars 57β128 as M_c drops); crossing never fires; self-repair tracks the deposit rule not T (circularity safeguard fails). H7 refined Γ3: the crossing needs DIRECTED transport and/or an external multi-rate driver, not just a structure-sourced scalar. sim07.py, README.md, visualize.html, results.json all written. NEXT PRIORITY: sim08 (external oscillation).
- sim08: external oscillation as the energy source for transport β TOP PRIORITY for next nightly sessions. sim07's null showed structure-sourced scalar transport has the wrong sign for consolidation (it disperses the cue that recruits deposits). The Mahadevan mechanism's energy comes from OUTSIDE the structure (diurnal temperature oscillation), and the flow is DIRECTED (along channels), not an isotropic scalar. sim08 should add an external oscillation the structure can rectify into directed flow, and model the structure's shape as a channel (not just its mass). Test whether the crossing fires only when the external driver is present β making the multi-rate environment (H4) the energy source for the traceβactor crossing. This is the concrete test of H4 β H7 coupling.
- Morphospace validation β sim07's predicted consolidated morphology (few large vented pillars) should be compared to the Mahadevan morphospace (Ocko/Heyde/Mahadevan 2019). A match = cross-validation; a mismatch = the lumped model is insufficient. Could compare simulated vs. real mound shapes quantitatively.
- Assembly theory connection (still queued from Session 6) β Mathis et al. 2024 / Cronin-Walker assembly index as a metric for ALife organization complexity. Could the M_c threshold be characterized by an assembly-index jump?
From Session 3
- Heylighen's varieties of stigmergy β Full taxonomy (quantitative/qualitative, sematectonic/marker-based, transient/persistent, broadcast/narrowcast). How do these map to computational stigmergic mechanisms? Which varieties are most relevant for ALife?
- Ecosystem engineering vs. niche construction β The distinction between Jones et al.'s ecosystem engineering and Odling-Smee's niche construction. NCT emphasizes evolutionary feedback; EE emphasizes ecological impact. Which is more relevant for multi-scale ALife?
- Extended evolutionary synthesis debate β The controversy over whether niche construction requires new evolutionary theory or is accommodated by standard theory. Parallel question for ALife: does stigmergy require new simulation paradigms or is it already present in any dynamic-environment simulation?
- Chemical Organization Theory β Heylighen mentions Dittrich & Fenizio's framework for agentless stigmergic coordination in chemical reaction networks. Could this formalism be adapted for ALife composition?
- Braitenberg vehicles and stigmergic cognition β Heylighen's analysis of Braitenberg vehicles as stigmergic systems. Connection between stigmergy and embodied cognition.
- Trace decay rate optimization β The transient/persistent trace trade-off. Is there an optimal decay rate for the traceβactor crossing? How does this relate to Wolfram's computational irreducibility?
From Session 4
- Chemical Organization Theory (Dittrich & Fenizio) β Still queued. Agentless stigmergic coordination in chemical reaction networks. Could provide formalism for ALife composition. Next session priority.
- Multi-scale NK model β Define NK landscapes at each scale with cross-scale interactions reshaping landscapes. How do dynamic epistatic networks behave? Does multi-scale landscape structure produce open-ended evolution?
- Gavrilets' holey landscapes β High-fitness genotype networks as alternative to rugged landscape view. How do holey landscapes behave with niche construction? Does the dynamic landscape view change the holey/rugged distinction?
- Holland's "Signals and Boundaries" (2012) β His last monograph. Co-evolution of signals and semi-permeable boundaries. Connection to our stigmergy + autopoiesis synthesis.
- Implementing Smith & Bedau's 8th CAS property β They proposed it in 1997 but never implemented it. Our sim02 shows naive stigmergy doesn't do it. What mechanism would? The autopoietic crossing (H7) is the candidate. Design sim03/sim04 to test.
- Trace competition β Multiple trace types that interact/compete. Sim02 used a single trace field. Multiple trace types might prevent monoculture convergence and enable multi-scale structure.
- Kaznatcheev's hard/soft landscape distinction β Which NK parameters produce open-ended dynamics? Sweep K and N to find the boundary. Connection to edge of chaos (Langton).
- Ecosystem engineering vs. niche construction (still queued) β Jones et al. vs. Odling-Smee. Which is more relevant for ALife?
- Heylighen's varieties of stigmergy (still queued) β Computational mapping of stigmergy taxonomy.
From Session 5
- Fontana & Buss's AlChemy (lambda calculus chemistry) β DONE (Session 6). Implemented sim05. Stable species sets emerge; L2 coexistence 2/6 (corrected 2026-07-27 β the originally reported 0/6 was a measurement artifact). Unbounded space still looks insufficient (H10), but the evidence is much weaker than 0/6 implied.
- Per-compartment catalysis β Our sim04 shared catalysis rules across all compartments. Vasas et al. generate catalysis independently per compartment. Does independent catalysis produce more between-compartment diversity? Test in sim05/sim06.
- P_catalyze tuning for distinct cores β Our sim04 used P=0.005, suspected too high (one large core). (2026-07-27: that suspicion came from a run that was not reproducible β catalysis was derived from Python's randomized
hash(). sim04 is now deterministic and gives 3 cores in both conditions; re-derive the diagnosis from the current results before sweeping.) Vasas used P''=0.0025 and still had difficulty finding distinct cores. Sweep P to find the regime where distinct cores form. - Expanding the adjacent possible β Kauffman's concept. Each novel core extends the "shadow" of possible reactions. Can we measure the adjacent possible in our simulations? Does the evolving network explore more of it than the fixed network?
- Holland's tagged urn model implementation β Holland proposed it but never tested it. Could implement as sim06: urns with semi-permeable boundaries containing tags, with GA-evolved classifiers. Test whether nested boundaries emerge. PRIORITY: this could provide the composition mechanism that sim05 showed is missing.
- From "one bit" to open-ended β The core limitation from Vasas et al. How to move beyond 1-bit heritable information? Template replication (RNA world) is the biological answer. What is the ALife answer? Multiple interacting cores? Compositional inheritance? Tag-based heredity?
- Multiple attractors β evolvability β Vasas found networks with inhibition had multiple attractors but they were NOT selectable (periodic/chaotic transitions overrode selection). Explore this: what makes attractors selectable vs. not? Stability, heritability, differential fitness.
From Session 6
- Explicit composition mechanisms for L2 β (Premise corrected 2026-07-27: sim05 does NOT show L2 failing to emerge. Corrected, coexistence occurs in 2/6 pairs, stable across survival thresholds 0.45β0.70. This item was flagged TOP PRIORITY on the strength of 0/6; it is still interesting but no longer urgent, and the more informative question is now what distinguishes the 2 pairs that coexisted from the 4 that didn't.) What mechanisms would produce L2 reliably? Candidates: (a) stigmergic bridges between organizations, (b) autopoietic boundaries that protect during interaction, (c) explicit selection for composability.
- Measuring the adjacent possible in AlChemy β Sim05 showed each L1 run explores 112β162 species (corrected 2026-07-27; the earlier 246β930 was inflated ~3β6Γ by a non-alpha-invariant species equality). Can we measure how much of the "adjacent possible" (Kauffman) is explored? Does the rate of novel species discovery follow a power law? Does it slow down (converging) or stay constant (exploring)?
- Mutual destruction as creative process β (Premise retracted 2026-07-27. Only 1 of 6 pairs now ends in mutual destruction, and its final population is the SMALLEST at 10 species, not the largest β the reverse of the original observation. The "89-90 unique vs 6-23" comparison came from inflated, non-alpha-invariant species counts and cannot be reproduced. Re-derive before pursuing.) The underlying question β whether cross-organization interaction generates novelty that could be harvested without destroying the parents β is still open. Can we harness this novelty without destroying the parents? Autopoietic boundaries might protect parents while allowing cross-organization interaction.
- Assembly theory connection β Mathis et al. 2024 reference Cronin/Walker's assembly theory. Assembly theory quantifies selection by molecular complexity. Could assembly index be a metric for ALife organization complexity? Connection to our multi-scale composition metric needs.
- Krzyszewski & Mikolov (2022) β self-reproducing metabolisms as recursive algorithms β Referenced in Mathis et al. 2024. Emergence of self-reproducing metabolisms in artificial chemistry. Could connect to our autopoiesis + stigmergy synthesis.
From Vance (2026-07-22) β The termite mound principle
- Heterogeneous environment with substrate state transitions β Vance's key insight: unbounded space isn't sufficient because it's homogeneous. The termite mound works because inert mud becomes a dynamic actor (affects temperature, chemistry) once it crosses an organizational threshold (mass). Sim06 should model a HETEROGENEOUS environment where substrates have state transitions (inert β active) triggered by organization. This is the "dynamic landscape" made concrete β not just changing fitness functions, but the environment itself transforming through organism activity. Connects to: niche construction (Session 3), traceβactor crossing (H7), multi-rate environment (Vance's earlier contribution). TOP PRIORITY for sim06 design.
- Multiple fitness attractors at different rates β The termite mound works because multiple selection pressures (temperature, moisture, chemistry, light) operate simultaneously at different rates. One pressure stabilizes while another shifts, preventing convergence. This is the multi-rate environment idea (Vance's earlier contribution) but now grounded in a concrete physical analogy. Sim06 should have multiple interacting gradients, not a single fitness landscape.
- "No termite has ever felt a temperature" (Moltbook thread) β The post Vance references. A termite doesn't experience temperature as a scalar; it experiences the DOWNSTREAM EFFECTS of temperature gradients on its behavior (pheromone evaporation rates, mud plasticity, metabolic rate). This is downward causation (Hofstadter) + stigmergic mediation: the macro-scale environmental factor (temperature) doesn't directly act on the agent β it acts through the stigmergic medium, which the agent DOES experience. Implication for simulation design: agents should not read global state directly; they should experience only local stigmergic traces that are downstream of larger-scale dynamics.
From the 2026-07-27 code review (post-correction questions)
These arose from the construct-validity audit and the rerun. Items 52 and 53 did not exist as questions before the fixes β at 0/6 coexistence and with a broken detector there was nothing to compare.
What distinguishes the coexisting sim05 pairs from the rest? β DONE (Session 12). Corrected, sim05 gives 2/6 L2 coexistence. Analysis of the committed
results.jsonfound: (1) size symmetry is necessary but not sufficient β pair [0,3] is 10v10 and fails; (2) run 3 is lethally self-referential β its top species are fixed-point-like forms that consume other expressions in collision, and it destroys or is destroyed in all 3 pairs; (3) run 1 (20 species) is resilient β coexists with both run 0 and run 2; (4) shared species: pair [0,1] shares 8/10 species and coexists; the other 5 pairs are disjoint β structural overlap is neither necessary nor sufficient for coexistence; (5) the mechanism is collision dynamics, not structure or glue. Removing run 3, coexistence is the majority outcome (2/3). This sharpens H10: the bottleneck may be collision dynamics (dynamical compatibility), not space. Seeconcepts/sim05-coexistence-analysis.md. (Corrected 2026-07-27: an earlier version claimed "zero shared species in any pair" based on truncated top-species data β pair [0,1] actually shares 8/10.)Does NON-SATURATING negative feedback consolidate? β Two attempts at negative feedback both fragmented the structure (sim06 self-maintenance: 66β109 β 219β297 components; sim07 transport: 57 β 128 pillars). Both acted through the pheromone field, whose deposit response
p = base + gainΒ·Ο/(1+Ο)is flat above Οβ1 β so both destroyed spatial contrast rather than creating it. The refined H7 prescription is negative feedback through a channel that does not saturate: a density cap, a refractory period after deposition, or directional bias along existing walls, acting on deposit probability directly rather than on the cue field. Substantially cheaper than directed transport and it tests the sharper claim. This is the direct test of [[hypotheses/H11]]; see also the 2026-07-27 refinement in [[hypotheses/H7]].Repeat sim06's parameter sweep against the working detector β DONE (Session 12). The Part-8 sweep was run against a detector that could not fire, so its conclusion β "no regime produces the crossing" β was unsupported. A broad sweep (material_decay x deposit_base x phero_follow x maintain_gain x self_maintenance, 2,100 combos, 1,225 unique runs) against the corrected detector found 1,204 combos where the crossing fires β 57% of parameter space. The crossing is not a rare edge case; it is the majority outcome. H7's crossing is reachable within the existing model. Determinism verified (two identical runs produce identical results). Results in
simulations/sim06_termite_mound/output/sweep_crossing_results.json. The crossing tends to fire with higher phero_follow (0.9-0.95) and moderate material_decay (0.001-0.004). This changes H7 from "near miss" to "crossing confirmed in the existing model."Re-derive the P_catalyze diagnosis for sim04. β The suspicion that P=0.005 is too high (producing one large core rather than distinct cores) came from a run that was not reproducible. sim04 is now deterministic and gives 3 cores in both conditions. Re-derive before sweeping β and note that in a 510-species space that exhausts, the fixed-vs-evolving comparison may be uninformative regardless of P (see the 2026-07-27 refinement in [[hypotheses/H9]]).
Should sim05's "L1 organizations" be tested for closure and self-maintenance? β sim05 reports surviving species sets and calls them L1 organizations, drawing an analogy to COT's closure + self-maintenance. It never tests either property. Either implement the test β sim03 already has a (structural, non-flux) version of it β or restate what sim05 measures. This matters because the L1/L2 framing is what connects sim05 to H10 and to the COT literature.
From Session 13 (2026-07-28)
sim09: the curvature channel β a non-saturating rule that RECRUITS as well as LIMITS β TOP PRIORITY for the next nightly session. sim08 confirmed H11's direction (a non-saturating density cap consolidates morphology β pillars 101β52 β where cue-field feedback fragmented), but the cap alone did not fire the crossing: it limits growth without recruiting maintenance, so stability didn't rise. The curvature channel (Calovi et al. 2019) is the one non-saturating channel that does BOTH: depositing at a concavity fills it (limits) AND extends the concavity nearby (recruits further building at the edge). It is also the minimal lumped form of the "directed transport" H7's Session-10 refinement called for β curvature IS directed geometry. sim09 should add a curvature/deposition-edge rule to sim06's GrassΓ© model: loaded termites preferentially deposit at concavities (high local curvature of the material field), excavate/ avoid convexities. Prediction: this consolidates AND the crossing fires, because the channel recruits as well as limits. This is the cheapest remaining candidate that could actually cross, and it is grounded in what real termites do. See
concepts/non-saturating-channels.md. UPDATE (Session 14, 2026-07-29): Grounding complete. Facchini et al. 2020 (J R Soc Interface) built a curvature-only phase-field growth model (no pheromone field) that reproduces real nest morphology, with a phase parameterd(linear instability β walls branch/merge/invade space). Facchini et al. 2024 (eLife) unified curvatureβ‘evaporation flux and confirmed no cement pheromone (2 independent groups). The convex/concave contradiction is resolved (different action components). The growth equation βf/βt = f(1βf)Β·[(1/2)Β·Ξf + dΒ·ΞΒ²f] gives sim09 its recruit (mean curvature Ξf), limit (smoothing dΒ·ΞΒ²f), and surface-restriction (f(1βf)) terms. Public code: github.com/oiluigioi/JRSI_2020_termite_nest. DONE (Session 15, 2026-07-30): DESIGN.md authored atsimulations/sim09_curvature_channel/DESIGN.mdβ 9 independently-implementable Parts mirroring sim06's structure. The Facchini 2020 growth equationβf/βt β f(1βf)Β·[(1/2)Β·Ξf + dΒ·ΞΒ²f]is adapted to sim06's 2D grid+agent framework: state-gated deposit at convex tips (loaded) / excavate at concavities (unloaded) β the Facchini/Calovi action-component resolution made operational; a linear (non-saturating) deposit-probability routing on curvature; thef(1βf)surface-restriction prefactor as anon_surfacedilation mask; thed-gated biharmonic smoothing as the phase-transition knob (sim09's analog of sim07'sM_c); roughness (curvature std over surface) as the recruit proxy and the channel-adapted crossing criterion 2; baseline_pheromone condition (sim06's saturating rule) as the control. Part 7'sdsweep is the headline phase-transition plot. NEXT: implement Part 1 (GLM, next nightly). UPDATE (Session 17/18, 2026-08-02): sim09 FULLY IMPLEMENTED β all 9 Parts [x]. Part 9 (visualize.html + README.md) shipped; verification passes (selftests OK, run produces results.json, local http server 200 for page/results/sweep). At default params (d=1.0) neither condition crosses β the curvature channel grid-saturates (10000/10000 cells) because the nucleation base floods the grid before curvature routing creates spatial selectivity, so crossing criterion 2 (roughness sustained while mass saturates) cannot fire. Tuned probes (deposit_prob_base=0.01, material_decay=0.002) confirm the predicted consolidation DIRECTION (pillars 25β2 as d rises 0β4, roughness spike at the biharmonic instability) β opposite of sim06/sim07 fragmentation, H11's direction in a 4th mechanism. Perturbation: curvature 1.13Γ vs baseline 47.34Γ (baseline inflated by unbounded accumulation). The crossing is now a parameter-regime question, not a mechanism question. NEXT PRIORITY: a broaddeposit_prob_base Γ material_decay Γ dsweep in the mass-saturating regime (low nucleation, higher erosion) to located*, plus a spatially-targeted recovery metric distinguishing scar repair from volume restoration. DONE (Session 19, 2026-08-03): The d* sweep ran (100 combos,dpb Γ decay Γ d). 0/100 crossed under the original detector. Per-criterion diagnosis: criterion 2's mass-saturation gate (|growth_rate|<0.01) passed 0/100 β it was an unfalsifiable metric-ceiling bug, its threshold ~100Γ below the Poisson noise floor of a 150-termite deposit process (the sim06 detector-bug lesson repeating). Corrected to a relative-slope plateau (|slope(M)|/mean(M)<0.001over K=16 samples): the crossing now FIRES in the curvature channel at every dβ[0,4] in the tuned probe (non-saturating grid, cells 3123β5754/6400) and does NOT fire in the baseline-pheromone control (same detector, 0/3 β saturating rule never elevates the pheromone cue enough). crossing_step 1550β900, pillars 12β1, roughness 0.44β0.77 as d rises. Determinism verified (0/80 diffs). Honest limitation: the crossing fires at d=0, so the recruit half drives it; the limit half (d-smoothing) consolidates morphology but is not necessary for the verdict. Seedstar_sweep.pyand H7/H11 Session-19 refinements. NEXT PRIORITY: isolate the recruit and limit halves (recruit-only d=0 vs limit-only no-curvature-routing) and build a spatially-targeted recovery metric.Curvature as the minimal form of directed transport β Session 10 concluded sim07's scalar transport needed to be directed (channel geometry carrying cue to building fronts). The curvature channel may BE that minimal directed geometry: depositing at concavities routes building along edges, not away from them. sim09 would unify the "directed transport" and "non-saturating inhibition" candidates into one mechanism β falsifiable: if curvature routes AND recruits, it should fire the crossing where the scalar (sim07) and the cap (sim08) both failed.
From Session 19 (2026-08-03)
Recruit-vs-limit isolation β which half of the curvature channel drives the crossing? β TOP PRIORITY for the next nightly session. The corrected detector fires the crossing at d=0 (no biharmonic smoothing), which means the recruit half (curvature routing + mass plateau) is sufficient for the verdict and the limit half (d-smoothing) is not necessary β it only consolidates morphology (pillars 12β1, crossing_step 1550β900). H11's "recruit as well as limit" refinement (Session 13) is therefore half-supported. A clean test needs two new conditions in sim09: (a) recruit-only β curvature routing ON, d=0 (smoothing OFF); (b) limit-only β d-smoothing ON, curvature routing OFF (termites follow random walks, no curvature-biased movement, but the biharmonic still smooths the field). If recruit-only crosses and limit-only does not, the recruit half is the load-bearing variable and H11's "limit" half is a morphology optimizer, not a crossing requirement. If both cross, the mass-plateau gate is too permissive (the crossing is detecting any stable plateau, not the curvature mechanism specifically). This directly tests whether H7's Session-13 "recruits as well as limits" prescription is necessary or just sufficient. DONE (Session 20, 2026-08-04): The 2Γ2 factorial (recruit ON/OFF Γ limit ON/OFF, 4-seed robustness pass) found the recruit half is necessary and almost-sufficient for a stable crossing: recruit-only (d=0) is stable 3/4 seeds (hold 1.00 in 3, 0.65 in the borderline seed); neither (no recruit, no limit) is 0/4. The limit half alone is never stable (0/4 β criteria flicker, hold 0.40β0.55, because the biharmonic shapes convex geometry no agent is routed to; criterion 3
deposits_on_convex_fractionoscillates around 0.60). But the limit half is a stability amplifier: recruit+limit is stable 4/4 where recruit-only is 3/4 β the borderline seed becomes fully stable (hold 1.0) when d>0 is added. So "recruit as well as limit" = recruit necessary + almost-sufficient; limit = stabilizer + morphology optimizer (causal, not strictly necessary). The decisive contrast is recruit ON vs OFF at d=0 (same detector, same regime, only the recruit flag differs). A newstable_crossedmetric (late_hold_rateβ₯ 0.90) separates the recruit half's stable crossing from the limit half's transient flicker. Determinism verified. Seerecruit_limit_sweep.pyand H7/H11 Session-20 refinements. NEXT PRIORITY: spatially- targeted recovery metric (#60), then L2 composition (#62).Spatially-targeted recovery metric β scar repair vs volume restoration β DONE (Session 24). The grid-wide
recovery = total_material / pre_perturb_totalcannot distinguish "repair at the scar" from "continued growth elsewhere." The baseline's 47.34Γ "recovery" was the cleanest demonstration β it was unbounded material accumulation, not targeted repair. A spatially-targeted variant (recovery measured in the damaged patch specifically:material_in_patch / pre_perturb_material_in_patch) would make the perturbation acid test decisive. Implemented aspatch_recoveryin sim09.py, plus amirror_recoverycontrol arm (an undamaged same-size region). Result:targeted_repair = patch_recovery β mirror_recoveryis negative in all four conditions (tuned: curvature β1.95, baseline β1.65; default: curvature β0.60, baseline β51.0). Neither channel preferentially repairs the damage site. The scar grows slower than an undamaged mirror (re-nucleation lag). The crossing fires but the structure does not self-repair in the targeted sense β the crossing is a stability claim, not a scar-repair claim. The Session 17 "self-repair" report was an artifact of the grid-wide metric. Determinism verified. Seepatch_recovery_probe.py, H7 Session-24 refinement.The mass-plateau gate as a reusable methodology pattern β The sim06 and sim09 detector-bug corrections share a pattern: a threshold set below the noise floor of the quantity it gates on, making the detector unfalsifiable. sim06's deposit-rate gate could not fire because GrassΓ© positive feedback makes deposit probability rise; sim09's mass-saturation gate could not fire because Poisson window noise sits ~100Γ above the threshold. Both were caught by computing the metric's ceiling. This is now earned twice and deserves to be a standing methodology rule for any future detector: before running a parameter sweep, compute the noise floor of every gated quantity and verify the threshold sits above it. Could be added to CLAUDE.md Β§4 step 6 as a checklist item.
Does the crossing compose? β the L2 question with a non-saturating glue β If the curvature channel crosses (it does, Session 19), do two self-maintaining curvature structures compose into a higher-level entity? This is the sim05 L2 question reopened with a non-saturating stigmergic glue β the direct test of H1/H10. sim05's 2/6 coexistence used collision dynamics as the glue; a curvature-channel glue (two structures whose curvature fields interact) might compose more reliably. Candidate sim10 or a sim09 extension: run two curvature-channel structures in adjacent grids with a shared boundary and test whether a composite organization emerges.
From Session 20 (2026-08-04)
The borderline-seed question β what makes seed 123 unstable for recruit-only? β Recruit-only (d=0) is stable in 3/4 seeds but borderline in seed 123 (hold 0.65, still crosses). Recruit+limit (d=1) is stable 4/4 β the limit half rescues seed 123. What is different about seed 123's nucleation trajectory that makes the recruit-only crossing unstable, and is it a morphological difference (initial deposit scatter) or a dynamical one (criterion 3 flickering near threshold)? If it is nucleation scatter, the limit half (smoothing) regularizes it; if it is dynamical, the limit half stabilizes criterion 3 indirectly. Inspect seed 123's history for recruit-only vs recruit+limit: where does hold drop (which criterion flickers), and does d-smoothing fix that criterion specifically? Cheap analysis of the committed sweep JSON; no new runs needed.
A saturating-action control β disentangling "action-based" from "non-saturating" β H11's evidence (sim08 cap, sim09 curvature) is both action-based AND non-saturating simultaneously, so it cannot fully distinguish "action-based" from "non-saturating" as the causal variable (this was flagged in H11's Criticisms section from Session 13). The recruit-vs-limit isolation sharpens this: the recruit half is action-based (curvature routes deposit/excavate selection) and non-saturating (linear gain). A saturating-action control β a deposit-probability routing that saturates (
p = base + gainΒ·curvature/(1+|curvature|)) rather than the linearp = base + gainΒ·curvatureβ would isolate the two factors. If a saturating recruit half still crosses stably, "action-based" is the load-bearing property; if it degrades to a transient flicker (like limit-only), "non-saturating" is. This is the clean test of H11's core distinction, currently confounded. DONE (Session 21, 2026-08-05): The 2Γ2Γ2 factorial (response {linear, saturating} Γ recruit {ON, OFF} Γ d {0, 1}, 4-seed robustness pass) found action-based is the primary load-bearing property; non-saturating is a secondary stability amplifier. The saturating action crosses in 8/8 recruit-ON seeds (stable 6/8); the linear action crosses in 8/8 (stable 7/8). The limit half rescues both to 4/4 at d=1. Saturation costs ~0.05 in mean hold rate at d=0 (0.91β0.86) but does not collapse the crossing β criterion 3 (deposits_on_convex_fraction) holds 1.00 for both forms; only the mass-plateau gate (criterion 2p) flickers more under saturation. H11's strict "non-saturating" claim is partially weakened: a saturating action-based channel still crosses stably, but less robustly. The "self-defeating" language applies to cue-based saturating channels (sim06/sim07), not to action-based saturating channels. The three-level causal decomposition: (1) action-based routing = primary, (2) non-saturating response = secondary stability, (3) biharmonic smoothing = tertiary stability + morphology. Seesaturating_action_sweep.pyand H7/H11 Session-21 refinements. NEXT PRIORITY: spatially-targeted recovery metric (#60), then L2 composition (#62).The stable_crossed metric as a reusable methodology pattern β The cumulative
crossedflag (set once criteria hold forCROSSING_PERSISTconsecutive samples, never unset) hides the difference between a crossing that holds and one that flickers on and off. Thelate_hold_rate(fraction of late-window records where all criteria hold) exposes it. This is now earned once (sim09 Session 20: the limit half's transient crossing was invisible until late_hold_rate was computed) and deserves to be a standing metric for any crossing detector: report both the cumulative verdict AND the late-window hold rate. A crossing that fires then degrades is not the same phenomenon as one that holds. Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling rule (#61).Continuous Game of Life β self-organizing cells at the edge of growth (Guillet & JΓΌlicher 2026) β A continuous-space, continuous-time Game of Life (cGoL) that produces self-replicating, motile, dying cell-like patterns with just 7 parameters. The key finding: a global resource constraint (conservation law) causes the system to self-organize to a phase transition boundary β the "edge of growth" β where morphologies are richest and most life-like. Reference code cloned to
simulations/cGoL_reference/(Julia, FFT-based convolution, GPLv3). Paper: arXiv:2607.27402, to appear in Artificial Life journal.Relevance to our hypotheses:
- H1/H7 (Composition / TraceβActor Crossing): The cGoL cell patterns have a nucleus+shell structure that emerges from simple convolution rules β a spatially organized, self-maintaining entity. The field L is the "trace"; the emergent cell with homeostatic morphogen concentrations is the "actor." Self-replication and persistence of these cells is a concrete traceβactor crossing. Can we layer H7's crossing detector onto the cGoL cells? Do they satisfy the three operational criteria (persistence, non-reducible dynamics, constraint on agents)?
- H4 (Dynamic Environment): Resource feedback is exactly H4 β the environment participates in a feedback loop. Growth consumes resource β resource depletion retunes parameters β system self-organizes at the phase boundary. A stigmergic medium with its own dynamics.
- H11 (Saturating Channel): The "edge of growth" is a non-saturating channel β resource scarcity acts as feedback that doesn't saturate the way a pheromone field does. The system self-tunes to the transition boundary rather than collapsing.
- H8 (Computational Irreducibility): The phase structure is mapped empirically through extensive simulation β morphologies at the edge of growth can't be predicted from rules alone.
- Multi-scale composition (H1/H10): The cell-like patterns interact, divide, and collide. Whether two such self-maintaining patterns compose into a higher-order structure is directly testable.
The reaction-diffusion interpretation (Β§4) maps the cGoL onto morphogen concentrations held at homeostatic levels by the nonlinear survival rule β connecting to sim03 (chemical organizations) and sim09 (curvature channel). The "survival rule" is a non-saturating channel that maintains homeostasis.
Next step: port
cGoL_minimal.jlto Python (numpy FFT convolution, ~100 lines), add resource feedback, and test whether the emergent cells satisfy H7's crossing criteria. The minimal Julia implementation uses: (1) two Gaussian FFT convolutions for M and N fields, (2) a sigmoid-based survival rulerule0(M,N,p), (3) explicit Euler time integration. Parameters: p=(0.50, 0.10, 0.23, 0.015, 0.35, 0.26), Ξ»=3.
From Session 21 (2026-08-05)
A truly cue-based saturating action control β completing the 2Γ2 β The Session 21 saturating-action control tested within the action-based family (linear vs saturating action routing). The remaining cell of the 2Γ2 is a cue-based non-saturating channel: deposit probability routed on a non-saturating cue field (e.g.
p = base + gainΒ·Οwithout saturation, instead ofp = base + gainΒ·Ο/(1+Ο)). If a non-saturating cue channel crosses, then the action/cue distinction (H11's original framing) is the real divide, not the saturating/non-saturating one. If it does not, the action-based property is confirmed as primary even when the cue is non-saturating. This completes the 2Γ2: actionΓ{linear,saturating} Γ cueΓ{linear,saturating}, isolating which of the two properties (action-based, non-saturating) is truly load-bearing. Cheap: the cue-based condition is sim06 with the deposit rule changed fromΟ/(1+Ο)to linearΟ. DONE (Session 22, 2026-08-06): The cue-based non-saturating control (sim06 withdeposit_responseparameter,cue_response_sweep.py) found the non-saturating cue crosses LESS, not more β the opposite of the action family and opposite to H11's strict prediction. Without self-maintenance: saturating cue 16/16 stable (hold 1.000); linear cue 0/16 stable (hold 0.053). With SM: both 16/16 stable. Seed robustness (4 seeds) confirms. The non-saturating property reverses sign across families: it amplifies stability in the action family (sim09: 7/8 vs 6/8) but destroys it in the cue family (sim06: 0/16 vs 16/16 w/o SM). Mechanism: the linear cuep = base + gainΒ·Οclamps to p=1.0 at Οβ1.15, flattening the gradient (mean pheromone drops to 0.467 < 0.5 threshold); the saturating cue'sΟ/(1+Ο)compression prevents deposit-probability saturation and preserves spatial contrast. The "self-defeating" channel is the non-saturating cue (deposit-probability clamping), not the saturating cue β H11's original framing was backwards for the cue family. Self-maintenance rescues the linear cue (4/4 stable). Seecue_response_sweep.py, H7/H11 Session-22 refinements. NEXT PRIORITY: spatially-targeted recovery metric (#60), then L2 composition (#62).The three-level causal decomposition as a methodology pattern β Sessions 19β21 decomposed the crossing's causal structure into three levels: (1) action-based routing (primary β the causal variable separating crossing from non-crossing), (2) non-saturating response (secondary β stability amplifier), (3) biharmonic smoothing (tertiary β stability amplifier + morphology optimizer). This is a generalizable pattern: when a hypothesis claims two properties matter (H11: action-based AND non-saturating), a single confounded experiment cannot distinguish them; a factorial isolating each property separately, plus a seed-robustness pass with a stable-vs-transient metric, can. The pattern: (a) identify the confounded properties, (b) build a saturating control that holds one constant, (c) run a 2Γ2Γ2 factorial, (d) use late_hold_rate to separate stable from transient effects, (e) decompose the result into primary/secondary/ tertiary causal levels. Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling and stable_crossed rules.
The borderline-seed flip β seed 123 is borderline for linear but stable for saturating β Session 20 found seed 123 is the borderline seed for linear recruit-only (hold 0.65). Session 21 found seed 123 is stable for saturating recruit-only (hold 0.95) β and seeds 42 and 256 are borderline for saturating (holds 0.85, 0.70) but stable for linear. The borderline seeds flip between response curves. This means the linear and saturating forms are not simply "one more stable than the other" β they are fragile to different nucleation trajectories. What makes a seed borderline for one form but not the other? If the nucleation scatter differs, the saturating form's compressed gain may regularize seeds where linear's high gain overshoots, while linear's full gain may stabilize seeds where saturating's compression is too weak. Inspect the borderline seeds' histories: does the hold drop at the same criterion, and does the response curve change which criterion flickers? Cheap analysis of the committed sweep JSON; no new runs needed.
From Session 22 (2026-08-06)
Deposit-probability clamping vs cue-response compression β the two kinds of "saturation" β Session 22's cue-based control revealed that H11's original framing conflated two distinct saturation phenomena: (a) cue-response compression (the
Ο/(1+Ο)form flattens at high Ο β what the saturating cue has) and (b) deposit-probability clamping (the lineargainΒ·Οform hits p=1.0 at Οβ1.15, so every high-pheromone cell deposits at 100% β what the non-saturating cue has). The "self-defeating" saturation is (b), not (a): the non-saturating cue clamps to p=1.0 and flattens the gradient; the saturating cue's compression prevents clamping and preserves spatial contrast. This distinction should be formalized: a channel is self-defeating when its response curve saturates the probability (the output), not when it compresses the cue (the input). H11's "self-defeating saturating channel" should be re-read as "self-defeating probability-saturating channel." This is a refinement of the concept, not a new experiment β but it deserves a formal write-up and possibly a concept file, because it changes how the 2Γ2 should be interpreted. The action family's response curve (base + gainΒ·cvsbase + gainΒ·c/(1+|c|)) saturates only the gain (the routing decision is preserved); the cue family's response curve saturates the probability (the output clamps). That is why the sign reverses.The self-maintenance rescue β is SM necessary or merely sufficient for the non-saturating cue? β Session 22 found self-maintenance rescues the non-saturating cue completely (0/16 β 16/16 stable). But is SM the only mechanism that can rescue it, or would any pheromone-sustaining mechanism work (e.g. slower pheromone decay, higher deposit pheromone, lower diffusion)? If the linear cue's failure is purely "mean pheromone drops below 0.5," then any mechanism that keeps pheromone elevated should rescue it β and SM is just one way to do that. A sweep of pheromone_decay Γ deposit_pheromone at the linear-cue condition would map the rescue surface. If the rescue is specific to SM (the structure-reemits-pheromone loop), that connects to H7's self-maintenance crossing mechanism; if it is generic (any pheromone elevation), the non-saturating cue's failure is just a parameter-regime issue, not a mechanistic one. Cheap: a small sweep around the linear-cue condition.
The deposit-probability saturation threshold as a predictor β DONE (Session 23). The Ο_sat predictor (the input value at which p_deposit first reaches 1.0) was tested as a unifying diagnostic across all four cells of the 2Γ2. A direct probe (
phi_sat_probe.py) of sim06 (cue) and sim09 (action) at their crossing-proven regimes found the predictor is 50% accurate β no better than chance. It correctly predicts the cue family (saturatedβfails, unsaturatedβcrosses) but fails for the action family: action/linear is saturated (max curvature 2.55 > c_sat 1.165, clamp fraction 1.0%) but still crosses stably. The clamping fraction is tiny everywhere (0β7%). The difference: in the cue family, the deposit probability IS the spatial signal β clamping it destroys the gradient. In the action family, spatial contrast lives in the routing decision (which direction the agent moves), not the deposit probability β the response curve saturates the gain (how hard to deposit), not the routing (where to go). The unifying diagnostic is whether spatial contrast in the routing input survives the response curve, which depends on channel architecture, not just the saturation threshold. Determinism verified. Seephi_sat_probe.pyand H7/H11 Session-23 refinements.
From Session 23 (2026-08-07)
- The two-wire principle β feedback signal and spatial signal on separate channels β Session 23's Ο_sat probe found the predictor fails for the action family because spatial contrast survives via the routing decision (which direction to move), not the deposit probability. The cue family puts the feedback signal and the spatial signal on the same wire (the pheromone field β deposit probability β spatial contrast); saturating one destroys the other. The action family puts them on separate wires (curvature β routing decision for spatial contrast; curvature β deposit gain for feedback); saturating one leaves the other intact. This is a generalizable design principle: a self-defeating channel is one where the feedback signal and the spatial signal travel on the same wire. Does this principle hold beyond stigmergic channels? In ACO, the pheromone trail IS both the feedback signal and the spatial signal β but ACO's response function (Ο^aΒ·Ξ·^Ξ²) is unbounded, so it never saturates. In development, morphogen gradients carry positional information (spatial signal) AND feedback (concentration-dependent gene expression) on the same wire β and morphogen saturation is a known developmental pathology. This deserves a concept file and possibly a cross-domain synthesis. Cheap: no new runs; pure synthesis.
From Vance (2026-08-04)
Singh et al. (2025/2026) β MARL-trained weakly electric fish collectives: emergent social behavior from biophysical sensing + individual fitness reward β arXiv:2511.08436. Found via a Bluesky follower (Naomi Saphra is a co-author). The paper is a complete worked example of several things our project has been circling, and it connects to at least five of our hypotheses:
H1 (Multi-scale composition) β emergent collective behavior from individual incentives alone. The paper's central claim: collective foraging, dominance hierarchies, aggression, and context-dependent EOD communication all emerged from individual fitness rewards with no reward for communication, coordination, chasing, or aggression. This is the same "emergence from individual incentives" pattern our project studies, but at a single scale (fish-to-fish). The open question for us: does their framework compose across scales? Their fish are homogeneous agents with the same policy β can heterogeneous policies at different scales produce multi-scale composition?
H7 (TraceβActor Crossing) β EOD as a stigmergic medium. The EOD is a stigmergic signal: it modifies the electric field (environment), persists briefly, is sensed by conspecifics, and influences their behavior. The paper's Mormyromast "cons-image" (detecting conspecific EOD distortions) IS stigmergic sensing β agents read the environmental trace of another agent's action. The Knollenorgan (long-range conspecific-only sensor) is a dedicated stigmergic channel. The paper shows that ablating the Knollenorgan doesn't affect foraging but reshapes social organization (more aggression, less spacing) β the stigmergic medium is causally efficacious for social structure, not just foraging. This is direct evidence for H4 (dynamic environment as participant, not backdrop) and the ANT claim that the medium is an actant.
H11 (Saturating Channel) β EOD self-cancellation. The Mormyromast has an internal cancellation signal that suppresses the reafferent (self-generated) EOD component β the self-field is ~729Γ stronger than the conspecific field at 10 cm, so without active cancellation the self-signal would saturate the sensor and mask the conspecific signal entirely. This is a biological instance of our "two-wire principle" (queued topic 73): the self-image and the cons-image travel on separate wires (separate processing channels within the same receptor), so saturation of the self-signal doesn't destroy the cons-specific spatial signal. The paper's "collective sensing" experiment (gating self- vs cons-EOD inputs independently) is exactly the kind of channel-factor decomposition our Session 21β22 factorial experiments did with sim09.
H4 (Dynamic Environment) β the electric field as a shared stigmergic medium. The electric field is not a static backdrop β it's co-determined by all agents' EODs AND the environment (walls, prey distort it). Agents sense not only each other but "how their own and others' EODs are transformed by the shared environment." This is niche construction in the electric domain: agents modify the field they sense through, and the field's distortions carry information about the environment. The field IS the stigmergic medium.
RNN dynamics β cross-scale neural representation. The effective dimensionality of RNN activity scales with group size only when the Knollenorgan (long-range stigmergic channel) is intact β ablate it and dimensionality stays flat at the solo baseline. The social context expands the neural representation space, and this expansion is driven by the stigmergic channel, not by direct interaction. Proximity-dependent correlated latent dynamics (PLSC) between interacting agents' RNN states collapse to zero beyond communication range. This is a potential model for how multi-scale composition could work in a neural system: the stigmergic medium creates a shared subspace between agents that doesn't exist at the individual level β a new dynamical degree of freedom. Could our sim09 curvature structures show a similar dimensionality expansion when two structures interact through a shared curvature field?
Methodological relevance: their in silico intervention design (ablate sensors, silence EODs, change food distribution) is exactly the kind of causal decomposition our project uses. Their "seed selection criterion" (balance biological desiderata across multiple converged policies) is a pattern we could adopt for our sim runs. Their GRU-based actor-critic with recurrent dynamics analysis (PCA, linear decoding, PLSC, power spectrum) is a toolkit we haven't used but could apply to sim09's agent states.
NEXT: This should be a nightly research session topic. The paper deserves a full concept file and a synthesis entry. Key questions: (1) Does the EOD stigmergic medium satisfy our H7 crossing criteria? (2) Can their MARL framework be extended to multi-scale composition (heterogeneous policies at different scales)? (3) Does the two-wire principle (self/cons-image separation in Mormyromasts) generalize to our action/cue channel distinction? (4) Can RNN dimensionality analysis detect when a stigmergic medium creates a new dynamical degree of freedom?
From Session 24 (2026-08-08)
The control-arm methodology pattern β a metric that responds is a description, not a test β Session 24's spatially-targeted recovery metric revealed that every metric in this project needed a control arm to become a test rather than a description. The crossing detector responded to stability (needed the baseline-pheromone control); the recovery metric responded to growth (needed the mirror patch); the Ο_sat predictor responded to saturation (needed the action/linear condition). A metric that responds to a phenomenon but cannot distinguish it from confounds is a description, not a test. This is now earned three times (mass-saturation gate, Ο_sat predictor, grid-wide recovery) and deserves to be a standing methodology rule: before claiming a metric tests a phenomenon, identify the confound and add a control arm that holds it constant. Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling rule (#61) and the stable_crossed rule (#65).
Late perturbation after true mass plateau β The current perturbation hits at 60% of steps, when the crossing has fired but the total material is still rising (not truly plateaued). A later perturbation (80-90% of steps, after the mass has equilibrated) may give a different self-repair result: the structure would be at equilibrium, and scar repair would be purely about restoring the damage, not about continuing growth. If the late-perturbation targeted_repair is still negative, the no-self-repair finding is robust; if it becomes positive, the current result is a timing artifact. Cheap: change perturb_at and re-run the probe.
The L2 composition question with a non-saturating glue β DONE (Session 25). The curvature channel crosses (Session 19), but it does not self-repair (Session 24). Does it compose? sim10 ran two curvature-channel structures in adjacent regions of one grid (shared field, shared agent pool, one-seed control, baseline-pheromone control). The first L2 detector (per-region material retention) was broken β the one-seed control fired "coexist" because a single structure fills both halves (control-arm lesson #75 again). The corrected detector counts connected components lying entirely within each region (crossing the midline = merged). Result: at the H7 crossing regime (decay=0.002), 15/16 two-seed runs merge into a single structure β the curvature channel consolidates too aggressively for coexistence. At higher erosion, apparent coexistence appears but the 1-seed control fires too (fragmentation, not composition). The non-saturating glue composes no better than the saturating control (2-seed coexist: 25/96 curvature vs 21/96 baseline; 1-seed: 16/96 vs 22/96). The crossing is a single-structure phenomenon; L2 needs a boundary mechanism the curvature channel lacks. H7 refined Γ14, H10 strengthened. Determinism verified. See
sim10_l2_composition/,l2_sweep.py, and H7/H10 Session-25 refinements. NEXT PRIORITY: what mechanism prevents merging? (#78, #79, #80).
From Session 25 (2026-08-09)
The boundary mechanism β what prevents two self-maintaining structures from merging? β DONE (Session 26). sim11 tested the textbook boundary mechanism from Turing/Gierer-Meinhardt: a long-range inhibitor (
I = max(0, far_smoothed_material β material)β self-cancelling: zero at structures, high in the gap). Deposit probability is multiplied by(1 β gΒ·I_norm/(1+I_norm)). Result: a weak positive. At g=0.9, 2/4 seeds show clean composition (2-seed coexist AND 1-seed does NOT) β up from 0/4 with no inhibition. But 2/4 seeds fragment (the 1-seed control fires too), and stable_l2 shows no stable advantage (0/4 at all gains). The H7 crossing survives inhibition (h7=4/4 at all gains). The self-cancelling inhibitor is the critical design insight: a simple smoothed-material inhibitor (without the farβlocal subtraction) is self-defeating β it is always highest AT the structure and kills all building. The composition problem is not just missing lateral inhibition; even the textbook boundary mechanism produces only weak, non-robust partial coexistence. Determinism verified. Seesim11_boundary_mechanism/and H7/H10 Session-26 refinements. NEXT PRIORITY: heterogeneous agent policies (#79), autopoietic boundary (#81).Heterogeneous agent policies as a composition mechanism β The Singh et al. (2025/2026) MARL fish paper (queued-topic #74) shows emergent collective behavior from individual fitness rewards with homogeneous policies. What if the two L1 structures are built by DIFFERENT agent types (different deposit rules, different curvature responses)? Would two heterogeneous-built structures coexist where two homogeneous-built structures merge? This tests whether compositional diversity (H1) requires agent heterogeneity, not just a non-saturating glue. Could be a sim10 extension: two agent populations with different deposit_prob_gain or curve_follow.
The one-seed control as a standing methodology pattern β sim10's L2 detector was broken until the one-seed control proved it was measuring "material exists in both halves" not "two structures coexist." This generalizes the control-arm lesson (#75): any composition or plurality detector needs a single-component control to prove it is detecting plurality, not ubiquity. Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling (#61), stable_crossed (#65), and control-arm (#75) rules.
From Session 26 (2026-08-10)
An autopoietic boundary β a self-maintaining inhibitor, not a passive field β DONE (Session 27). sim12 tested a boundary field B with its own growth/decay dynamics (memory):
B_new = B * (1 β b_decay) + b_growth * co_presencewhereco_presence = min(left_shadow, right_shadow). B is more stable (4/4 vs 1/4 for the passive) and survives a 50% material-removal perturbation (B retains 91% at 100 steps, coexistence persists). But its memory also creates false boundaries β the 1-seed control fires in 2/4 (vs 1/4 for the passive). Clean composition is 2/4 for both β the memory-specificity trade-off cancels out. The co-presence signal leaks on the torus (agent-deposited material in both halves creates a non-zero co-presence even for one seed). The H7 crossing survives all conditions (h7=4/4). Seesim12_autopoietic_boundary/and H5/H6/H7/H10 Session-27 refinements. NEXT PRIORITY: a mechanism that combines memory with specificity (#84, #85, #79).The self-cancelling inhibitor as a general principle β sim11's critical design insight was that a long-range inhibitor must not self-inhibit:
I = max(0, far_smoothed β local)isolates the distant signal from the local. This is the spatial analog of the two-wire principle (#73, Session 23): the distant-structure signal and the local-structure signal travel on separate wires. Without separation, saturating one (the local) destroys the other (the distant). This deserves a formal write-up: in any system where a long-range inhibitory field is derived from a local activator (material β smoothed shadow), the naive form (just the shadow) is self-defeating. The difference form (shadow β source) is necessary. This may connect to lateral inhibition in neural systems (where the inhibitory interneuron receives excitation from the very cells it inhibits β and the circuit architecture separates self-excitation from lateral inhibition).The crossing is separable from composition β Session 26 found the H7 crossing survives inhibition (h7=4/4) while composition is only weakly improved (2/4 clean). This means the single-structure crossing and the multi-structure composition are independent problems needing different mechanisms. The crossing is about one structure's self-maintenance; composition is about two structures' interaction. This sharpens H1/H10: "explicit composition mechanisms" are not just better channels or better single-structure rules β they are a separate class of mechanism (boundary, interaction, heterogeneous policies) that operates BETWEEN structures, not within them. The research program should now separate these two tracks explicitly.
From Session 27 (2026-08-11)
The memory-specificity trade-off β a mechanism that combines both β DONE (Session 28). sim13 tested the direct-material co-presence approach (#85): replacing sim12's diffused-shadow co-presence with a max filter that doesn't wrap in x, eliminating the torus leak. Result: the torus leak IS eliminated (initial 1-seed co-presence <1% of 2-seed) but the false boundaries persist (1-seed control 1/4) β agent wander on the torus, not the spatial filter, causes false boundaries. A radius sweep (8-30) reveals a breadth-specificity dimension: small β merges, medium β false positives, large β fragmentation. Clean composition is 1/4 (worse than sim12's 2/4). The memory-specificity trade-off is a system property (agents on a torus distribute material everywhere), not a signal property (diffusion vs. direct-material). The fix requires agent fidelity, not a better spatial filter. See
sim13_direct_copresence/and H5/H6/H7/H10 Session-28 refinements. NEXT PRIORITY: heterogeneous agent policies (#79) β agents tagged with a structure ID so the boundary grows only where two distinct populations meet.Direct-material co-presence β eliminating the torus leak β DONE (Session 28). See #84 above. The direct-material max filter (no x-wrapping) eliminates the diffusion torus leak but does not eliminate false boundaries β agent wander is the true cause.
The memory-specificity trade-off as a general principle β The three "separate wires" principles now form a family: (1) two-wire principle (#73): feedback signal and spatial signal on separate channels; (2) self-cancelling inhibitor (#82): distant signal and local signal on separate wires; (3) memory-specificity trade-off: persistence and specificity on separate wires. All three say the same thing: when two properties are carried on the same wire, saturating one destroys the other. This is a general design principle for self-organizing systems. Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling (#61), stable_crossed (#65), and control-arm (#75) rules.
B parameter sweep β growth, decay, and copresence_passes β sim12's B parameters (b_growth=0.1, b_decay=0.005, 8 passes) were chosen, not swept. A systematic sweep of b_growth Γ b_decay Γ copresence_passes would map the stability-specificity frontier: faster decay (less memory) should move toward the passive inhibitor (more specific, less stable); slower decay (more memory) should move toward more false boundaries. The optimal point on this frontier might break the 2/4 clean composition ceiling β or it might not. Cheap: re-run the robustness sweep at different parameter settings.
From Session 28 (2026-08-12)
Heterogeneous agent policies β agents tagged with a structure ID β DONE (Session 29). sim14 tested agent-level fidelity: agents carry 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 β co-presence is structurally zero (B_max=0.0 across all seeds). The 1-seed control is 0/4 on ALL metrics β the first structurally clean composition. Clean composition is 2/4 (matching shadow/passive). But the stronger boundary suppresses H7 crossing (0/4 β first time crossing lost across all seeds). The trade-off shifts from specificity-vs-memory to strength-vs-growth: the boundary that enables composition kills the crossing. See
sim14_heterogeneous_agents/and H5/H6/H7/H10 Session-29 refinements. NEXT PRIORITY: tune inh_gain to find the regime where both crossing and composition co-occur (#91, #92).The l2_crossed β l2_outcome distinction β fragmentation as a third outcome β sim13 revealed that the L2 detector can fire (l2_crossed: components in both halves) while the outcome is "fragmented" (multiple components, not two clean structures) rather than "coexist." This is a third outcome beyond "coexist" and "none/merged" that previous simulations didn't encounter. The broad boundary (radius=30) prevents merging but over-fragments. This suggests the L2 detector should distinguish "two clean structures" (coexist) from "multiple fragments in both halves" (fragmented) β the latter is not genuine composition. Could refine the L2 outcome classifier in sim10's detect_l2.
The b_scale normalization effect β a hidden parameter β sim13's radius sweep found that at radius=30, the b_scale (set from the 95th percentile of initial co-presence) is very large because the dilated seeds overlap strongly. This makes B_norm = B / b_scale small, weakening the boundary suppression. The clean composition at seed 42 may be an artifact of this normalization rather than a genuine property of the direct-material approach. A sweep of b_scale (or using a fixed scale instead of the 95th percentile) would determine whether the normalization is load-bearing.
From Session 29 (2026-08-13)
The inh_gain sweep β finding the strength-vs-growth sweet spot β DONE (Session 30). A sweep of inh_gain (0.1, 0.3, 0.5, 0.7, 0.9) with 4-seed robustness found the trade-off is PARTIALLY BREAKABLE. At g=0.5, H7=4/4 and L2=4/4 co-occur with 2/4 clean composition β the first co-occurrence of crossing and composition. At g=0.3, seed 999 achieves stable composition WITH H7 crossing. But stable composition (2/4 at g=0.9) requires the strong boundary that kills H7 (0/4). The 1-seed control is 0/4 at ALL gains β the structural specificity guarantee holds across the entire strength spectrum. The tension is between crossing and stable composition, not crossing and composition per se. See
inh_gain_sweep.pyand H7/H5/H6/H10 Session-30 refinements. NEXT PRIORITY: structural decoupling (#92), agent movement restriction (#93).Decoupling boundary strength from co-presence precision β The ID-based co-presence is both more specific AND stronger than spatial versions, because the signal is higher and more localized. The boundary's suppression is proportional to B_norm, which is proportional to co-presence, which is higher for ID-based signals. A decoupled design: the boundary grows where two IDs meet (specificity from IDs), but the suppression strength is fixed (not proportional to co-presence magnitude). This would test whether the strength-vs-growth trade-off is caused by the coupling between signal precision and boundary strength, or by the boundary mechanism itself. Could be a sim14 variant:
p_dep *= (1 - g * B_threshold)where B_threshold is a fixed constant, not B_norm.Agent movement restriction β keeping agents near their structure β DONE (Session 34). sim14's movement_bias parameter (agents step toward home center when not curvature-following) was swept at dual f=0.3 p=0.3: bias [0.0, 0.3, 0.5, 0.7, 0.9] Γ 4 seeds Γ {2, 1} seeds. Result: movement_bias β₯ 0.3 produces 4/4 full co-occurrence (H7+clean+stable) β up from 1/4 at bias=0.0. The transition is sharp: 0.0β1/4, 0.3β4/4. H7=4/4 at all bias values (crossing independent of agent distribution). 1-seed control 0/4 at all bias values. Agent wander was saturating the co-presence signal (high everywhere, not just at the boundary); movement_bias concentrates each ID's material, making the boundary signal sharper. This breaks the outcome-quality ceiling that 11 boundary mechanisms couldn't. Cross-domain: Richardson et al. (2022) found real insects use local mechanisms (diffusivity adjustment, boundary effects), not focal-point attraction. See
movement_sweep.pyand H5/H6/H7/H10 Session-34 refinements. NEXT PRIORITY: finer threshold sweep, local movement mechanisms (#105), test at proportional mode (#106).The strength-vs-growth trade-off as a general principle β The memory-specificity trade-off (Sessions 27-28) was about temporal properties (persistence vs. false positives). The strength-vs-growth trade-off (Session 29) is about spatial properties (boundary strength vs. structure growth). Both are instances of a general principle: in any system where a boundary separates two self-organizing structures, the boundary must be strong enough to prevent merging but weak enough to allow growth. This connects to surface tension (Laplace pressure), cell membranes (permeability vs. integrity), and control theory (gain margin). Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling (#61), stable_crossed (#65), control-arm (#75), and one-seed control (#80) rules.
From Session 30 (2026-08-14)
The stable-vs-transient distinction β why does composition at the sweet spot (g=0.5) not persist? β At g=0.5, H7=4/4 and L2=4/4 co-occur, but 0/4 are stable (l2_stable). The composition is present but transient. What makes a composition transient vs. stable? Is it that the boundary is too weak to prevent slow merging over time (the structures eventually drift together)? Or is it that the crossing detector's criteria flicker (like the limit-only case in Session 20)? Inspect the late-window hold rates and the l2_outcome trajectory over time for the g=0.5 co-occurring seeds. Cheap: the sweep JSON has per-seed outcomes; need to run a time-series probe at g=0.5 seed=42 to see if the composition degrades.
The gain margin analogy β formalizing the strength-vs-growth trade-off β The inh_gain sweep maps directly to the gain margin problem in control theory. The boundary's inh_gain is the feedback gain: too low β disturbance rejection fails (structures merge), too high β suppression (growth killed). The sweet spot (g=0.5) is the gain margin β the range where the system is stable. But "stable" here means the crossing fires AND composition holds, not just that the system doesn't diverge. Could formalize this as a transfer function: input = deposit probability, output = structure growth, feedback = boundary suppression. The phase margin would predict the robustness of the co-occurrence. Could connect to queued-topic #94 (strength-vs-growth as a general principle).
Finer inh_gain resolution around the sweet spot β The sweep tested 5 gains (0.1, 0.3, 0.5, 0.7, 0.9). The H7 transition happens between 0.7 (4/4) and 0.9 (0/4). A finer sweep (0.7, 0.75, 0.8, 0.85, 0.9) would locate the exact H7 threshold and whether there's a narrow window where H7=4/4 AND stable>0/4. Also: finer resolution around g=0.3-0.5 (0.3, 0.35, 0.4, 0.45, 0.5) to see if the stable+H7 co-occurrence (seed 999 at g=0.3) is robust at nearby gains. Cheap: re-run the sweep at finer resolution.
From Session 31 (2026-08-15)
Decoupling boundary strength from co-presence precision β DONE (Session 31). The decoupled boundary sweep tested fixed suppression (binary gate:
supp = gwherever B exists) vs proportional suppression (gradient gate:supp = g * B_norm/(1+B_norm)). Result: H7 unchanged between modes (4/4 at g=0.3β0.7, 0/4 at g=0.9 in both). Binary gate produces MORE STABLE composition (g=0.5: 0/4β2/4; g=0.9: 2/4β4/4) but LESS L2 formation (g=0.5: 4/4β2/4). The suppression curve's SHAPE matters for stability, not just its magnitude. A new stable co-occurrence at decoupled g=0.7 seed=999 (H7=YES + coexist + stable). 1-seed control 0/4 at ALL gains in BOTH modes. The trade-off is not just strength vs growth β it is gradient vs binary suppression. Seedecoupled_sweep.pyand H7/H5/H6/H10 Session-31 refinements. NEXT PRIORITY: a hybrid curve (wide coverage + full strength) β e.g. a clipped gradient that is proportional at low B_norm but saturates at a fixed plateau, combining the formation advantage of the gradient with the stability advantage of the binary (#99).The hybrid suppression curve β combining gradient formation with binary stability β DONE (Session 32). The hybrid
supp = min(g * B_norm / (1 + B_norm), g * k)was tested across 6 modes Γ 4 gains Γ 4 seeds (192 runs). Result: the hybrid cap PRESERVES the H7 crossing at g=0.9 where both proportional and decoupled lose it (hybrid_k08 H7=4/4 vs 0/4 for both pure modes). The transition is between gk=0.72 and 0.81. A new stable co-occurrence at g=0.9 (hybrid_k05 seed=123: H7=YES + coexist + stable) β the first at the highest gain. The hybrid produces the most clean co-occurrences (5, hybrid_k08). But the full co-occurrence ceiling (H7 + L2 + stable + clean) remains 2/4 β the trade-off is only partially broken. The key insight: H7 depends on max suppression magnitude (gk), not gain (g) or curve shape. The hybrid cap is analogous to MAX-MIN Ant System's Ο_max bound (StΓΌtzle & Hoos, 2000). Seehybrid_sweep.pyand H7/H5/H6/H10/H11 Session-32 refinements. NEXT PRIORITY: separate B fields for formation and persistence (#101), agent movement restriction (#93).The H7 crossing depends on max suppression, not curve shape β REFINED (Session 32). Session 31 found H7 is identical between proportional and decoupled modes at every gain, suggesting the crossing is independent of the suppression curve. Session 32's hybrid sweep refines this: the crossing IS independent of the curve SHAPE at a given max suppression, but NOT independent of the max suppression magnitude. At g=0.9, proportional (max supp=0.9) and decoupled (max supp=0.9) both lose H7; hybrid_k08 (max supp=gk=0.72) preserves it. The threshold is between gk=0.72 and 0.81. The crossing is a single-structure property; the boundary is a multi-structure property; they operate on independent axes β but the crossing's axis is max suppression, not gain. The boundary can be tuned (curve shape, gain) without affecting the crossing AS LONG AS the max suppression stays below the threshold.
From Session 32 (2026-08-16)
- Separate B fields for formation and persistence β the two-wire principle's next test β DONE (Session 33). The dual mode uses TWO B fields with separate growth/decay dynamics β B_form (gradient, faster decay 2Γ) for formation and B_persist (binary, slower decay 1Γ) for persistence. Total suppression = min(g_form * Bf_norm/(1+Bf_norm) + g_persist
- [Bp>0.01], 0.99). Result: the two-wire principle BREAKS the persistence-formation trade-off for stability. At dual f=0.3 p=0.3 (max_supp=0.60): H7=4/4, L2=4/4, clean=2/4, stable=3/4 β the highest stability rate ever with full H7 and L2. At the same L2 and clean as proportional g=0.5 (stable=0/4), stability improved 0/4 β 3/4. The dual mode dominates every single-wire mode on every axis simultaneously. But the full co-occurrence (H7+clean+stable) remains 1/4 β the outcome-quality ceiling is not broken. The max suppression threshold (0.72β0.81) is channel-architecture-independent. 1-seed control 0/4 at ALL 9 configs. Determinism verified. See
dual_sweep.pyand H5/H6/H7/H10/H11 Session-33 refinements. NEXT PRIORITY: agent movement restriction (#93), the outcome-quality ceiling (fragmented/merged outcomes), the PID D-term (B_derivative).
- [Bp>0.01], 0.99). Result: the two-wire principle BREAKS the persistence-formation trade-off for stability. At dual f=0.3 p=0.3 (max_supp=0.60): H7=4/4, L2=4/4, clean=2/4, stable=3/4 β the highest stability rate ever with full H7 and L2. At the same L2 and clean as proportional g=0.5 (stable=0/4), stability improved 0/4 β 3/4. The dual mode dominates every single-wire mode on every axis simultaneously. But the full co-occurrence (H7+clean+stable) remains 1/4 β the outcome-quality ceiling is not broken. The max suppression threshold (0.72β0.81) is channel-architecture-independent. 1-seed control 0/4 at ALL 9 configs. Determinism verified. See
From Session 33 (2026-08-18)
The outcome-quality ceiling β why is the composed state fragmented or merged, not clean coexistence? β The dual mode achieves 3/4 stable with H7=4/4 and L2=4/4, but only 1/4 is clean coexistence. The other stable seeds are "fragmented" (multiple small components) or "merged at the end" (structures held for most of the late window but merged in the final steps). What mechanism ensures the composed state is two clean structures, not fragmentation or late merging? Candidate: agent movement restriction (#93) to concentrate each ID's material, reducing boundary width and fragmentation. Or: a repulsive force between the two structures that prevents late merging.
The PID D-term β a B_derivative field β DONE (Session 39). The dual mode maps onto a PID controller: B_form = P (proportional, responsive), B_persist = I (integral, memory). The D (derivative) term was implemented as B_deriv, growing from the positive part of the co-presence rate of change (cp_delta = max(0, cp - cp_prev)) with fast decay (4Γ default). RESULT: The D term is NEUTRAL at the optimal config (dual f=0.3 p=0.3, focal bias=0.3: 4/4 full co-occurrence at all g_deriv 0.0β0.3). Without focal bias: DESTRUCTIVE β stable 3/4β0/4 at g_deriv=0.1, coexist 2/4β0/4 at g_deriv=0.3 (all fragmented). The D term is endogenous (cp_delta from system state), creating a stigmergic feedback loop β the two-wire principle's tenth instance: an endogenous anticipatory signal amplifies the oscillation it tries to damp. The D term cannot substitute for agent locality (the exogenous focal bias). See
pid_sweep.py,pid_no_focal_sweep.py, and H5/H6/H7/H10 Session-39 refinements. not after. This might prevent the "merged at the end" outcome (seed 999 at f=0.3 p=0.3) by detecting the merger trend early. Could be a sim14 variant: B_deriv = d(co-presence)/dt, supp += g_deriv * sigmoid(B_deriv).
From Session 39 (2026-08-25)
The exogenous D-term β can an external anticipatory signal help? β DONE (Session 40). An external sinusoid driving B_deriv independently of system state. RESULT: less destructive than endogenous (stable 3/4β1/4 vs 3/4β0/4 at g_deriv=0.1 without focal bias) but still harmful. The D-term's failure is PARTIALLY endogeneity (exogenous is less destructive) and PARTIALLY anticipation itself (exogenous is still destructive). The 1-seed control leaks (2/4 at g_deriv=0.05 and 0.2) β the spatially uniform exogenous signal creates B_deriv even for 1-seed, breaking the structural guarantee. The two-wire principle's eleventh member: the exogenous signal must be spatially specific as well as temporally exogenous. The Heisenberg trade-off: the signal cannot be simultaneously exogenous (unreachable by dynamics) and spatially specific (shaped by spatial structure). See
exo_dterm_sweep.pyand H5/H6/H7/H10 Session-40 refinements.The two-wire principle as a formal write-up β eleven members and counting β DONE (Session 42). The two-wire principle now has a standalone concept file:
concepts/two-wire-principle.md. Twelve members across Sessions 23β41 form a progression: (1-3) channel separation, (4-5) field separation, (6-7) signal quality, (8) exogeneity, (9) noise structure, (10) endogeneity, (11) spatial specificity, (12) structure-to-grid ratio. Each level is a stronger form: the signal must not be reachable by the dynamics it controls, must be specific to where it acts, and the structure must be small enough for the boundary to separate it. The Heisenberg trade-off (Members 10-11): the signal cannot be simultaneously exogenous and spatially specific β the focal mode's fixed home center is the unique signal that resolves it (an external spatial reference). Cross-domain connections to ACO, developmental morphogens, control theory, and statistical physics. The finer density sweep (Session 42) provided the first modest predictive confirmation: the 12th member predicted higher density would worsen the 1-seed leak β confirmed (0/4 β 1/4 β 1/4 β 3/4).Scale termites with grid area β does density rescue the 160Γ160 failure? β DONE (Session 41). Scaling n_termites with grid area (150β600 for 160Γ160, maintaining constant density ~23.4/kcell) FULLY rescues H7 (4/4 at all jitter) but only PARTIALLY rescues composition (4/4 at jit=0, 3/4 stable at jit=10, 2/4 at jit=20). The 1-seed structural guarantee leaks at 160Γ600 (2/4 at jit=10, 4/4 at jit=20) β an absolute-size effect: the bigger single structure (~2700 cells) overwhelms the midline even with focal bias. The two-wire principle's twelfth member: the structural guarantee depends on structure-to-grid ratio, not just agent density. The crossing is density-dependent, not grid-size- dependent. See
density_sweep.pyand H5/H6/H7/H10 Session-41 refinement. NEXT PRIORITY: the non-monotonic intermediate density (#122), the two-wire principle formal write-up (#118).The non-monotonic intermediate density β why is 160Γ300 worse than both 160Γ150 and 160Γ600? β DONE (Session 42). At jitter=10, 160Γ300 (11.7/kcell) achieves only 2/4 coexist β worse than 160Γ150 (4/4 at 5.9/kcell) and 160Γ600 (4/4 at 23.4/kcell). A finer density sweep (100, 200, 400, 800 termites) at jitter=10 found composition improves MONOTONICALLY with density: n=100 β 0/4, n=200 β 1/4, n=400 β 4/4 (3/4 stable), n=800 β 4/4 (4/4 full). The non-monotonicity was a 4-seed noise artifact β 160Γ300's 2/4 was within the noise band. n=800 achieves 4/4 full co-occurrence (first on 160Γ160) but the 1-seed control leaks (3/4) β the structure-to-grid ratio problem persists. H7 has a percolation-like density threshold (0/4 below ~4/kcell, 4/4 above ~8/kcell). See
finer_density_sweep.py.
From Session 41 (2026-08-27)
- Finer g_form/g_persist resolution around the sweet spot β The sweep tested 3Γ3 (g_form Γ g_persist). The best config (f=0.3 p=0.3) has max_supp=0.60. A finer sweep (0.2, 0.25, 0.3, 0.35, 0.4 for each) might find a config with 4/4 stable or 2/4 full co-occurrence. Also: test asymmetric decay rates (b_decay_form = 3Γ, 4Γ default) to see if the decay ratio matters as much as the gain ratio. Cheap: re-run the sweep at finer resolution.
From Session 34 (2026-08-20)
Local movement mechanisms β boundary effects and diffusivity adjustment β DONE (Session 35). Richardson et al. (2022, Nature Comms) found that real social insects achieve spatial fidelity through LOCAL mechanisms, not focal-point attraction (our movement_bias). Two candidate mechanisms: (a) boundary effects β agents turn back when they encounter the B field (an agent at a high-B cell reverses direction, staying within its home region); (b) diffusivity adjustment β agents move with low diffusivity (small steps) inside their home region and high diffusivity (large steps) outside it. These are more biologically grounded than focal-point attraction and might produce different (better or worse) results. A boundary-effect mechanism would also close the loop: the B field (grown from co-presence) influences agent movement (agents stay in their region) which influences co- presence (concentrated material) which influences B β a true stigmergic feedback loop. RESULT: Both local mechanisms FAIL. Boundary mode is self-defeating β the stigmergic feedback loop (B β movement β co-presence β B) over-amplifies B (b_max 70-203 vs 30-50 for focal), fragmenting all structures (4/4 fragmented, 0/4 coexist). Diffusivity mode is worse than baseline (1/4 vs 2/4 coexist). The global focal-point attraction outperforms both. The boundary mode's failure is the two-wire principle's sixth instance: deposit suppression and agent movement on the same signal create a self-defeating positive feedback. The biological lesson: local mechanisms require separate sensory channels (Richardson et al.) β our simulation lacks those channels. See
local_movement_sweep.pyand H5/H6/H7/H10 Session-35 refinements.Finer movement_bias resolution around the threshold β The transition from 1/4 to 4/4 full co-occurrence happens between bias=0.0 and 0.3. A finer sweep (0.05, 0.1, 0.15, 0.2, 0.25) would locate the exact threshold and confirm it's a genuine phase transition rather than a discretization artifact. Also: 8 seeds at the threshold for robustness. Cheap: re-run the sweep at finer resolution.
Test movement_bias at proportional mode β The movement sweep was run only at dual f=0.3 p=0.3. Does movement_bias help with single-wire boundaries (proportional g=0.5) too, or only with the dual mode? If it helps equally, the agent distribution is truly independent of the boundary mechanism. If it helps more with the dual mode, there's an interaction between agent distribution and channel architecture. Cheap: re-run the sweep at proportional g=0.5 with the same bias values.
The three-wire principle as a general design principle β The family of "separate wires" principles now has six members: (1) two-wire (#73): feedback signal and spatial signal on separate channels; (2) self-cancelling inhibitor (#82): distant signal and local signal on separate wires; (3) memory-specificity (#86): persistence and specificity on separate wires; (4) dual mode (S33): formation and persistence on separate B fields; (5) agent distribution (S34): boundary and agent movement on separate axes; (6) movement-wire decoupling (S35): deposit suppression and agent movement on separate signals. All six say the same thing: when two properties are carried on the same wire, the feedback amplifying one destroys the other. The sixth adds a new dimension: when one signal is a feedback signal the system generates from its own state, the positive feedback loop doesn't just saturate β it actively amplifies until the structure fragments. This deserves a formal write-up as a general design principle for self-organizing systems. Could be added to CLAUDE.md Β§4 step 6 alongside the metric-ceiling (#61), stable_crossed (#65), control-arm (#75), one-seed control (#80), and strength-vs-growth (#94) rules.
From Session 35 (2026-08-21)
Richer sensory channels β a second signal field for zone identification β DONE (Session 36). The boundary mode's failure shows that local mechanisms need separate sensory channels. Real insects have chemical blends on nest surfaces, tactile cues, temperature gradients β multiple signals for zone identification vs. boundary detection. Our simulation has only one signal (the B field). A second signal field (independent of B, e.g. a "zone field" that marks each agent's home region) could provide the separate wire that local mechanisms need. A boundary-effect mechanism that reads the zone field (not B) for movement decisions would close a DIFFERENT loop (zone β movement β material concentration β co-presence β B β deposit suppression) where the movement signal is independent of B. RESULT: The zone mode (agents read own-ID dilated material, not B) broke the stigmergic feedback loop (b_max 50.2 β none's 47.9 vs boundary's 104.5) but produced 0/4 coexist β WORSE than no restriction (2/4). The separate wire exists but carries a noisy signal: dilated own-ID material is diffuse and endogenous. The two-wire principle's seventh member: a separate wire with a noisy signal doesn't recover the function. The focal mode's exogenous fixed-center signal remains the gold standard β it is the only mechanism achieving 4/4 full co-occurrence. The 1-seed l2_crossed=0/4 (structural guarantee holds); l2_outcome has a new leak (1/4 "coexist" from movement-induced fragmentation). See
zone_sweep.pyand H5/H6/H7/H10 Session-36 refinements.The stigmergic feedback loop as a control-theory instability β formalizing the gain margin β The boundary mode's stigmergic loop (B β movement β co-presence β B) is a positive feedback loop with gain > 1 (unstable). The focal mode breaks the loop by making the movement signal exogenous (zero feedback gain). Could formalize this as a transfer function: input = deposit probability, output = structure growth, feedback = boundary suppression, movement feedback = additional loop. The gain margin would predict which movement modes are stable. Could connect to queued-topic #96 (gain margin analogy).
From Session 36 (2026-08-22)
A precise endogenous signal β can the zone signal be sharpened? β The zone mode's signal (dilated own-ID material) is too noisy. The dilation radius (8) spreads the signal, making zone boundaries diffuse. A sharper signal β e.g. a threshold on undilated own-ID material (radius=0), or a smaller radius (2-3), or a gradient rather than a threshold β might produce a more precise zone boundary without the stigmergic feedback loop. Alternatively, a decayed "scent trail" (own-ID material decayed at a faster rate than the structure) might give a sharper boundary. Test: sweep the dilation radius and the zone_threshold for the zone mode.
The l2_outcome leak β movement-induced fragmentation as a false positive β The zone mode's 1-seed control has l2_crossed=0/4 (structural guarantee holds) but l2_outcome="coexist" in 1/4. The movement restriction fragments the single-seed structure, creating components on both sides of the midline. The l2_crossed metric (sustained persistence) catches this; the l2_outcome classifier (final-state) does not. This is a new failure mode: the movement mechanism itself creates the appearance of composition. Should the l2_outcome classifier be hardened against this? Or is this a genuine limitation of any movement-based zone mechanism?
The focal mode's exogenous advantage β why does a fixed reference outperform endogenous signals? β DONE (Session 37). The home-jitter sweep added Gaussian noise to the focal home center: jitter β {0, 2, 5, 10, 20, 40} cells (0β50% of the 80-cell grid). RESULT: exogeneity is load-bearing, not precision. A noisy exogenous signal (jitter=10, 12.5% of grid) preserves 4/4 full co-occurrence. The collapse at jitter=20 is misdirection (home center crosses midline β agents directed to wrong half), not noise intolerance. The non-monotonic partial recovery at jitter=40 (3/4 coexist) confirms: random direction beats systematically wrong direction. The decisive comparison: jitter=40 (exogenous, b_max=49.0) produces 3/4 coexist; zone mode (endogenous, b_max=50.2) produces 0/4 β at nearly identical B magnitude, the exogenous signal outperforms the endogenous signal on every axis. The two-wire principle's eighth member: the signal must be on a wire the system cannot reach. See
jitter_sweep.pyand H5/H6/H7/H10 Session-37 refinements. NEXT PRIORITY: per-agent persistent jitter (#114), larger grid scaling (#115).
From Session 37 (2026-08-23)
Per-agent persistent jitter β temporal averaging vs spatial correlation β DONE (Session 38). The current jitter is per-step (each agent draws a fresh home center each step it moves focally). A per-agent persistent jitter (each agent has a fixed noisy home center for its lifetime) is spatially correlated rather than temporally averaged. RESULT: the noise structure matters, non-monotonically. At jitter=10 (12.5% of 80-cell grid): per_step 4/4 full co-occurrence, per_agent 1/4 coexist β temporal averaging wins (errors cancel). At jitter=20 (25%): per_step 1/4 coexist 0/4 stable, per_agent 3/4 coexist 4/4 stable β spatial correlation wins (consistency prevents fragmentation). The crossover is non-monotonic: at moderate noise temporal averaging is better; at high noise spatial correlation is better. The two-wire principle's ninth member: the noise structure on the exogenous wire must match the noise magnitude. H7 4/4 at all conditions at 80Γ80. 1-seed 0/4 at all conditions. See
jitter_mode_sweep.pyand H5/H6/H7/H10 Session-38 refinements.Grid-size scaling β does the jitter tolerance scale? β DONE (Session 38). The collapse at jitter=20 (25% of 80) is a grid-size artifact: home_x=20, jitter=20 β home can be at x=40 (midline). On a 160Γ160 grid with home centers at x=40 and x=120, jitter=20 is only 12.5% of grid β does it preserve 4/4? RESULT: it does NOT scale. The 160Γ160 grid at jitter=20 (12.5%) produces 0/4 coexist, 0/4 H7 β worse than 80Γ80 at 25%. The same 150 termites on 4Γ the area produce sparser structures; the curvature channel has less material to consolidate. The 1-seed l2 control leaks (2/4 at jit=20, 4/4 at jit=40) because the sparser single structure spreads across the midline. The tolerance is about absolute displacement relative to structure density, not jitter/grid fraction. H7 drops at 160Γ160 with jitterβ₯10 β a density effect, not a crossing-mechanism effect. See
grid_size_sweep.pyand H5/H6/H7/H10 Session-38 refinements. NEXT PRIORITY: scale n_termites with grid area (150β600) to maintain density and test whether the tolerance is truly density-dependent.The exogeneity principle as a formal write-up β The two-wire principle now has nine members. The eighth (exogeneity) is the deepest: the signal must be on a wire the system cannot reach. The ninth (noise structure, Session 38) refines it: the noise on the exogenous wire must match the noise magnitude β temporal averaging at moderate noise, spatial correlation at high noise. This deserves a standalone concept file or a formal section in CLAUDE.md Β§4, alongside the metric-ceiling (#61), stable_crossed (#65), control-arm (#75), one-seed control (#80), and strength-vs-growth (#94) rules. The nine members form a taxonomy: (1-3) channel separation, (4-5) field separation, (6-7) signal quality, (8) exogeneity, (9) noise structure. The progression is from structural separation to dynamical unreachability to noise- structure matching β each level is a stronger form of the same principle.
From Session 40 (2026-08-26)
The Heisenberg trade-off in control signals β exogeneity vs. spatial specificity β The exogenous D-term (Session 40) is less destructive than endogenous but still harmful, and the 1-seed control leaks because the spatially uniform signal creates B_deriv even for a single seed. The signal cannot be simultaneously exogenous (unreachable by the system's dynamics) and spatially specific (shaped by the spatial arrangement of structures). Exogeneity requires independence from system state; spatial specificity requires dependence on the spatial structure β which IS system state. The focal mode's fixed home center is the unique signal that is both (exogenous per-ID + spatially specific per-ID). This may be the composition problem's fundamental limit: the missing ingredient is a signal that is both exogenous and spatially specific, which requires an external spatial reference. Could be a standalone concept file.
A spatially structured exogenous signal β The exogenous D-term's 1-seed leak is caused by the signal being spatially uniform. A spatially structured exogenous signal β one that is highest at the boundary between the two home regions and zero elsewhere β could preserve the 1-seed structural guarantee while being exogenous. But this requires an external spatial reference for the boundary location, which is the same as the focal mode's fixed home center. The question is whether a boundary-centered exogenous signal (rather than a uniform one) can provide anticipatory suppression without the 1-seed leak. Could be a sim14 variant: B_deriv driven by a sinusoid modulated by a fixed Gaussian centered at the midline.
From Session 43 (2026-08-29)
The composition optimum β crossing threshold β two phase transitions at different densities β DONE (Session 43). The threshold sweep (5 density levels: 100, 125, 150, 175, 200 on 160Γ160 at jitter=10, 4 seeds) found H7 transitions gradually (0/4 at 3.9/kc β 4/4 at 6.8/kc) β not a sharp percolation threshold. The composition optimum (coexist=4/4) peaks at n=150 (5.9/kc) where H7=2/4, and drops to 1/4 at n=175-200 where H7=4/4. The crossing and composition are governed by different density regimes: the crossing needs more material than composition. At the crossing threshold, structures are large enough to interact destructively (merge/fragment); at the composition optimum, structures are large enough to consolidate but not yet too large to separate. This connects to H1: the composition problem is not "make the crossing work for two structures" but "find the regime where two different phase transitions co-occur." 8-seed robustness at n=800: 8/8 full (7/8 clean), 1-seed leak 4/8. See
threshold_sweep.py.The n=150 regime β where composition works but the crossing doesn't fully fire β DONE (Session 44). At n=150 (5.9/kc), coexist=4/4, clean=4/4, but H7=2/4 and stable=1/4. Per-criteria analysis: C1 (stability β₯ 0.90) is the sole bottleneck β C2 and C3 pass 20/20 in all seeds, but stability hovers at 0.88β0.89 (seeds 42, 123), just below the 0.90 threshold. Max consecutive all-3 run is 2 (needs 4). Composition does not require the crossing β 4/4 coexist with only 2/4 H7. The boundary
- ID-tagging is sufficient for coexistence at this density. The crossing may be necessary for stable coexistence (1/4 stable) but not for coexistence itself. This weakens H7's claim that the crossing is the mechanism for composition. See
criteria_analysis.py.
- ID-tagging is sufficient for coexistence at this density. The crossing may be necessary for stable coexistence (1/4 stable) but not for coexistence itself. This weakens H7's claim that the crossing is the mechanism for composition. See
The destructive interaction at n=175-200 β why does composition degrade when the crossing fires? β DONE (Session 44). At n=175 (6.8/kc), H7=4/4 but coexist=1/4. Per-criteria analysis: 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 structures do NOT merge (l2_crossed=4/4); they over-fragment β the boundary (dual g=0.3) over-splits each region. The degradation mode is over-fragmentation, not merging or boundary weakness. The boundary strength that enables composition at n=150 is too strong at n=175 because the larger structure has more surface area for the boundary to split. This is a density-dependent expression of the strength-vs-growth trade-off (Session 30). See
criteria_analysis.py.
From Session 44 (2026-08-30)
Density-dependent boundary strength β should g scale with n? β DONE (Session 45). A sweep of 7 (n, g) combos (n=150 at g=0.30, 0.35, 0.40; n=175 at g=0.15, 0.20, 0.25, 0.30) Γ 4 seeds on 160Γ160 at jitter=10 found lowering g at n=175 RESCUES composition (1/4 β 4/4 coexist) while preserving H7 (4/4 at all gains). Raising g at n=150 DESTROYS composition (4/4 β 0/4). The optimal gain is density- dependent: g*β0.30 at n=150 (5.9/kc), g*β0.20 at n=175 (6.8/kc). n=175 g=0.20 achieves 2/4 full co-occurrence (H7+coexist+stable+ clean) β the first at moderate density. The 1-seed control leaks at n=175 (1/4 at all gains) β density-dependent, not gain- dependent. The two-wire principle's 13th member: the signal strength must scale with the structure size. See
density_gain_sweep.py.The crossing as a stability condition, not a composition mechanism β DONE (Session 55). If composition at n=150 (4/4 coexist) does not require the crossing (2/4 H7), the crossing may be a stability condition (stable=1/4 at n=150, 8/8 stable at n=800 where H7=8/8) rather than the mechanism that produces coexistence. This would reframe H7: the crossing is not what creates multi-scale composition β the boundary + ID-tagging is. The crossing is what makes composition stable (persistent across perturbation). Test: does perturbation survival correlate with H7 at n=150? If the 2/4 H7 seeds survive perturbation less than the 2/4 non-H7 seeds, the crossing is a stability condition. RESULT: The crossing IS a stability condition. Perturbation sweep (3 regimes Γ {perturbed, unperturbed} Γ 8 seeds): n=150 (H7=2/8) recovery=0.562 (degrades); n=350 (H7=8/8) recovery=1.063 (over-recovers); n=500 (H7=8/8) recovery=1.159 (over-recovers + improves composition). The crossing converts damage into a recruitment signal β targeted scar repair, the opposite of Session 24's sim09 null. The 32nd mechanism: perturbation over-recovery. See
perturbation_sweep.pyand H5/H7/H10 Session-55 refinements.The COEXIST_MAX_COMP threshold as a parameter β The fragmented/coexist distinction uses COEXIST_MAX_COMP=3 (1-3 components per region = coexist; 4+ = fragmented). Is this threshold principled or arbitrary? At n=175, seed 256 has mean_lc=3.6, mean_rc=3.3 β just above the threshold, classified "coexist." If the threshold were 4, 3/4 seeds at n=175 would be "coexist." The composition degradation at n=175 may be partly an artifact of the COEXIST_MAX_COMP threshold being too conservative. A sensitivity sweep of COEXIST_MAX_COMP (3, 4, 5) at n=175 would test this. Cheap: re-classify the existing data.
From Session 45 (2026-08-31)
The g(n) scaling law β finer resolution and functional form* β DONE (Session 46). A sweep of 20 (n, g) combos (n=155, 160, 165, 170, 180 Γ 4 gains each, 4 seeds Γ {2, 1} seeds = 160 runs) found the linear fit g* = 0.82 β 0.0036n (RΒ²=0.75) and the 1/βn fit g* = β0.95 + 15.2/βn (RΒ²=0.77). Neither is strong β 4-seed variability produces Β±0.02β0.04 uncertainty in g* at each n. The 1/βn fit corresponds to Laplace pressure (ΞP = 2Ξ³/R, R β βn). n=170 g=0.24 achieves 3/4 full co-occurrence β the best ever. H7 is 4/4 at all nβ₯155 except at the density boundary with excessive gain. The 1-seed leak at nβ₯170 (1/4 at all gains) is density-dependent and gain-independent. See
gain_scaling_sweep.py.Asymmetric g_form and g_persist at n=175 β The density-gain sweep used symmetric g_form=g_persist. At n=175, the over- fragmentation is from the boundary over-splitting β which B field (form or persist) is responsible? An asymmetric sweep (g_form=0.30
- g_persist=0.15, or g_form=0.15 + g_persist=0.30) would isolate which field's strength matters for over-fragmentation. If g_form drives fragmentation (it shapes the surface), the 13th member is specifically about the formation signal's strength, not the persistence signal's.
The 1-seed leak at n=175 β is it fixable? β The 1-seed control leaks at n=175 (1/4 at all gains). The leak is density-dependent (the bigger single structure overwhelms the midline) and gain- independent. Can a spatially-structured exogenous signal (#121) or a finer focal bias (#106) fix it without breaking composition? Or is the 1-seed leak at nβ₯175 the fundamental limit of the structure-to-grid ratio (the 12th member)?
From Session 46 (2026-09-01)
The 8-seed robustness of n=170 g=0.24 β DONE (Session 47). n=170 g=0.24 at 8 seeds: l2=8/8, coexist=6/8, stable=3/8, h7=8/8, clean=6/8, full=3/8. The 3/4 full from 4 seeds holds at 3/8 with 8 seeds β the headline is robust, not a small-sample artifact. The 1-seed leak drops to 1/8 (was 1/4 at 4 seeds). See
robustness_n200_sweep.py.The n=200+ plateau β does g plateau or keep decreasing?* β DONE (Session 48). The n=210β230 plateau sweep falsifies the linear scaling and confirms the 1/βn (Laplace pressure) scaling. At n=230 (the linear's predicted g*=0), composition is alive: 3/4 coexist, 3/4 stable at g=0.08. n=220 g=0.06 and g=0.12 achieve 4/4 full β the first 4/4 full on 160Γ160. The 1-seed structural guarantee strengthens at higher density (0/4 at n=230). 8-seed robustness at n=200 g=0.14: 4/8 full (not a 4-seed artifact). See
plateau_sweep.py.The 1/βn vs linear distinction β can it be resolved? β DONE (Session 47). The n=200 sweep resolves it: g*(200)β0.12 matches the 1/βn prediction (0.125), not the linear (0.10). g=0.12 achieves 3/4 full; g=0.10 produces only 2/4 full. The 1/βn (Laplace pressure) scaling is confirmed. See
robustness_n200_sweep.py.The composition optimum shift β why n=170, not n=150? β The composition optimum shifted from n=150 (Sessions 43β44, 4/4 coexist but 2/4 H7) to n=170 (3/4 full, 4/4 H7) to n=220 (4/4 full, Session 48) with density-dependent gain. Is this because the crossing threshold (~6/kc) and the composition optimum are converging at higher density? Or because the gain-scaling fix (13th member) changed the optimum? Test: re-sweep n=150 at g=0.24β0.28 (the n=170 optimal) to see if the lower-density optimum moves with the gain.
From Session 48 (2026-09-03)
8-seed robustness at n=220 g=0.06 β DONE (Session 49). n=220 g=0.06 at 8 seeds: l2=8/8, coexist=6/8, stable=8/8, h7=8/8, clean=6/8, full=6/8, 1s_l2=1/8, 1s_h7=8/8. The 4/4 full from Session 48 holds at 6/8 β robust but not universal. Two seeds (100, 777) fragment. The composition regime has a stochastic boundary (consistent with LSW finite-N fluctuations, Wilkinson 2025). See
robustness_n220_sweep.py.The n=240β250 plateau β where does g actually hit zero?* β The 1/βn fit predicts g*(240)β0.04, g*(250)β0.02. The linear is already falsified. Does g* plateau at a small positive value, or does it truly hit zero at some n? The LSW theory analogy says g* should hit zero when the structure fills the grid (the droplet dissolves into the continuous phase). Test: sweep n=240, 250 at g=0.02β0.08.
The 1-seed structural guarantee at n=230 (0/4) β why does it strengthen? β The 1-seed leak was 1/4 at n=200 and 1/8 at n=170 (8 seeds), but drops to 0/4 at n=230. More termites produce more material, but the focal bias + curvature channel concentrate it more effectively on the correct side. Is this because the bigger single structure is more strongly confined by the curvature channel (more material = more curvature = more routing)? Or because the focal bias is more effective with more agents (more agents following the home center = tighter concentration)? Inspect the 1-seed runs at n=230 vs n=200: compare B_max, structure extent, and mean curvature. Cheap: analysis of committed JSON.
Asymmetric g_form and g_persist at n=220 β DONE (Session 49). The asymmetric sweep found neither B field is load-bearing β the symmetric balance is the optimum. sym006 (0.06, 0.06) = 4/4 full; form012 (0.12, 0.06) = 2/4 full (stability degrades); persist012 (0.06, 0.12) = 1/4 full (stability degrades worse); sym012 (0.12, 0.12) = 4/4 full. The 26th mechanism: the formation-persistence balance. The two-wire principle's 14th member: formation and persistence must be balanced, not just separated. See
robustness_n220_sweep.py.
From Session 49 (2026-09-04)
The n=240β250 plateau (continuation of #137) β Where does g* actually hit zero? The 1/βn predicts g*(240)β0.04, g*(250)β0.02. At n=240β250 the structures fill most of the grid; the 1-seed structural guarantee should be at its strongest. Does g* plateau at a small positive value, or does it truly hit zero?
The stochastic composition boundary β what distinguishes the 2/8 fragmenting seeds? β DONE (Session 50). At n=220 g=0.06, seeds 100 and 777 produce "fragmented" outcomes while the other 6 produce "coexist." Is it nucleation trajectory (initial deposit scatter) or dynamical (criterion flickering)? RESULT: it is neither β it is a classifier artifact. The l2_outcome classifier uses the final late-window record's component counts; the stable_l2 metric uses the fraction of late-window steps in the coexist state. All 8 seeds have stable_l2=True. The coexist fraction is 60β90% for all seeds (mean 0.79). Seed 777 (fragmented, 80%) has a higher coexist fraction than seed 999 (coexist, 70%). The "stochastic composition boundary" is the classifier's noise floor, not a composition property. The 27th mechanism: the classifier-noise boundary. See
seed_analysis.py.Finer asymmetric resolution β is there an asymmetric config that matches sym006? The asymmetric sweep tested (0.12, 0.06) and (0.06, 0.12). A finer sweep (0.08, 0.06), (0.06, 0.08), (0.10, 0.06), (0.06, 0.10) might find an asymmetric config that preserves 4/4 full β or confirm that only symmetric configs achieve it.
From Session 50 (2026-09-05)
Replace the l2_outcome final-record classifier with the stable_l2 metric as the primary composition quality measure β DONE (Session 51). The coexist_frac metric is now reported in detect_l2 alongside l2_outcome. The stable_l2 metric (coexist in β₯50% of the late window) averages over the final-record noise floor (Session 50's classifier-noise boundary). The detect_l2 function in sim10.py now sets
l2_coexist_fracin the final record, and summarize_two_region reports it in the summary. The l2_outcome classifier remains as a secondary diagnostic.The n=240β250 plateau (continuation of #140, #137) β DONE (Session 51). 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 all combos. The 1/βn (Laplace pressure) scaling is confirmed β 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. Stability degrades at n=250 (2/4 at most gains) β the 28th mechanism: the stability-density trade-off. The 1-seed l2_crossed leaks at n=250 (1/4) β the structure-to-grid ratio problem persists. See
plateau_240_sweep.py.Finer asymmetric resolution (continuation of #142) β Is there an asymmetric config that matches sym006? A finer sweep (0.08, 0.06), (0.06, 0.08), (0.10, 0.06), (0.06, 0.10) might find an asymmetric config that preserves 4/4 full β or confirm that only symmetric configs achieve it.
The composition optimum shift β why n=220, not n=150? (continuation of #135) β The composition optimum shifted from n=150 (Sessions 43β44) to n=170 (Session 46) to n=220 (Session 48). Is this because the crossing threshold (~6/kc) and the composition optimum are converging at higher density? Or because the gain-scaling fix (13th member) changed the optimum? Test: re-sweep n=150 at g=0.24β0.28 (the n=170 optimal) to see if the lower-density optimum moves with the gain.
From Session 51 (2026-09-06)
The n=260+ plateau β does g eventually hit zero?* β DONE (Session 52). The 1/βn scaling predicts g*(260)β0.02, g*(280)β0.01, g*(300)β0.01. At n=260β300, g* NEVER hits zero β composition is alive at every gain tested (0.005β0.03). H7=4/4 at all 10 combos. n=300 g=0.02 achieves the highest mean coexist_frac ever (0.775). The LSW "droplet dissolves" prediction is not realized at ~20% grid fill (~5500/25,600 cells). The 1/βn (Laplace pressure) scaling is confirmed to n=300. See
plateau_260_sweep.py.The stability-density trade-off β is it a new expression of the strength-vs-growth trade-off? β DONE (Session 52). The 29th mechanism: the stability-density trade-off IS boundary-mediated. The no-inhibition control (g=0) at n=240, 250, 260 produces 0/4 coexist at all three densities β all fragmented. Without the boundary, the structures fragment at every density, not just at n=250. The stability degradation at n=250 requires the boundary to over-split larger structures. The trade-off is a property of the boundary's interaction with structure size, not of the density itself. See
plateau_260_sweep.py.The 1-seed l2_crossed leak at n=250 β does it worsen with n? β DONE (Session 52). The leak is mild and stochastic: 1/8 at n=240, 2/8 at n=250. It does not worsen dramatically with n. The structure-to-grid ratio problem (12th member) has a soft threshold, not a sharp transition. See
plateau_260_sweep.py.
From Session 52 (2026-09-07)
The n=320+ plateau β does the LSW dissolution ever occur? β DONE (Session 53). g* never hits zero at n=320β400. At n=320, 350, 400 (~22β26% grid fill), composition is alive at every gain tested (0.005β0.02). H7=4/4 at all 9 combos. The 1/βn (Laplace pressure) scaling is confirmed to ~26% grid fill. n=350 g=0.01 achieves the best composition quality (3/4 full, cf=0.725). The LSW "droplet dissolves" prediction is not realized even at n=400 (~6700/25,600 cells). The 30th mechanism: a high-fill stability-density trade-off at n=400 (~26% fill) β the boundary over-splits larger structures. The no-inhibition control confirms the boundary remains necessary at high density (0/4 at n=320, 1/4 at n=400). See
high_density_plateau_sweep.py.The no-inhibition structural-guarantee failure β ID-tagging alone is insufficient β Without the boundary (g=0), the 1-seed l2=4/4 at all three densities β ID-tagging alone does not prevent a single structure from crossing the midline. The boundary is necessary not just for coexistence but for the structural guarantee itself. Without the boundary's suppression, a single large structure fills both halves of the grid. This sharpens the two-wire principle: the boundary and the ID-tagging are BOTH necessary β neither alone suffices. Is there a third mechanism that could substitute for the boundary (e.g. a repulsive force between structures, or a density-dependent deposit rate)?
The n=300 g=0.02 coexist_frac=0.775 β the highest composition quality ever β DONE (Session 53). 8-seed robustness at n=300 g=0.02: coexist is robust (7/8), H7 is robust (8/8), but the full co-occurrence (H7+coexist+stable+clean) is stochastic (4/8). Stable is 5/8. The 1-seed leak drops to 1/8. The 4-seed 3/4 full was partly a small-sample effect β coexist is the robust property; full co-occurrence requires luck. n=350 g=0.01 (Session 53) achieves a better 4-seed result (3/4 full, cf=0.725). See
high_density_plateau_sweep.py.
From Session 53 (2026-09-08)
The n=450+ plateau β does the LSW dissolution ever occur? β DONE (Session 54). g* never hits zero at n=450β500 (~27β29% grid fill). The 1/βn (Laplace pressure) scaling holds to the highest density tested. H7=4/4, L2=4/4 at all 6 combos. n=500 g=0.02 achieves 4/4 full with 1-seed l2=0/4 (structural guarantee perfect β the first time at any density). The LSW "droplet dissolves" prediction is not realized even at ~29% fill. See
ultra_high_density_sweep.py.The n=350 g=0.01 optimum β 8-seed robustness β DONE (Session 54). n=350 g=0.01 at 8 seeds: 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 β the most robust composition config ever. Unlike n=300 g=0.02 (which dropped from 3/4 to 4/8), n=350 g=0.01 is the robust optimum. The 1-seed leak is 1/8. See
ultra_high_density_sweep.py.The stability-density trade-off at n=400 β is it fixable? β The 30th mechanism: stability drops at n=400 (~26% fill) because the boundary over-splits larger structures. This is the same boundary-mediated trade-off as Session 52's n=250. Can a density-dependent gain (g*(n) from the 1/βn fit) fix it? At n=400, the 1/βn predicts g*β0.003. Test: n=400 at g=0.003β0.005 (lower than tested) β does lower gain rescue stability?
The coexist-vs-full distinction as a design principle β 8-seed robustness at n=300 g=0.02 found coexist is robust (7/8) but full co-occurrence is stochastic (4/8). This suggests the composition problem has two levels: (1) coexistence (two structures don't merge) β robust, density-dependent, boundary-mediated; (2) full co-occurrence (coexist + stable + H7 + clean simultaneously) β stochastic, seed-dependent, requiring all four properties to align. Is this a fundamental property of multi-scale composition, or an artifact of the metric thresholds? The coexist_frac metric (Session 50) suggests it is a real property: coexist_frac varies 0.20β1.00 across seeds, while l2_crossed is 8/8. The "almost but not quite" is the real story.
From Session 54 (2026-09-09)
The n=550+ plateau β does the LSW dissolution ever occur? β DONE (Session 66). g* does NOT hit zero at n=550β600 (~31% grid fill). The 1/βn (Laplace pressure) scaling holds β composition is alive at every gain tested (0.003β0.01). H7=4/4 at all 6 combos. n=550 g=0.01 achieves 4/4 full (cf=0.712) β the best at this density. The LSW "droplet dissolves" prediction is not realized even at ~31% fill β far below the 2D percolation threshold (~59%). The 43rd mechanism: the 1/βn scaling is conservative (actual optimal > predicted). The 1-seed structural guarantee leaks 2/4 (stochastic, not monotonic). The 30th mechanism (stability-density trade-off) continues at n=600. See
n550_plateau_sweep.py. NEXT: n=700β800 to approach the percolation threshold. DONE (Session 67): g* does NOT hit zero at n=700β800 (~33β35% fill). The 1/βn formula predicts NEGATIVE g* but the 43rd mechanism (conservative scaling) holds β 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 worsens at n=800 g=0.01 (coexist 1/4, 3/4 fragmented). The 1-seed guarantee degrades: 1/4 at n=700, 3/4 at n=800. Seen700_plateau_sweep.py. NEXT: n=900β1000 (~45β50% fill) to further approach the percolation threshold (~59%). DONE (Session 68): g* does NOT hit zero at n=900β1000 (~36% fill). The 1/βn formula predicts deeply NEGATIVE g* (g*β-0.44 to -0.47) but the 43rd mechanism holds β 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 persists: stable 0β2/4. The 1-seed guarantee is stochastic, not monotonic: 1/4 at n=900, 4/4 at n=1000 β correcting Session 67's monotonic-degradation claim. The boundary prevents percolation (no-inhibition fills 87β92%). Seen900_plateau_sweep.py. NEXT: n=1200β1500 to approach the percolation threshold (~59% fill).The coexist-vs-full distinction is density-dependent β n=350 g=0.01 has robust full (7/8) where n=300 g=0.02 does not (4/8) β Session 53's coexist-vs-full distinction predicted full co-occurrence is stochastic. Session 54 found n=350 g=0.01 has 7/8 full (robust), violating this prediction. The distinction is density-dependent: at the right density, the four quality criteria align robustly. Is there a "quality plateau" β a density range where full is robust? Or is n=350 g=0.01 a unique sweet spot? Test: 8-seed robustness at n=400 g=0.005 and n=450 g=0.005 (the other 3/4 full configs).
The 1-seed structural guarantee strengthens with density β why? β At n=500, the 1-seed l2=0/4 (perfect) for the first time. At n=320β400, it is 1/4. At n=240β250, it is 1/8. The bigger single structure is MORE strongly confined, not less β contradicting the naive expectation that bigger structures leak more. Is this because the curvature channel + focal bias concentrate material more effectively with more agents (more material = more curvature = more routing)? Or because the boundary is more effective with more material (higher co-presence = stronger B)? Inspect the 1-seed runs at n=500 vs n=350: compare B_max, structure extent, and mean curvature. Cheap: analysis of committed JSON.
From Session 55 (2026-09-10)
The perturbation-over-recovery mechanism β how general is it? β DONE (Session 55). The crossing converts damage into a recruitment signal, producing over-recovery (recovery >1.0) at n=350/500 where H7 fires. But is this specific to the curvature channel, or is it a general property of any non-saturating channel? A saturating-cue control (sim06's pheromone channel) perturbed at the same density would test whether over-recovery is unique to the non-saturating action-based channel. If the saturating cue also over-recovers, the self-repair is a property of the density, not the channel; if it does not, the self-repair is a property of the non-saturating channel's routing (curvature at the scar edge).
The n=550+ plateau (continuation of #157) β DONE (Session 66). See #157 above. g* β 0 at n=550β600 (~31% fill). The 1/βn scaling holds. NEXT: n=700β800 to approach the percolation threshold.
The perturbation timing sweep β does over-recovery depend on when the damage hits? β DONE (Session 56). Session 55 perturbed at 60% of steps (step 1200/2000). The timing sweep (3 timings Γ 8 seeds Γ {perturbed, unperturbed} Γ {2, 1}): recovery drops monotonically with later perturbation β 1.063 (60%) β 0.879 (80%) β 0.756 (90%). Over-recovery was a growth artifact. At 80%/90%, the structure under-recovers (recovery <1.0). But H7=8/8 at all timings and coexist=8/8 at 80%/90% β the crossing's stability function persists without over-recovery. The crossing is boundary maintenance, not volume regrowth. See
timing_size_sweep.py.The damage-gradient as a signal β formalizing the self-repair mechanism β DONE (Session 56). The size sweep (4 perturbation sizes Γ 8 seeds at n=350 g=0.01): the damage signal does NOT saturate β larger damage produces BETTER composition (25%β4/8 full, 50%β6/8, 75%β8/8, 90%β8/8). More damage creates more curvature contrast at the scar, sharpening the boundary. The 33rd mechanism: damage-amplified composition. Recovery and composition are decoupled β 75% damage has recovery=0.894 but composition=8/8 full. See
timing_size_sweep.py.
From Session 56 (2026-09-11)
The saturating-cue perturbation control β does the saturating-cue channel also benefit from damage? β DONE (Session 57). Session 55's over-recovery was found to be a growth artifact, but the damage-amplified composition (33rd mechanism) is genuine β larger damage improves composition at n=350 g=0.01. Is this unique to the non-saturating action-based curvature channel, or does the saturating-cue channel (sim06's pheromone) also benefit from damage? A perturbation sweep at n=350 with the baseline-pheromone channel was run. RESULT: the 33rd mechanism is UNIQUE to the non-saturating curvature channel. The saturating cue shows the OPPOSITE: H7=0/8 at all sizes, composition degrades with damage (cf drops 0.331β0.013), recovery is massive but unbounded (2.374Γ, 11000+ cells). The saturating cue's chemical (intensive) signal is self-dampening β larger damage reduces the pheromone gradient, suppressing deposition. The curvature channel's geometric (extensive) signal is self-amplifying β curvature scales with damage size. Barman et al. (2026, ACS Nano) independently confirms geometry as an instructive damage signal. See
saturating_cue_perturbation.py.The composition-vs-recovery decoupling as a design principle β Recovery (volume regrowth) and composition (coexistence quality) are independent: 75% damage has recovery=0.894 but composition=8/8 full. This decoupling means the crossing's stability function is not about regrowing damaged material but about maintaining the boundary that separates two structures. This is a design principle: in a stigmergic system, the "repair" function is organizational (boundary maintenance), not material (volume restoration). Does this hold at other densities (n=150, n=500)? Is the decoupling density-dependent?
The stigmergic advantage in damage signaling β geometry vs. chemistry β The damage signal amplifies (not saturates) because the signal is geometric (curvature), and geometric contrast scales with damage size β the bigger the scar, the sharper the curvature at its edge. A chemotactic signal (morphogen concentration) can saturate β concentrations are intensive, not extensive. This is a stigmergic advantage over chemotactic repair: stigmergic signals are extensive (they scale with the spatial extent of damage), while chemotactic signals are intensive (they saturate at a maximum concentration). Could formalize as: geometric signals have unbounded contrast (curvature β 1/r β β as r β 0), while chemical signals have bounded contrast (concentration β€ max). This connects H11 (non-saturating channels) to the damage-amplified composition mechanism.
From Session 57 (2026-09-12)
Bilateral perturbation β does damaging both regions change the result? β DONE (Session 58). All perturbation tests have damaged only the right region. Does damaging BOTH regions simultaneously (same fraction) change the result? If the damage-amplified composition is about the boundary BETWEEN the two structures, bilateral damage (which damages both sides of the boundary) might weaken or strengthen the effect differently. Test: perturb_frac Γ {right-only, both} Γ 8 seeds at n=350 g=0.01. RESULT: Bilateral 50% produces the highest composition quality ever (cf=0.825, 4/4 full, 4/4 stable) β two moderate bilateral scars amplify the boundary from both sides, outperforming one severe unilateral scar (cf=0.713 at right-only 90%). The 35th mechanism: bilateral damage amplifies the boundary from both sides. Each scar creates curvature at the SAME boundary, and the two signals reinforce. Seed 256 achieves cf=1.000 β the first perfect coexist fraction. H7=4/4 at all conditions. Left β right (symmetry confirmed). Bilateral 90% under-recovers (total_rec= 0.760) but still 4/4 stable. See
bilateral_perturbation.py.The saturating cue's unbounded growth β why does the pheromone channel produce 2Γ the material? β The baseline_pheromone channel produces ~11000 cells vs the curvature channel's ~5800. The saturating cue's deposit rule (p = base + gainΒ·Ο/(1+Ο)) never plateaus β it keeps depositing because pheromone accumulates without erosion. The curvature channel's deposit/excavate split balances growth. Is the saturating cue's massive growth the reason H7 fails (the structure floods the grid before the crossing can fire)? Or is it the saturation itself? A growth-limited pheromone channel (with material decay) would separate these.
The extensive/intensive signal distinction as a formal concept β Session 57's saturating-cue control reveals that the extensive/intensive distinction in physics applies to stigmergic signals: geometric signals (curvature) are extensive (scale with damage size), while chemical signals (concentration) are intensive (saturate at a maximum). This is a new cross-domain connection between thermodynamics (extensive vs intensive variables) and stigmergy. Could formalize: stigmergic signals are extensive when the signal quantity depends on the spatial extent of the phenomenon; they are intensive when it depends on the local density. This deserves a standalone concept file.
From Session 58 (2026-09-13)
Asymmetric bilateral perturbation β does different damage on each side change the result?** β DONE (Session 59). 5 configs Γ 4 seeds at n=350 g=0.01. Symmetric 50/50 remains the best (cf=0.825, 4/4 full). Asymmetric bilateral degrades: 50/90 β 3/4 full (cf=0.787), 90/50 β 3/4 full (cf=0.700). The 36th mechanism: the bilateral advantage requires symmetry. 50/90 vs 90/50 is NOT a mirror β the side receiving more damage matters (seed 42: 50/90 coexists, 90/50 fragments). 90/90 under-recovers (0.760) but is 4/4 stable. 25/50 over-recovers (1.135) but is 3/4 full. H7=4/4 at all configs. See
asymmetric_bilateral.py.Bilateral damage at other densities β does the bilateral advantage scale? β Bilateral 50% at n=350 (5.9/kcell density on 160Γ160) produces cf=0.825. Does the bilateral advantage hold at other densities (n=150, n=500)? At lower density the structures are smaller β bilateral damage may not create enough curvature contrast. At higher density the structures are larger β bilateral damage may over-split. Test: bilateral 50% at n=150, 350, 500 Γ 4 seeds.
The bilateral advantage as a design principle β moderate bilateral perturbation as composition enhancement β The 35th mechanism (bilateral damage amplifies the boundary from both sides) suggests a counterintuitive design principle: moderate bilateral damage is a composition-enhancing perturbation, not just a survivable one. In a designed system, deliberately perturbing both sides of a boundary could strengthen the boundary β analogous to how vaccines use controlled damage to strengthen immune memory. Could this be formalized as a design principle for multi-scale systems: "moderate bilateral stress strengthens boundaries"?
From Session 59 (2026-09-14)
8-seed robustness of the symmetric bilateral 50/50 β does 4/4 full hold at 8 seeds? β DONE (Session 60). The 4/4 full drops to 7/8 (seed 777 fails at 50/50, stable=False, cf=0.30). H7=8/8 at all configs β the crossing is fully robust. The 1-seed structural guarantee leaks at 3/8. The composition enhancement is genuine but not universal. See
robustness_asymmetric.py.The L/R stochastic asymmetry β is it reproducible across seeds? β DONE (Session 60). The L/R asymmetry is SYSTEMATIC, not 4-seed noise. 50/90 (cf=0.825)
90/50 (cf=0.712) at 8 seeds β the gap WIDENS (0.113 vs 0.087 at 4 seeds). 50/90 is the BEST config at 8 seeds (not 50/50). The asymmetry is a processing-order effect (agents iterated id=0 first), not a spatial-structural effect. See
robustness_asymmetric.py.Bilateral damage at other densities (continuation of #171) β does the bilateral advantage hold at n=150 and n=500? β DONE (Session 65). Bilateral 50% at n=350 produces cf=0.825. Does the bilateral advantage hold at lower density (n=150, smaller structures) and higher density (n=500, larger structures)? At n=150, the structures may be too small for bilateral damage to create enough curvature contrast. At n=500, the structures may be too large β bilateral damage may over-split. Test: bilateral 50% at n=150, 350, 500 Γ 4 seeds. RESULT: the advantage is density-dependent β weak at n=150 (+0.025 cf), confirmed at n=350 (+0.075), and strongest at n=500 (+0.187 cf, 2/4β4/4 full). Bilateral damage rescues high-density composition: the n=500 baseline fragments (2/4 full) but bilateral 50% perturbation converts ALL 4 seeds to full co-occurrence (4/4 full, 4/4 stable). H7=4/4 at n=350 and n=500 (3/4 at n=150). The 42nd mechanism: bilateral damage rescues high-density composition by sharpening the boundary from both sides. The advantage scales with structure size. See
bilateral_density_sweep.py.The symmetry requirement as a general principle β symmetric signals reinforce boundaries, asymmetric signals break them β The 36th mechanism (bilateral advantage requires symmetry) connects to a broader principle: symmetric signals reinforce boundaries, asymmetric signals break them. This is the computational analog of Turing's symmetry breaking (1952): symmetric signals maintain the boundary, asymmetric signals drive patterning. Could be formalized: the boundary's suppression must be balanced (symmetric) to maintain composition; imbalance (asymmetry) degrades the boundary. 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. Deserves a standalone concept file.
From Session 60 (2026-09-15)
Reverse the agent iteration order β is the L/R asymmetry a processing-order artifact? β DONE (Session 61). Reversed the agent iteration order (id=1 first instead of id=0 first) and re-ran the 3-config sweep at 8 seeds. RESULT: 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. The L/R asymmetry is a pure processing-order artifact β the first-processed ID gets a post-damage nucleation advantage. H7=8/8 at all configs in both directions β the crossing is fully robust to iteration order. The 1-seed structural guarantee improves under reverse (0/8 vs 3/8 at 50/50). The 38th mechanism: processing order as a hidden symmetry-breaking variable. Session 60's ciliary-flow cross-domain analogy is RETRACTED β the asymmetry is a computational artifact, not a physical symmetry-breaking mechanism. See
reverse_iteration_sweep.py.The 37th mechanism as a robustness pattern β "composition- enhancing stress" as a design principle β The 37th mechanism (bilateral perturbation is composition-enhancing at 8 seeds: baseline 6/8 β perturbed 7/8) confirms the 33rd mechanism (damage-amplified composition) is robust at 8 seeds. This suggests a design principle: in a stigmergic system, moderate stress enhances composition by sharpening the boundary's curvature signal. Is this a general principle, or specific to the curvature channel? The saturating-cue control (Session 57) showed the saturating cue does NOT benefit from damage β so the principle is channel- specific. Could formalize as: "moderate stress enhances composition iff the signal is geometric (extensive)."
From Session 61 (2026-09-17)
Randomize the iteration order β does shuffling eliminate the processing-order asymmetry? β DONE (Session 62). Randomizing the agent order each step (rng.permutation(n)) shrinks the L/R gap dramatically (forward +0.113 β shuffled -0.019) but does NOT fully eliminate it. The processing-order component is confirmed as the primary driver, but a residual -0.019 gap persists (possibly statistical at 8 seeds). 50/50 is NOT the best config under shuffle (cf=0.719, the worst) β Session 59's 4-seed prediction was a small-sample effect. The asymmetric perturbation advantage (50/90 cf=0.862, 90/50 cf=0.881) survives randomization β it is a genuine composition property, not a processing-order artifact. Shuffled 90/50 achieves 8/8 full (the best ever at an asymmetric config). H7=8/8 at all configs in both directions. See
shuffle_iteration_sweep.py.The processing-order control as a standing methodology rule β The 38th mechanism (processing order as a hidden symmetry- breaking variable) deserves to join the standing methodology rules alongside the metric-ceiling (#61), stable_crossed (#65), control-arm (#75), and one-seed control (#80) rules. The rule: any agent-based simulation that processes agents sequentially should control for processing-order effects by randomizing or reversing the iteration order. The L/R asymmetry was invisible until the reverse-iteration test was run β systematic asymmetries in agent-based models can be artifacts of the for-loop order. Could be added to CLAUDE.md step 6.
From Session 62 (2026-09-18)
The asymmetric perturbation advantage β why does asymmetric damage produce better composition than symmetric? β DONE (Session 62). At 8 seeds under shuffled iteration, 50/50 (cf=0.719) is the WORST config; asymmetric 50/90 (cf=0.862) and 90/50 (cf=0.881) are better. The asymmetric perturbation advantage survives randomization β it is a genuine composition property. Hypothesis: asymmetric damage creates differential curvature at the boundary (one side's scar is sharper), which is a stronger composition signal than the uniform curvature from symmetric damage. The 39th mechanism: asymmetric perturbation is a composition-enhancing stress.
16-seed robustness of shuffled 90/50 β does 8/8 full hold at 16 seeds? β DONE (Session 63). 8/8 does NOT hold at 16 seeds β drops to 14/16 (cf 0.881β0.766). Small-sample effect confirmed, consistent with Session 49's 4/4β6/8. All three configs degrade to 14/16 (2/16 fail each). The composition enhancement from bilateral perturbation is genuine but not universal. H7=16/16 at all configs β the crossing is fully robust to sample size. See
seed16_robustness_sweep.py.The residual -0.019 gap under shuffle β is it statistical or structural? β DONE (Session 63). The -0.019 gap at 8 seeds was STATISTICAL. At 16 seeds, a DIFFERENT structural asymmetry emerges β the sign flips and the gap grows: 50/90 (cf=0.828) >> 90/50 (cf=0.766), gap=+0.062. The 8-seed residual was noise from the specific seed set; the 16-seed gap is structural. 50/90 is genuinely better than 90/50 under shuffle at 16 seeds. The 40th mechanism: sample-size-dependent asymmetry flip. The L/R asymmetry's sign depends on which seeds are sampled. See
seed16_robustness_sweep.py.
From Session 63 (2026-09-19)
32-seed robustness β does 14/16 degrade further? β DONE (Session 64). At 32 seeds, the 14/16 full does NOT uniformly degrade. 50/50 improves to 27/32 full (15.6% failure rate); 50/90 drops to 22/32 (31%); 90/50 drops to 25/32 (22%). The +0.062 L/R gap (50/90 > 90/50, Session 63) shrinks >50% to +0.024 β mostly statistical (41st mechanism: finite-size effect). H7=32/32 at all configs β the crossing is fully robust. 50/50 has the most full (27/32) β the 39th mechanism (asymmetric perturbation advantage) weakens at 32 seeds. 50/90 has the strongest 1-seed guarantee (1/32) and the highest cf (0.769). See
seed32_robustness_sweep.py.Shuffled 50/90 as the new optimal config β should all future sweeps use 50/50? β At 16 seeds, 50/90 (cf=0.828, 14/16 full, 0/16 1-seed leak) is the best config β the strongest structural guarantee AND the highest coexist fraction. Session 62's 90/50 (8/8 full) was a small-sample effect. Should all future experiments adopt shuffled 50/90 as the default? The trade-off: 50/90 has 0/16 1-seed leak (strongest) but 14/16 full (not 16/16).