loki-mode 11.63.8 → 11.63.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +2 -2
- package/VERSION +1 -1
- package/dashboard/__init__.py +1 -1
- package/docs/CLI-REFERENCE.md +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/docs/v10/FAILURE-CLASSES.md +16 -0
- package/loki-ts/dist/loki.js +1143 -1141
- package/mcp/__init__.py +1 -1
- package/package.json +2 -2
- package/packages/control-plane/dist/server.js +8 -3
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-MRok4gpK.js → AdminPage-DVMNRlUX.js} +1 -1
- package/web-app/dist/assets/{Avatar-C5naIgXq.js → Avatar-BNJ5Hy3D.js} +1 -1
- package/web-app/dist/assets/{Badge-zigD7yw6.js → Badge-kTzAMem_.js} +1 -1
- package/web-app/dist/assets/{Button-DcMIUy9q.js → Button-CIPzEBGi.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-D7Bunb6e.js → CockpitPage-Cnekildp.js} +1 -1
- package/web-app/dist/assets/{ComparePage-r1MlVPTe.js → ComparePage-CLR-fJb-.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-Dk4uHaS4.js → ErrorBoundary-WSSOc7ES.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-C9ab9NGb.js → EvidenceReceiptPanel-5mVPOgON.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-DXE21JW5.js → GitHubIssuesPanel-CkcGGhlu.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-CEEJDQaF.js → GitHubPRsPanel-2Zie2x_4.js} +1 -1
- package/web-app/dist/assets/{HomePage-Cc1RJgQP.js → HomePage-DI8GDmWZ.js} +2 -2
- package/web-app/dist/assets/{LoginPage-BgK3Un7s.js → LoginPage-DxaGdSYM.js} +1 -1
- package/web-app/dist/assets/{MagicPage-DracOHYk.js → MagicPage-DyvUmyQQ.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-dpzE7rHk.js → MetricsPage-DMAyTD9l.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-CwR1prG_.js → NotFoundPage-Cf21HwA9.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-DDeC9Cfy.js → ProjectPage-DW7ukkoR.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-o3OfxJRf.js → ProjectsPage-CCus6FE7.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-PI85tG1v.js → SettingsPage-Dz9uez0N.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-iYe1cAHf.js → ShowcasePage-C5LpPIbE.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-B-dy7aEZ.js → SystemSettingsPage-CRKU-Cry.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-CKN0wlJv.js → TeamsPage-Brk-Kvz_.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-2Kkm5kRO.js → TemplatesPage-CoozICfx.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-CsrWjt5Z.js → TerminalOutput-VgpLSPkM.js} +1 -1
- package/web-app/dist/assets/{activity-DRUoEUMH.js → activity-J2SLOoNT.js} +1 -1
- package/web-app/dist/assets/{bell-DVtpHIbp.js → bell-BpycUrjA.js} +1 -1
- package/web-app/dist/assets/{bot-DQR3Z51i.js → bot-tblN7jAd.js} +1 -1
- package/web-app/dist/assets/{check-Cuz-bgBo.js → check-7SqhHzzP.js} +1 -1
- package/web-app/dist/assets/{chevron-left-D6t1u2bZ.js → chevron-left-ntaBx_xF.js} +1 -1
- package/web-app/dist/assets/{circle-alert-BrbRSY0L.js → circle-alert-BBSjoKIc.js} +1 -1
- package/web-app/dist/assets/{clock-Ch7TiuRG.js → clock-_dswOp5X.js} +1 -1
- package/web-app/dist/assets/{cloud-D9FgjItJ.js → cloud-DKOb75-2.js} +1 -1
- package/web-app/dist/assets/{code-xml-CTOxq-IZ.js → code-xml-D18z-R40.js} +1 -1
- package/web-app/dist/assets/{database-BXiIVvsI.js → database-DIncPJaM.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-DSOoLXMA.js → dollar-sign-BYygqtPF.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-BSZSLbUC.js → file-code-corner-BkQxBzA8.js} +1 -1
- package/web-app/dist/assets/{file-plus-wDq2a4vY.js → file-plus-DQRpTsb-.js} +1 -1
- package/web-app/dist/assets/{globe-DJKmdNYO.js → globe-Cb9UTYDC.js} +1 -1
- package/web-app/dist/assets/{hammer-DL5Cuz8k.js → hammer-CWs4fhYA.js} +1 -1
- package/web-app/dist/assets/{index-D7h5Efxx.js → index-DhSRa3OQ.js} +3 -3
- package/web-app/dist/assets/{layers-BMAnvaPd.js → layers-C9izFUFb.js} +1 -1
- package/web-app/dist/assets/{loader-circle-21-GyiHr.js → loader-circle-BDCpAcJw.js} +1 -1
- package/web-app/dist/assets/{lock-D1n5V1WB.js → lock-DJ1UtPoh.js} +1 -1
- package/web-app/dist/assets/{package-BZQKnof2.js → package-Dozswt2D.js} +1 -1
- package/web-app/dist/assets/{plus-DcZZjvq4.js → plus-CLQz8B-L.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-DhVQ14GV.js → refresh-cw-CZ2b-hL5.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-B3FdQA22.js → rotate-ccw-CgX6ORxy.js} +1 -1
- package/web-app/dist/assets/{scroll-text-CeT_KqRE.js → scroll-text-B2BrQ69A.js} +1 -1
- package/web-app/dist/assets/{server-DqUuxOrt.js → server-BFaVBWgX.js} +1 -1
- package/web-app/dist/assets/{shield-alert-BtatVxYq.js → shield-alert-xpurE7SL.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-D4fCUUuq.js → thumbs-up-Cn-1rP6c.js} +1 -1
- package/web-app/dist/assets/{trash-2-BHNJqbo6.js → trash-2-SyTF24MM.js} +1 -1
- package/web-app/dist/assets/{trending-down-CPggV6Fp.js → trending-down-B00sbl8f.js} +1 -1
- package/web-app/dist/assets/{trending-up-CnR04ozf.js → trending-up-s2d_s3Dt.js} +1 -1
- package/web-app/dist/assets/{upload-DGc43kol.js → upload-Cmg63NHC.js} +1 -1
- package/web-app/dist/assets/{usePolling-CJr1dy5R.js → usePolling-C11hGYdh.js} +1 -1
- package/web-app/dist/assets/{user-45NLDfA3.js → user-lWcI4YnK.js} +1 -1
- package/web-app/dist/index.html +1 -1
package/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: loki-mode
|
|
|
3
3
|
description: Runs an autonomous software factory that knows what it is supposed to deliver and proves it did, with a signed receipt. Use when the user says Loki Mode or asks to build, fix or verify software autonomously.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Loki Mode v11.63.
|
|
6
|
+
# Loki Mode v11.63.9
|
|
7
7
|
|
|
8
8
|
**Current entry points (Loki 10 engine):** `loki "<task>"`, `loki owner/repo#N` and `loki quick "<task>"` run the Loki 10 engine and end with a signed receipt (`loki verify`). `loki backlog owner/repo --all` runs many issues in parallel. Guide: `docs/v10/GUIDE.md`. The skill instructions below, and `loki start`, describe the previous bash loop. PRD-file starts (`loki start ./prd.md`) and the opencode provider still run on it until FC38-SWEEP ports them; the legacy-engine command and the LOKI_ENGINE switch remain removed. Prefer `loki owner/repo#N` for issues.
|
|
9
9
|
|
|
@@ -476,4 +476,4 @@ Implemented, planned and deprecated items, with the version each landed in: `ski
|
|
|
476
476
|
|
|
477
477
|
---
|
|
478
478
|
|
|
479
|
-
**v11.63.
|
|
479
|
+
**v11.63.9 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.63.
|
|
1
|
+
11.63.9
|
package/dashboard/__init__.py
CHANGED
package/docs/CLI-REFERENCE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CLI reference
|
|
2
2
|
|
|
3
|
-
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.63.
|
|
3
|
+
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.63.9. Do not edit by hand.
|
|
4
4
|
Hidden and legacy-only commands are omitted; see `docs/v10/CLI-MODERN.md` for the full inventory.
|
|
5
5
|
|
|
6
6
|
| Command | Description |
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Loki Mode, by [Autonomi](https://www.autonomi.dev/), turns a spec or an issue into a verified pull request with a receipt you can check. This page covers installing it, a first run, and the options around it.
|
|
4
4
|
|
|
5
|
-
**Version:** v11.63.
|
|
5
|
+
**Version:** v11.63.9
|
|
6
6
|
|
|
7
7
|
**Engine note:** `loki start` is the primary command. `loki start`, `loki "<task>"`, `loki owner/repo#N` and `loki quick` all run the Loki 10 engine, whatever the flag order or input form (PRD file, issue ref, task or one-word brief). The previous loop runs only on `--engine legacy`, `LOKI_ENGINE=legacy`, or for one call when a flag Loki 10 cannot honor is present. See the [user guide](v10/GUIDE.md) and the [5-minute quickstart](QUICKSTART.md).
|
|
8
8
|
|
|
@@ -1792,3 +1792,19 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
|
|
|
1792
1792
|
- Siblings swept: the other help suites (test-help-discoverability.sh, test-help-no-removed-surfaces.sh, test-help-start-flags.sh, test-help-changelog-drift.sh) were edited by 826deafd2 itself; no other file in tests/ names the Build:/Session: headers (git grep).
|
|
1793
1793
|
- Mechanism: the help-structure block runs `loki help all`; the entry-count bound is 32 with the measured count in the comment. No assertion text changed except the bound.
|
|
1794
1794
|
- Fixture: tests/cli/test-alias-forwarding.sh itself, 211 passed, 0 failed on both routes. Mutants: point the block back at `loki help` (all 9 red), rename a header (1 red), bound 31 (1 red), Usage text (1 red).
|
|
1795
|
+
|
|
1796
|
+
## FC-AUTH-CAUSE-ONLY-IN-IMPL-LOG A rejected API key ends the run as "exit 1 (general error)" while the cause sits only in the implement log
|
|
1797
|
+
- User-visible vs raw: `ANTHROPIC_API_KEY=<bad> loki start "<brief>"` printed `Reason: exit 1 (general error)` and `next: loki doctor`. Raw: `.loki/iteration-<run>-impl.log` held `Invalid API key · Fix external API key`, and the SDK frame carried `error: "authentication_failed"` with `api_error_status: 401` (measured with `claude -p --output-format stream-json`). The run ran every later stage on a key the provider had already rejected.
|
|
1798
|
+
- Law: a failure the provider names is reported by that name at the moment it happens, with the fix command (ENGINE-LAWS: user-visible output states the cause, not the exit code).
|
|
1799
|
+
- Cause: `session.ts` classifies fatal auth only from child stderr plus `[sdk-loop error: ...]` lines. `sdk_stream_parser.ts` never wrote such a line for the structural `authentication_failed` assistant frame, so the machine's fatal:auth path (`machine.ts` sessionKind) never fired; stdout text is deliberately never classified (forgery guard in fatal_e2e.test.ts).
|
|
1800
|
+
- Siblings swept: every stage that opens a provider session (wall, plan, implement, already_done, deep council, fix) calls `ctx.sessions.run`, which the machine wraps once, so one classifier covers all of them (`git grep -n 'sessions.run(' loki-ts/src`). Child-stderr route already classified and is unchanged. The `billing_error` assistant frame is the same shape but maps to quota_exhausted, which waits and reruns by design (P12-09); it is not changed here and stays a follow-up.
|
|
1801
|
+
- Mechanism: the stream parser writes `[sdk-loop error: Failed to authenticate (authentication_failed): <provider text>]` for the structural frame only. `session.ended` records the provider text as `provider_error`; `reasonOf` appends it to "provider authentication failed", and `nextOf` names the fix: `claude login`, or the key to replace when the provider says API key.
|
|
1802
|
+
- Fixture: loki-ts/tests/runner/sdk_stream_parser.test.ts, loki-ts/tests/engine10/output.test.ts and loki-ts/tests/util/run_summary.test.ts cases named FC-AUTH-CAUSE-ONLY-IN-IMPL-LOG. Red with the parser line, the event field or the reason suffix removed.
|
|
1803
|
+
|
|
1804
|
+
## FC-AGENT-TEXT-FORGES-ENGINE-MARKER Agent-controlled text could write a line the engine trusts as its own, so plain assistant prose or a provider CLI's stdout could end a run as fatal:auth
|
|
1805
|
+
- User-visible vs raw: user-visible. An assistant text block (or any stdout line of a provider CLI) reading `[sdk-loop error: Failed to authenticate (authentication_failed): Invalid API key, ...]` plus exit 1 gave stop `fatal:auth`, and with the cause-in-Reason slice it was printed as the Reason with key advice. Reproduced by rev-c on main.
|
|
1806
|
+
- Law: the engine classifies only text the provider or the engine wrote, never the agent transcript (A-113); an engine-written marker must be unforgeable from agent text.
|
|
1807
|
+
- Cause (measured): sdk_stream_parser capture() appended assistant and result text verbatim to the iteration log, and providers.ts writeCaptured wrote a CLI provider's stdout verbatim; session.ts matches `^\[sdk-loop error: .*\]$` and retry_class SDK_ERR matches the marker anywhere in the same text.
|
|
1808
|
+
- Siblings swept: every line-anchored reader of the log text (session.ts parseMarkers reads LOKI_ALREADY_DONE and LOKI_SPEC_CONFLICT, which the agent is meant to write, so they are not engine markers; budget.ts isRateLimited is an unanchored keyword heuristic on prose by design, not a trusted marker). Engine-written markers in the log: `[sdk-loop error:` (parser frame line, providers.ts catch) and `[rate_limit]` (a keyword the heuristic already matches in prose, so a forgery gains nothing). Also covered: the claude, codex, cline, aider and opencode CLI paths (all four writeCaptured stdout sites) and the `said` text inside the real frame line.
|
|
1809
|
+
- Mechanism: retry_class.ts neutralizeEngineMarkers rewrites `[sdk-loop error:` to `[agent-text sdk-loop error:` anywhere in agent text (capture(), the frame's `said`, and every CLI stdout before writeCaptured). sdkAuthCause also returns redactSecrets(...) because provider_error goes into events.jsonl unredacted.
|
|
1810
|
+
- Fixture: sdk_stream_parser.test.ts cases named FC-AGENT-TEXT-FORGES-ENGINE-MARKER (forged assistant and result text at line start and mid-line, mid-line quote read as null by sdkAuthCause, real frame still classified and redacted for an sk-ant- value) and fatal_e2e.test.ts (forged stdout plus exit 1 is not fatal). Each is red with neutralizeEngineMarkers as identity, the `^` anchor dropped, or the redaction removed.
|