LOKI LogoLOKI CHAOSv1.11.0

Changelog v1.11.0Latest

"Poisoned Well" client storage, quota & temporal chaos (--state-chaos), loki-chaos CLI alias, and Windows .exe installer.

v1.11.0LatestOct 24, 2026Syncing from GitHub…

Added

  • "Poisoned Well" — Client Storage, Quota & Temporal Chaos (src/loki/engine/state_chaos.py):
    • Storage Schema & JSON Rot (localStorage / sessionStorage): Mid-session corruption of persisted keys with truncated JSON, JavaScript trap literals ("undefined", "null", "NaN"), type swaps, and schema stripping (including Zustand/Redux-Persist {state, version} envelopes), with automatic sensitive token redaction via NetworkScrubber.
    • Storage Quota Exhaustion (QuotaExceededError): Overrides Storage.prototype.setItem to throw DOMException("QuotaExceededError") and verify graceful fallback when browser storage is full or restricted.
    • Temporal Clock Drift (Date.now / new Date): Shifts the client JavaScript clock forward mid-session (+1h, +2h, +24h) to surface stale JWT expiry loops, countdown bugs, and cache TTL anomalies.
    • Poisoned Reload Survival (page.reload()): Reloads the page after poisoning client storage to detect whether the application survives state rehydration on boot or bricks itself on a white screen ([UI Freeze / Poisoned Reload Collapse]).
    • Deterministic Replay & Reporting: Full replay support in generated repro_test.py scripts, --state-chaos / --no-state-chaos CLI flags, state_chaos: configuration in .loki/config.yaml, and a dedicated *"Poisoned Well"* telemetry card in report.html.
  • CLI Alias: Added loki-chaos entry point alongside loki.
  • Windows Installer (installer/):
    • Inno Setup wizard (loki-setup-windows-amd64.exe) with custom install path, automatic PATH setup, desktop/Start Menu shortcuts, folder right-click "Open LOKI Chaos here", and optional Playwright Chromium setup.
    • PE publisher metadata on the Windows binary and a code-signing workflow (installer/sign_windows.ps1).

Changed

  • Branding: Unified product display name as LOKI Chaos across CLI output, HTML reports, reproduction templates, installer, and documentation.
  • Selective CI (.github/workflows/loki.yml): jobs are path-filtered so only the relevant ones (tests, security, packaging, chaos) run for a given change, with a fast push matrix.
  • Release workflow: the PyPI publish job now runs in the pypi environment.
  • loki init now suggests loki run <url> instead of python -m loki.cli run <url>.
  • The scaffolded .loki/config.yaml uses ai.model: gemini/gemini-flash-latest, identical to the bundled default, and no longer counts as a customized AI connection.

Documentation

  • Streamlined README.md with quickstart installation options (PyPI, Windows Installer, standalone binaries) and links to the official documentation (https://loki-agent.pages.dev).
  • Updated SECURITY.md supported-versions table to track the latest release and main.

Bug Fixes

  • Close-Match Suggestions for Unknown --device Aliases (src/loki/engine/devices.py, src/loki/cli.py, #28, PR [#29](https://github.com/Elabsurdo984/loki-agent/pull/29)):
    • When loki run --device receives an unrecognized name, the CLI warning now suggests up to 3 close matches from built-in aliases and Playwright's device catalog (Did you mean: ...?).
  • **Safe Target URL Embedding in Generated Repro Scripts (src/loki/engine/reporter.py, src/loki/templates/*.tmpl, #25, PR [#32](https://github.com/Elabsurdo984/loki-agent/pull/32))**:
    • IncidentReporter now embeds report.target_url as a repr() Python literal in TARGET_URL and template docstrings so URLs containing quotes or backslash sequences always produce compilable repro_test.py scripts.
  • Early --orientation Validation (src/loki/cli.py, #33, PR [#36](https://github.com/Elabsurdo984/loki-agent/pull/36)):
    • --orientation is now validated at parse time via a case-insensitive OrientationChoice (portrait | landscape), rejecting invalid values with exit code 2 before any browser session starts.

Contributors

Upgrade

bash
uv tool upgrade loki-chaos-agent
# or directly from LOKI:
loki update