loki-mode 11.56.3 → 11.56.5
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/autonomy/loki +9 -9
- 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 +1076 -1076
- package/mcp/__init__.py +1 -1
- package/package.json +2 -2
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/providers/model_catalog.json +1 -1
- package/web-app/dist/assets/{AdminPage-C7lE9pGa.js → AdminPage-Dimx1yBh.js} +1 -1
- package/web-app/dist/assets/{Avatar-W6Iz0x95.js → Avatar-Dc3bWhBo.js} +1 -1
- package/web-app/dist/assets/{Badge-D7puA-CC.js → Badge-b2X7zLeT.js} +1 -1
- package/web-app/dist/assets/{Button-D2vS5NVa.js → Button-WmENJAsd.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-DA91y2kh.js → CockpitPage-8RQI3bm-.js} +1 -1
- package/web-app/dist/assets/{ComparePage-zLWzOK2s.js → ComparePage-CifTx_ce.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-eGDypuFT.js → ErrorBoundary-BWf3qZVi.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-DUEar-6F.js → EvidenceReceiptPanel-COEJUdCv.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-DcEOyw_W.js → GitHubIssuesPanel-BuoEObIg.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-DiDf8gTs.js → GitHubPRsPanel-k338Akq5.js} +1 -1
- package/web-app/dist/assets/{HomePage-C68VAZ5w.js → HomePage-Dw89TygE.js} +2 -2
- package/web-app/dist/assets/{LoginPage-Drodb46K.js → LoginPage-Go7X1UUz.js} +1 -1
- package/web-app/dist/assets/{MagicPage-CsKLtedA.js → MagicPage-l9yI0QuR.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-DgXXiPnG.js → MetricsPage-CqYbIdOq.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-CQu4ArpT.js → NotFoundPage-DDY07nmT.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-DKxZXcOV.js → ProjectPage-BI3YXMvn.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-C3Ivyvky.js → ProjectsPage-B-e-jZCX.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-CmQPtCck.js → SettingsPage-D5yeF0Ib.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-C7b-lMu6.js → ShowcasePage-Cp4lhM2Q.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-BfL42v4V.js → SystemSettingsPage-CGgunfcK.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-tNfCH0Hx.js → TeamsPage-CH4-Ec82.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-hNBcHu-Q.js → TemplatesPage-DphuBvfB.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-BzqIvaYm.js → TerminalOutput-BppH3g5s.js} +1 -1
- package/web-app/dist/assets/{activity-DjWX1ZuI.js → activity-BWs18kHl.js} +1 -1
- package/web-app/dist/assets/{bell-DelbE6p-.js → bell-CJcKaBBF.js} +1 -1
- package/web-app/dist/assets/{bot-UpS2wR8E.js → bot-DzNrwUlE.js} +1 -1
- package/web-app/dist/assets/{check-Bxrfdyhd.js → check-BwXjvRFD.js} +1 -1
- package/web-app/dist/assets/{chevron-left-wlzm5XjY.js → chevron-left-CtR6I6_X.js} +1 -1
- package/web-app/dist/assets/{circle-alert-NzRa_65V.js → circle-alert-Buh7j2ty.js} +1 -1
- package/web-app/dist/assets/{clock-B-8MYHTk.js → clock-s2f9N3Vx.js} +1 -1
- package/web-app/dist/assets/{cloud-BvM01r2i.js → cloud-DEOd_pzL.js} +1 -1
- package/web-app/dist/assets/{code-xml-Mwv2JWEG.js → code-xml-C4xFPVwf.js} +1 -1
- package/web-app/dist/assets/{database-CJBOr7wm.js → database-BnoHUFDF.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-DdNc6N2p.js → dollar-sign-DtvGSyex.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-DHjU7Kzx.js → file-code-corner-DzzG_aWp.js} +1 -1
- package/web-app/dist/assets/{file-plus-DwPCiCKR.js → file-plus-D44fKKeH.js} +1 -1
- package/web-app/dist/assets/{globe-BBeOP3JY.js → globe-BmRQoo61.js} +1 -1
- package/web-app/dist/assets/{hammer-Dr2sfI44.js → hammer-DlnGJRRm.js} +1 -1
- package/web-app/dist/assets/{index-zVISXodx.js → index-yNuJC1nz.js} +3 -3
- package/web-app/dist/assets/{layers-bie6KIlG.js → layers-Mp7J961W.js} +1 -1
- package/web-app/dist/assets/{loader-circle-DegqeQsZ.js → loader-circle-BXbrKzAM.js} +1 -1
- package/web-app/dist/assets/{lock-DRltKs0d.js → lock--G0xB_sg.js} +1 -1
- package/web-app/dist/assets/{package-b9RN_e_D.js → package-ffXQaNr5.js} +1 -1
- package/web-app/dist/assets/{plus-uDt2xbUZ.js → plus-D-SjJwMh.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-Bv47v7QW.js → refresh-cw-YZez-e-J.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-DFt56gu7.js → rotate-ccw-DJeBzW7L.js} +1 -1
- package/web-app/dist/assets/{scroll-text-YAhxM4lL.js → scroll-text-BczZXyxh.js} +1 -1
- package/web-app/dist/assets/{server-CRFuXqDl.js → server-Cgf89eCI.js} +1 -1
- package/web-app/dist/assets/{shield-alert-CovSwZXg.js → shield-alert-CfnIh_vZ.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-BEFq5soK.js → thumbs-up-DVWVUs2p.js} +1 -1
- package/web-app/dist/assets/{trash-2-B9iNMb4S.js → trash-2-C7y11wmM.js} +1 -1
- package/web-app/dist/assets/{trending-down-BKq1_nD2.js → trending-down-bTE7raGc.js} +1 -1
- package/web-app/dist/assets/{trending-up-Nh3ctb4g.js → trending-up-CWUE8let.js} +1 -1
- package/web-app/dist/assets/{upload-9_-yJdUU.js → upload-DV61LMnd.js} +1 -1
- package/web-app/dist/assets/{usePolling-B4AmNMKo.js → usePolling-CsmEvZkA.js} +1 -1
- package/web-app/dist/assets/{user-sdm2gqUI.js → user-JuKWf6JG.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.56.
|
|
6
|
+
# Loki Mode v11.56.5
|
|
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.56.
|
|
479
|
+
**v11.56.5 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.56.
|
|
1
|
+
11.56.5
|
package/autonomy/loki
CHANGED
|
@@ -2848,9 +2848,10 @@ cmd_start() {
|
|
|
2848
2848
|
fi
|
|
2849
2849
|
return "$_ps_drc"
|
|
2850
2850
|
fi
|
|
2851
|
-
# P12-07b: a bare `loki start --resume [run-id]` goes to the
|
|
2852
|
-
# resume
|
|
2853
|
-
# new build
|
|
2851
|
+
# P12-07b, #352: a bare `loki start --resume [run-id]` goes to the engine10 stage
|
|
2852
|
+
# resume that `loki "<task>" --resume` uses (util/run_outputs.ts resumeFlag), never into a
|
|
2853
|
+
# new build and never to the reporter (resumeMain). The exit code is returned unchanged:
|
|
2854
|
+
# 3 nothing to resume, 2 refused, 4 blocked, 5 stalled; only `loki resume` maps codes.
|
|
2854
2855
|
local _ps_resume=0 _ps_resume_args=() _ps_rskip=0 _ps_unknown=""
|
|
2855
2856
|
for _ps_a in ${_ps_rest[@]+"${_ps_rest[@]}"}; do
|
|
2856
2857
|
if [ "$_ps_rskip" = 1 ]; then _ps_rskip=0; continue; fi
|
|
@@ -2877,9 +2878,8 @@ cmd_start() {
|
|
|
2877
2878
|
return 2 ;;
|
|
2878
2879
|
esac
|
|
2879
2880
|
done
|
|
2880
|
-
( _loki_bun_delegate engine10 resume ${_ps_resume_args[@]+"${_ps_resume_args[@]}"} ) || _ps_rrc=$?
|
|
2881
|
-
|
|
2882
|
-
return "$_LOKI_E10_RC"
|
|
2881
|
+
( _loki_bun_delegate engine10 --resume ${_ps_resume_args[@]+"${_ps_resume_args[@]}"} ) || _ps_rrc=$?
|
|
2882
|
+
return "$_ps_rrc"
|
|
2883
2883
|
fi
|
|
2884
2884
|
set -- ${_ps_rest[@]+"${_ps_rest[@]}"}
|
|
2885
2885
|
|
|
@@ -19656,12 +19656,12 @@ cmd_verify() {
|
|
|
19656
19656
|
# verified by the engine10 verifier directly; bin/loki sends a bare verify back here.
|
|
19657
19657
|
for _pk_arg in "$@"; do
|
|
19658
19658
|
case "$_pk_arg" in
|
|
19659
|
-
--sign-deploy|--sign-provenance|--url|--receipt|composite.json|*/composite.json|--seal-composite|--seal-composite=*|--max-age|--max-age=*|.loki/groups/*/receipt.json|*/.loki/groups/*/receipt.json)
|
|
19659
|
+
--sign-deploy|--sign-provenance|--url|--receipt|composite.json|*/composite.json|--seal-composite|--seal-composite=*|--max-age|--max-age=*|.loki/groups/*/receipt.json|*/.loki/groups/*/receipt.json|.loki/runs/e10-*/receipt.json|*/.loki/runs/e10-*/receipt.json)
|
|
19660
19660
|
_loki_bun_delegate engine10 verify "$@"
|
|
19661
19661
|
return $? ;;
|
|
19662
|
-
# A signed deploy record (.loki/deploys/*.json, schema loki.deploy/1) is re-checked by the same verifier.
|
|
19662
|
+
# A signed deploy record (.loki/deploys/*.json, schema loki.deploy/1) or a run receipt anywhere (schema loki.v10.receipt) is re-checked by the same verifier.
|
|
19663
19663
|
*.json)
|
|
19664
|
-
if [ -f "$_pk_arg" ] && grep -
|
|
19664
|
+
if [ -f "$_pk_arg" ] && grep -Eq 'loki\.deploy/1|"schema" *: *"loki\.v10\.receipt' "$_pk_arg" 2>/dev/null; then
|
|
19665
19665
|
_loki_bun_delegate engine10 verify "$@"
|
|
19666
19666
|
return $?
|
|
19667
19667
|
fi ;;
|
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.56.
|
|
3
|
+
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.56.5. 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.56.
|
|
5
|
+
**Version:** v11.56.5
|
|
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
|
|
|
@@ -1506,3 +1506,19 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
|
|
|
1506
1506
|
|
|
1507
1507
|
- Late materialization (recurrence 2026-10-23): the registry applies a publish 3 to 6 minutes after the client prints "+ loki-mode@X" (registry time field: 11.53.0 +4m10s, 11.53.1 +5m13s, 11.54.0 +6m12s). 11.54.1 uploaded 04:34:24Z, served 04:39:34Z; 11.54.2 uploaded 04:38:07Z, served 04:41:17Z, leaving latest=11.54.1 next=11.54.2. The 15s settle in the script is far shorter than the lag, so a write made in publish-npm can be overtaken after it settles (mechanism inferred, not directly observed). Fix: verify-npm-registry runs scripts/npm-dist-tags.sh again after loki-mode@VERSION resolves; the script is convergent (max stable, never lower), so it is safe outside the release-npm lock.
|
|
1508
1508
|
- Fixture: tests/test-npm-dist-tags.sh (9 cases incl. latest dragged down after the first settle restored by a second run, a settled converge run writing nothing, late overtaking write restored and view outage error/empty with zero writes). Mutants (ignore tags, no re-read, target=VERSION, outage guard removed) each fail a case.
|
|
1509
|
+
|
|
1510
|
+
## FC-THINKING-TYPE-ACCEPTED-BY-CLI-REJECTED-BY-API A thinking type the CLI accepted was a 400 for the model, and the usage error stated a rule the model did not have
|
|
1511
|
+
- User-visible vs raw: user-visible. `loki internal sdk-judge|sdk-text --model claude-sonnet-5-5 --thinking disabled` at effort high or below was sent as `thinking: {type: "disabled"}`, which the API rejects with a 400 at every effort for that model (claude-api skill, Thinking & Effort table: Sonnet 5.5 "disabled returns 400; to turn thinking off send between_tools"). The judge failed closed and the bash caller fell back. Separately, the usage error "disabled cannot combine with --effort xhigh or max" was printed for claude-opus-5 and claude-haiku-5-5, which #314 clamps instead of refusing.
|
|
1512
|
+
- Law: a request parameter is derived from the model catalog, never hand-written per model; a message never states a rule the catalog does not record.
|
|
1513
|
+
- Cause (measured): #314 encoded only the effort ceiling (thinking.max_effort) and kept one model-blind sentence in two callers; the catalog had no way to say that a type is never valid for a model and what replaces it.
|
|
1514
|
+
- Siblings swept: claude-opus-5-5, claude-fable-5-1 and claude-fable-5 list only adaptive in thinking.types, so disabled is a 400 at every effort for them (review of 37d4eb08d): claudeThinkingAccepted(model, type) is false for a type absent from types with no substitute, thinkingConflictsEffort refuses it at every effort, thinkingUsageError says "disabled is not accepted by <model>", and clampThinkingForEffort sends adaptive with a ledger record; claude-haiku-4-5 (no disabled substitute is invented), the max_effort clamp (still applied to the substituted type), thinkingConflictsEffort (a substituted model no longer conflicts), both callers of the usage error.
|
|
1515
|
+
- Mechanism: catalog thinking.substitute maps a requested type to the type sent (claude-sonnet-5-5: disabled to between_tools). clampThinkingForEffort applies the substitute, then the max_effort clamp to the substituted type, and the ledger thinking_clamp records `disabled->between_tools@<effort> (max high)` or `disabled->adaptive@<effort> (max high)`. thinkingUsageError builds the sentence from the substitute and max_effort of the resolved model.
|
|
1516
|
+
- Fixture: loki-ts/tests/providers/claude_flags.test.ts "thinking substitute and usage message (#314 follow-up)", loki-ts/tests/runner/sdk_invoker.test.ts "thinking substitute (#314)", tests/test-model-catalog-single-source.sh pins thinking.substitute. Three mutants (drop the catalog substitute, hand-write the message, clamp on the requested type) each turn them red.
|
|
1517
|
+
|
|
1518
|
+
## FC-PRINTED-COMMAND-REACHES-WRONG-ENGINE The two commands the product prints for a user (`loki start --resume`, `loki verify <receipt path>`) were routed to an engine that could not do the job, and reported success or a wrong verdict
|
|
1519
|
+
- User-visible vs raw: user-visible. After a crash in implement, `loki start --resume` printed "phase implement is not auto-resumable ... start a new run", resumed nothing and exited 0 in 0.46s (the stage resume resumed the same crash in 20.8s through `loki "<task>" --resume`). `loki verify .loki/runs/<id>/receipt.json` on a VERIFIED run printed `VERDICT: CONCERNS` with the receipt path used as a git base ref ("Diff: 0 files"), where bare `loki verify` said VERIFIED.
|
|
1520
|
+
- Law: a command the product tells the user to run reaches the engine that owns the artifact it names, and its exit code is the engine's, never a success the engine did not report.
|
|
1521
|
+
- Cause (measured): the legacy start branch delegated `engine10 resume` (resumeMain, the reporter) instead of `engine10 --resume` (resumeFlag, the stage resume) and mapped its exit 4 to 0; cmd_verify routed only composite, group and deploy receipts to engine10, so a run receipt fell through to the diff verifier. tests/test-next-resume-agree.sh pinned `STUB-ARGV:engine10 resume` with a stub that exits 0, so it passed while the user path resumed nothing (a guard that passed its own mutation).
|
|
1522
|
+
- Siblings swept: `loki resume` (the reporter, keeps its 0/4/5 map), `loki "<task>" --resume` (already resumeFlag), bare `loki verify` and `loki verify e10-*` (already v10 in bin/loki), `--pubkey` verify (already v10), a git ref and a non-receipt .json (stay on the diff verifier, pinned as controls).
|
|
1523
|
+
- Mechanism: `start --resume` delegates `engine10 --resume [run-id]` and returns the code unchanged; cmd_verify sends `.loki/runs/e10-*/receipt.json` paths and any existing file whose schema starts `loki.v10.receipt` to `engine10 verify`.
|
|
1524
|
+
- Fixture: tests/test-next-resume-agree.sh drives the real Bun entry on a seeded interrupted run (asserts `engine10: resume from stage implement`, exit 2 not 0) and a stub that exits 4 (asserts 4); tests/test-verify-receipt-route.sh covers the path forms, a tampered receipt (TAMPERED, never CONCERNS) and the diff-verifier controls. Red on origin/main (17 and 4 failures), green after; mutants (delegate back to `resume`, schema route removed) turn them red.
|