Watch an agent get stopped.
$ npx @thsky-21/thskyshield-demoAn agent repeats itself and gets stopped — about four seconds, no signup, no API key.
The whole run, exactly as it prints.
$ npx @thsky-21/thskyshield-demoA real capture of the published package, not a mock-up. The model call is simulated so the demo needs no LLM key, but the prices come from the same registry this product bills against and the decision around each call is the real one. Your own run will differ in one place only: the milliseconds.
What the four seconds prove.
The loop is caught by prompt fingerprint
The prompt is hashed locally — the text itself is never stored or sent. The same fingerprint comes back every step, and the counter climbs from ×2 at step 02 to ×19 at step 19, against a gate of 19. Nothing inside the agent notices; the gate is what does.
Every step is on the record before it runs
Each step is checked and recorded as it happens — which boundary it was weighed against, and what the verdict was. By step 19 the run has 19 identical prompts behind it and one gate left to cross. You can see the decision forming line by line rather than reading about it afterwards.
The run is stopped before the next call fires
Step 20 was denied before the model was called — not logged after the fact. 19 identical prompts were allowed; the 20th never ran. That is the whole difference between a boundary and a report.
Now point it at your own agents.
That was a local simulation. Point it at your own agents and the same engine runs in observe mode — it records what it would do and totals what that would have saved, without touching your runs.
Already ran it? Wrap your own loop in about five minutes →