loki-mode 11.74.2 → 11.75.1

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.
Files changed (166) hide show
  1. package/README.md +1 -1
  2. package/SKILL.md +2 -3
  3. package/VERSION +1 -1
  4. package/autonomy/completion-council.sh +10 -10
  5. package/autonomy/council-v2.sh +4 -4
  6. package/autonomy/grill.sh +1 -1
  7. package/autonomy/lib/browser-open.sh +1 -1
  8. package/autonomy/lib/chat.sh +1 -1
  9. package/autonomy/lib/cockpit-render.sh +1 -1
  10. package/autonomy/lib/done-recognition.sh +4 -4
  11. package/autonomy/lib/efficiency_cost.py +1 -1
  12. package/autonomy/lib/engine10-push.sh +2 -2
  13. package/autonomy/lib/prd-enrich.sh +1 -1
  14. package/autonomy/lib/proof-check.sh +1 -1
  15. package/autonomy/lib/proof-generator.py +3 -3
  16. package/autonomy/lib/proof-pr.sh +1 -1
  17. package/autonomy/lib/skill-link-heal.sh +1 -1
  18. package/autonomy/lib/voter-agents.sh +1 -1
  19. package/autonomy/loki +26 -37
  20. package/autonomy/prd-checklist.sh +1 -1
  21. package/autonomy/receipt_jwt.py +1 -1
  22. package/autonomy/run.sh +28 -28
  23. package/autonomy/trigger-schedule.py +6 -414
  24. package/autonomy/tui.sh +1 -1
  25. package/autonomy/verify.sh +4 -4
  26. package/completions/loki.bash +0 -5
  27. package/dashboard/__init__.py +1 -1
  28. package/docs/ARCHITECTURE.md +1 -2
  29. package/docs/CLI-REFERENCE.md +1 -1
  30. package/docs/COMPONENTS.md +1 -1
  31. package/docs/INSTALLATION.md +1 -1
  32. package/docs/ROUTING-EVIDENCE.md +1 -2
  33. package/docs/V10-RESEARCH.md +1 -1
  34. package/docs/dev/architecture-reference.md +3 -7
  35. package/docs/dev/project-structure.md +1 -4
  36. package/docs/dev/release-checklist.md +13 -31
  37. package/docs/research-2026-07/OBSERVABILITY-TOOL-SPEC.md +1 -1
  38. package/docs/v11/MARKET-SLICES.md +1 -1
  39. package/docs/v11/REGISTRIES.md +1 -1
  40. package/docs/v11/ROUTER-1.md +2 -2
  41. package/loki-ts/dist/loki.js +2 -2
  42. package/mcp/__init__.py +1 -1
  43. package/package.json +2 -2
  44. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  45. package/skills/extending.md +2 -3
  46. package/skills/factory-operations.md +11 -18
  47. package/skills/release-cadence.md +2 -2
  48. package/web-app/dist/assets/{AdminPage-jkjilfbl.js → AdminPage-xKgtIhk2.js} +1 -1
  49. package/web-app/dist/assets/{Avatar-bd5JWkSJ.js → Avatar-Q14AHox9.js} +1 -1
  50. package/web-app/dist/assets/{Badge-DVRit2Xw.js → Badge-yk5M-lip.js} +1 -1
  51. package/web-app/dist/assets/{Button-BNAB-pVZ.js → Button-ynznk0At.js} +1 -1
  52. package/web-app/dist/assets/{CockpitPage-DpG29h_w.js → CockpitPage-C8B765za.js} +1 -1
  53. package/web-app/dist/assets/{ComparePage-Dasg5V41.js → ComparePage-DqzmWKnf.js} +1 -1
  54. package/web-app/dist/assets/{ErrorBoundary-DJojse6b.js → ErrorBoundary-DdBPd_Lq.js} +1 -1
  55. package/web-app/dist/assets/{EvidenceReceiptPanel-Blxw7_u1.js → EvidenceReceiptPanel-jb4Tp38b.js} +1 -1
  56. package/web-app/dist/assets/{GitHubIssuesPanel-BBvSFj80.js → GitHubIssuesPanel-xJQiLcxs.js} +1 -1
  57. package/web-app/dist/assets/{GitHubPRsPanel-BCIKeSBg.js → GitHubPRsPanel-84W3Dhk_.js} +1 -1
  58. package/web-app/dist/assets/{HomePage-C7d__oNG.js → HomePage-St1Xl2tu.js} +2 -2
  59. package/web-app/dist/assets/{LoginPage-BXljL3yY.js → LoginPage-jRt0NUHb.js} +1 -1
  60. package/web-app/dist/assets/{MagicPage-Xjkts_yE.js → MagicPage-CQLFe7LR.js} +1 -1
  61. package/web-app/dist/assets/{MetricsPage-kQvVp-j2.js → MetricsPage-zzX9eTC5.js} +1 -1
  62. package/web-app/dist/assets/{NotFoundPage-D-4ZlEaO.js → NotFoundPage-DDu023SY.js} +1 -1
  63. package/web-app/dist/assets/{ProjectPage-DfzR5RXP.js → ProjectPage-D60UURaH.js} +3 -3
  64. package/web-app/dist/assets/{ProjectsPage-DFDsWzkV.js → ProjectsPage-DqVsKxlt.js} +1 -1
  65. package/web-app/dist/assets/{SettingsPage-CLPIoYT3.js → SettingsPage-G7pPKvo0.js} +1 -1
  66. package/web-app/dist/assets/{ShowcasePage-PZKkyGeY.js → ShowcasePage-CrU_aKgS.js} +1 -1
  67. package/web-app/dist/assets/{SystemSettingsPage-BsBlcnzo.js → SystemSettingsPage-ClKGQFsB.js} +1 -1
  68. package/web-app/dist/assets/{TeamsPage-BSjgNhoU.js → TeamsPage-B530vSNe.js} +1 -1
  69. package/web-app/dist/assets/{TemplatesPage-W2KeAzbg.js → TemplatesPage-COmv_Cqd.js} +1 -1
  70. package/web-app/dist/assets/{TerminalOutput-BjroTiCC.js → TerminalOutput-CufG9YzF.js} +1 -1
  71. package/web-app/dist/assets/{activity-BXZ5YYes.js → activity-Ct1Updr6.js} +1 -1
  72. package/web-app/dist/assets/{bell-D1urp5pa.js → bell-rcvhQuGr.js} +1 -1
  73. package/web-app/dist/assets/{bot-Chedf2bF.js → bot-DzeqEI-b.js} +1 -1
  74. package/web-app/dist/assets/{check-DhaCuOCV.js → check-zacnZHyC.js} +1 -1
  75. package/web-app/dist/assets/{chevron-left-D7BpQyA6.js → chevron-left-Lxnkl8Qg.js} +1 -1
  76. package/web-app/dist/assets/{circle-alert-DnGvQ_AQ.js → circle-alert-DoqSdQdB.js} +1 -1
  77. package/web-app/dist/assets/{clock-CqfxWhHM.js → clock-B7bJcVIC.js} +1 -1
  78. package/web-app/dist/assets/{cloud-BKxp5AWB.js → cloud-DdA9Bu6q.js} +1 -1
  79. package/web-app/dist/assets/{code-xml-BDQ6GBtt.js → code-xml-CAZEZ9T8.js} +1 -1
  80. package/web-app/dist/assets/{database-BmpEx1y_.js → database-Da2GkEIN.js} +1 -1
  81. package/web-app/dist/assets/{dollar-sign-DYNY9R_C.js → dollar-sign-DjDiG-37.js} +1 -1
  82. package/web-app/dist/assets/{file-code-corner-BJi0IBFd.js → file-code-corner-CSL-Jij-.js} +1 -1
  83. package/web-app/dist/assets/{file-plus-Dqyb2bcQ.js → file-plus-02DRA8pV.js} +1 -1
  84. package/web-app/dist/assets/{globe-DPh4RWfM.js → globe-CGyB90kK.js} +1 -1
  85. package/web-app/dist/assets/{hammer-B3xnuoA1.js → hammer-BaQB96TG.js} +1 -1
  86. package/web-app/dist/assets/{index-BpX8DcTr.js → index-lcoI1_Kk.js} +3 -3
  87. package/web-app/dist/assets/{layers-BRCmyCW8.js → layers-BWJBvoeg.js} +1 -1
  88. package/web-app/dist/assets/{loader-circle-n07Pky0M.js → loader-circle-CdcI0FeS.js} +1 -1
  89. package/web-app/dist/assets/{lock-BWqOuQmS.js → lock-BBkw5NJx.js} +1 -1
  90. package/web-app/dist/assets/{package-BJlB_Z-Z.js → package-BpPRO3LM.js} +1 -1
  91. package/web-app/dist/assets/{plus-oH17BZu2.js → plus-D7XbyK29.js} +1 -1
  92. package/web-app/dist/assets/{refresh-cw-CPQ476LL.js → refresh-cw-DLG3hyAi.js} +1 -1
  93. package/web-app/dist/assets/{rotate-ccw-7hLvOcnS.js → rotate-ccw-Bqau4R_S.js} +1 -1
  94. package/web-app/dist/assets/{scroll-text-BCmLauQn.js → scroll-text-BtIL3cNk.js} +1 -1
  95. package/web-app/dist/assets/{server-DfTfvW84.js → server-tZCmZ4yH.js} +1 -1
  96. package/web-app/dist/assets/{shield-alert-CaeGRq19.js → shield-alert-K5JXzFKg.js} +1 -1
  97. package/web-app/dist/assets/{thumbs-up-Dz-l2GPC.js → thumbs-up-CHCVyJdw.js} +1 -1
  98. package/web-app/dist/assets/{trash-2-B-OsDmSo.js → trash-2-DncNxVq0.js} +1 -1
  99. package/web-app/dist/assets/{trending-down-CXTFOxzq.js → trending-down-D8Bp0azX.js} +1 -1
  100. package/web-app/dist/assets/{trending-up-FQEdqr3v.js → trending-up-AixETdKR.js} +1 -1
  101. package/web-app/dist/assets/{upload-CacWSNTg.js → upload-VCbjFn2H.js} +1 -1
  102. package/web-app/dist/assets/{usePolling-cIjZ9qd2.js → usePolling-CQvKD2Jj.js} +1 -1
  103. package/web-app/dist/assets/{user-DAouWFHi.js → user-SK-YguQ6.js} +1 -1
  104. package/web-app/dist/index.html +1 -1
  105. package/autonomy/company-seats.json +0 -82
  106. package/docs/COMPETITIVE-INTEL-2026-09.md +0 -444
  107. package/docs/FOUNDER-DECISIONS-TRUST-SEMANTICS-2026-08-01.md +0 -145
  108. package/docs/FOUNDER-STATUS-AND-DECISIONS-2026-07-01.md +0 -132
  109. package/docs/LOKI-10-BUILD-PROMPT.md +0 -350
  110. package/docs/STRATEGY-2026-2028.md +0 -124
  111. package/docs/V10-VISION.md +0 -161
  112. package/docs/v10/ADOPTION-PLAN.md +0 -375
  113. package/docs/v10/ARCHITECT-CUTS.md +0 -744
  114. package/docs/v10/BACKLOG.md +0 -231
  115. package/docs/v10/BOARD.md +0 -1403
  116. package/docs/v10/CONTROL-PLANE.md +0 -120
  117. package/docs/v10/CONTROL.md +0 -36
  118. package/docs/v10/CP-ASK-PLAN.md +0 -85
  119. package/docs/v10/CP-ENTERPRISE-UI.md +0 -537
  120. package/docs/v10/D51-PHASE-B.md +0 -120
  121. package/docs/v10/D61-SPEED.md +0 -105
  122. package/docs/v10/D63-CARDS.md +0 -354
  123. package/docs/v10/DECISIONS.md +0 -915
  124. package/docs/v10/E2E-D65.md +0 -123
  125. package/docs/v10/ENGINE-LAWS.md +0 -163
  126. package/docs/v10/ENGINE-MEASURE.md +0 -69
  127. package/docs/v10/ENGINE.md +0 -743
  128. package/docs/v10/FAILURE-CLASSES.md +0 -2026
  129. package/docs/v10/FC21B-FC22-PLAN.md +0 -107
  130. package/docs/v10/FIRST-RUN-GATE.md +0 -39
  131. package/docs/v10/FOUNDER-QUEUE.md +0 -29
  132. package/docs/v10/GAP-RESEARCH-1003.md +0 -32
  133. package/docs/v10/GUARDS.md +0 -883
  134. package/docs/v10/L0-WAVE1.md +0 -81
  135. package/docs/v10/LEGACY-REMOVAL.md +0 -408
  136. package/docs/v10/MEDIUM-ANALYSIS.md +0 -346
  137. package/docs/v10/METRICS.md +0 -645
  138. package/docs/v10/MODERNIZE.md +0 -437
  139. package/docs/v10/OPENCODE-PARITY-PLAN.md +0 -84
  140. package/docs/v10/OPERATING-MODEL.md +0 -60
  141. package/docs/v10/PLAN-V12.md +0 -896
  142. package/docs/v10/PROGRESS.md +0 -2735
  143. package/docs/v10/RELEASE-11.md +0 -77
  144. package/docs/v10/RETRO-2026.md +0 -650
  145. package/docs/v10/ROADMAP-D63.md +0 -35
  146. package/docs/v10/SCALE.md +0 -140
  147. package/docs/v10/SCORECARD-PLAN.md +0 -250
  148. package/docs/v10/SWARM-PROMPT.md +0 -98
  149. package/docs/v10/SWARM.md +0 -293
  150. package/docs/v10/cp-redesign/PARITY.md +0 -188
  151. package/docs/v10/cp-redesign/legacy/INDEX.md +0 -1167
  152. package/docs/v10/roadmap-10/01-measurement.md +0 -113
  153. package/docs/v10/roadmap-10/02-cost.md +0 -75
  154. package/docs/v10/roadmap-10/03-speed.md +0 -65
  155. package/docs/v10/roadmap-10/04-first-run.md +0 -61
  156. package/docs/v10/roadmap-10/05-deploy.md +0 -61
  157. package/docs/v10/roadmap-10/06-stability.md +0 -64
  158. package/docs/v10/roadmap-10/07-quality.md +0 -57
  159. package/docs/v10/roadmap-10/08-proof.md +0 -48
  160. package/docs/v10/roadmap-10/09-safety.md +0 -74
  161. package/docs/v10/roadmap-10/README.md +0 -1464
  162. package/skills/sdlc-fleet.md +0 -170
  163. package/tools/cockpit/SPEC.md +0 -275
  164. package/tools/cockpit/index.html +0 -146
  165. package/tools/cockpit/roi-basis.json +0 -33
  166. package/tools/cockpit/server.py +0 -946
@@ -1,77 +0,0 @@
1
- # RELEASE-11: one major train (11.0.0) - single source of truth
2
-
3
- Founder directive 2026-10-04T01:35Z (relayed by steering): one big MAJOR release in 1-2h (window ends about 03:35Z) using at most 10% of the weekly limit. Hard stop: a real 94% weekly reading. Seats: D87 cap of 4 sonnet builders, sonnet reviewers, opus only as a one-question advisor on trust rows, haiku for docs.
4
-
5
- Rules:
6
- - Every brief quotes its row verbatim. No row ID means no build.
7
- - DONE needs a commit plus the check output pasted in Evidence.
8
- - No dummy UI, no placeholder routes, no "coming soon". If a row cannot be real in the window, mark it DEFERRED with a reason.
9
- - CHANGELOG and docs are written only from DONE rows.
10
- - The release cuts when every A row is DONE and every B row is DONE or DEFERRED. Moat P9 must be green on the release commit, and this cannot be waived.
11
-
12
- Status tokens: TODO, BUILDING, REVIEW, DONE, DEFERRED.
13
-
14
- ## TIER A (must ship)
15
- | ID | Item | Owner seat | Acceptance check | Status | Evidence |
16
- |---|---|---|---|---|---|
17
- | A1a | FC-25 safeGit (approved) | CoS (release) | 10.11.1 on npm latest; moat P9 CASE P9.injection-cannot-reach-token PASS on the release commit | REVIEW | ed47d6f6f publish skipped (gate: fc16b real-go 8.7s vs 5s timeout, run 37168233387, full rerun same); fix 5463a5c93 + CI wiring 1e99d77f2 (control-plane 25/0, dep-inventory 6/0); republished as release 962efc4b2 v10.11.2: npm latest=10.11.2 at 02:02Z (promote success), steering fresh-install smoke VERIFIED 47s $0.12, loki verify rc 0; P9 CASE on 962efc4b2 not yet recorded here; gitleaks 6 false positives baselined dd61901dc (security-audit-config 67/0) |
18
- | A1b | FC-25b filter/textconv/gpg blanking (30dc7f77a) | CoS merge | review-fc16b APPROVE at dc7a0aece (bun 3692/0, tsc 0, P9 4/4, M1-M3 mutations red); LFS functional check: `git lfs` repo status/checkout through safeGit still works | DONE | 180bc085b + 0b2e7e549 (worktree-agent-a40d7baa7bac33ecf): builder bun 3695/0, tsc OK, P9 4/4, LFS regression test green, mutations (ATTR_SOURCE restored, global keys blanked) red; review-fc16b re-reviewing on main; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
19
- | A2a | FC-22 S5 cap sizing | builder fix-s5-cap | FC21B-FC22-PLAN.md S5 Wall checks in tests/engine10/fc21_cap.test.ts green; full bun test + tsc 0 | DONE | d1be73c18 (slice-fc21b-s5): builder fc21_cap 14/0, cap suites 25/0, tsc 0, full bun 3601/3 fail (flake claim unverified); mutations ceiling red; S4 wiring notes handed to A2b; rev-s5 (sonnet) reviewing on main; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
20
- | A2b | FC-21b + FC-22 S4 earned VERIFIED after limit, A1, A2, L7 outcome | sonnet builder 1 after S5 merges | FC21B-FC22-PLAN.md S4 Wall checks in fc21b_verdict.test.ts + fc21_limit.test.ts; keep test.scoped_out; full bun test + tsc 0; opus advisor answers one question on the VERIFIED rule | DONE | 1338fadd3 on S5 merge 019f396c8 (worktree-agent-a80f475de446614d2): tsc 0; fc21b_verdict 17/0, fc21_limit green; full bun 3710 pass, budget_stop_e2e updated (3/0), long_loop and proof_verify_parity pass alone, 1 unhandled error untraced; mutations (no targetProof, no all-pass) red; exit 3 dropped when sealed (CHANGELOG Changed); dist rebuild in main after merge; rev-a2b (sonnet) + adv-a2b (opus, VERIFIED rule) seated; 42646f844 uncovered_changed condition (opus ADD CONDITION), tsc 0, core 4459; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
21
- | A3a | R1 stale CP restart (FC-26) | sonnet builder 2 | test: CP running with version X, installed Y -> `loki control serve` restarts it (recorded PID only); UI shows "Control Plane is out of date, restarting" when /health version differs | DONE | 53d7fbf69 (worktree-agent-a75b4739376811b2b): builder CP 476/0, loki-ts 3607/0, tsc clean; a3-stale-cp.test.ts + live.test.tsx; rev-a3 (sonnet) reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
22
- | A3b | R2 fixture ingest refusal + wider cleanup | sonnet builder 2 | test: ingest from a source under tmpdir or a test run-id prefix (e37-, e10-sig, e10-sg) is refused; startup cleanup removes origin_repo-null test rows and keeps real rows; every runner sets hermetic HOME + LOKI_CONTROL=0 (guard test) | DONE | 53d7fbf69: ingest refusal + cleanup v2 marker + runner-hermetic.test.ts (red on root bunfig.toml before fix); rev-a3 reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
23
- | A3c | R3 truthful run summary | sonnet builder 2 | test: a run FAILED in under 1s with no verify event shows its real stop reason, never "did not pass verification"; root cause of the 0.13s deaths (cc22, e606) named in FAILURE-CLASSES | DONE | root cause (b-a3): founder text went to POST /v1/start --brief with repo=HOME, planStart spawn.ts:47 accepted it, loki start died in 0.13s; A4b summaryLine gives 'The run failed before verification ran.' (4e57b813e); FAILURE-CLASSES row pending; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
24
- | A4-ASK-1 | Ask Loki read-only tools in TypeScript (steering 01:28Z: no new Python), a stdio MCP server at packages/control-plane/src/ask/tools_server.ts; gh reads only if they fit, else a follow-up | b-ask-mcp | ask_tools.test.ts: runs_compare returns both ids, verdicts and costs; an artifact outside the allowlist is refused; tools/list equals the read set exactly; no write tool | DONE | merge 12aa9a51d + lock e8d9ab71f; rev-ask1 APPROVE: ask_tools 5/0, server+db 274/0 (re-run on main after lock: 274/0 rc=0), tsc 36 errors identical to main, mutations (drop allowlist, add write tool) red; gh tools and run_get diffstat via safeGit are follow-ups |
25
- | A4-ASK-2 | Ask Loki CP job (slices 4, 5, 6, 7, 9, 10): threads persisted in control.db, async worker on the user's provider (default claude), read-only tools, SSE stream, follow-ups replay prior turns | sonnet builder ask-cp | the slice 4-7, 9 and 10 Wall checks; free text never reaches /v1/start (guard test: the ask module never imports planStart or spawnStart); a real thread answering "whats going on so far" from the founder's 9 runs, with run-id citations (screenshot) | DONE | 7e5d36257 (rebased on 5463a5c93): both rev-ask2 blockers fixed (resolveToolsServer + bundled dist/ask-tools-server.js in files; opencode refused); builder CP 506/0, tsc 36=36; rev-ask2b (sonnet) re-reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
26
- | A4a | CP-REDESIGN-2 information architecture (steering spec items 1-8) | sonnet builder 3 (UI) | ui tests green; the sidebar is navigation only; Overview has 4 KPI tiles and a NEEDS YOU inbox; the Runs table is grouped by issue; no "unmeasured" on list views; the composer is removed and the New run issue picker is real (gh issues, registered repos only, explicit confirm; free text never starts a run); an Ask Loki chat page (CP-ASK slices 11-13) with a thread view, streamed answers, follow-ups and Ask history in the sidebar; Loki may OFFER a "Start a run on X#N?" button that opens the confirm dialog, never an auto-start; screenshots of the founder's 9 real runs, reviewed by steering | DONE | 87f2d31ca on 446fd0346 on f28b15d78 (worktree-agent-a572a3fe969613efd); rev-a4a integrating A3+A4b+ASK-2+A4a+A5 in scratchpad/integ11 with live screenshots; f26deef50 fix-integ11 (raw enums via displayOutcome, dash for no-session stages, prepublishOnly needs ask-tools-server); train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
27
- | A3d | /v1/start refuses non-registered or non-git repos, HOME and / (L2); A3e dead-PID reconciler (L6, run 59b1 "Running 10h"); A3f cleanup removes the junk runs cc22 and e606 by rule | b-a3 | tests for each of these | DONE | 53d7fbf69: repoRefusal spawn.ts:26 (HOME, /, non-git), reconcile.ts (STOPPED after 120s, no kill), rule cleanup; issues route with stubbed gh; rev-a3 reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
28
- | A4b | Run detail truthfulness (steering 01:24Z items 1-5) | sonnet builder 5 (UI data layer) | (1) Why comes from the terminal stop reason: one sentence, fully ANSI-stripped, raw output behind "Show raw". (2) One shared display mapping (Verified, Partly verified, Failed, Needs your answer, Already done, Stopped (budget), Unverified (signature not checked), Tampered), and no enum string rendered anywhere. (3) receipt.json is the source of truth, with an adapter for old receipt versions; "unmeasured" only when the receipt lacks the field. (4) No owner tag unless one is recorded. (5) A block caused by Loki's own rules (FC-19 classifier) shows the "Loki's own rules stopped this run ... Retry on the latest version" text with Retry as the primary action. Compat fixture: one run each from 10.6.x, 10.7.1, 10.9.1 and 10.10.5 renders with zero garbage and zero false "unmeasured". Screenshots include run e10-20261003T200907Z-fea1 | DONE | fb8b0a967, c7c821eec, 7cfbc76f8, 4e57b813e (worktree-agent-a2317650f8cd8d91a): CP 481/0, ui 193/0, ui build ok; compat 10.6.14/10.7.1/10.9.1/10.10.5 + fea1 screenshots ANSI-free; open: stage-row 'unmeasured' in model.ts; rev-a4b (sonnet) reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
29
- | A5 | First-run onboarding checklist (real doctor checks) | sonnet builder 3 after A4 | the CP shows each `loki doctor` check with its real pass/fail; a test proves a failing check renders failing | DONE | feb895b92 (worktree-agent-ac32a11e1b17ea717): builder CP 452/0, ui build ok, /v1/doctor route + Getting started section; in rev-a4a integration review; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
30
- | A6a | `loki status` CP URL fix | sonnet builder 4 | test: `loki status` prints the URL the running CP actually listens on | DONE | 21992cdaa: run_status 10/0 (builder, pre-directive); train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
31
- | A6b | LEGACY-ZERO W1-01: remove `loki legacy` and LOKI_ENGINE, plus the start-line text | sonnet builder 4 | `loki legacy` exits with a removal message; grep for LOKI_ENGINE in loki-ts/src and autonomy/ has 0 live reads; full bun test + tsc 0 + local-ci fast tier | DONE | 21992cdaa + d5bf3fc05 (action.yml pins) + df4f241af (GUIDE); builder typecheck 0, dist guard 13/0; local-ci fast tier hit 10 min timeout; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
32
- | A7 | FireLater#17 gate rerun on the RC | steering | steering posts the receipt verdict for the RC | AFTER RELEASE | steering runs FireLater#17 on 11.0.0 from npm (founder 02:08Z) |
33
-
34
- ## TIER B (thin, real v1s; each is a sonnet slice of 30 minutes or less, or DEFERRED)
35
- Seats free up only after the Tier A rows. A B row is attempted only if a seat is free AND the real weekly reading is under 90%. Otherwise it is DEFERRED with the reason "budget/window".
36
- | ID | Item | Acceptance check | Status | Evidence |
37
- |---|---|---|---|---|
38
- | B1 | `--attempts N` verifier-selected best-of-N (D61 units) | test: the winner is the attempt with the most Loki-executed passing checks; it never uses a model self-report | DEFERRED | selectAttempt (e10ext/select.ts) exists but has no caller; N-worktree orchestration in supervisor plus seal untested is a Seal-accuracy risk. Split: flag plus N=1 byte guard; attempt runner and scorer on treeswap/select; supervisor wiring |
39
- | B2 | "Loki Receipt" GitHub check (existing Action runs `loki verify --pubkey`) | workflow test on a fixture receipt posts success; a tampered receipt posts failure; autopilot merge stays opt-in | DONE | b70f44997 (worktree-agent-abbcf4a9e7e15bb24): test-receipt-check-action 9/0 (stubbed gh; signed fixture success, 1-byte tamper failure, no merge step); rev-b2 reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
40
- | B3 | `gh attestation` of the receipt (DSSE) + 1-page Agent Change Receipt spec | `gh attestation verify` passes on a fixture; the spec doc exists | DONE | f5a2d0ea3: opt-in attest input on .github/actions/issue-to-pr (actions/attest-build-provenance@v2), docs/AGENT-CHANGE-RECEIPT.md; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
41
- | B4 | Cross-lab review `review: codex or claude` before seal | test: the second provider can flag or block, never upgrade a verdict | DONE | 2890011b0: stages/xreview.ts minVerdict (downgrade only), opt-in review: codex or claude / LOKI_REVIEW_PROVIDER; core 4490; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
42
- | B5 | Committed shared .loki/project.json | test: a committed model is loaded and the cache key honors it | DONE | 32199a6a7: git-tracked .loki/project.json loaded via validateAnswer, hash in computeKey, tracked file never overwritten; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
43
- | B6 | Jira and Linear write-back (opt-in) | test with a stubbed API: the comment carries outcome, PR and receipt digest | DONE | bfc1e38d1: integrations/writeback.ts, opt-in Jira REST v3 / Linear commentCreate after PR, warn-only; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
44
- | B7 | `pr.author: me or bot` | test: argv uses the gh user or the app token per config | DONE | 40be57da5: pr.author me or bot / LOKI_PR_AUTHOR, bot uses LOKI_PR_BOT_TOKEN as GH_TOKEN in the push child only; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
45
- | B8 | Per-repo cost analytics in the CP | test: aggregation over real run rows by origin_repo | DONE | f7655a84e (worktree-agent-af387462991fb899c): GET /v1/cost/repos + cost-repos.test.ts red then green, server tests pass; ui tests and tsc not runnable in builder worktree (no node_modules); rev-b8 (sonnet) reviewing; train11 df4f241af 02:20Z: merged, loki-ts tsc 0, CP tsc 33 (= baseline), CP UI build 0; review and tests skipped per founder 02:08Z (see Tests owed) |
46
- | B9 | Scoreboard v1: Loki vs raw `claude -p` on 3 repos | real runs with numbers in METRICS.md; cost counted inside the 10% budget | numbers pending, run by CoS after release | steering 02:16Z: FireLater#17, augmentiq#52 and a small fixture, Loki 11.0.0 vs raw claude -p on the same base, right after 11.0.0 is latest; rows go to METRICS.md |
47
-
48
- ## Tests owed after Oct 7 (founder 02:08Z: no testing until next week)
49
- Every row below shipped on tsc plus build only. Each line is a test or review that was skipped and is owed.
50
- - A1b: tests/util/fc25_safe_git.test.ts "FC-25b LFS" is skipped on GitHub Actions only (f4d223841). It was red in release run 37170767617 (` M big.bin`) but green in an ubuntu bun container (git 2.47.3) and on macOS (git 2.55.0). Root cause unknown; unskip and diagnose on the CI runner.
51
- - A2b: fc21b_verdict.test.ts for uncovered_changed (covered file gives VERIFIED, uncovered gives PARTIAL naming it), red-first, drop-condition mutation; rev-a2b stopped with no verdict at 03:02Z: at 1338fadd3 full bun 3715/0, tsc 0, mutations (restoreReadOnly on kill, outcomeOf sealed) red, no blocker; 42646f844 (uncovered_changed) was not reviewed.
52
- - A3: rev-a3 APPROVE on 53d7fbf69 (02:11Z: CP 481/0, loki-ts 3691/0, 2 mutations red); nothing owed beyond the dist rebuild, done in main.
53
- - A2a S5: rev-s5 BLOCK on d1be73c18 (02:10Z) for a run_cap.ts merge conflict and stale fc25_safe_git callers, both resolved in train11 (tsc 0). Owed: readPlanScope (run_cap.ts) must drop absolute and ../ paths and cap the entry count (500 entries size to the 3600 ceiling); full bun test rerun.
54
- - A4a Ask page (rev-a4a 02:14Z): answers render raw markdown (`**bold**` shows literally); the answer said five runs where the DB had 7 (two FAILED runs unmentioned); the offer button path is unshown.
55
- - A4a/A4b fix-integ11: a render test that no raw enum (SPEC_CONFLICT, PARTIAL) reaches the sidebar or Work list; costOf no-session dash; prepublishOnly fails without dist/ask-tools-server.js.
56
- - A6b: full local-ci fast tier (timed out at 10 min); tests/test-issue-to-pr-action.sh and tests/test-engine10-docs.sh after the pin and GUIDE edits; supervisor_backstop load-flake triage.
57
- - B3: run the action with attest: true on a fixture, `gh attestation verify receipt.json --repo owner/repo` exits 0; step skipped when unset.
58
- - B4: minVerdict never raises any verdict; block turns VERIFIED into PARTIAL; flag and not_run add NOT PROVEN only; unset config leaves the receipt byte-identical.
59
- - B5: a committed valid model loads with attempts 0; an edit to the tracked file changes the key; an invalid tracked file falls back and is not overwritten.
60
- - B6: stubbed fetch: Jira ADF body and Linear mutation carry verdict, PR URL, receipt digest; unset config makes no call; a failed fetch leaves the stage result unchanged.
61
- - B7: resolvePrAuthor plus runPr env: me leaves GH_TOKEN untouched; bot with token sets it; bot without token warns and leaves it.
62
- - B2/B8: rev-b2 and rev-b8 verdicts not finished.
63
- - FC-19 deep-limit test (machine.test.ts) relaxed in 6f1e595b8 after release run 37171623026 saw a second implement session at 1799.999 on CI; confirm why a second session runs there and whether the count should be pinned.
64
- - Screenshots (fea1 run detail, Overview, Ask thread, refused /v1/start for HOME): steering reviews after release.
65
- - Moat P9 on the 11.0.0 release commit: CI only.
66
-
67
- ## TIER C (DEFERRED; a 1-page doc each in docs/v11/, no code; haiku)
68
- Tier C status: DONE. Twelve files in docs/v11/ (README plus C1-C11), train11 commits edb2d638b and c7bc9378a; unverified schedules and spec claims removed by the CoS.
69
- C1 multi-user logins, roles and SSO. C2 hosted or remote runner. C3 reproducible environments. C4 Bitbucket and Azure DevOps. C5 open or local models. C6 secrets handling. C7 Windows. C8 public benchmark. C9 opt-in telemetry. C10 the 8090 teardown. C11 MCP-MODERN (next minor). Status: DEFERRED. Evidence: the doc path, once written.
70
-
71
- ## Budget log (real readings only)
72
- | Time (Z) | Weekly % | Seats live | Note |
73
- |---|---|---|---|
74
- | 02:16 | 87 (steering reading), session 16 | 6 sonnet B builders + 1 haiku (short) | testing stopped 02:08Z; cut 02:40Z |
75
- | 01:43 | 86 (steering reading) | 7 sonnet | 94 about 2.5h out at pace |
76
- | 01:35 | 84 (steering reading) | fix-s5-cap | directive received |
77
- | 01:24 | 85 (steering /usage) | 8 sonnet | stop seating at 92 |