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 viaNetworkScrubber. - Storage Quota Exhaustion (
QuotaExceededError): OverridesStorage.prototype.setItemto throwDOMException("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.pyscripts,--state-chaos / --no-state-chaosCLI flags,state_chaos:configuration in.loki/config.yaml, and a dedicated *"Poisoned Well"* telemetry card inreport.html.
- Storage Schema & JSON Rot (
- CLI Alias: Added
loki-chaosentry point alongsideloki. - Windows Installer (
installer/):- Inno Setup wizard (
loki-setup-windows-amd64.exe) with custom install path, automaticPATHsetup, 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).
- Inno Setup wizard (
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
pypienvironment. loki initnow suggestsloki run <url>instead ofpython -m loki.cli run <url>.- The scaffolded
.loki/config.yamlusesai.model: gemini/gemini-flash-latest, identical to the bundled default, and no longer counts as a customized AI connection.
Documentation
- Streamlined
README.mdwith quickstart installation options (PyPI, Windows Installer, standalone binaries) and links to the official documentation (https://loki-agent.pages.dev). - Updated
SECURITY.mdsupported-versions table to track the latest release andmain.
Bug Fixes
- Close-Match Suggestions for Unknown
--deviceAliases (src/loki/engine/devices.py,src/loki/cli.py, #28, PR [#29](https://github.com/Elabsurdo984/loki-agent/pull/29)):- When
loki run --devicereceives 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: ...?).
- When
- **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))**:IncidentReporternow embedsreport.target_urlas arepr()Python literal inTARGET_URLand template docstrings so URLs containing quotes or backslash sequences always produce compilablerepro_test.pyscripts.
- Early
--orientationValidation (src/loki/cli.py, #33, PR [#36](https://github.com/Elabsurdo984/loki-agent/pull/36)):--orientationis now validated at parse time via a case-insensitiveOrientationChoice(portrait|landscape), rejecting invalid values with exit code 2 before any browser session starts.
Contributors
- @Elabsurdo984
- @rahul05ranjan made their first contribution (PR [#32](https://github.com/Elabsurdo984/loki-agent/pull/32)).
- @Vamsi-2581 made their first contribution (PR [#29](https://github.com/Elabsurdo984/loki-agent/pull/29)).
- @KingEmma7 made their first contribution (PR [#36](https://github.com/Elabsurdo984/loki-agent/pull/36)).
Upgrade
bash
uv tool upgrade loki-chaos-agent# or directly from LOKI:loki update