VolvenceZero invariants
R1–R15 and R-PE define the contract every research-lab plugin must respect. A plugin that contradicts an invariant cannot be promoted out of DISABLED.
Synced from external/VolvenceZero/archetecture.md and docs/next_gen_emogpt.md.
| R-ID | Invariant | Primary owner | Why it matters |
|---|---|---|---|
| R1 | Multi-timescale nested learning | vz-runtime | online-fast / session-medium / background-slow / rare-heavy loops are isolated. SSL compression and RL reinforcement alternate; no loop is allowed to silently own another loop's parameters. |
| R2 | Stable substrate, adaptive controllers | vz-substrate | The base model stays frozen or near-frozen; online adaptation happens in bounded controller / memory / credit layers. Rare-heavy substrate refresh is gated by ModificationGate.OFFLINE. |
| R3 | Temporal abstraction is a first-class capability | vz-temporal | Segment closure beta_t and latent controller code z_t are real runtime objects, not heuristics over text. They are learned, not hand-coded. |
| R4 | Latent control over token control | vz-temporal | Long-horizon behaviour is learned in temporal controller state (z_t, beta_t). Token-space long-horizon RL is forbidden — a paper that requires it conflicts with R4 and cannot be promoted past SCAFFOLDED. |
| R5 | Memory continuum — independent strata | vz-memory | Transient / episodic / persistent / derived-index memory strata are independent owners. External code may not write a stratum directly. |
| R6 | Reflection-backed memory readouts | vz-memory | Background-slow reflection produces the memory summaries consumed by other modules. Consumers never rebuild summaries on demand. |
| R7 | Dual-track learning (World vs Self) | vz-cognition | World-model and Self-model evolve on separate tracks. Neither reads the other's snapshots; collapsing them into one objective is forbidden. |
| R8 | Snapshot-only exchange (contracts SSOT) | vz-contracts | Every runtime region has a unique primary owner; cross-module exchange runs through immutable snapshots registered in docs/DATA_CONTRACT.md. Consumers do not rebuild producer-internal state. |
| R9 | Credit layering | vz-cognition | Credit assignment lives on the controller layer. Rare-heavy artifacts (LoRAs, steering vectors) reach the model only through ModificationGate. |
| R10 | Self-modification gating | vz-cognition | ModificationGate enforces validation margin + capacity cap + audit-evidence; bypass is forbidden. Two-gate evaluation is the spec floor (DM-4). |
| R11 | Nameable, publishable internal state | vz-cognition | Nine semantic owners — plan_intent / commitment / open_loop / user_model / execution_result / belief_assumption / relationship_state / goal_value / boundary_consent — each publish their own snapshot. |
| R12 | Evaluation covers existence, not just task | vz-cognition | Six evaluation families are read-only readouts. They MUST NOT be wired backwards as a learning source; LLM-judge is readout, never gate. |
| R13 | SSL ↔ RL alternation | vz-runtime | Self-supervised compression and reinforcement alternate cleanly. Reinforcement targets the compressed, structured substrate — not raw token streams. |
| R14 | Persistent regime identity | vz-cognition | Regime is a runtime state with persistent identity, never a prompt tag. Detection is semantic / learned, never keyword matching. |
| R15 | Migration must stay interpretable and rollback-able | vz-runtime | Every new adaptive layer enters through WiringLevel = {DISABLED, SHADOW, ACTIVE}, with an owner, exit conditions, and evidence before widening consumer radius. |
| R-PE | Prediction error is the primitive signal | vz-cognition | prediction_error is the primitive learning signal; credit, evaluation, needs, homeostasis are all readouts of it. Anything proposed as 'the' new learning signal is suspect. |