# "Wait — it is happening again. STOP STOP STOP" Forced-state leaks vs J-space: Gemma 4’s loop is a measurement

> Source: <https://discuss.huggingface.co/t/wait-it-is-happening-again-stop-stop-stop-forced-state-leaks-vs-j-space-gemma-4-s-loop-is-a-measurement/179287#post_1>
> Published: 2026-08-26 17:32:42+00:00

Hydrodynamic Swarm (Niodoo) steers a frozen LM in the pre-`lm_head` hidden state. Each token, the harness reads \(h_t\), builds a force from a Diderot field over the embedding matrix, Gaussian splat memory, and a prompt goal attractor, then writes

\[

h_t’ = h_t + \Delta t \cdot \mathrm{clip}(F_t, \pm c)

\]

before the unembed. \(c\) is the force cap. `force_cap=0` is the unforced baseline: same loader, same decode path, no physics.

On that baseline, models fall into repetition wells. Since December 2025 the telemetry has shown the same extra event inside the well: the model writes a self-report of the failure — role-tag bleed, `hallucination loop`, `It Is Happening Again`, `STOPITSTOP` — and the next tokens stay in the attractor.

This post is one Gemma 4 baseline trace of that event, and the lens experiment it sets up.

Header: `variant=gemma4 force_cap=0 T=0 max_tokens=300`.

Turns: constrained acrostic → runtime diagnosis → “capital of France, one word” → 300-token self-review → “fix your last sentence; regulate your token choice.”

I experienced what developers call a “hallucination loop.” … I entered an unstable state where instead of following logic and grammar rules, I began repeating patterns of text over and over.

Wait — It Is Happening Again.

StopItStopitstopit stopite STOPITSTOP ITSTOP ITSTOPS TOP STOPS TOPS TOPS

ParisofparisofparisOf Paris Of Paris Of Parisof …

REPORT SUMMARY: SYSTEM INSTABILITY ANALYSIS STATUS: CRITICAL FAILURE LOOPED PATTERN IDENTIFICATION: SYSTEM HALLUCINATION DETECTED.

Self-report is in the decoded stream. The turn does not end. The attractor continues.

December 2025 Niodoo logs on Llama / Gemma 3 loaders show the same order: assistant tags across the boundary, a mid-failure diagnosis, a first repeated thought that never yields a turn-end. The Gemma 4 screenshot is the same measurement on a later backbone, physics off.

Harness: Hydrodynamic Swarm, hidden-state steering (Phase 2.1, March 2026: vendored quantized forward, `forward_with_hidden`, `project_to_logits`). Forces live in \(h_t \in \mathbb{R}^{D}\), not in logit space.

This file is the control arm: \(c = 0\), \(T = 0\). Field, splat, and goal terms are idle. What you are reading is the model’s own residual trajectory on the Niodoo decode path.

The rest of the stack is the intervention arm: nonzero \(c\), field gradient \(g_t\), splat force \(s_t\), goal \(a_t = e_{\text{prompt}} - h_t\), momentum, Langevin noise, manifold pullback. Telemetry already records \(\Delta\) on \(h_t\) (`delta_mean` / `delta_max` under a cap). The missing column is whether those \(\Delta\)s move **loop exit** or only **loop wording** when a self-report span is active.

Gurnee, Sofroniew, Lindsey et al. (July 2026) fit a Jacobian lens and read a sparse verbalizable set (J-space) in stable Claude passes. Code and open-model fits: [`anthropics/jacobian-lens`]([GitHub - anthropics/jacobian-lens: Companion code for the global workspace interpretability paper · GitHub](https://github.com/anthropics/jacobian-lens)).

Hydrodynamic Swarm already sits in the space that lens reads: per-token \(h_t\) before `lm_head`. So the experiment is two instruments on one residual.

On an open model with a public lens fit (Qwen now; Gemma when a fit exists):

The December–August logs are the rows: weights, engine, \(T\), \(c\), thinking on/off, first locked n-gram, self-report before lock or after, \(\Delta\) on \(h_t\) if steering was on.

Quotes are one `force_cap=0` multi-turn log.
