loki-mode 10.5.29 → 10.5.31
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/INSTALLATION.md +27 -2
- package/docs/exit-codes.md +4 -0
- package/docs/v10/BOARD.md +5 -1
- package/docs/v10/METRICS.md +9 -0
- package/docs/v10/MORNING-BRIEF.md +52 -0
- package/docs/v10/PROGRESS.md +23 -0
- package/loki-ts/dist/loki.js +450 -450
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-Dhk9UuD-.js → AdminPage-BkNg2uQQ.js} +1 -1
- package/web-app/dist/assets/{Avatar-32FQqO3h.js → Avatar-Dv4Wpa_c.js} +1 -1
- package/web-app/dist/assets/{Badge-C9bO74XT.js → Badge-D9o3k3XU.js} +1 -1
- package/web-app/dist/assets/{Button-yisIH6A4.js → Button-QC7C7zKF.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-XAwG-oLF.js → CockpitPage-DB5aFzbo.js} +1 -1
- package/web-app/dist/assets/{ComparePage-C408Lajf.js → ComparePage-DdDJd_q4.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-s2xf5cPx.js → ErrorBoundary-oBOytCIv.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-BpWAtz0x.js → EvidenceReceiptPanel-xzhdnJ1D.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-BjSemKAQ.js → GitHubIssuesPanel-94VZKa-8.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-C0DW3TxU.js → GitHubPRsPanel-Ca3Tpe68.js} +1 -1
- package/web-app/dist/assets/{HomePage-PpeRpYum.js → HomePage-D1I-IXXe.js} +2 -2
- package/web-app/dist/assets/{LoginPage-DlWX2YDh.js → LoginPage-qPx-Cqqn.js} +1 -1
- package/web-app/dist/assets/{MagicPage-gTKK1kX0.js → MagicPage-D_IZOf7b.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-kmEYDhy1.js → MetricsPage-XxX--ia6.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-CoqXbEd9.js → NotFoundPage-Dg5V9DI5.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-Dx8ZlNMa.js → ProjectPage-VFMd8QT5.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-BHG9KcSM.js → ProjectsPage-D-JIedPS.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-DRPyCNVt.js → SettingsPage-WoewDXbi.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-DSOrgoxH.js → ShowcasePage-CetcIxg-.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-CqU79nkV.js → SystemSettingsPage-B6bg5tP7.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-sdCXaG37.js → TeamsPage-DoupMwaX.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-Bt2cabaE.js → TemplatesPage-BZ4gl1dR.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-pGMiWNnx.js → TerminalOutput-BiXTuJXJ.js} +1 -1
- package/web-app/dist/assets/{activity-CQI3NqfJ.js → activity-BEPPeVDv.js} +1 -1
- package/web-app/dist/assets/{bell-D3wNtqLp.js → bell-3rqeROGF.js} +1 -1
- package/web-app/dist/assets/{bot-CCm3vphc.js → bot--76r8trw.js} +1 -1
- package/web-app/dist/assets/{check-DzGHHpdC.js → check-BCUPXmy5.js} +1 -1
- package/web-app/dist/assets/{chevron-left-BLj2ROK6.js → chevron-left-DDGhW6ZS.js} +1 -1
- package/web-app/dist/assets/{circle-alert-B-xkzsRh.js → circle-alert-DMFddsmw.js} +1 -1
- package/web-app/dist/assets/{clock-C6FoZb7U.js → clock-BlvWjz9D.js} +1 -1
- package/web-app/dist/assets/{cloud-BG9Y14lH.js → cloud-BHmdAwLT.js} +1 -1
- package/web-app/dist/assets/{code-xml-C5DHEWQW.js → code-xml-Dr0bk7x3.js} +1 -1
- package/web-app/dist/assets/{database-CClvc16i.js → database-DcmgHOl9.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-kFKXBBXU.js → dollar-sign-BOPdzhL5.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-uvj6L1yz.js → file-code-corner-gdrNfeGS.js} +1 -1
- package/web-app/dist/assets/{file-plus-BBUJhF7y.js → file-plus-D3yaW5Ho.js} +1 -1
- package/web-app/dist/assets/{globe-Cc2B7Flc.js → globe-NE88yXGx.js} +1 -1
- package/web-app/dist/assets/{hammer-Bx6657ID.js → hammer-DbgxoNnU.js} +1 -1
- package/web-app/dist/assets/{index-D5dWsET8.js → index-BNxmh5kY.js} +3 -3
- package/web-app/dist/assets/{layers-BOM7ogEy.js → layers-DBr5Kx7R.js} +1 -1
- package/web-app/dist/assets/{loader-circle-DP4PFRK2.js → loader-circle-BhbNLD4C.js} +1 -1
- package/web-app/dist/assets/{lock-qQZQzT8m.js → lock-02i5dptD.js} +1 -1
- package/web-app/dist/assets/{package-DRN3yLz1.js → package-C3-gEFTJ.js} +1 -1
- package/web-app/dist/assets/{plus-C2E4a5wu.js → plus-Dqj-qTMF.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-xmpAN9an.js → refresh-cw-CxImWuLc.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-B2ekSTA3.js → rotate-ccw-DM8PwGjJ.js} +1 -1
- package/web-app/dist/assets/{scroll-text-Dr-sMQIf.js → scroll-text-CUyMlub5.js} +1 -1
- package/web-app/dist/assets/{server-Dw8tqT5S.js → server-bUAQCvsZ.js} +1 -1
- package/web-app/dist/assets/{shield-alert-BXPZAnAD.js → shield-alert-DuWdQ4ln.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-CKRd7khu.js → thumbs-up-D0gJB6Wi.js} +1 -1
- package/web-app/dist/assets/{trash-2-Cqw2cHyZ.js → trash-2-DShltE4e.js} +1 -1
- package/web-app/dist/assets/{trending-down-Bllf1rnT.js → trending-down-DwTsxKgi.js} +1 -1
- package/web-app/dist/assets/{trending-up-DHPjxijh.js → trending-up-CmterHWR.js} +1 -1
- package/web-app/dist/assets/{upload-BP9bFARl.js → upload-CV9l18vg.js} +1 -1
- package/web-app/dist/assets/{usePolling-DpgfVdiq.js → usePolling-Bz7kFP5K.js} +1 -1
- package/web-app/dist/assets/{user-CcvN0RF-.js → user-C4clSIRm.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 v10.5.
|
|
6
|
+
# Loki Mode v10.5.31
|
|
7
7
|
|
|
8
8
|
**You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
|
|
9
9
|
|
|
@@ -470,4 +470,4 @@ See `CHANGELOG.md` entries [7.5.7], [7.5.8], [7.5.13] for the per-fix list and r
|
|
|
470
470
|
|
|
471
471
|
---
|
|
472
472
|
|
|
473
|
-
**v10.5.
|
|
473
|
+
**v10.5.31 | [Autonomi](https://www.autonomi.dev/) flagship product | ~410 lines core**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
10.5.
|
|
1
|
+
10.5.31
|
package/dashboard/__init__.py
CHANGED
package/docs/INSTALLATION.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
The flagship product of [Autonomi](https://www.autonomi.dev/). Loki Mode is a spec-driven autonomous builder with a built-in trust layer that takes any spec to a deployed product and verifies completion with evidence (quality gates plus a completion council), not just a "done" claim. Complete installation instructions for all platforms and use cases.
|
|
4
4
|
|
|
5
|
-
**Version:** v10.5.
|
|
5
|
+
**Version:** v10.5.31
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -135,13 +135,38 @@ opt-out model.
|
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
138
|
+
## Slim install (no bundled bun)
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
npm install -g loki-mode --omit=optional
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Install Loki Mode without the bundled bun binary. This reduces the package size by 62-86 MB per platform but requires you to manage the Loki 10 engine dependency separately.
|
|
145
|
+
|
|
146
|
+
**What it skips:**
|
|
147
|
+
- `bun` (62-86 MB binary for darwin-aarch64, darwin-x64, linux-aarch64, linux-x64)
|
|
148
|
+
- Claude Agent SDK packages
|
|
149
|
+
- OpenTelemetry instrumentation packages
|
|
150
|
+
|
|
151
|
+
**What happens:**
|
|
152
|
+
- The legacy bash engine runs when loki is invoked
|
|
153
|
+
- Each `loki` command that would use the Loki 10 engine prints this as the first line on stderr: "loki: the Loki 10 engine cannot run on this machine: no working bun (none on PATH, and the bundled bun for darwin-aarch64 is missing). Running the legacy engine instead. To fix: install bun from https://bun.sh, or reinstall loki-mode without --omit=optional."
|
|
154
|
+
|
|
155
|
+
**To restore Loki 10 engine access:**
|
|
156
|
+
- Install bun: `curl -fsSL https://bun.sh/install | bash` or `brew install oven-sh/bun/bun`
|
|
157
|
+
- Or reinstall loki-mode without the flag: `npm install -g loki-mode`
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
138
161
|
## Homebrew
|
|
139
162
|
|
|
140
163
|
```bash
|
|
141
164
|
brew tap asklokesh/tap && brew install loki-mode
|
|
142
165
|
```
|
|
143
166
|
|
|
144
|
-
Installs the `loki` CLI.
|
|
167
|
+
Installs the `loki` CLI. For the Loki 10 default engine the formula in `asklokesh/tap` needs bun; if bun is not installed, run `brew install oven-sh/bun/bun`. Without bun, each Loki 10 command prints the "no working bun" line and runs the legacy engine (see Slim install above).
|
|
168
|
+
|
|
169
|
+
To also install the skill for interactive use with all providers:
|
|
145
170
|
|
|
146
171
|
```bash
|
|
147
172
|
loki setup-skill
|
package/docs/exit-codes.md
CHANGED
|
@@ -58,6 +58,8 @@ identically; a parity test asserts they agree status for status.
|
|
|
58
58
|
| 3 | The diff weakened the tests (a skip marker added in a test file, a test runner config changed, or an existing test file deleted or renamed). The receipt headline is NOT VERIFIED and names what was weakened, for example `NOT VERIFIED (tests weakened: skip added in sum.test.js)` |
|
|
59
59
|
| other nonzero | The run itself failed; this code is passed through unchanged |
|
|
60
60
|
|
|
61
|
+
`loki quick` has no `--json` flag; its structured result is `loki why --json`, schema: `schemas/why-result.schema.json` (`state.lastExitCode` carries the ladder above).
|
|
62
|
+
|
|
61
63
|
Code 3 only ever raises an exit of 0, in quiet and `LOKI_VERBOSE=1` modes alike;
|
|
62
64
|
it never lowers another nonzero code. Edited assertion lines are disclosed in
|
|
63
65
|
the receipt (`tests_integrity:assertions_edited`) and keep exit 0. A NOT VERIFIED
|
|
@@ -73,6 +75,8 @@ headline caused by unproven gates alone also keeps exit 0. The signal is the
|
|
|
73
75
|
| 2 | BLOCKED (findings at or above the block threshold) |
|
|
74
76
|
| 3 | Verifier error: it could not complete, and never silently passes |
|
|
75
77
|
|
|
78
|
+
`loki verify` has no `--json` flag. `loki status --json` schema: `schemas/status-result.schema.json`.
|
|
79
|
+
|
|
76
80
|
Code 3 matters more than it looks. A verifier that cannot run is not a pass,
|
|
77
81
|
so `[ $rc -eq 0 ]` is the only safe test for "verified" -- `[ $rc -ne 2 ]`
|
|
78
82
|
would treat a broken verifier as acceptable.
|
package/docs/v10/BOARD.md
CHANGED
|
@@ -613,6 +613,10 @@ Source: ~/git/autonomi-dev/research/2026-09-30-adoption/SWARM-PROMPT-ADOPTION.md
|
|
|
613
613
|
| A-104 | Commit only the fix (items 1 and 2, v10) | see plan A-104 | HIGH | first-run-gate assertion per plan card | released@2026-09-30T21:23Z | Wave per plan section 5; one writer per file. Released in v10.5.11 (merge d86a5817 is an ancestor of v10.5.11). |
|
|
614
614
|
| A-104b | A-104 opus follow-ups: run the unstage reset as `git --literal-pathspecs reset` and check its rc (a path starting with `:(top)` was read as a pathspec and committed); match "manifest changed" per directory in monorepos (a stray lockfile in packages/b rode along with a packages/a manifest change); judge new lockfiles and Wall files against the run base, not HEAD, so files the agent commits during implement are also excluded | loki-ts/src/engine10/stages/seal.ts, loki-ts/tests/engine10/seal.test.ts | HIGH | fixtures for each case red first; seal-then-verify still matches | merged@2026-10-01T09:45Z | Source: A-104 opus review (APPROVE with notes). seal.ts writer order: after A-121. |
|
|
615
615
|
| A-104c | A-104b r2 opus follow-up (code reading, not reproduced): a FAILED run now reaches backstopCommit in supervisor.ts (around lines 93-98 and 229), which runs git add -A with hooks off, so a run whose commit stage failed could still commit Wall files, stray lockfiles and the user's pre-run dirty files, and hasDiff could push them as a draft PR (E-67 behaviour). Reproduce first; then make the backstop honor the same exclusions as the commit stage, or skip it when the commit stage itself failed | loki-ts/src/engine10/supervisor.ts, its test | failed-commit run leaves no new commit with Wall files, lockfiles or pre-run dirty files, and opens no PR | HIGH | merged@2026-10-01T10:03Z | none |
|
|
616
|
+
| D50-F1 | D50 lift fix 1 (aiq-52, expected no_change_needed): v10 printed ALREADY_SATISFIED but left source changes from implement (harness no_source_diff=false), so it scored not completed; raw sonnet checked first and changed nothing. On ALREADY_SATISFIED, restore source to base before commit, PR or seal; fail closed to FAILED if the restore fails | loki-ts/src/engine10 (outcome path), its tests, dist | fixture with implement edits plus ALREADY_SATISFIED ends with an empty diff, no commit, no PR; VERIFIED runs keep changes | HIGH | merged@2026-10-01T11:45Z f391ba33f (r5, opus approved, train/56) | none |
|
|
617
|
+
| D50-F2 | D50 lift fix 2 (humanize-174): the task changes behaviour that existing tests encode; raw sonnet fixed code and updated the assertions (2/3), v10 BLOCKED as spec conflict or hit the iteration cap (0/3). Needs a design that permits spec-required assertion changes, recorded in the receipt, without opening a test-weakening loophole. Opus architect first | engine10 intake, plan, wall, verify, seal (per design) | humanize-174-shaped fixture completes with the assertion changes listed in NOT PROVEN; a weakening attack still fails | HIGH | building@2026-10-01T10:31Z | opus architect design in progress |
|
|
618
|
+
| P0-backstop-refused | A run refused at intake (dirty tracked tree) still runs backstopCommit (git add -A plus commit) on the user's own branch, landing their dirty and untracked files on main; found by the D50-F1b opus review on base 151aa563 | loki-ts/src/engine10/supervisor.ts, its tests, dist | dirty-README fixture: refusal exit, no new commit on main, README still dirty byte-identical, notes.txt untracked | HIGH | building@2026-10-01T12:20Z | none |
|
|
619
|
+
| D50-F1b | D50-F1 structural follow-up (CTO call B): run engine10 in a worktree on base per run instead of the user checkout, copying uncommitted user edits in via git stash create; run files stay under the user .loki; PR pushes from the worktree branch; removes the restore and pre-existing-dirty class by construction | loki-ts/src/engine10 supervisor, worker, intake, seal/discard, pr, their tests, dist | user checkout byte-identical after any outcome; dirty user edits visible to the run; ALREADY_SATISFIED leaves no diff; VERIFIED opens the PR from the worktree branch | HIGH | parked@2026-10-01T12:20Z: e69eeec2 REJECTED by opus. Blocking: dirty user edits snapshotted into the pushed branch and receipt base; ignored deps (node_modules, .venv, .env) absent in the worktree, VERIFIED fixture STALLED. Rework needs refuse-dirty in main(), start from HEAD, a dependency strategy (CoW clone or install step) and kill cleanup; CTO call | D50-F1 |
|
|
616
620
|
| A-120 | One signing key, auto-generated (item 3) | see plan A-120 | HIGH | first-run-gate assertion per plan card | released@2026-10-01T00:52Z | Wave per plan section 5; one writer per file. Released in v10.5.13 (merge 1e1417b9 is an ancestor of v10.5.13). |
|
|
617
621
|
| A-132 | Legacy: no HANDOFF.md, USAGE.md or lockfile in a fix commit (item 2) | see plan A-132 | MEDIUM | first-run-gate assertion per plan card | released@2026-10-01T00:52Z | Wave per plan section 5; one writer per file. Released in v10.5.13 (merge 297c2d1f is an ancestor of v10.5.13). |
|
|
618
622
|
| A-133 | Legacy: skip Council evidence probes on a trivial diff (item 2) | see plan A-133 | HIGH | first-run-gate assertion per plan card | merged@2026-09-30T21:08Z | Wave per plan section 5; one writer per file. |
|
|
@@ -638,7 +642,7 @@ Source: ~/git/autonomi-dev/research/2026-09-30-adoption/SWARM-PROMPT-ADOPTION.md
|
|
|
638
642
|
| E-161b | E-161 false block: the hook judges a detaching checkout by the hook cwd (the main checkout) and ignores a preceding checked cd into a linked worktree; at 07:20Z a cd into the release worktree followed by git checkout --detach was blocked (RULE8), and the release only proceeded via git -C. Resolve the effective directory from a leading checked cd or from git -C before applying RULE8 | scripts/v10-guard.sh, tests/test-v10-guard.sh | checked cd into a linked worktree then detach: allowed; cwd main with no cd: blocked; git -C linked: allowed | HIGH | merged@2026-10-01T08:31Z | none |
|
|
639
643
|
| P0-nobun | D48 flip does nothing on a bun-less npm install: bin/loki falls back to legacy without bun, and loki-ts/dist/loki.js is built for target bun (node gives ReferenceError: Bun is not defined). Make the Loki 10 engine run without a preinstalled bun (node-runnable build, or bun shipped as an npm dependency) and, when neither works, say so plainly on the start line. Architect plan first | bin/loki, loki-ts/scripts/build.ts, package.json (per plan) | bun-less host runs the v10 default or prints the plain cannot-run line; promote gate no-bun leg (E-167) passes | HIGH | merged@2026-10-01T07:52Z | opus architect plan in progress |
|
|
640
644
|
| E-169 | Docker image and Homebrew formula use the same bun resolver as bin/loki (peer condition 3 for founder queue 17): the Docker image must contain a working bun so the default runs Loki 10; the Homebrew formula must either depend on bun or let the resolver print the plain cannot-run line | Dockerfile, Dockerfile.sandbox, the Homebrew formula (find it) | docker run of the image prints the Loki 10 start line; brew-style layout resolves bun or prints the plain line | MEDIUM | merged@2026-10-01T08:31Z | none |
|
|
641
|
-
| E-170 | Verify what still works after npm install --omit=optional before documenting it as a slim install: it also drops the existing @anthropic-ai optional packages (about 247MB of the measured 370MB delta). List which commands break and either document the slim path with its limits or recommend against it | package.json, docs/INSTALLATION.md | a scripted --omit=optional install runs loki --version, loki quick on the stub provider and loki verify; results recorded | LOW |
|
|
645
|
+
| E-170 | Verify what still works after npm install --omit=optional before documenting it as a slim install: it also drops the existing @anthropic-ai optional packages (about 247MB of the measured 370MB delta). List which commands break and either document the slim path with its limits or recommend against it | package.json, docs/INSTALLATION.md | a scripted --omit=optional install runs loki --version, loki quick on the stub provider and loki verify; results recorded | LOW | merged@2026-10-01T11:32Z | measured 08:33Z on 10.5.25 (haiku): slim 30,280 KB vs full 407,656 KB; omits @anthropic-ai/claude-agent-sdk, bun, @opentelemetry/*; --version, help, doctor and quick (stub claude) reported rc 0. NOT yet documented: the report omitted the stderr evidence of the plain cannot-run line on quick; re-check that before adding the slim path to docs/INSTALLATION.md |
|
|
642
646
|
| D49-auto | Auto-promote to latest on Post-Release Smoke success (founder D49) | .github/workflows/promote.yml, tests/test_release_next_tag.py | HIGH | smoke-success from Release promotes; manual smoke never promotes; not-lower guard | merged@2026-10-01T03:03Z | opus APPROVE 5510b8c8. Follow-ups (D49-auto-b): not-lower guard fails OPEN on an npm error (make it fail closed); loki-mode-sdk latest has no not-lower guard; a newer queued promote can replace a pending one in a release burst |
|
|
643
647
|
| D51-A3 | Headless `loki backlog owner/repo --all/--label/--issues` plus loki.yaml (schema, validator, env overrides) | autonomy/lib/backlog.py, autonomy/lib/loki_yaml.py, autonomy/loki, schemas/loki-yaml.schema.json, tests/test-backlog.sh | HIGH | backlog 47/0 | merged@2026-10-01T03:11Z | sonnet APPROVE 14ff9ae2; follow-up D51-A3b: `loki_yaml.py show` echoes a token pasted into git.token_env (redact x-secret-ref fields); no-parser test case; re-run of a failed issue discards its kept worktree |
|
|
644
648
|
| D51-A4 | Slack on the v10 path (PR opened, BLOCKED, finished), webhook from the env var named by LOKI_SLACK_WEBHOOK_ENV, URL redacted, 5s bounded post | loki-ts/src/e10ext/slack_events.ts, engine10/supervisor.ts, tests | MEDIUM | slack tests 40/0 | merged@2026-10-01T03:11Z | sonnet APPROVE adb838b2; one labelled test message after it ships |
|
package/docs/v10/METRICS.md
CHANGED
|
@@ -570,3 +570,12 @@ Findings: (1) the v10 dirty-tree refusal is a harness-vs-engine defect that cost
|
|
|
570
570
|
Reproduce (per arm; a run-owned temp is created by run.sh; needs `cd loki-ts && bun install --frozen-lockfile` for the v10 arm):
|
|
571
571
|
`LOKI_NO_BROWSER=1 LOKI_EVAL_MAX_LOAD=80 LOKI_EVAL_MODEL=<claude-haiku-4-5|claude-sonnet-5> eval/loki10/run.sh --arm <raw-claude|v10> --tasks aiq-52-searchbar,pub-click-2877,pub-click-3059,pub-click-3487,pub-click-3572,pub-humanize-152,pub-humanize-174,pub-humanize-333,pub-jsonschema-1389,pub-markupsafe-417 --parallel 1 --out ~/loki-ci-logs/d50-<arm>-<model>`
|
|
572
572
|
Raw rows: ~/loki-ci-logs/d50-{raw-haiku,raw-sonnet,v10-haiku,v10-sonnet}/results.jsonl.
|
|
573
|
+
|
|
574
|
+
### D50 rerun, 2026-10-01T10:25Z (3 reps, sonnet, 4 Loki-specific baseline losses)
|
|
575
|
+
| Task | Loki+sonnet | raw sonnet |
|
|
576
|
+
|---|---|---|
|
|
577
|
+
| pub-click-2877 | 3/3 | 3/3 |
|
|
578
|
+
| pub-humanize-333 | 1/3 | 1/3 |
|
|
579
|
+
| pub-humanize-174 | 0/3 | 2/3 |
|
|
580
|
+
| aiq-52-searchbar (no_change_needed) | 0/3 | 2/3 |
|
|
581
|
+
Two of the four baseline losses were noise; two are real. Internal measurement, not for publication until the fixes are re-measured.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Morning brief, 2026-10-01 (written 10:20Z)
|
|
2
|
+
|
|
3
|
+
## Headline
|
|
4
|
+
- `npm install -g loki-mode` now runs the Loki 10 engine by default, using a bundled bun. `latest` = 10.5.29, gated on both a machine with bun and one without.
|
|
5
|
+
- 18 release tags overnight (10.5.11 to 10.5.28), 16 published. Two were not published: 10.5.18 (CodeQL) and 10.5.21 (a changelog test). Both were fixed forward.
|
|
6
|
+
|
|
7
|
+
## What shipped (on npm latest unless noted)
|
|
8
|
+
- Default engine flip (D48 7-9): `loki "<task>"`, issue mode and `loki quick` run Loki 10. A bare `loki verify` after a v10 run exits 4 for a non-VERIFIED outcome.
|
|
9
|
+
- Bundled bun 1.4.2 as an optional dependency, with a resolver and a plain line when it cannot run (P0-nobun). It adds about 62MB on macOS arm64; npm lists 79.5MB for linux-x64.
|
|
10
|
+
- Two-leg promote gate (E-167): `latest` moves only if the published version passes on a machine with bun (v10 checks) and one without (legacy checks plus the fallback line).
|
|
11
|
+
- `loki keys export` and `loki verify --pubkey` let third parties check a receipt (D48 row 2).
|
|
12
|
+
- Seal: a failed commit stage now ends FAILED and never seals VERIFIED (A-104b). Shipped in 10.5.28, promoted to `latest` at 10:17Z.
|
|
13
|
+
- Also: Jira auto-sync wiring (E-166), provider stdin closed (A-134c), loki-seal counter fixes, CodeQL injection fix in the `/start` API, `loki` with no arguments opens the dashboard onboarding.
|
|
14
|
+
|
|
15
|
+
## D48 table (honest)
|
|
16
|
+
| Row | Status |
|
|
17
|
+
|---|---|
|
|
18
|
+
| 1 gaming matrix | NOT DONE: test built (de71397d), not merged; pre-red case needs a CTO call |
|
|
19
|
+
| 2 portable receipt | DONE: tamper detection, keys export, verify --pubkey |
|
|
20
|
+
| 3 quiet and fast | PARTIAL: v10 output is 7 lines (gate checks 8 or fewer); the time ratio is not measured |
|
|
21
|
+
| 4 commits only the fix | PARTIAL: lockfile and Wall exclusion per directory (10.5.28); no node/pytest/go matrix yet |
|
|
22
|
+
| 5 exit ladder plus --json schema | PARTIAL: exit 4 shipped; schema not started |
|
|
23
|
+
| 6 doctor --fix under 2s | NOT DONE: dropped from train/26, not reworked |
|
|
24
|
+
| 7-9 v10 default, non-null cost | DONE: on latest; gate leg 1 checks the start line and non-null cost |
|
|
25
|
+
| 10 loki-seal marketplace | DONE |
|
|
26
|
+
|
|
27
|
+
## Lift (D50): not citable yet
|
|
28
|
+
- The baseline had Loki+sonnet 5/10 against raw sonnet 9/10. Of the 5 losses, 1 was also a raw loss (click-3059) and 1 predates the E-164 fix (aiq-52).
|
|
29
|
+
- The 3 real defects: a false "already satisfied" (click-2877), an empty diff (humanize-174), and a wrong fix that verify passed (humanize-333).
|
|
30
|
+
- 3-rep rerun (sonnet, current main) of the 4 Loki-specific tasks: click-2877 3/3 both arms and humanize-333 1/3 both arms (baseline losses were noise); humanize-174 Loki 0/3 vs raw 2/3 and aiq-52 (no_change_needed) Loki 0/3 vs raw 2/3 are real. Causes: aiq-52 reached ALREADY_SATISFIED only after implement edited source (fix D50-F1 building: restore to base on that outcome); humanize-174 needs spec-required test value changes, which the brief forbids (fix D50-F2: classifier labels value swaps as 'assertion changed per spec' while the verdict stays PARTIAL; S1 building). Internal only, not for publication.
|
|
31
|
+
|
|
32
|
+
## LOKI MORNING TEST
|
|
33
|
+
```
|
|
34
|
+
npm install -g loki-mode@latest && loki --version # 10.5.29
|
|
35
|
+
mkdir /tmp/lmt && cd /tmp/lmt && git init -q && echo 'module.exports=(a,b)=>a-b' > sum.js && git add sum.js && git commit -qm init
|
|
36
|
+
loki quick "sum.js should add, not subtract" # first line names the Loki 10 engine; 8 lines or fewer
|
|
37
|
+
loki verify # VERIFIED rc 0, or rc 4 if the run did not verify
|
|
38
|
+
loki keys export > pub.jwk && loki verify --pubkey pub.jwk <e10-run-id> # third-party check (run id from .loki/runs)
|
|
39
|
+
npm install -g loki-mode@latest --omit=optional # no bun: the plain cannot-run line, then legacy
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Slipped and why
|
|
43
|
+
- D48 rows 1, 5 and 6: review capacity went to P0s (CodeQL, the gate text drift, the no-bun flip, the Seal false-VERIFIED path).
|
|
44
|
+
- The slim `--omit=optional` install (30MB against 408MB) is not documented yet: the plain-line evidence on that install is still missing (E-170).
|
|
45
|
+
- The Homebrew formula is in the separate asklokesh/tap, which this repo cannot reach; it needs `depends_on "oven-sh/bun/bun"` (E-169).
|
|
46
|
+
|
|
47
|
+
## Usage
|
|
48
|
+
- Weekly projection about 92% (ceiling 90%); the governor allows about 7 engineers. The sprint ran hot and was paced down after 04:35Z.
|
|
49
|
+
|
|
50
|
+
## Founder queue (docs/v10/FOUNDER-QUEUE.md)
|
|
51
|
+
- Row 17: bundling bun. Decided as option B by peer relay of your 03:30Z delegation, with install size accepted. Reverse it if you disagree.
|
|
52
|
+
- Rows 11-16 still open: opt-in telemetry, relaunch post, repo hook paths, gitleaks scope, the real-provider gate run (needs a token from you), and the Slack test message.
|
package/docs/v10/PROGRESS.md
CHANGED
|
@@ -1829,3 +1829,26 @@ The swarm is stopped: .loki/V10-STOP exists, the loop has no wake-ups, and the c
|
|
|
1829
1829
|
- pub-humanize-333: PR opened and hidden tests failed; verify did not catch the wrong fix. Raw sonnet completed it.
|
|
1830
1830
|
- pub-click-3059: raw sonnet failed it too, so it is not a Loki-specific loss.
|
|
1831
1831
|
- Rerun (b) started 2026-10-01T09:32Z: the 4 Loki-specific tasks x 3 reps, arms v10 and raw-claude, model claude-sonnet-5, at main 575ddebcf; out ~/loki-ci-logs/d50-rerun-*. No lift number is cited until it finishes. Then fix the top cause first and record a per-model stage profile with a lift row.
|
|
1832
|
+
|
|
1833
|
+
## 2026-10-01T10:14Z LOKI MORNING TEST
|
|
1834
|
+
- See docs/v10/MORNING-BRIEF.md, section "LOKI MORNING TEST" (latest 10.5.27, both gate legs passed).
|
|
1835
|
+
|
|
1836
|
+
## 2026-10-01T10:25Z D50 rerun complete (3 reps x 4 tasks x 2 arms, claude-sonnet-5, main 575ddebcf)
|
|
1837
|
+
- click-2877: v10 3/3, raw 3/3 (baseline false ALREADY_SATISFIED did not recur: noise). humanize-333: v10 1/3, raw 1/3 (parity, hard task).
|
|
1838
|
+
- humanize-174: v10 0/3, raw 2/3 (real). aiq-52-searchbar (expected no_change_needed): v10 0/3 (1 opened a PR, 2 no PR but not scored completed), raw 2/3 (real).
|
|
1839
|
+
- Data: ~/loki-ci-logs/d50-rerun-20261001T0932/*/results.jsonl. Root-cause analyst running on the two real losses; the top cause gets the first fix and a per-model profile row. Internal; not published.
|
|
1840
|
+
|
|
1841
|
+
## 2026-10-01T10:27Z D50 root causes (haiku analyst on the rerun logs)
|
|
1842
|
+
- aiq-52 (no_change_needed): v10 reached ALREADY_SATISFIED in 2/3 but only after implement had already edited source (no_source_diff=false); the harness requires no PR, no source diff, no-change evidence, hidden pass, rc 0 and not capped. Raw sonnet checked first and changed nothing. Fix D50-F1 building (restore source to base on ALREADY_SATISFIED).
|
|
1843
|
+
- humanize-174: the spec changes rounding behaviour encoded in tests/test_time.py. Raw sonnet changed code plus assertions (684 passed). v10: rep2 BLOCKED "spec conflict ... non-editable test assertions", rep1 and rep3 hit the iteration cap (rep3 draft PR weakened tests). D50-F2: opus architect designing spec-required assertion changes without a weakening loophole.
|
|
1844
|
+
|
|
1845
|
+
## 2026-10-01T10:45Z v10.5.29 promoted; D50-F1 rejected on data loss, r2 building
|
|
1846
|
+
- v10.5.28 76af09dc (A-104b Seal fail-closed): latest via both gate legs at 10:17Z (promote 36848247075). v10.5.29 ee3e4c1f (A-104c no backstop commit or PR after a failed commit stage): npm gitHead ee3e4c1fd606 matches; promote 36850763292 at 10:42Z success; latest=next=10.5.29.
|
|
1847
|
+
- D50-F1 (restore to base on ALREADY_SATISFIED) REJECTED by opus: intake ignores untracked files (intake.ts:31 --untracked-files=no), the commit stage stages them, and the discard git rm -f deletes them (repro: untracked notes.md removed, including with intake.already_satisfied and no agent session). Also a pre-existing dirty lockfile edited by the run is restored to base, losing the user's edits. Other checks held (base..HEAD empty after an implement commit, only ALREADY_SATISFIED discards, .loki/ kept). r2 records untracked paths at intake and restores pre-existing files to their intake content.
|
|
1848
|
+
- D50-F2: S1 classifier built (71997e6c, 10/10, mutation red); S2 verify and seal wiring building.
|
|
1849
|
+
|
|
1850
|
+
## 2026-10-01T12:10Z v10.5.30 cut (D50-F1 r5 + D48 row 5 schemas); D50-F1b in HIGH review
|
|
1851
|
+
- train/56 f391ba33 (D50-F1 r5, D48-r5 schemas, E-170 docs): Tests, Bun Parity, Coverage, Security Audit, Tier A, First-run gate all success at 11:54Z; main fast-forwarded. Release commit 18827347 (v10.5.30, full CHANGELOG, maps sources bad=0, dist guard 13/0, check-clean 0); Release run in progress at 12:02Z.
|
|
1852
|
+
- D50-F1 r5 approved by opus (6 symlinked-parent attacks, outside files byte-identical; old raw write reinstated turns both tests red). CTO call: B (run in a worktree) as the structural fix, row D50-F1b.
|
|
1853
|
+
- D50-F1b e69eeec2 built: engine10 runs in a git worktree, discard.ts deleted; engine10 941 pass 0 fail after bun install (the builder's 1 fail was a missing tsc), the five branch and legacy shell suites rc 0. Open question for the opus review: uncommitted user edits are snapshotted into the run branch and so could reach a PR (old behaviour refused a dirty checkout). Dist maps need a main rebuild on merge.
|
|
1854
|
+
- No new seats: unblocked ready rows are HIGH, CTO or large eval; weekly projection 114%.
|