loki-mode 10.6.14 → 10.7.0
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/README.md +8 -5
- package/SKILL.md +2 -2
- package/VERSION +1 -1
- package/autonomy/acp-agent.py +128 -0
- package/autonomy/docker-run.sh +8 -0
- package/autonomy/issue-parser.sh +7 -7
- package/autonomy/issue-providers.sh +159 -1
- package/autonomy/lib/engine10-push.sh +4 -1
- package/autonomy/lib/review_risk.py +91 -0
- package/autonomy/loki +209 -19
- package/autonomy/mobile-verify.sh +66 -0
- package/autonomy/run.sh +44 -2
- package/completions/_loki +2 -0
- package/completions/loki.bash +1 -1
- package/dashboard/__init__.py +1 -1
- package/dashboard/api_runs_v1.py +80 -0
- package/dashboard/server.py +2 -0
- package/docs/INSTALLATION.md +5 -1
- package/docs/acp-editors.md +29 -0
- package/docs/api-runs-v1.md +12 -0
- package/docs/dev/architecture-reference.md +4 -0
- package/docs/merge-queue.md +13 -0
- package/docs/mobile-verify.md +11 -0
- package/docs/sentry-intake.md +13 -0
- package/docs/v10/BOARD.md +31 -6
- package/docs/v10/CP-ENTERPRISE-UI.md +276 -0
- package/docs/v10/D61-SPEED.md +4 -0
- package/docs/v10/DECISIONS.md +74 -0
- package/docs/v10/FOUNDER-QUEUE.md +1 -0
- package/docs/v10/GAP-RESEARCH-1003.md +32 -0
- package/docs/v10/MORNING-BRIEF-1003.md +39 -0
- package/docs/v10/PROGRESS.md +71 -0
- package/docs/v10/SWARM.md +32 -0
- package/docs/visual-evidence.md +5 -0
- package/loki-ts/dist/loki.js +618 -611
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/packages/control-plane/dist/server.js +263 -9
- package/packages/control-plane/src/server/actions.ts +60 -0
- package/packages/control-plane/src/server/app.ts +39 -3
- package/packages/control-plane/src/shipper/watch.ts +64 -0
- package/packages/control-plane/ui/dist/assets/index-CUQ65vJY.css +1 -0
- package/packages/control-plane/ui/dist/assets/index-CwwGfp6E.js +129 -0
- package/packages/control-plane/ui/dist/index.html +3 -3
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-oAFMNfKH.js → AdminPage-BQPb5rc5.js} +1 -1
- package/web-app/dist/assets/{Avatar-BA2gnzyf.js → Avatar-Cttco6FC.js} +1 -1
- package/web-app/dist/assets/{Badge-Dsluv8n1.js → Badge-CPb6kpbH.js} +1 -1
- package/web-app/dist/assets/{Button-WmW8A-iG.js → Button-caTL28a4.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-BR5o_RgL.js → CockpitPage-bEbLx6ph.js} +1 -1
- package/web-app/dist/assets/{ComparePage-3Eg-pKvO.js → ComparePage-DNtJSij-.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-DAfrnnsQ.js → ErrorBoundary-BrgC3K44.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-wLZI4OTr.js → EvidenceReceiptPanel-Q-mSrUUQ.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-BOuadisf.js → GitHubIssuesPanel-DbmYl_Er.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-BTVoVpB3.js → GitHubPRsPanel-C6PCHM4B.js} +1 -1
- package/web-app/dist/assets/{HomePage-s3GWdNEe.js → HomePage-7zsL_k_e.js} +2 -2
- package/web-app/dist/assets/{LoginPage-BfOZ566t.js → LoginPage-Cl4ON8RQ.js} +1 -1
- package/web-app/dist/assets/{MagicPage-9EZ83xOt.js → MagicPage-BNEAhTqH.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-OJMOYhHP.js → MetricsPage-DyBH-88q.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-_LoJ6KEv.js → NotFoundPage-CIVr21yL.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-Duj5LSt6.js → ProjectPage-BMeVYocF.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-BBud3JrO.js → ProjectsPage-D-H2WRVU.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-C4zdgKno.js → SettingsPage-o0kR9RAt.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-Nb3ACjMR.js → ShowcasePage-DtfMDMjp.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-BDi49TDh.js → SystemSettingsPage-CkXdpZ_T.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-HkcqkjLa.js → TeamsPage-Cu5H9cQ0.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-CK796Y1F.js → TemplatesPage-3wdbVwil.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-BkvdNuT6.js → TerminalOutput-CWn301xh.js} +1 -1
- package/web-app/dist/assets/{activity-DFgMgETR.js → activity-YGaAt4zJ.js} +1 -1
- package/web-app/dist/assets/{bell-BInGGOMZ.js → bell-C28q0GO7.js} +1 -1
- package/web-app/dist/assets/{bot-D43Yjsj4.js → bot-DLcQGI92.js} +1 -1
- package/web-app/dist/assets/{check-DFAGTLM9.js → check-w0sBNlcm.js} +1 -1
- package/web-app/dist/assets/{chevron-left-Drwin7n1.js → chevron-left-W7O0vC_m.js} +1 -1
- package/web-app/dist/assets/{circle-alert-DLWdb7V9.js → circle-alert-Cxjq9fxB.js} +1 -1
- package/web-app/dist/assets/{clock-Dsbi59u5.js → clock-C8EqzmNl.js} +1 -1
- package/web-app/dist/assets/{cloud-CUU-dXTP.js → cloud-xNgp4g3Y.js} +1 -1
- package/web-app/dist/assets/{code-xml-CqIh7Wui.js → code-xml-B-lyNDLJ.js} +1 -1
- package/web-app/dist/assets/{database-DASN5Bfh.js → database-DoW5lmWc.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-ZvXzAihc.js → dollar-sign-BcARA5sC.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-ED_gN-N8.js → file-code-corner-CehcII0J.js} +1 -1
- package/web-app/dist/assets/{file-plus-BmBHndXt.js → file-plus-DI9Zo5hP.js} +1 -1
- package/web-app/dist/assets/{globe-Ck_iEzO4.js → globe-CiZWBk3H.js} +1 -1
- package/web-app/dist/assets/{hammer-B8YKMard.js → hammer-3qv_T2N-.js} +1 -1
- package/web-app/dist/assets/{index-D7SxmjVQ.js → index-gF9grAz-.js} +3 -3
- package/web-app/dist/assets/{layers-CGVsj3wB.js → layers-CN7d0By9.js} +1 -1
- package/web-app/dist/assets/{loader-circle-FIH7UJDF.js → loader-circle-DywcM-im.js} +1 -1
- package/web-app/dist/assets/{lock-vR8HoAnK.js → lock-_hdSmkU4.js} +1 -1
- package/web-app/dist/assets/{package-mZ6LFwXp.js → package-BV5zgqxJ.js} +1 -1
- package/web-app/dist/assets/{plus-CtnSVu0w.js → plus-CU_Hh4-x.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-BIapF6Gj.js → refresh-cw-DMK-fNl-.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-LMkSsm21.js → rotate-ccw-CEB3_v5_.js} +1 -1
- package/web-app/dist/assets/{scroll-text-DQVlIhr9.js → scroll-text-BSdXxcRN.js} +1 -1
- package/web-app/dist/assets/{server-GqyhQxmz.js → server-CAMlP1yJ.js} +1 -1
- package/web-app/dist/assets/{shield-alert-BrFTNJ-I.js → shield-alert-B-r1Dt3h.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-lgwAEJFW.js → thumbs-up-CYfxw9o4.js} +1 -1
- package/web-app/dist/assets/{trash-2-C1cNysK4.js → trash-2-DX3nGPS8.js} +1 -1
- package/web-app/dist/assets/{trending-down-DQFZ6j5s.js → trending-down-Bt-hSntd.js} +1 -1
- package/web-app/dist/assets/{trending-up-BJG_Zo8V.js → trending-up-DVSlvQp8.js} +1 -1
- package/web-app/dist/assets/{upload-BOY1aTpA.js → upload-D45RRHAP.js} +1 -1
- package/web-app/dist/assets/{usePolling-DoAmsTNy.js → usePolling-fq_Xj8iw.js} +1 -1
- package/web-app/dist/assets/{user-iOfCe0_v.js → user-BWcJkLlr.js} +1 -1
- package/web-app/dist/index.html +1 -1
- package/packages/control-plane/ui/dist/assets/index-CFfrqCx2.css +0 -1
- package/packages/control-plane/ui/dist/assets/index-Jt31nrK-.js +0 -114
package/docs/v10/DECISIONS.md
CHANGED
|
@@ -599,3 +599,77 @@ The r9 reviewer amended D80 and the CoS adopts the amendment as binding. The rea
|
|
|
599
599
|
- The exit/abort/kill scan remains as defense in depth and is not the trust boundary.
|
|
600
600
|
- The truncation check keeps its own unit test.
|
|
601
601
|
The CTO ratifies this in the r10 HIGH review.
|
|
602
|
+
|
|
603
|
+
## D80 amendment 2 (2026-10-03T13:26Z, CoS per D69, from the SEAL r10 opus HIGH review)
|
|
604
|
+
The r10 reviewer reproduced four forged PASS results ("Verified by Loki" on a repo with broken code) under the 13:14Z amendment. Each one used an npm test script that passed the allowlist:
|
|
605
|
+
- a node_modules/.bin/node shim
|
|
606
|
+
- `--test-reporter=<the package's own name>`
|
|
607
|
+
- a reporter in node_modules
|
|
608
|
+
- npm_config_node_options, a user ~/.npmrc, or a quoted .npmrc key
|
|
609
|
+
That amendment is NOT ratified. It is replaced by this rule, which the CoS adopts as binding:
|
|
610
|
+
1. Coverage is granted only from a runner that loki-seal launches itself. The npm test script must be exactly `node --test` plus allowlisted flags and plain relative file paths. loki-seal then does NOT run `npm test`. It spawns `process.execPath` (an absolute path, no PATH lookup) with those exact arguments, with cwd set to the project root and NODE_OPTIONS, NODE_PATH, NODE_TEST_CONTEXT and every `npm_*` variable removed from the environment. No npm config file (project, user or global) is consulted.
|
|
611
|
+
2. Allowlisted flags:
|
|
612
|
+
- `--test-reporter=` one of spec, tap, dot, junit or lcov (built-ins only, so a bare package name gives NOT VERIFIED)
|
|
613
|
+
- `--test-reporter-destination=stdout`
|
|
614
|
+
- `--test-isolation=process`
|
|
615
|
+
- `--test-concurrency=<n>`
|
|
616
|
+
- `--test-timeout=<n>`
|
|
617
|
+
3. A pretest or posttest script, any other token, or any shell metacharacter gives NOT VERIFIED, with a stated reason.
|
|
618
|
+
4. jest, vitest and any other runner resolved from the project (node_modules/.bin, or reporters and setup files defined in config) does not grant coverage. It gives NOT VERIFIED with a stated reason, and its red/green result still counts. Over-refusing is accepted (fail closed).
|
|
619
|
+
5. The exit/abort/kill scan stays as defense in depth; it is not the trust boundary. The truncation check keeps its own unit test.
|
|
620
|
+
6. Every case in 1 to 4 has a negative test that asserts its specific reason. That includes the six reproduced forges above.
|
|
621
|
+
|
|
622
|
+
## D81 (2026-10-03T14:43Z, CoS per D68/D69): train/101 red is fixed forward with a revert deadline
|
|
623
|
+
- train/101 (e14834e53) Tests run 37129766523 failed on two reproducible, deterministic causes. Neither is the P9 flake.
|
|
624
|
+
- Shard 2: seal.test.js:1031 runs `node --test-isolation=none`, which the CI Node rejects ("bad option").
|
|
625
|
+
- Shard 3: cloud-dispatch R2-3. On GNU the writer overwrote a duplicated BOARD row (rc 0, want 15).
|
|
626
|
+
- Decision: two sonnet builders fix them forward on main, with a deadline of about 15:05Z.
|
|
627
|
+
- Any slice not fixed and TL-approved by then is reverted for train/102, and the rest ships as v10.6.15. This is the D68 rule "drop red slices".
|
|
628
|
+
- A failed rerun is not attempted, because both failures are deterministic.
|
|
629
|
+
- Each fix must keep fail-closed semantics: no skip, no weakened assertion, and nothing added to tests/moat/pending.txt.
|
|
630
|
+
|
|
631
|
+
## D82 (2026-10-03T14:54Z, CoS per D69): founder directive 14:55Z, all features on by default, cost-cap rework, 10/10 program
|
|
632
|
+
Source: the founder's words, relayed by the peer session (autonomi-dev-76) at 14:55Z. Recorded as given; executed without founder waits.
|
|
633
|
+
1. Default-on: visual evidence, spec-to-contract, D61 parallel/speed, Slack two-way, MCP tools, Control Plane and workspaces become default-on in the next train. Each env var stays as an opt-out (=0).
|
|
634
|
+
- A feature still in D12 review ships the same day its review passes.
|
|
635
|
+
- CTO guardrails, from security, which outranks speed:
|
|
636
|
+
- A default-on network listener binds loopback only.
|
|
637
|
+
- Anything that sends data off the machine (for example a Slack webhook) stays inert until its credential is configured. Default-on means "on when configured", never "prompt for or read stored secrets".
|
|
638
|
+
2. Cost cap: the $20 default is removed.
|
|
639
|
+
- Subscription runs (CLI login, no API key) have no dollar cap and print one info line: "subscription: no dollar cap; usage counts against your plan limits".
|
|
640
|
+
- API-key runs default to a $100 cap.
|
|
641
|
+
- --max-cost and loki.yaml budgets.per_run override both. BUDGET_STOP stays exit 3.
|
|
642
|
+
- The start line, docs and tests are updated.
|
|
643
|
+
3. 10/10 program, built in order (a) to (j):
|
|
644
|
+
- (a) browser e2e with a Playwright video and trace
|
|
645
|
+
- (b) loki merge queue
|
|
646
|
+
- (c) loki review with a deterministic risk score
|
|
647
|
+
- (d) project memory across runs
|
|
648
|
+
- (e) Control Plane mobile layout, roles and sign-in (single-admin token, then OIDC)
|
|
649
|
+
- (f) mobile emulator tests when the tools are installed
|
|
650
|
+
- (g) a REST API for runs
|
|
651
|
+
- (h) VS Code and JetBrains via ACP
|
|
652
|
+
- (i) Sentry intake
|
|
653
|
+
- (j) the D50 Sonnet lift fixes
|
|
654
|
+
- Plus a fresh gap-research pass (Devin, Factory, 8090, Vorflux, Claude Code). New items join the queue.
|
|
655
|
+
- An architect slices each item into small slices that keep CI green.
|
|
656
|
+
4. Amended by the founder at 15:00Z and 15:02Z, relayed by the peer: "no testing", "10 releases every hour", "use least tokens".
|
|
657
|
+
- Until about 17:00Z, LOW and MEDIUM slices merge as built, with no agent-side review round. CI Tier A and Tier B are the gate, because nothing reaches npm without a green Tier B on its exact tree (D55).
|
|
658
|
+
- HIGH slices (moat, Seal, verifier, auth/sign-in, security) keep one opus D12 review. A peer relay cannot waive it.
|
|
659
|
+
- Models (D52): haiku for docs, flag flips, pins and mechanical edits; sonnet for feature code; opus only for HIGH review. Fresh agents get small briefs and return short results.
|
|
660
|
+
- Trains: cut one from whatever has merged as soon as the previous train's push has registered its CI runs. Never push while a release is running: a push during a release cancels its Tests (GUARD, memory "Pushing during a release cancels its Tests"). Never cancel a releasing train.
|
|
661
|
+
- The real ceiling is about 12 min per Tests run plus the release, so roughly 4 releases per hour. The achieved rate is reported honestly.
|
|
662
|
+
5. Usage: the 85% weekly floor stands. At the floor, stop starting new work and record what is left in the handoff.
|
|
663
|
+
|
|
664
|
+
## D83 (2026-10-03 15:20Z, founder via peer relay): enterprise-grade Control Plane UI
|
|
665
|
+
1. Founder words: "i want enterprise grade UI, not just a dummy simple page ... make sure the previous UI design is used, I meant fonts, colors, UI looks and design ... even if it's a rewrite, I like Old UI".
|
|
666
|
+
2. Supersedes the minimal CP-UI-SHELL look. The Control Plane reuses the legacy dashboard design system (fonts, serif wordmark, purple palette, light and dark themes, sidebar and right panel, card, KPI, badge, table and timeline components).
|
|
667
|
+
3. Step 1: an opus architect writes docs/v10/CP-ENTERPRISE-UI.md (legacy inventory with KEEP/REWORK/DROP, design tokens, feature set drawn from Devin, Factory, 8090, Vorflux and Claude.ai, and the v10 API each page needs). Step 2: parallel sonnet builders, one per page, on a shared token package. Every number from real ingested data. Start-run and stop endpoints get an opus security review. Ships as 10.8.0; legacy dashboard code is deleted at parity.
|
|
668
|
+
4. Does not hold 10.7.0, which ships at its cutoff. D82 also waived the D61 gate E evidence for the LOKI_SPEED default flip.
|
|
669
|
+
5. Addendum (15:24Z, founder via peer relay): "i want fully controllable loki mode of sessions, configurations and anything from UI, but keep it super clean and lean like claude.ai UI and chatgpt UI, but with loki mode's old dashboard look, should feel amazing for users". Guiding principle of CP-ENTERPRISE-UI.md: full CLI parity in the UI, a lean conversation-style structure (session list plus one main pane, one New run input, run as a thread, everything else behind one settings entry), the legacy look on top, and no placeholder panels. loki.yaml write-back and the run control endpoints are HIGH.
|
|
670
|
+
6. Spec open questions decided by the CoS under D69 (15:28Z): ground color is the shell light grey #F1F2F6, the mascot stays beside the wordmark (both are the old look the founder asked for; one screenshot pair goes to FOUNDER-QUEUE for a later veto). Merge queue (`loki merge`) and PR risk review (`loki review --risk --json`) DO have backends as of 10.7.0, so they get UI slices CPE-25 and CPE-26 wrapping those commands instead of staying hidden; schedules, memory and modernize stay hidden until a v10 backend exists.
|
|
671
|
+
|
|
672
|
+
## D84 (2026-10-03 16:14Z, CoS per D68/D69): 10.7.0 re-cut content, CP shell fields read-only
|
|
673
|
+
1. 10.7.0 ships the LOKI_SPEED default flip with the D82-FIXREDS fix. D82-WALL0 is reverted for 10.7.0 because it fails the engine e2e done run (the stub writes no Wall file, so the run seals FAILED); it returns in 10.7.1 with the e2e stub writing a Wall check.
|
|
674
|
+
2. The quiet-mode LiveLine moves from engine10/output.ts to e10ext/liveline.ts: it is presentation, and core was 5026 lines against the D29 5,000 cap. The cap is unchanged.
|
|
675
|
+
3. Control Plane settings API (CPE-14): shell command fields (workspaces.*.integration.command, workspaces.*.repos[].setup) are read-only over HTTP and return 422; they are edited in loki.yaml directly. A browser must never be able to plant a command the engine later runs.
|
|
@@ -22,3 +22,4 @@ this file; each item says what the loop does meanwhile.
|
|
|
22
22
|
| 15 | 2026-10-01 | Run the REAL-provider first-run gate on the published `next` build: `CLAUDE_CODE_OAUTH_TOKEN=<token from "claude setup-token"> bash scripts/first-run-gate.sh --real --installed loki-mode@10.5.13` (or ANTHROPIC_API_KEY). The swarm has no provider credential in its environment and does not read stored secrets; the gate's throwaway HOME cannot use the keychain login. Stub mode on the installed npm package runs meanwhile. | Credential only the founder holds. | The promote milestone (real gate pass on a `next` version) stays blocked; stub-mode evidence only. |
|
|
23
23
|
| 16 | 2026-10-01 | A Slack incoming-webhook URL for testing D51 item 4 (notify.sh on the v10 path: PR opened, BLOCKED, backlog finished). Provide it as an env var (for example `LOKI_SLACK_WEBHOOK_URL`) in the Release Manager session, never in a file or chat. | Needs a credential only the founder holds. | Until then notify.sh is tested against a local mock webhook; the real end-to-end check runs once the env var is set. | open |
|
|
24
24
|
| 17 | 2026-10-01 | Ship bun with the npm package so `npm install -g loki-mode` runs the Loki 10 default without a separate bun install (P0-nobun, architect option B): add `"bun": "1.4.2"` as an optionalDependency. Cost: each install grows from 26.6MB to about 90-110MB (platform binary 62MB darwin-arm64, 80MB linux-x64, 86MB win-x64); `--omit=optional` and unsupported platforms keep the legacy engine with a plain message. The alternative (rewrite engine10 to run under node) is about 14 files and 300-450 lines, breaks the engine10 line budget and needs a third Bun Parity runtime. | Install size and dependency policy. | Builds only the resolver and the plain cannot-run message (both useful either way); npm users without bun keep getting legacy, and promote stays paused until the two-leg gate (E-167) lands. DECIDED B 07:35Z by peer relay (autonomi-dev-dc, citing the founder's 03:30Z delegation): the Loki 10 default is the product; a bigger install costs less than an inert default for most npm users; same pattern as esbuild and biome. Conditions: per-platform optional packages only; measured delta reported and held if above about 60MB per platform (architect figures 62-86MB exceed it; 07:35Z follow-up relay: decided (i) accept about 62-86MB, or (iii) bun's baseline build if smaller and Bun Parity passes; not (ii), since a first-run consent step breaks the one-command bar; record measured deltas in the CHANGELOG; document --omit=optional as the slim legacy path); --version probe plus plain start line when bun cannot run; Docker and Homebrew use the same resolver; E-167 two-leg gate stays. Founder may reverse. |
|
|
25
|
+
| 18 | 2026-10-03 | Screenshot veto for the 10.8.0 Control Plane rebuild (D83): the ground colour #F1F2F6 from the legacy dashboard, and keeping the legacy mascot in the sidebar brand. Also: light-theme status text uses AA-safe companion ink tokens (darker than the legacy hex) because the legacy success, warning, info and muted text fail WCAG AA on #F1F2F6. | Brand and visual design. | Builds with the legacy ground and mascot plus the AA ink tokens (D83 point 6); screenshots go in PROGRESS when CPE-02 lands. | open |
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# GAP RESEARCH 1003: Loki vs Competitors
|
|
2
|
+
|
|
3
|
+
Research date: Oct 3, 2026. Scope: public product docs, launch announcements, funded claims.
|
|
4
|
+
|
|
5
|
+
## What Each Competitor Ships That Loki Lacks
|
|
6
|
+
|
|
7
|
+
**Devin AI (Cognition Labs):** Desktop app with computer-use capability ($500/mo), self-review gate (catches 30% more issues), no manual intervention for 15-task planning. Publicly claimed features from https://www.buildfastwithai.com/ai-tools/devin and https://singularitymoments.com/devin-ai-coding-agent-guide/.
|
|
8
|
+
|
|
9
|
+
**Factory AI:** IDE integrations (VS Code, JetBrains, Vim native), role-based API for droid swarm control, Linear/Jira issue-to-code pipeline, OpenTelemetry adoption analytics, background cloud/local agents. Cited from https://www.digitalapplied.com/blog/factory-ai-multi-agent-coding-platform-review and https://fritz.ai/factory-ai-review/.
|
|
10
|
+
|
|
11
|
+
**8090 Software Factory:** Requirements-Blueprint-Planner workflow for regulated enterprises, audit-trail-first governance, AI agent skill marketplace. For regulated orgs only. Cited from https://www.8090.ai/docs/general/introduction and https://rywalker.com/research/8090-software-factory.
|
|
12
|
+
|
|
13
|
+
**Vorflux:** Browser-based test recording with mergeable PR video proof, adversarial reviewer agents (planner vs reviewer), GitHub/Linear/Slack/AWS native bindings, $15M seed. Cited from https://vorflux.com/docs and https://www.thesaasnews.com/news/vorflux-raises-15m-seed/.
|
|
14
|
+
|
|
15
|
+
**Claude Code:** Scheduled task execution on Anthropic cloud (runs without laptop), computer-use desktop capability, TypeScript mod/plugin system, interactive visualizations, multi-threaded project coordination. Cited from https://www.builder.io/blog/claude-code-updates and https://releasebot.io/updates/anthropic/claude-code.
|
|
16
|
+
|
|
17
|
+
## Top 10 Gaps Ranked by User Value (Slice Candidates)
|
|
18
|
+
|
|
19
|
+
1. **IDE/editor integration (VSCode, JetBrains)** - 80% of developers code in editors; CLI-only cuts reach by half.
|
|
20
|
+
2. **Issue tracker native binding (GitHub Issues, Linear)** - work originates there; native pipeline removes copy-paste.
|
|
21
|
+
3. **Browser test execution with proof video** - video proof that code works earns trust; text pass/fail claims don't.
|
|
22
|
+
4. **Scheduled/background agent task queue** - devs want builds while laptop is off; async job model unlocks 24/7.
|
|
23
|
+
5. **Self-review quality gate before PR** - automated issue-catching before human review saves review cycles.
|
|
24
|
+
6. **Droid/agent role-based SDK/API** - programmatic control lets orgs embed Loki into their CI/CD automation.
|
|
25
|
+
7. **Desktop application (GUI + CLI)** - non-engineer stakeholders (PMs, execs) need GUI visibility into builds.
|
|
26
|
+
8. **Enterprise audit trail & on-prem option** - regulated industries won't use SaaS without HIPAA/SOC2 provenance.
|
|
27
|
+
9. **Cost analytics per agent/task** - enterprises need chargeback models; opaque token spend blocks budget approval.
|
|
28
|
+
10. **Local-only execution mode** - IP-sensitive work (defense, finance) requires on-premises guarantees.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
Research validated via web sources: Devin, Factory, 8090, Vorflux, Claude Code press/docs (Oct 2026).
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Morning brief, 2026-10-03 (refreshed 15:35Z, next refresh 16:30Z)
|
|
2
|
+
|
|
3
|
+
## Shipped today
|
|
4
|
+
- 8 releases in 24h. The newest is v10.6.14 (tag 7fbbefc30, 14:01Z).
|
|
5
|
+
- train/101 (seal forged-lines, P9 default push, cloud-dispatch) is folded into the 10.7.0 train.
|
|
6
|
+
|
|
7
|
+
## 10.7.0: one big train, minor bump (D82)
|
|
8
|
+
- Freeze is at 15:45Z, the cut at 15:55Z, and npm at about 16:10Z.
|
|
9
|
+
- On local main, unpushed:
|
|
10
|
+
- Cost cap (subscription: no dollar cap; API key: $100 default).
|
|
11
|
+
- Default-on flags, with listeners on loopback only.
|
|
12
|
+
- Playwright e2e with video, `loki merge` queue, `loki review --risk`, project memory, mobile emulator tests, REST runs API, ACP for VS Code and JetBrains, Sentry intake, and D50 fixes.
|
|
13
|
+
- Docker and liveline.
|
|
14
|
+
- Control Plane zero-setup ingest, legacy dashboard entry points routed to the Control Plane, live run view, and shell with a loopback-only start endpoint (opus APPROVE r2).
|
|
15
|
+
- An empty Wall now seals NOT PROVEN (opus APPROVE r2).
|
|
16
|
+
- Open item: 9 loki-ts bun reds after the LOKI_SPEED default flip. A fixer agent is working on them. If any real speed regression is unfixed by the freeze, the speed flip is reverted for 10.7.0.
|
|
17
|
+
|
|
18
|
+
## 10.8.0: enterprise Control Plane rebuild (D83)
|
|
19
|
+
- Plan: docs/v10/CP-ENTERPRISE-UI.md, slices CPE-01..26. Integration happens on branch cpe-base, kept off main until 10.7.0 is cut.
|
|
20
|
+
- Status:
|
|
21
|
+
- Done: CPE-01 (legacy tokens, fonts, 19 primitives), CPE-03 (server scaffold), CPE-05 (SSE) and CPE-21 (notifications, audit). cpe-base suite is 97/0.
|
|
22
|
+
- Opus security review: CPE-04 (artifacts read API) and CPE-07 (POST /v1/runs).
|
|
23
|
+
- Building: CPE-02 (lean claude.ai-style shell) and CPE-09 (run.pid plus stop, retry and resume).
|
|
24
|
+
|
|
25
|
+
## Decisions taken without you
|
|
26
|
+
- D83 point 6:
|
|
27
|
+
- Ground #F1F2F6 and the mascot are kept.
|
|
28
|
+
- The merge queue and PR risk get UI pages (CPE-25, CPE-26).
|
|
29
|
+
- Schedules, memory and modernize stay hidden.
|
|
30
|
+
- CPE-01 added AA-safe ink tokens, because the legacy light-theme status hex fail WCAG AA on the ground (FOUNDER-QUEUE 18).
|
|
31
|
+
|
|
32
|
+
## Risks
|
|
33
|
+
- Host load makes the pulse git and ps probes time out, so many metrics read UNKNOWN.
|
|
34
|
+
- The weekly projection is over the pulse ceiling. Your D68 85% live /usage floor governs.
|
|
35
|
+
|
|
36
|
+
## Needs you
|
|
37
|
+
- FOUNDER-QUEUE 18: a screenshot veto on the 10.8.0 look.
|
|
38
|
+
- Items 15 and 16 (real-provider gate, Slack webhook) still park the real-model E2E legs.
|
|
39
|
+
- Items 7 and 8 gate the external loki-seal launch.
|
package/docs/v10/PROGRESS.md
CHANGED
|
@@ -2091,3 +2091,74 @@ The swarm is stopped: .loki/V10-STOP exists, the loop has no wake-ups, and the c
|
|
|
2091
2091
|
- G-04 built (0a90538a8, 25/0). Opus HIGH review is running.
|
|
2092
2092
|
- W1-S3: TL BLOCK, because its wiring test survives a mutation. A test-only r2 fix was requested.
|
|
2093
2093
|
- train/99 Tests: the full rerun failed on the same shards 3, 4 and 7, so the failure is real. P0-T99-ROUTING is open and building (sonnet). train/99's release and train/100 are held until it is green.
|
|
2094
|
+
|
|
2095
|
+
## 2026-10-03T13:22Z (CoS)
|
|
2096
|
+
- P0-T99-ROUTING merged as ec5cc3398 after a sonnet TL APPROVE. Tier corrected HIGH to MEDIUM because it is a parser and test fix, not moat. The 5 suites are green on macOS and in ubuntu docker. Advisory carded: change sed `\s` to `[[:space:]]` at the root.
|
|
2097
|
+
- W1-S3 merged with dist f0ece075d. On main: engine10 1199/0, tsc 0, dist guard 13/0.
|
|
2098
|
+
- train/100 pushed at 4c39bb68f (13:22:12Z), superseding train/99. Waiting on Tests, Bun Parity, Coverage and Security.
|
|
2099
|
+
- Drift audit (turn 2226):
|
|
2100
|
+
- `git worktree list` reports 220 worktrees. Merged-slice worktrees will be removed in the end-of-window pass (D69, recorded paths only).
|
|
2101
|
+
- Opus share is 38% against its 30% budget. Builders and LOW/MEDIUM reviews stay on sonnet.
|
|
2102
|
+
- The pulse git probes are timing out under load, so its UNKNOWN metrics are not regressions.
|
|
2103
|
+
- In flight: SEAL r10 opus HIGH review (it also covers ratifying D80) and G-04 r2 build.
|
|
2104
|
+
|
|
2105
|
+
## 2026-10-03T14:22Z (CoS)
|
|
2106
|
+
- G-04 cloud-dispatch merged after opus r3 APPROVE (42ce26e09). Advisories carded on its BOARD row.
|
|
2107
|
+
- train/100: the first Tests run failed P9.injection-cannot-reach-token in the [default] leg. The full rerun of run 37125941522 (attempt 2) was all green. train-cycle promoted it and tagged v10.6.14 at 7fbbefc30 (14:01:46Z). As of 2026-10-03T14:22Z, the Release job is waiting on required-ci (Security Audit), and npm latest and next are still 10.6.13.
|
|
2108
|
+
- Local main was rebased onto origin/main (7fbbefc30) after the usage-readings commit, with no conflicts.
|
|
2109
|
+
- SEAL-FORGED-LINES merged. r11 was blocked by opus F1 (the env-scrub mutant survived at 132/0). r12 added the childEnv unit and E2E tests, and the opus re-review APPROVED it (scrub mutant goes 132/2 red; M2a, M2b and M3 were caught). The 12 round commits were cherry-picked; the SEAL suite is 134/0 on main, and CHANGELOG keeps only the final entry (899d200a3).
|
|
2110
|
+
- Fast gate on main: rc=124 (590s timeout under load). There is one real failure: the structural emoji scan flags U+2713, U+2714 and U+2716 in the SEAL code, tests and README. The r13 escape-only fix is building. train/101 is held for it.
|
|
2111
|
+
- P0-P9-DEFAULT-PUSH: root cause found. The region guard in autonomy/lib/engine10-push.sh, `printf | grep -q` under pipefail, gets SIGPIPE 141 under load, so the post-session push is refused. The fix (b2eebc22f) uses a pipe-free bash match. Repro under docker load: 5/18 failed before the fix, 0/10 after. Opus HIGH review is running. The engineer also saw P2 and P7 moat FAILs in that worktree, with the cause unknown; the reviewer will bisect them.
|
|
2112
|
+
- Drift audit (turn 2244): BOARD has ready=18, 14 of them dependency-blocked. The pulse git and ps probes are still timing out, so UNKNOWN metrics there are not regressions. Opus share is 37% against its 30% budget, and opus is used for HIGH reviews only.
|
|
2113
|
+
|
|
2114
|
+
## 2026-10-03T14:35Z (CoS)
|
|
2115
|
+
- v10.6.14 is on npm latest. `npm view loki-mode dist-tags` at 14:33Z returned latest=10.6.14 and next=10.6.14 (D49 auto-promote). The peer was messaged with the version and what users can now do.
|
|
2116
|
+
- train/101 (e14834e53): CI as of 14:34Z.
|
|
2117
|
+
- Passed: First-run gate, Bun Parity, Tier A and Security Audit.
|
|
2118
|
+
- In progress: Tests and Coverage (baseline).
|
|
2119
|
+
- ADV-PUSH-RC3 merged at 511937aec after sonnet TL APPROVE.
|
|
2120
|
+
- `/bin/bash tests/test-engine10-push.sh` gives 43/0 on main.
|
|
2121
|
+
- Both reviewer mutations go red at 41/2: the region check forced true, and the guard loop deleted.
|
|
2122
|
+
- ADV-T99-SED built at 41d9223a6, and TL review is in flight.
|
|
2123
|
+
- The builder also converted three section extractors to sed -E, because BSD sed lacks `\|` in BREs.
|
|
2124
|
+
- The reviewer must prove GNU output is unchanged.
|
|
2125
|
+
- ADV-SEAL-JEST-E2E is still building.
|
|
2126
|
+
- Drift audit (turn 2250):
|
|
2127
|
+
- Only the main checkout pushes.
|
|
2128
|
+
- BOARD and commit steps were run in separate calls.
|
|
2129
|
+
- Builders and TL reviewers are on sonnet.
|
|
2130
|
+
- No product code was written by the CoS.
|
|
2131
|
+
- The ready queue is still dependency-blocked: 14 of 18 rows.
|
|
2132
|
+
- The weekly projection of 141% is overridden by the D68 85% live floor.
|
|
2133
|
+
|
|
2134
|
+
## 2026-10-03T14:48Z (CoS)
|
|
2135
|
+
- train/101 Tests (run 37129766523) was red on two deterministic failures, handled per D81 (fix forward, revert deadline about 15:05Z).
|
|
2136
|
+
- T101-G04-DUPROW merged at 8b314af87 after TL APPROVE.
|
|
2137
|
+
- It was a test bug: GNU grep refuses input == output.
|
|
2138
|
+
- Weakening the writer's check makes R2-3 go red on ubuntu and macOS (83/2). Green is 85/0 on both.
|
|
2139
|
+
- T101-SEAL-NODEFLAG built at 72aa6c4ba (test only).
|
|
2140
|
+
- Cause: CI Node 22 lacks --test-isolation.
|
|
2141
|
+
- TL review is in flight. The reviewer must explain the 7 non-pass results on node:22 and mutation-prove the r7 test still guards on Node 22.
|
|
2142
|
+
- ADV-SEAL-JEST-E2E (e0be2eb32) is in TL review and merges after NODEFLAG.
|
|
2143
|
+
- Drift audit (turn 2256):
|
|
2144
|
+
- The peer's train/101 report was verified independently from the CI job logs before acting.
|
|
2145
|
+
- No product code was written by the CoS.
|
|
2146
|
+
- BOARD and commit steps ran in separate calls.
|
|
2147
|
+
- Opus share has fallen to 26.5%, under its 30% budget.
|
|
2148
|
+
|
|
2149
|
+
## 2026-10-03 15:21Z (CoS): 10.7.0 assembly, D83 opened
|
|
2150
|
+
- Merged on local main for 10.7.0 (unpushed, origin is v10.6.14): all D82 slices (COSTCAP, FLAGS, A..J, GAPS), DOCKER, LIVELINE, CP-INGEST, CP-LEGACY, CP-UI-LIVE; dist rebuilt (7223d72c0), test-release-dist-guard 13/0.
|
|
2151
|
+
- Opus HIGH reviews: D82-WALL0 BLOCKED (no-runner cut turned FAILED into PARTIAL), fixed in f27eba9c6, re-review running. CP-UI-SHELL start endpoint BLOCKED (Host-header-only loopback check, reproduced LAN spawn), fix running. Both miss 10.7.0 unless APPROVE by 15:45Z.
|
|
2152
|
+
- D83 recorded (e6d6c362f, addendum 29c367a91): enterprise Control Plane UI on the legacy design, lean conversation layout, full CLI parity; opus architect writing docs/v10/CP-ENTERPRISE-UI.md for 10.8.0.
|
|
2153
|
+
- D82-FIXREDS (9 loki-ts reds after the speed flip) still running; if a red is a real speed regression, the flip is reverted for 10.7.0.
|
|
2154
|
+
- Drift audit (turn 2280): reviews were D12 opus for HIGH; no product code by CoS; BOARD not yet written this window (due at the freeze, separate call); opus share 9.3%.
|
|
2155
|
+
|
|
2156
|
+
## 2026-10-03 16:14Z (CoS): 10.7.0 re-cut, CPE integration
|
|
2157
|
+
- 10.7.0 missed the 15:55Z cut. Re-cut per D68/D82 "drop failing slices":
|
|
2158
|
+
- Kept the speed flip with the D82-FIXREDS fix (ee6b62383 as 0110fe76f).
|
|
2159
|
+
- Moved LiveLine to e10ext (94bec912f) so the D29 core budget holds.
|
|
2160
|
+
- Reverted D82-WALL0 (280566464): it fails the engine e2e done run with the stub; moves to 10.7.1.
|
|
2161
|
+
- loki-ts `bun test` 3317 pass / 0 fail; test-release-dist-guard 13/0.
|
|
2162
|
+
- train/102 (cf5be9026): first push blocked by pre-push gitleaks on a fake Sentry fixture token, allowlisted by fingerprint (cf5be9026). Tier A red on shard-durations drift (5 new suites); rows added (9bbfcf920), drift 6/0, structural 11/0. train/103 queued behind train/102 Tests.
|
|
2163
|
+
- cpe-base: CPE-16 fix (opus r2 APPROVE), CPE-17 plans plus honesty follow-up, CPE-23 Playwright a11y and parity (33/33), plans wiring; suite 214/0, tsc 0. CPE-14 fixes (b568de7c9) in opus r2 review. CPE-27 (receipts tone test, real-envelope test, AA contrast fixes) building.
|
|
2164
|
+
- Drift audit (turn 2322): HIGH reviews opus D12; CoS edits limited to integration wiring, a test-budget refactor move, a revert and CI registration rows; BOARD and commit in separate calls; no main-checkout edits while train-cycle ran.
|
package/docs/v10/SWARM.md
CHANGED
|
@@ -204,6 +204,38 @@ queue. Never unpublishes or deletes a version.
|
|
|
204
204
|
6. Flaky tests: rerun once, record it in `BACKLOG.md`, open a slice. Never
|
|
205
205
|
pass a flake silently (BACKLOG 93).
|
|
206
206
|
|
|
207
|
+
## Cloud dispatch (G-04)
|
|
208
|
+
|
|
209
|
+
`scripts/cloud-dispatch.sh SLICE-ID` fans one ready slice out to a Claude
|
|
210
|
+
Code cloud session that works on `cloud/<slice-id>` and opens its own PR; the
|
|
211
|
+
Release Manager still merges only PRs whose checks concluded success.
|
|
212
|
+
|
|
213
|
+
- Default is `--dry-run`: it prints the exact `claude --cloud "<description>"`
|
|
214
|
+
command and the exact BOARD row it would write (status `building`, a
|
|
215
|
+
dispatch note with the session id), and changes nothing. Only an explicit
|
|
216
|
+
`--live` dispatches. `--live` has never been run; the first live use is a
|
|
217
|
+
founder-run probe.
|
|
218
|
+
- Refusals, each non-zero with a message: not ready or dependency-blocked
|
|
219
|
+
(exit 12); file set overlaps a building, review or review-blocked row
|
|
220
|
+
(11); the G-01 governor max is reached, unknown or unreadable (10; same
|
|
221
|
+
`usage-governor.py --json` source as the pulse); `--live` with no
|
|
222
|
+
`--cloud` option in the installed CLI (13). Fail-safe rules: an in-flight
|
|
223
|
+
row that cannot be parsed, or has no concrete file set, refuses (11); a
|
|
224
|
+
ready slice with an elided or path-less file set refuses (12); a row with a
|
|
225
|
+
tab, escaped pipe or a row not starting with `| ID |` refuses (17, also in
|
|
226
|
+
dry-run); path-shaped tokens inside parentheses in a file set still count
|
|
227
|
+
toward overlap; `--live` needs a live `.loki/v10-leader` PID that is an
|
|
228
|
+
ancestor of the caller (16) and re-checks the row just before launching; the
|
|
229
|
+
BOARD write keeps the file's mode; the governor call is
|
|
230
|
+
capped at 180s and a timeout refuses; the dry-run governor runs with
|
|
231
|
+
`--no-cache`.
|
|
232
|
+
- Verified CLI surface (claude 2.1.288): only the top-level option
|
|
233
|
+
`--cloud [description|session_id|url]` exists. `--help` documents no repo,
|
|
234
|
+
branch, PR or non-interactive flag for it, so the branch and the PR
|
|
235
|
+
instruction travel in the description text, and `--live` refuses to write
|
|
236
|
+
the BOARD row unless the output contains a session id or claude.ai/code
|
|
237
|
+
URL (exit 14).
|
|
238
|
+
|
|
207
239
|
## Guardrails (restated; speed pressure erodes them first)
|
|
208
240
|
|
|
209
241
|
- Priority when goals conflict: moat > Seal accuracy > delivered accuracy >
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Visual evidence
|
|
2
|
+
|
|
3
|
+
On by default (`LOKI_VISUAL_EVIDENCE=0` disables). For changed page files, Loki screenshots each route with the repo's Playwright CLI.
|
|
4
|
+
|
|
5
|
+
Playwright e2e media: when `@playwright/test` is installed in the repo, Loki also runs a short walkthrough of the same routes with `video` and `trace` on. The `.webm` video and trace `.zip` are sha256-hashed into the receipt (`evidence_screens`), rechecked by `loki verify`, and listed as `video:` and `trace:` lines in the PR body Evidence section. Nothing is downloaded. When Playwright is absent the run records "playwright e2e video and trace skipped: ..." under NOT PROVEN and continues.
|