loki-mode 11.15.0 → 11.17.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 (98) hide show
  1. package/SKILL.md +3 -3
  2. package/VERSION +1 -1
  3. package/autonomy/grill.sh +3 -1
  4. package/autonomy/hooks/validate-bash.sh +51 -13
  5. package/autonomy/lib/chat.sh +111 -7
  6. package/autonomy/lib/claude-flags.sh +20 -0
  7. package/autonomy/lib/claude_permissions.py +40 -0
  8. package/autonomy/lib/done-recognition.sh +8 -4
  9. package/autonomy/lib/engine10-push.sh +30 -5
  10. package/autonomy/lib/prd-enrich.sh +4 -2
  11. package/autonomy/lib/proof-generator.py +5 -0
  12. package/autonomy/lib/proof-verify.py +109 -1
  13. package/autonomy/lib/trust_trajectory.py +13 -4
  14. package/autonomy/lib/voter-agents.sh +3 -1
  15. package/autonomy/loki +175 -26
  16. package/autonomy/quickstart.sh +21 -2
  17. package/autonomy/run.sh +16 -6
  18. package/autonomy/trigger-server.py +11 -5
  19. package/completions/loki.bash +2 -2
  20. package/dashboard/__init__.py +1 -1
  21. package/dashboard/api_start.py +2 -2
  22. package/dashboard/build_supervisor.py +2 -0
  23. package/docs/CLI-REFERENCE.md +2 -1
  24. package/docs/EVALUATING.md +1 -1
  25. package/docs/INSTALLATION.md +1 -1
  26. package/docs/v10/BOARD.md +25 -0
  27. package/docs/v10/CLI-MODERN.md +3 -3
  28. package/docs/v10/DECISIONS.md +1 -0
  29. package/docs/v10/ENGINE.md +1 -1
  30. package/docs/v10/FAILURE-CLASSES.md +18 -0
  31. package/docs/v10/PROGRESS.md +4 -0
  32. package/loki-ts/data/finding-schema.json +2 -1
  33. package/loki-ts/dist/loki.js +1135 -1114
  34. package/magic/core/debate.py +27 -1
  35. package/mcp/__init__.py +1 -1
  36. package/package.json +2 -2
  37. package/packages/control-plane/dist/server.js +3761 -3454
  38. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  39. package/providers/claude.sh +6 -3
  40. package/providers/model_catalog.json +6 -0
  41. package/src/policies/claude_permissions.js +114 -0
  42. package/web-app/dist/assets/{AdminPage-bZlvH4TL.js → AdminPage-OVzN6eLm.js} +1 -1
  43. package/web-app/dist/assets/{Avatar-BZrBstQe.js → Avatar-hCCrxrCZ.js} +1 -1
  44. package/web-app/dist/assets/{Badge-Q8l8r4Vq.js → Badge-CDcpkhbJ.js} +1 -1
  45. package/web-app/dist/assets/{Button-B8Bt0A3S.js → Button-8mwWlhEu.js} +1 -1
  46. package/web-app/dist/assets/{CockpitPage-CIYExrXa.js → CockpitPage-D8cf3u22.js} +1 -1
  47. package/web-app/dist/assets/{ComparePage-CBOmHdam.js → ComparePage-CIgkbDRY.js} +1 -1
  48. package/web-app/dist/assets/{ErrorBoundary-BKwDPSnK.js → ErrorBoundary-99kJH9g2.js} +1 -1
  49. package/web-app/dist/assets/{EvidenceReceiptPanel-KqzjphWl.js → EvidenceReceiptPanel-C9fj32eS.js} +1 -1
  50. package/web-app/dist/assets/{GitHubIssuesPanel-lF3GkHRv.js → GitHubIssuesPanel-De43YQ_C.js} +1 -1
  51. package/web-app/dist/assets/{GitHubPRsPanel-BCzipPWD.js → GitHubPRsPanel-7g7ZTnkx.js} +1 -1
  52. package/web-app/dist/assets/{HomePage-CIdnkzaN.js → HomePage-CcNA24ny.js} +2 -2
  53. package/web-app/dist/assets/{LoginPage-D-178nTT.js → LoginPage-BYjlb-IK.js} +1 -1
  54. package/web-app/dist/assets/{MagicPage-BmHuzMT8.js → MagicPage-C0Dwt9Na.js} +1 -1
  55. package/web-app/dist/assets/{MetricsPage-CPCiyDFn.js → MetricsPage-jDGmdcgg.js} +1 -1
  56. package/web-app/dist/assets/{NotFoundPage-B2T6n1gx.js → NotFoundPage-C_ZO8tLE.js} +1 -1
  57. package/web-app/dist/assets/{ProjectPage-DQmpFhb0.js → ProjectPage-B5wnurfQ.js} +3 -3
  58. package/web-app/dist/assets/{ProjectsPage-BmugzFEd.js → ProjectsPage--EyKt5-D.js} +1 -1
  59. package/web-app/dist/assets/{SettingsPage-ZB-RrmgM.js → SettingsPage-cB0lnfti.js} +1 -1
  60. package/web-app/dist/assets/{ShowcasePage-BAhwHt4_.js → ShowcasePage-Dl16FDkK.js} +1 -1
  61. package/web-app/dist/assets/{SystemSettingsPage-Bt7sf2Vu.js → SystemSettingsPage-BmAXd4V2.js} +1 -1
  62. package/web-app/dist/assets/{TeamsPage-B-v5j_8q.js → TeamsPage-BFkWVOZe.js} +1 -1
  63. package/web-app/dist/assets/{TemplatesPage-bdqUL-LG.js → TemplatesPage-Bf2kmEUM.js} +1 -1
  64. package/web-app/dist/assets/{TerminalOutput-CRHEXBwS.js → TerminalOutput-BItv9Wa6.js} +1 -1
  65. package/web-app/dist/assets/{activity-C-ROkmXt.js → activity-Df2Awg6I.js} +1 -1
  66. package/web-app/dist/assets/{bell-DbiCBxQA.js → bell-D-1ztTsJ.js} +1 -1
  67. package/web-app/dist/assets/{bot-DsIgE_qr.js → bot-A4qgZsKi.js} +1 -1
  68. package/web-app/dist/assets/{check-CkAdmHWP.js → check-BPfFpF0c.js} +1 -1
  69. package/web-app/dist/assets/{chevron-left-CYTLivAo.js → chevron-left-CfSJvmDi.js} +1 -1
  70. package/web-app/dist/assets/{circle-alert-BVIcAsFJ.js → circle-alert-wx2d1dzb.js} +1 -1
  71. package/web-app/dist/assets/{clock-Dg3Rq0go.js → clock-pQMai6l-.js} +1 -1
  72. package/web-app/dist/assets/{cloud-CenrqHFl.js → cloud-DWL470r6.js} +1 -1
  73. package/web-app/dist/assets/{code-xml-C2mvfoug.js → code-xml-BaEQpQLZ.js} +1 -1
  74. package/web-app/dist/assets/{database-BKa0_eCb.js → database-h-N7WkQN.js} +1 -1
  75. package/web-app/dist/assets/{dollar-sign-DfelUK1S.js → dollar-sign-B5oYiD27.js} +1 -1
  76. package/web-app/dist/assets/{file-code-corner-CZKWoHVg.js → file-code-corner-fbTtTy0o.js} +1 -1
  77. package/web-app/dist/assets/{file-plus-CZ-m1zMX.js → file-plus-PaF6HMo8.js} +1 -1
  78. package/web-app/dist/assets/{globe-S0kv_GwC.js → globe-Ct-GlWID.js} +1 -1
  79. package/web-app/dist/assets/{hammer-BW1MDdu1.js → hammer-C1oZFX51.js} +1 -1
  80. package/web-app/dist/assets/{index-ACEYsTc2.js → index-C2egrRhz.js} +3 -3
  81. package/web-app/dist/assets/{layers-BrXHYZ-L.js → layers-Dt5ZK4v2.js} +1 -1
  82. package/web-app/dist/assets/{loader-circle-DOdhKFx0.js → loader-circle-DrpMziic.js} +1 -1
  83. package/web-app/dist/assets/{lock-BcFTyg8J.js → lock-DOez8MmK.js} +1 -1
  84. package/web-app/dist/assets/{package-D34cMVQG.js → package-ClGIkerr.js} +1 -1
  85. package/web-app/dist/assets/{plus-CEaMeBxL.js → plus-C004i9ua.js} +1 -1
  86. package/web-app/dist/assets/{refresh-cw-D2Rzxr5U.js → refresh-cw-Ddfk-7Sy.js} +1 -1
  87. package/web-app/dist/assets/{rotate-ccw-C_-EjRLh.js → rotate-ccw-Bu1KgDjS.js} +1 -1
  88. package/web-app/dist/assets/{scroll-text-BSSCMI_c.js → scroll-text-3q1lW5pm.js} +1 -1
  89. package/web-app/dist/assets/{server-BKvLonWt.js → server-pd6x4HW1.js} +1 -1
  90. package/web-app/dist/assets/{shield-alert-DbbQbPdW.js → shield-alert-B9jGJepT.js} +1 -1
  91. package/web-app/dist/assets/{thumbs-up-NoBD1fUR.js → thumbs-up-Cdcc9nQf.js} +1 -1
  92. package/web-app/dist/assets/{trash-2-BXz8rAyd.js → trash-2-foSojXHK.js} +1 -1
  93. package/web-app/dist/assets/{trending-down-D8u535Re.js → trending-down-CTTiqlJ1.js} +1 -1
  94. package/web-app/dist/assets/{trending-up-q8k3kgiy.js → trending-up-B_MgmRAx.js} +1 -1
  95. package/web-app/dist/assets/{upload-Cp7_zeBI.js → upload-g6BfALzG.js} +1 -1
  96. package/web-app/dist/assets/{usePolling-CTHVdcuX.js → usePolling-DrHwvzuh.js} +1 -1
  97. package/web-app/dist/assets/{user-DF7bfSf_.js → user-COp75m7l.js} +1 -1
  98. package/web-app/dist/index.html +1 -1
@@ -476,11 +476,37 @@ class DebateRunner:
476
476
 
477
477
  return completed.stdout or ""
478
478
 
479
+ def _permission_argv(self) -> list:
480
+ """Claude permission argv via autonomy/lib/claude_permissions.py.
481
+
482
+ autonomy/ and magic/ are siblings under the package root, but magic/
483
+ can be vendored or copied without autonomy/. A missing or shadowed
484
+ module must not break the debate: unset policy keeps the legacy flag,
485
+ LOKI_PERMISSION_POLICY=compiled fails closed to plan.
486
+ """
487
+ root = str(Path(__file__).resolve().parents[2])
488
+ added = root not in sys.path
489
+ if added:
490
+ sys.path.insert(0, root)
491
+ try:
492
+ from autonomy.lib.claude_permissions import claude_permission_argv
493
+ return list(claude_permission_argv(str(self.project_dir)))
494
+ except ImportError:
495
+ if os.environ.get("LOKI_PERMISSION_POLICY", "") == "compiled":
496
+ return ["--permission-mode", "plan"]
497
+ return ["--dangerously-skip-permissions"]
498
+ finally:
499
+ if added:
500
+ try:
501
+ sys.path.remove(root)
502
+ except ValueError:
503
+ pass
504
+
479
505
  def _build_command(self, prompt: str) -> list:
480
506
  """Map self.provider to an argv list."""
481
507
  provider = self.provider.lower()
482
508
  if provider == "claude":
483
- return ["claude", "--dangerously-skip-permissions", "-p", prompt]
509
+ return ["claude", *self._permission_argv(), "-p", prompt]
484
510
  if provider == "codex":
485
511
  # Codex uses `exec --sandbox workspace-write` with the prompt as
486
512
  # positional (codex 0.132.0 deprecated --full-auto; workspace-write
package/mcp/__init__.py CHANGED
@@ -75,4 +75,4 @@ try:
75
75
  except ImportError:
76
76
  __all__ = ['mcp']
77
77
 
78
- __version__ = '11.15.0'
78
+ __version__ = '11.17.1'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "loki-mode",
3
3
  "mcpName": "io.github.asklokesh/loki-mode",
4
- "version": "11.15.0",
4
+ "version": "11.17.1",
5
5
  "description": "An autonomous software factory that knows what it is supposed to deliver, and proves it did.",
6
6
  "keywords": [
7
7
  "agent",
@@ -160,5 +160,5 @@
160
160
  "dependencies": {
161
161
  "@resvg/resvg-wasm": "^2.6.2"
162
162
  },
163
- "gitHead": "183e1289224ed627c6c28a4535875f940e9ecfe2"
163
+ "gitHead": "b136ed44ec66a106a477b1dea8b4eda27e30c165"
164
164
  }