--- grownet.contract.v5.json
+++ grownet.contract.v5.json (updated)
@@ -43,7 +43,8 @@
     "Deterministic wiring: growth reuses recorded mesh rules and tract/windowed wiring.",
     "Buses: inhibition decays multiplicatively; modulation resets to 1.0 each tick; step counter increments by 1 per tick.",
     "Windowed wiring (spatial focus): 'same' padding uses floor(center) with clamping; return value = unique source subscriptions.",
-    "Public APIs never throw on normal tick paths; growth is best‑effort and non‑disruptive."
+    "Public APIs never throw on normal tick paths; growth is best‑effort and non‑disruptive.",
+    "Pressure accumulates across ticks/inputs (streaks and aggregates) and cooldown gates enactment; growth is throttled (detect-many/enact-few); pre-allocation is always permitted."
   ],
   "behavior": {
     "slotSelectionAndCapacity": {
@@ -110,7 +111,7 @@
           "Layer.neuron_limit reached and policy on requesting neuron allows layer_growth_enabled."
         ],
         "action": [
-          "Region.request_layer_growth(saturated_layer) creates a small excitatory-only spillover layer, wires saturated → new with a modest probability (default p≈0.15)."
+          "Region.request_layer_growth(saturated_layer) creates a small excitatory-only spillover layer and wires saturated → new with p = 1.0 unless a policy explicitly overrides."
         ]
       },
       "region_growth (policy-driven)": {
@@ -130,6 +131,11 @@
           "Growth is best-effort; if wiring data are missing, skip silently.",
           "No cross-scope side-effects: region growth does not create slots or neurons directly; it only adds layers."
         ]
+      },
+      "pressureAndCooldownClarification": "Growth is evidence-driven over time, not a single-tick reflex. GrowNet may detect novelty pressure at multiple rungs (slot, neuron, layer, region) during the same tick, but growth is enacted only when (a) the relevant pressure signal has accumulated sufficiently across ticks/inputs (e.g., consecutive fallback streaks at the neuron level, or sustained saturation aggregates such as avg-slots and percent-at-cap+fallback at the region level), and (b) the applicable cooldown has elapsed as measured by the bus step clock (current_step). Enactment is throttled for stability and determinism: slot allocation may occur locally whenever capacity allows; neuron growth is bounded (e.g., at most one per layer per tick where applicable); layer growth is bounded to ≤ 1 new layer per region per tick; and any future dynamic region creation should be bounded at the system level (e.g., ≤ 1 new region per system tick). Pre-allocation is always permitted as a hyperparameterized starting point: any rung (including Regions) may be initialized with pre-allocated capacity (e.g., N regions at bootstrap), and dynamic growth is an optional escalation mechanism layered on top of that baseline.",
+      "preallocation": {
+        "permitted": true,
+        "note": "Pre-allocation is a supported baseline. Regions are typically pre-allocated today; dynamic region creation is future/system-level policy."
       }
     },
     "spatialFocusWindowedWiring": {
@@ -1253,7 +1259,7 @@
     },
     "style": {
       "identifiers": {
-        "rule": "No single- or double-character identifiers anywhere, including loop indices."
+        "rule": "Avoid single- or double-character identifiers; loop indices may use i/j when idiomatic."
       },
       "python_mojo": {
         "public_naming": "No leading underscores; snake_case for public names."

--- CONTRACT_RENDER.md
+++ CONTRACT_RENDER.md (updated)
@@ -20,6 +20,7 @@
 - **Two-phase tick** (A integrate/select/fire, B propagate; then end_tick + bus.decay).
 - **Bus decay**: inhibition decays multiplicatively; modulation resets to 1.0; step increments each tick.
 - **Growth escalation**: Slots → Neurons → Layers → Regions (bounded and deterministic).
+- **Pressure & cooldowns:** pressure accumulates across ticks (streaks/aggregates); cooldown gates enactment; detect-many/enact-few; pre-allocation is always permitted.
 - **One growth per region per tick** (region-level safety invariant).
 - **Deterministic autowiring**: mesh rules + tract reattach.
 - **Windowed wiring**: SAME/VALID center rule, dedupe, return **unique source count**.

--- README.md
+++ README.md (updated)
@@ -18,3 +18,6 @@
 2) (Optional) Generate/verify canonical JSON  
 3) (Optional) Run contract-driven parity tests per language
 
+## Growth pressure and cooldown clarification
+- Contract field: `behavior.growthEscalation.pressureAndCooldownClarification`
+- Clarifies that pressure accumulates across ticks and cooldown gates enactment; detect-many/enact-few; pre-allocation is permitted.
