loki-mode 11.3.7 → 11.3.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 +2 -2
- package/docs/v10/METRICS.md +10 -0
- package/docs/v10/PROGRESS.md +7 -0
- package/loki-ts/dist/loki.js +601 -601
- package/mcp/__init__.py +1 -1
- package/package.json +2 -2
- package/packages/control-plane/dist/server.js +18 -6
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-pzvlw1AD.js → AdminPage-QK-i_x-O.js} +1 -1
- package/web-app/dist/assets/{Avatar-Cup44X9M.js → Avatar-DblkLNjB.js} +1 -1
- package/web-app/dist/assets/{Badge-B_KA_vim.js → Badge-DIV2ny5H.js} +1 -1
- package/web-app/dist/assets/{Button-BKFHMDVd.js → Button--rePJOlQ.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-CM8L27ov.js → CockpitPage-BZlKxpGy.js} +1 -1
- package/web-app/dist/assets/{ComparePage-DIbr9r5n.js → ComparePage-3_INSVux.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-CWW2E1ra.js → ErrorBoundary-DHG63CNr.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-C_7TUwrz.js → EvidenceReceiptPanel-DFsBnLlO.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-DPp1e62k.js → GitHubIssuesPanel-phPGah98.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-dQG23jiL.js → GitHubPRsPanel-T7KQqJmx.js} +1 -1
- package/web-app/dist/assets/{HomePage-Cf1owNze.js → HomePage-DFjGUF5I.js} +2 -2
- package/web-app/dist/assets/{LoginPage-B89A4GV7.js → LoginPage-CorUid_5.js} +1 -1
- package/web-app/dist/assets/{MagicPage-CIXTU087.js → MagicPage-DofbSxKD.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-ob5uFKjJ.js → MetricsPage-qzrhhfLC.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-B4hs79Ln.js → NotFoundPage-BAZR0mMb.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-ByWqmcSQ.js → ProjectPage-BOSUzG9J.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-BF0cOCOb.js → ProjectsPage-Ba0YLtzD.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-5pis8Yrj.js → SettingsPage-Cr10Ue2K.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-CbckXGho.js → ShowcasePage-Czn655fe.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-DvGXksvf.js → SystemSettingsPage-Dwjnw6Ob.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-BsWjgeNi.js → TeamsPage-D8nc69Be.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-CMdt4kai.js → TemplatesPage-DHsaCDGv.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-CRDkVbOx.js → TerminalOutput-DBejni2a.js} +1 -1
- package/web-app/dist/assets/{activity-LHF8ZoIM.js → activity-B2VsBl1C.js} +1 -1
- package/web-app/dist/assets/{bell-u1MaBp8r.js → bell-CT77Fq2H.js} +1 -1
- package/web-app/dist/assets/{bot-CqCr-Zhr.js → bot-DfaWgF4H.js} +1 -1
- package/web-app/dist/assets/{check-DA8FfZuE.js → check-D1yp7Ndv.js} +1 -1
- package/web-app/dist/assets/{chevron-left-CbgXshPX.js → chevron-left-B6Pa8IOX.js} +1 -1
- package/web-app/dist/assets/{circle-alert-DTZUI2Wq.js → circle-alert-D5jrL_Y7.js} +1 -1
- package/web-app/dist/assets/{clock-CzjNIT7l.js → clock-DIsY_fa_.js} +1 -1
- package/web-app/dist/assets/{cloud-DhN9d9_-.js → cloud-eGwLh1As.js} +1 -1
- package/web-app/dist/assets/{code-xml-BxVbK0wC.js → code-xml-CGDIcZ3m.js} +1 -1
- package/web-app/dist/assets/{database-Bt27XadC.js → database-CWpdaykI.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-CvdEVIcE.js → dollar-sign-DZEuTCs6.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-DMPrNNrU.js → file-code-corner-BHBW6m9v.js} +1 -1
- package/web-app/dist/assets/{file-plus-Ds3goEPK.js → file-plus-D4h1jZSR.js} +1 -1
- package/web-app/dist/assets/{globe-jEswz88f.js → globe-CXdqKgwd.js} +1 -1
- package/web-app/dist/assets/{hammer-BwRYhhpy.js → hammer-B3YuuYI_.js} +1 -1
- package/web-app/dist/assets/{index-CV5QjmAA.js → index-BLEnboSv.js} +3 -3
- package/web-app/dist/assets/{layers-CVJPKILE.js → layers-Dvp5nFtw.js} +1 -1
- package/web-app/dist/assets/{loader-circle-DL83jS5B.js → loader-circle-DodDmIZ3.js} +1 -1
- package/web-app/dist/assets/{lock-DeG2aooe.js → lock-EiuaH1Ep.js} +1 -1
- package/web-app/dist/assets/{package-oNkQk0_D.js → package-Cx4m2hFg.js} +1 -1
- package/web-app/dist/assets/{plus-JweNALCo.js → plus-D-Sd5rpH.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-BUikNXt1.js → refresh-cw-C0w1cdmF.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-Bwi4Iyn4.js → rotate-ccw-C_qk6MTT.js} +1 -1
- package/web-app/dist/assets/{scroll-text-B1cAaoDO.js → scroll-text-DSxiFtkc.js} +1 -1
- package/web-app/dist/assets/{server-BKlPv-eA.js → server-NTJt7I8M.js} +1 -1
- package/web-app/dist/assets/{shield-alert-BTj17K_3.js → shield-alert-HBxMQOvH.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-DgRAuQ1a.js → thumbs-up-DEgsHzSD.js} +1 -1
- package/web-app/dist/assets/{trash-2-C87XKnS7.js → trash-2-px46FnTD.js} +1 -1
- package/web-app/dist/assets/{trending-down-DNHXajWn.js → trending-down-CBosVGKa.js} +1 -1
- package/web-app/dist/assets/{trending-up-Daedmy1E.js → trending-up-Dbd7zrQj.js} +1 -1
- package/web-app/dist/assets/{upload-COhKXrsO.js → upload-nhdFKAs1.js} +1 -1
- package/web-app/dist/assets/{usePolling-sHjC1o7v.js → usePolling-BgaGdinh.js} +1 -1
- package/web-app/dist/assets/{user-FPiAIaJb.js → user-CzIihUy9.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: An autonomous software factory that knows what it is supposed to deliver, and proves it did. Use when the user says Loki Mode or asks to build, fix or verify software autonomously.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Loki Mode v11.3.
|
|
6
|
+
# Loki Mode v11.3.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
|
|
|
@@ -483,4 +483,4 @@ See `CHANGELOG.md` entries [7.5.7], [7.5.8], [7.5.13] for the per-fix list and r
|
|
|
483
483
|
|
|
484
484
|
---
|
|
485
485
|
|
|
486
|
-
**v11.3.
|
|
486
|
+
**v11.3.9 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.3.
|
|
1
|
+
11.3.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.3.
|
|
3
|
+
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.3.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.3.
|
|
5
|
+
**Version:** v11.3.9
|
|
6
6
|
|
|
7
7
|
**Engine note:** `loki "<task>"`, `loki owner/repo#N` and `loki quick` run the Loki 10 engine. `loki start` still routes to the older engine, which is being removed; prefer `loki owner/repo#N`. See the [user guide](v10/GUIDE.md).
|
|
8
8
|
|
|
@@ -771,13 +771,13 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
|
|
|
771
771
|
|
|
772
772
|
## FC-90 Deleting the token env vars left the user's gh login and git credential helpers reachable (GH-KEYRING)
|
|
773
773
|
- User saw: nothing yet (found by audit). With GH_TOKEN, GITHUB_TOKEN, GH_ENTERPRISE_TOKEN, GITHUB_ENTERPRISE_TOKEN and SSH_AUTH_SOCK removed, `gh auth token` exited 0 and `gh api user` returned the user's login on the founder machine, and git held `osxkeychain` plus `!gh auth git-credential` helpers over an HTTPS origin.
|
|
774
|
-
- Law:
|
|
774
|
+
- Law: a child spawned by the harness must not reach the user's GitHub credential by default or by accident, through any store the child's env can resolve (env vars, gh config and keyring, git credential helpers), not through the env vars alone; one shared mechanism builds the withheld env, so no env builder can delete a subset and call it token-free. This is not a sandbox.
|
|
775
775
|
- Cause (measured): tokenFreeEnv (util/safe_git.ts) and plainTestEnv (util/check_result.ts) only deleted the vars. gh then falls back to GH_CONFIG_DIR/hosts.yml and the OS keyring, and git calls its configured helpers on an HTTPS push. withholdGithubTokens already closed this for the worker, but only for the worker env. Measured with gh: GH_CONFIG_DIR alone leaves `gh auth token` exit 0 (keyring); a sentinel token alone makes `gh auth status` fail but a named-account read (`gh auth token --user`) still reads hosts.yml; both together close it.
|
|
776
776
|
- Mechanism: util/credential_env.ts hardenCredentialEnv is the one function: the 4 vars become a non-working sentinel, GH_CONFIG_DIR is a per-process empty mode-700 directory, credential.helper is reset through GIT_CONFIG_COUNT/KEY/VALUE appended after existing entries (the user's gitconfig is never edited and identity survives), GIT_TERMINAL_PROMPT=0 and GCM_INTERACTIVE=never. tokenFreeEnv (so plainTestEnv, safeGitEnv) and withholdGithubTokens both call it; the LOKI_ALLOW_AGENT_GITHUB_TOKEN opt-out stays in withholdGithubTokens only, test envs are always hardened. The empty dir is made once per process (not per call), under LOKI_RUN_TMP when it is a real directory, else the OS temp dir, and removed by exact path at exit (the old per-call scoped dirs leaked).
|
|
777
777
|
- Siblings swept: withholdGithubTokens (now shared), tokenFreeEnv callers (attempts, wall_snapshot, verify_pr, start), plainTestEnv callers (wall, verify, load_owner), the worker assertion (sentinel prefix now exported from credential_env.ts), and the bash route (_loki_withhold_github_tokens at autonomy/run.sh main() already sets the sentinel, a scoped GH_CONFIG_DIR, the helper reset and an EXIT trap removal). Raw `process.env` spawns elsewhere inherit an already-withheld process env (runner after autonomous.ts withholdGithubTokens, worker after supervisor.ts) and are policed by full_env_spawn_guard.
|
|
778
778
|
- Fixture: tests/util/fc90_credential_env.test.ts (a fake HOME with a planted gh hosts.yml and a planted global git credential helper, each with a positive control on the raw env; red on the old tokenFreeEnv, red when the GH_CONFIG_DIR line, the credential.helper reset or the sentinel is removed; plus a count of loki-gh-config-* dirs in an isolated TMPDIR before and after).
|
|
779
779
|
- CI note (fix-forward, cc8e17512 red on ubuntu): the named-account control `gh auth token --user` returned empty on gh for Linux because a flat hosts.yml is not read by a named lookup there (the multi-account `users:` shape is), while the default `gh auth token` reads only the flat one on the same gh. The fixture now probes the installed gh with each shape in a scratch home, plants the one that works in a separate named home, and skips the named-account test (control and hardened assertion together) when no shape works. Verified on ubuntu:24.04 with gh 2.102.0.
|
|
780
|
-
- Residual: SSH keys under ~/.ssh and GIT_SSH_COMMAND are closed only for the worker env (withholdGithubTokens), not for plainTestEnv; a test command can still `ssh` with the user's default keys.
|
|
780
|
+
- Residual: code running as the same user can unset the variables and call gh or git directly (or read the keyring itself); this closes default and accidental reach, it is not a sandbox. A parent GIT_CONFIG_PARAMETERS helper is neutralised by appending the reset last. SSH keys under ~/.ssh and GIT_SSH_COMMAND are closed only for the worker env (withholdGithubTokens), not for plainTestEnv; a test command can still `ssh` with the user's default keys.
|
|
781
781
|
|
|
782
782
|
## FC-88 The release gate repeated the Tests workflow's typecheck and bun suite on the same tree (WF-GATE-DEDUP)
|
|
783
783
|
- User saw: every release waited 6m40s in release.yml's gate step "Bun typecheck + test (protect published loki-ts dist)" (run 37859034694, v11.3.4) for work the Tests workflow had already finished green on the same tree, or on the bump-only parent (FC-70).
|
package/docs/v10/METRICS.md
CHANGED
|
@@ -607,3 +607,13 @@ the same hidden checks; wall_ratio = mean loki wall / mean raw wall; 95% percent
|
|
|
607
607
|
| Date | Run | Fixtures | Result |
|
|
608
608
|
|---|---|---|---|
|
|
609
609
|
| 2026-10-08T04:58Z | b9-ab n1-plumbing (SUPERSEDED) | trivial-sum | SUPERSEDED, do not cite. Used our own clock for wall and the old receipt fields: its loki wall (43s) was not the receipt `time.wall_s`/`total_s` and `time.wall_s` is invalid as a total (it is a stage sum that excludes boot and seal). Rerun on SDK `duration_ms` and receipt `time.total_s` once RECEIPT-TRUTH ships. Former text: cost_ratio=0.92 wall_ratio=3.07 n=1/1, not significant. |
|
|
610
|
+
|
|
611
|
+
## Release latency metric (WF-2MIN-3)
|
|
612
|
+
|
|
613
|
+
Definition: seconds from the Release run's dispatch/push event to the `+ loki-mode@<version>` line of the `npm publish` step in the `release` job. Baseline run 37869841774: 2m46s (gate/required-ci 30s, release 68s, publish-npm 64s). Target: under 2m. npm registry lag is NOT part of this metric; the non-blocking `npm-visible` job records it separately in its job summary (`npm registry lag: ... visible after Ns`, or `NPM-LAG-TIMEOUT`). Post-Release Smoke polls for visibility itself (up to 15 min).
|
|
614
|
+
|
|
615
|
+
| Version | Release run | Push SHA | Run created (UTC) | `+ loki-mode@` line (UTC) | Dispatch to publish | npm-visible done (UTC) | Registry lag (separate) | Target met |
|
|
616
|
+
|---|---|---|---|---|---|---|---|---|
|
|
617
|
+
| 11.3.8 | 37875150528 | 80989fdf0 | 02:33:37Z | 02:35:20Z | 1m43s | 02:39:49Z | ~4m29s | yes (under 2m) |
|
|
618
|
+
|
|
619
|
+
Source: `gh run view 37875150528 --log` (release job "Publish the verified tarball (no rebuild)" printed `+ loki-mode@11.3.8` at 2026-10-09T02:35:20Z), `gh run view 37875150528 --json createdAt` = 02:33:37Z; npm next = 11.3.8 at 436s after push. CTO steering smoke on 11.3.8: PASS (trivial-sum VERIFIED, $0.07, 27s). Prior run 11.3.7 (pre WF-2MIN-3) was 2m32s.
|
package/docs/v10/PROGRESS.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Progress
|
|
2
2
|
|
|
3
|
+
## 2026-10-09T02:45Z: v11.3.8 shipped, nightly root cause, 5 slices dispatched (CoS)
|
|
4
|
+
- v11.3.8 (WF-2MIN-3): push 80989fdf0, release 37875150528 success on all jobs, npm next 11.3.8, GH release not draft (body 1180 chars). Dispatch to publish 1m43s; registry lag ~4m29s. Steering smoke PASS.
|
|
5
|
+
- Nightly schedule vs dispatch: no trigger-dependent code path besides dedupe. The 10-08 14:12Z scheduled red (37790534786) tested a0d599d0c, before FC-53 0c0069df3 / NR-DOCTOR 0620ecd0e / NR-PIPE 0a66fe634; dispatch 37780519439 on the same SHA failed identically. Current main passes both tests 5/5 locally.
|
|
6
|
+
- BACKSTOP-TRIGGER built at 65446060c (pytest 68 passed, ci-cache-scope 13 passed, 6 mutations red); TL review running.
|
|
7
|
+
- WF-2MIN-4 TL BLOCK (M2/M3/M4 mutations survive; draft delete reachable on a transient gh error); fix engineer running.
|
|
8
|
+
- Dispatched: CPE24-P2a, CPE24-P4a, FC-01b, FC-09r.
|
|
9
|
+
|
|
3
10
|
## 2026-10-09T02:10Z: v11.3.7 train (AUTO-REAP) pushing (CoS)
|
|
4
11
|
- AUTO-REAP 0024b137e merged (TL APPROVE delta); guards: 19 rows, sigpipe red 1748>1742 fixed by here-strings in test-worktree-reap.sh, rerun 4/0 and 38/0.
|
|
5
12
|
- In flight: WF-2MIN-3 TL review, WF-2MIN-4 built (ed92048b8), ENV-INTAKE r1fix, CANARY-SHAPE.
|