create-principles-disciple 1.82.0 → 1.83.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.
Files changed (494) hide show
  1. package/console/dist/server/config/pd-config-store.d.ts +135 -0
  2. package/console/dist/server/config/pd-config-store.js +660 -0
  3. package/console/dist/server/index.js +40 -389
  4. package/console/dist/server/models/ActivationsConsoleModel.d.ts +33 -0
  5. package/console/dist/server/models/ActivationsConsoleModel.js +112 -0
  6. package/console/dist/server/models/ApprovalsConsoleModel.d.ts +5 -0
  7. package/console/dist/server/models/ApprovalsConsoleModel.js +14 -0
  8. package/console/dist/server/models/ApprovalsGroupedConsoleModel.d.ts +25 -0
  9. package/console/dist/server/models/ApprovalsGroupedConsoleModel.js +126 -0
  10. package/console/dist/server/models/ConsoleLifecycleDatasource.d.ts +13 -0
  11. package/console/dist/server/models/ConsoleLifecycleDatasource.js +73 -0
  12. package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +58 -0
  13. package/console/dist/server/models/EvidenceChainConsoleModel.js +493 -0
  14. package/console/dist/server/models/GovernanceConsoleModel.d.ts +74 -0
  15. package/console/dist/server/models/GovernanceConsoleModel.js +246 -0
  16. package/console/dist/server/models/HealthCheckModel.d.ts +0 -4
  17. package/console/dist/server/models/HealthCheckModel.js +49 -80
  18. package/console/dist/server/models/LifecycleConsoleModel.d.ts +19 -0
  19. package/console/dist/server/models/LifecycleConsoleModel.js +55 -0
  20. package/console/dist/server/models/PrincipleClassifier.d.ts +41 -0
  21. package/console/dist/server/models/PrincipleClassifier.js +100 -0
  22. package/console/dist/server/models/PrinciplesConsoleModel.d.ts +12 -1
  23. package/console/dist/server/models/PrinciplesConsoleModel.js +53 -6
  24. package/console/dist/server/models/WorkspaceService.d.ts +2 -1
  25. package/console/dist/server/models/WorkspaceService.js +51 -23
  26. package/console/dist/server/routes/activations.d.ts +3 -0
  27. package/console/dist/server/routes/activations.js +111 -0
  28. package/console/dist/server/routes/approvals-grouped.d.ts +3 -0
  29. package/console/dist/server/routes/approvals-grouped.js +32 -0
  30. package/console/dist/server/routes/approvals.js +28 -4
  31. package/console/dist/server/routes/config.d.ts +27 -0
  32. package/console/dist/server/routes/config.js +213 -0
  33. package/console/dist/server/routes/evidence-chain.d.ts +9 -0
  34. package/console/dist/server/routes/evidence-chain.js +32 -0
  35. package/console/dist/server/routes/governance.d.ts +3 -0
  36. package/console/dist/server/routes/governance.js +32 -0
  37. package/console/dist/server/routes/{evolution.d.ts → lifecycle.d.ts} +2 -2
  38. package/console/dist/server/routes/lifecycle.js +48 -0
  39. package/console/dist/server/routes/principles.js +74 -1
  40. package/console/dist/server/routes/workspaces.js +8 -1
  41. package/console/dist/server/utils/response.d.ts +1 -1
  42. package/console/dist/server/utils/response.js +6 -2
  43. package/console/dist/types.d.ts +1 -0
  44. package/console/dist/ui/App.js +116 -40
  45. package/console/dist/ui/api.d.ts +88 -501
  46. package/console/dist/ui/api.js +139 -162
  47. package/console/dist/ui/components/approval-card.js +1 -1
  48. package/console/dist/ui/components/approval-detail-dialog.js +1 -1
  49. package/console/dist/ui/components/auth/login-form.d.ts +3 -0
  50. package/console/dist/ui/components/auth/login-form.js +36 -0
  51. package/console/dist/ui/components/auth/splash-screen.d.ts +8 -0
  52. package/console/dist/ui/components/auth/splash-screen.js +22 -0
  53. package/console/dist/ui/components/layout/app-sidebar.d.ts +1 -0
  54. package/console/dist/ui/components/layout/app-sidebar.js +56 -0
  55. package/console/dist/ui/components/layout/page-shell.d.ts +11 -0
  56. package/console/dist/ui/components/layout/page-shell.js +10 -0
  57. package/console/dist/ui/components/layout/section-title.d.ts +10 -0
  58. package/console/dist/ui/components/layout/section-title.js +9 -0
  59. package/console/dist/ui/components/theme-provider.d.ts +1 -1
  60. package/console/dist/ui/components/theme-provider.js +13 -8
  61. package/console/dist/ui/components/theme-toggle.js +2 -21
  62. package/console/dist/ui/components/ui/badge.d.ts +1 -1
  63. package/console/dist/ui/components/ui/badge.js +7 -5
  64. package/console/dist/ui/components/ui/button.d.ts +2 -2
  65. package/console/dist/ui/components/ui/button.js +12 -11
  66. package/console/dist/ui/components/ui/card.js +6 -6
  67. package/console/dist/ui/components/ui/sheet.d.ts +1 -1
  68. package/console/dist/ui/i18n/en.json +401 -343
  69. package/console/dist/ui/i18n/index.js +2 -2
  70. package/console/dist/ui/i18n/zh-CN.json +406 -348
  71. package/console/dist/ui/main.d.ts +1 -1
  72. package/console/dist/ui/main.js +1 -0
  73. package/console/dist/ui/pages/activation/ActivationPage.d.ts +1 -0
  74. package/console/dist/ui/pages/activation/ActivationPage.js +150 -0
  75. package/console/dist/ui/pages/activation/ActivationValidators.d.ts +20 -0
  76. package/console/dist/ui/pages/activation/ActivationValidators.js +156 -0
  77. package/console/dist/ui/pages/control-center/ControlCenterPage.d.ts +1 -0
  78. package/console/dist/ui/pages/control-center/ControlCenterPage.js +447 -0
  79. package/console/dist/ui/pages/debt/DebtPage.d.ts +1 -0
  80. package/console/dist/ui/pages/debt/DebtPage.js +5 -0
  81. package/console/dist/ui/pages/design-system/DesignSystemPage.d.ts +1 -0
  82. package/console/dist/ui/pages/design-system/DesignSystemPage.js +30 -0
  83. package/console/dist/ui/pages/focus/FocusPage.d.ts +1 -0
  84. package/console/dist/ui/pages/focus/FocusPage.js +265 -0
  85. package/console/dist/ui/pages/pain/PainEvidenceValidators.d.ts +59 -0
  86. package/console/dist/ui/pages/pain/PainEvidenceValidators.js +125 -0
  87. package/console/dist/ui/pages/pain/PainPage.js +136 -0
  88. package/console/dist/ui/pages/principles/PrincipleDetailPage.js +264 -0
  89. package/console/dist/ui/pages/principles/PrinciplesPage.js +244 -0
  90. package/console/dist/ui/pages/report-problem/ReportProblemPage.js +245 -0
  91. package/console/dist/ui/pages/settings/SettingsPage.d.ts +4 -0
  92. package/console/dist/ui/pages/settings/SettingsPage.js +202 -0
  93. package/console/dist/ui/pages/settings/UpdatePage.d.ts +5 -0
  94. package/console/dist/ui/pages/settings/UpdatePage.js +168 -0
  95. package/console/dist/ui/utils/control-center-helpers.d.ts +58 -0
  96. package/console/dist/ui/utils/control-center-helpers.js +152 -0
  97. package/console/dist/ui/utils/validators.d.ts +350 -0
  98. package/console/dist/ui/utils/validators.js +995 -0
  99. package/console/dist/web/assets/app.css +672 -902
  100. package/console/dist/web/assets/app.js +6404 -15347
  101. package/console/dist/web/assets/jetbrains-mono-cyrillic-400-normal-C5JECUCT.woff2 +0 -0
  102. package/console/dist/web/assets/jetbrains-mono-cyrillic-400-normal-FGCZYWMY.woff +0 -0
  103. package/console/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-C7IFWGF6.woff2 +0 -0
  104. package/console/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-PWXUA557.woff +0 -0
  105. package/console/dist/web/assets/jetbrains-mono-greek-400-normal-JJNQZMPZ.woff +0 -0
  106. package/console/dist/web/assets/jetbrains-mono-greek-400-normal-O7JTTR3P.woff2 +0 -0
  107. package/console/dist/web/assets/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2 +0 -0
  108. package/console/dist/web/assets/jetbrains-mono-latin-400-normal-WDD34GPP.woff +0 -0
  109. package/console/dist/web/assets/jetbrains-mono-latin-ext-400-normal-55RNMRQS.woff +0 -0
  110. package/console/dist/web/assets/jetbrains-mono-latin-ext-400-normal-JVR3IR4Z.woff2 +0 -0
  111. package/console/dist/web/assets/jetbrains-mono-vietnamese-400-normal-7ULXAK72.woff +0 -0
  112. package/console/dist/web/assets/jetbrains-mono-vietnamese-400-normal-KU7YLUPA.woff2 +0 -0
  113. package/console/package.json +2 -1
  114. package/core/dist/runtime-v2/__tests__/admission-gate.test.js +49 -0
  115. package/core/dist/runtime-v2/__tests__/admission-gate.test.js.map +1 -1
  116. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +16 -1
  117. package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
  118. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts +21 -0
  119. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.d.ts.map +1 -0
  120. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +354 -0
  121. package/core/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -0
  122. package/core/dist/runtime-v2/__tests__/language-directive.test.d.ts +12 -0
  123. package/core/dist/runtime-v2/__tests__/language-directive.test.d.ts.map +1 -0
  124. package/core/dist/runtime-v2/__tests__/language-directive.test.js +162 -0
  125. package/core/dist/runtime-v2/__tests__/language-directive.test.js.map +1 -0
  126. package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +23 -1
  127. package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
  128. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +48 -3
  129. package/core/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
  130. package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +13 -1
  131. package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
  132. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts +12 -0
  133. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.d.ts.map +1 -0
  134. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js +194 -0
  135. package/core/dist/runtime-v2/__tests__/resolve-runtime-config-from-pd-config.test.js.map +1 -0
  136. package/core/dist/runtime-v2/__tests__/runtime-config-boundary.test.js +5 -3
  137. package/core/dist/runtime-v2/__tests__/runtime-config-boundary.test.js.map +1 -1
  138. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +1 -0
  139. package/core/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
  140. package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js +54 -0
  141. package/core/dist/runtime-v2/activation/__tests__/approval-queue.test.js.map +1 -1
  142. package/core/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js +15 -2
  143. package/core/dist/runtime-v2/activation/__tests__/memory-activation-state-store.test.js.map +1 -1
  144. package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js +10 -0
  145. package/core/dist/runtime-v2/activation/__tests__/prompt-activation-reader-contract.test.js.map +1 -1
  146. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +17 -2
  147. package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
  148. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +36 -0
  149. package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
  150. package/core/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
  151. package/core/dist/runtime-v2/activation/activation-dispatcher.js +1 -1
  152. package/core/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
  153. package/core/dist/runtime-v2/activation/activation-types.d.ts +10 -0
  154. package/core/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
  155. package/core/dist/runtime-v2/activation/activation-types.js.map +1 -1
  156. package/core/dist/runtime-v2/activation/approval-queue.d.ts +6 -0
  157. package/core/dist/runtime-v2/activation/approval-queue.d.ts.map +1 -1
  158. package/core/dist/runtime-v2/activation/approval-queue.js +3 -0
  159. package/core/dist/runtime-v2/activation/approval-queue.js.map +1 -1
  160. package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts +2 -0
  161. package/core/dist/runtime-v2/activation/memory-activation-state-store.d.ts.map +1 -1
  162. package/core/dist/runtime-v2/activation/memory-activation-state-store.js +17 -1
  163. package/core/dist/runtime-v2/activation/memory-activation-state-store.js.map +1 -1
  164. package/core/dist/runtime-v2/activation/memory-approval-store.d.ts +6 -0
  165. package/core/dist/runtime-v2/activation/memory-approval-store.d.ts.map +1 -1
  166. package/core/dist/runtime-v2/activation/memory-approval-store.js +16 -0
  167. package/core/dist/runtime-v2/activation/memory-approval-store.js.map +1 -1
  168. package/core/dist/runtime-v2/activation/prompt-activation-reader-contract.js +1 -1
  169. package/core/dist/runtime-v2/activation/prompt-activation-reader-contract.js.map +1 -1
  170. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts +2 -0
  171. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
  172. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js +34 -6
  173. package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
  174. package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts +6 -0
  175. package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
  176. package/core/dist/runtime-v2/activation/sqlite-approval-store.js +10 -0
  177. package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
  178. package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js +51 -1
  179. package/core/dist/runtime-v2/adapter/__tests__/json-extractor.test.js.map +1 -1
  180. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js +145 -0
  181. package/core/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter.test.js.map +1 -1
  182. package/core/dist/runtime-v2/adapter/json-extractor.d.ts +13 -0
  183. package/core/dist/runtime-v2/adapter/json-extractor.d.ts.map +1 -1
  184. package/core/dist/runtime-v2/adapter/json-extractor.js +103 -0
  185. package/core/dist/runtime-v2/adapter/json-extractor.js.map +1 -1
  186. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts +4 -2
  187. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
  188. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +57 -5
  189. package/core/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
  190. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts +18 -0
  191. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.d.ts.map +1 -0
  192. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +633 -0
  193. package/core/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -0
  194. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +92 -0
  195. package/core/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
  196. package/core/dist/runtime-v2/config/index.d.ts +3 -1
  197. package/core/dist/runtime-v2/config/index.d.ts.map +1 -1
  198. package/core/dist/runtime-v2/config/index.js +1 -0
  199. package/core/dist/runtime-v2/config/index.js.map +1 -1
  200. package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts +93 -0
  201. package/core/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -0
  202. package/core/dist/runtime-v2/config/pd-config-agent-binding.js +184 -0
  203. package/core/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -0
  204. package/core/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
  205. package/core/dist/runtime-v2/config/pd-config-defaults.js +2 -0
  206. package/core/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
  207. package/core/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
  208. package/core/dist/runtime-v2/config/pd-config-effective.js +3 -0
  209. package/core/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
  210. package/core/dist/runtime-v2/config/pd-config-types.d.ts +8 -0
  211. package/core/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
  212. package/core/dist/runtime-v2/config/pd-config-types.js.map +1 -1
  213. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts +13 -0
  214. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.d.ts.map +1 -0
  215. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js +97 -0
  216. package/core/dist/runtime-v2/diagnostician/__tests__/diagnostician-prompt-language.test.js.map +1 -0
  217. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +3 -2
  218. package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
  219. package/core/dist/runtime-v2/diagnostician-prompt-builder.js +6 -4
  220. package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
  221. package/core/dist/runtime-v2/evidence-sanitizer.d.ts +57 -0
  222. package/core/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -0
  223. package/core/dist/runtime-v2/evidence-sanitizer.js +213 -0
  224. package/core/dist/runtime-v2/evidence-sanitizer.js.map +1 -0
  225. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts +7 -0
  226. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.d.ts.map +1 -0
  227. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js +170 -0
  228. package/core/dist/runtime-v2/evidence-triage/__tests__/admission-events.test.js.map +1 -0
  229. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts +18 -0
  230. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.d.ts.map +1 -0
  231. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js +277 -0
  232. package/core/dist/runtime-v2/evidence-triage/__tests__/source-descriptors.test.js.map +1 -0
  233. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts +13 -0
  234. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.d.ts.map +1 -0
  235. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js +264 -0
  236. package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js.map +1 -0
  237. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts +16 -0
  238. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.d.ts.map +1 -0
  239. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js +316 -0
  240. package/core/dist/runtime-v2/evidence-triage/__tests__/trigger-controller.test.js.map +1 -0
  241. package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts +126 -0
  242. package/core/dist/runtime-v2/evidence-triage/admission-events.d.ts.map +1 -0
  243. package/core/dist/runtime-v2/evidence-triage/admission-events.js +159 -0
  244. package/core/dist/runtime-v2/evidence-triage/admission-events.js.map +1 -0
  245. package/core/dist/runtime-v2/evidence-triage/index.d.ts +16 -0
  246. package/core/dist/runtime-v2/evidence-triage/index.d.ts.map +1 -0
  247. package/core/dist/runtime-v2/evidence-triage/index.js +13 -0
  248. package/core/dist/runtime-v2/evidence-triage/index.js.map +1 -0
  249. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +48 -0
  250. package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts.map +1 -0
  251. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +131 -0
  252. package/core/dist/runtime-v2/evidence-triage/source-descriptors.js.map +1 -0
  253. package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts +32 -0
  254. package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts.map +1 -0
  255. package/core/dist/runtime-v2/evidence-triage/triage-policy.js +95 -0
  256. package/core/dist/runtime-v2/evidence-triage/triage-policy.js.map +1 -0
  257. package/core/dist/runtime-v2/evidence-triage/trigger-controller.d.ts +116 -0
  258. package/core/dist/runtime-v2/evidence-triage/trigger-controller.d.ts.map +1 -0
  259. package/core/dist/runtime-v2/evidence-triage/trigger-controller.js +218 -0
  260. package/core/dist/runtime-v2/evidence-triage/trigger-controller.js.map +1 -0
  261. package/core/dist/runtime-v2/evidence-triage/types.d.ts +65 -0
  262. package/core/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -0
  263. package/core/dist/runtime-v2/evidence-triage/types.js +38 -0
  264. package/core/dist/runtime-v2/evidence-triage/types.js.map +1 -0
  265. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +10 -0
  266. package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
  267. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
  268. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +1 -0
  269. package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
  270. package/core/dist/runtime-v2/index.d.ts +8 -1
  271. package/core/dist/runtime-v2/index.d.ts.map +1 -1
  272. package/core/dist/runtime-v2/index.js +7 -1
  273. package/core/dist/runtime-v2/index.js.map +1 -1
  274. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts +12 -0
  275. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.d.ts.map +1 -0
  276. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js +83 -0
  277. package/core/dist/runtime-v2/internalization/__tests__/scribe-prompt-language.test.js.map +1 -0
  278. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +10 -0
  279. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
  280. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js +13 -1
  281. package/core/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
  282. package/core/dist/runtime-v2/internalization/scribe-runner.d.ts +3 -0
  283. package/core/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
  284. package/core/dist/runtime-v2/internalization/scribe-runner.js +2 -0
  285. package/core/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
  286. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js +1 -1
  287. package/core/dist/runtime-v2/internalization-chain-integrity-read-model.js.map +1 -1
  288. package/core/dist/runtime-v2/language-directive.d.ts +80 -0
  289. package/core/dist/runtime-v2/language-directive.d.ts.map +1 -0
  290. package/core/dist/runtime-v2/language-directive.js +108 -0
  291. package/core/dist/runtime-v2/language-directive.js.map +1 -0
  292. package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
  293. package/core/dist/runtime-v2/pain-signal-observability.js +24 -11
  294. package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
  295. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +16 -0
  296. package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
  297. package/core/dist/runtime-v2/pain-signal-runtime-factory.js +97 -6
  298. package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
  299. package/core/dist/runtime-v2/pain-to-principle-service.d.ts +7 -0
  300. package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
  301. package/core/dist/runtime-v2/pain-to-principle-service.js +2 -0
  302. package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
  303. package/core/dist/runtime-v2/proven-channel-baseline.d.ts.map +1 -1
  304. package/core/dist/runtime-v2/proven-channel-baseline.js +14 -0
  305. package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
  306. package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js +40 -0
  307. package/core/dist/runtime-v2/runner/__tests__/diagnostician-runner.test.js.map +1 -1
  308. package/core/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
  309. package/core/dist/runtime-v2/runner/base-peer-runner.js +1 -0
  310. package/core/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
  311. package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts +10 -0
  312. package/core/dist/runtime-v2/runner/diagnostician-runner-options.d.ts.map +1 -1
  313. package/core/dist/runtime-v2/runner/diagnostician-runner-options.js +1 -0
  314. package/core/dist/runtime-v2/runner/diagnostician-runner-options.js.map +1 -1
  315. package/core/dist/runtime-v2/runner/diagnostician-runner.d.ts.map +1 -1
  316. package/core/dist/runtime-v2/runner/diagnostician-runner.js +28 -4
  317. package/core/dist/runtime-v2/runner/diagnostician-runner.js.map +1 -1
  318. package/core/dist/runtime-v2/runner/peer-runner-types.d.ts +9 -0
  319. package/core/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
  320. package/core/dist/runtime-v2/store/runtime-state-manager.d.ts.map +1 -1
  321. package/core/dist/runtime-v2/store/runtime-state-manager.integration.test.js +34 -1
  322. package/core/dist/runtime-v2/store/runtime-state-manager.integration.test.js.map +1 -1
  323. package/core/dist/runtime-v2/store/runtime-state-manager.js +1 -0
  324. package/core/dist/runtime-v2/store/runtime-state-manager.js.map +1 -1
  325. package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
  326. package/core/dist/runtime-v2/store/sqlite-connection.js +9 -1
  327. package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
  328. package/core/dist/runtime-v2/store/task/sqlite-task-store.js +1 -1
  329. package/core/dist/runtime-v2/store/task/sqlite-task-store.js.map +1 -1
  330. package/core/dist/runtime-v2/task-status.d.ts +4 -4
  331. package/core/dist/runtime-v2/task-status.d.ts.map +1 -1
  332. package/core/dist/runtime-v2/task-status.js +2 -2
  333. package/core/dist/runtime-v2/task-status.js.map +1 -1
  334. package/core/package.json +1 -1
  335. package/package.json +2 -2
  336. package/pd-cli/dist/commands/console.d.ts +2 -0
  337. package/pd-cli/dist/commands/console.d.ts.map +1 -1
  338. package/pd-cli/dist/commands/console.js +6 -1
  339. package/pd-cli/dist/commands/console.js.map +1 -1
  340. package/pd-cli/dist/commands/diagnose.d.ts.map +1 -1
  341. package/pd-cli/dist/commands/diagnose.js +18 -1
  342. package/pd-cli/dist/commands/diagnose.js.map +1 -1
  343. package/pd-cli/dist/commands/pain-evidence.d.ts +41 -0
  344. package/pd-cli/dist/commands/pain-evidence.d.ts.map +1 -0
  345. package/pd-cli/dist/commands/pain-evidence.js +177 -0
  346. package/pd-cli/dist/commands/pain-evidence.js.map +1 -0
  347. package/pd-cli/dist/commands/pain-record.d.ts.map +1 -1
  348. package/pd-cli/dist/commands/pain-record.js +24 -9
  349. package/pd-cli/dist/commands/pain-record.js.map +1 -1
  350. package/pd-cli/dist/commands/pain-retry.d.ts +19 -0
  351. package/pd-cli/dist/commands/pain-retry.d.ts.map +1 -0
  352. package/pd-cli/dist/commands/pain-retry.js +485 -0
  353. package/pd-cli/dist/commands/pain-retry.js.map +1 -0
  354. package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
  355. package/pd-cli/dist/commands/runtime-internalization-run-once.js +59 -9
  356. package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
  357. package/pd-cli/dist/commands/runtime-uat.d.ts +1 -0
  358. package/pd-cli/dist/commands/runtime-uat.d.ts.map +1 -1
  359. package/pd-cli/dist/commands/runtime-uat.guard.test.d.ts +2 -0
  360. package/pd-cli/dist/commands/runtime-uat.guard.test.d.ts.map +1 -0
  361. package/pd-cli/dist/commands/runtime-uat.guard.test.js +155 -0
  362. package/pd-cli/dist/commands/runtime-uat.guard.test.js.map +1 -0
  363. package/pd-cli/dist/commands/runtime-uat.js +29 -3
  364. package/pd-cli/dist/commands/runtime-uat.js.map +1 -1
  365. package/pd-cli/dist/config-reader.d.ts +25 -0
  366. package/pd-cli/dist/config-reader.d.ts.map +1 -0
  367. package/pd-cli/dist/config-reader.js +109 -0
  368. package/pd-cli/dist/config-reader.js.map +1 -0
  369. package/pd-cli/dist/index.js +40 -5
  370. package/pd-cli/dist/index.js.map +1 -1
  371. package/pd-cli/dist/services/console-launcher.d.ts.map +1 -1
  372. package/pd-cli/dist/services/console-launcher.js +29 -15
  373. package/pd-cli/dist/services/console-launcher.js.map +1 -1
  374. package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
  375. package/pd-cli/dist/services/demo-story-a-runner.js +1 -0
  376. package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
  377. package/pd-cli/dist/utils/production-workspace-guard.d.ts +77 -0
  378. package/pd-cli/dist/utils/production-workspace-guard.d.ts.map +1 -0
  379. package/pd-cli/dist/utils/production-workspace-guard.js +170 -0
  380. package/pd-cli/dist/utils/production-workspace-guard.js.map +1 -0
  381. package/pd-cli/dist/utils/production-workspace-guard.test.d.ts +2 -0
  382. package/pd-cli/dist/utils/production-workspace-guard.test.d.ts.map +1 -0
  383. package/pd-cli/dist/utils/production-workspace-guard.test.js +95 -0
  384. package/pd-cli/dist/utils/production-workspace-guard.test.js.map +1 -0
  385. package/pd-cli/package.json +1 -1
  386. package/plugin/dist/commands/pain.js +27 -2
  387. package/plugin/dist/core/pain-diagnostic-gate.d.ts +6 -0
  388. package/plugin/dist/core/pain-diagnostic-gate.js +9 -0
  389. package/plugin/dist/hooks/after-tool-call-helpers.d.ts +90 -0
  390. package/plugin/dist/hooks/after-tool-call-helpers.js +486 -0
  391. package/plugin/dist/hooks/after-tool-call-types.d.ts +92 -0
  392. package/plugin/dist/hooks/after-tool-call-types.js +13 -0
  393. package/plugin/dist/hooks/gate-block-helper.js +73 -29
  394. package/plugin/dist/hooks/llm.js +49 -29
  395. package/plugin/dist/hooks/message-sanitize.d.ts +21 -0
  396. package/plugin/dist/hooks/message-sanitize.js +30 -0
  397. package/plugin/dist/hooks/pain.d.ts +26 -3
  398. package/plugin/dist/hooks/pain.js +165 -425
  399. package/plugin/dist/hooks/prompt.js +3 -2
  400. package/plugin/dist/hooks/trajectory-evidence.d.ts +11 -0
  401. package/plugin/dist/hooks/trajectory-evidence.js +65 -0
  402. package/plugin/dist/hooks/triage-adapter.d.ts +82 -0
  403. package/plugin/dist/hooks/triage-adapter.js +121 -0
  404. package/console/dist/server/models/EventLogReadModel.d.ts +0 -33
  405. package/console/dist/server/models/EventLogReadModel.js +0 -218
  406. package/console/dist/server/models/EvolutionConsoleModel.d.ts +0 -79
  407. package/console/dist/server/models/EvolutionConsoleModel.js +0 -179
  408. package/console/dist/server/models/FeedbackConsoleModel.d.ts +0 -38
  409. package/console/dist/server/models/FeedbackConsoleModel.js +0 -129
  410. package/console/dist/server/models/GateConsoleModel.d.ts +0 -50
  411. package/console/dist/server/models/GateConsoleModel.js +0 -151
  412. package/console/dist/server/models/OverviewConsoleModel.d.ts +0 -22
  413. package/console/dist/server/models/OverviewConsoleModel.js +0 -202
  414. package/console/dist/server/models/PipelineStatsModel.d.ts +0 -35
  415. package/console/dist/server/models/PipelineStatsModel.js +0 -129
  416. package/console/dist/server/models/SampleConsoleModel.d.ts +0 -21
  417. package/console/dist/server/models/SampleConsoleModel.js +0 -188
  418. package/console/dist/server/models/ThinkingModelsConsoleModel.d.ts +0 -22
  419. package/console/dist/server/models/ThinkingModelsConsoleModel.js +0 -75
  420. package/console/dist/server/routes/agents.d.ts +0 -3
  421. package/console/dist/server/routes/agents.js +0 -442
  422. package/console/dist/server/routes/central.d.ts +0 -5
  423. package/console/dist/server/routes/central.js +0 -31
  424. package/console/dist/server/routes/events.d.ts +0 -10
  425. package/console/dist/server/routes/events.js +0 -99
  426. package/console/dist/server/routes/evolution.js +0 -73
  427. package/console/dist/server/routes/feedback.d.ts +0 -3
  428. package/console/dist/server/routes/feedback.js +0 -65
  429. package/console/dist/server/routes/gates.d.ts +0 -3
  430. package/console/dist/server/routes/gates.js +0 -52
  431. package/console/dist/server/routes/overview.d.ts +0 -3
  432. package/console/dist/server/routes/overview.js +0 -49
  433. package/console/dist/server/routes/pipeline.d.ts +0 -3
  434. package/console/dist/server/routes/pipeline.js +0 -33
  435. package/console/dist/server/routes/samples.d.ts +0 -3
  436. package/console/dist/server/routes/samples.js +0 -101
  437. package/console/dist/server/routes/thinking-models.d.ts +0 -3
  438. package/console/dist/server/routes/thinking-models.js +0 -54
  439. package/console/dist/ui/components/app-sidebar.d.ts +0 -7
  440. package/console/dist/ui/components/app-sidebar.js +0 -75
  441. package/console/dist/ui/components/compare-view.d.ts +0 -7
  442. package/console/dist/ui/components/compare-view.js +0 -32
  443. package/console/dist/ui/components/data-freshness-indicator.d.ts +0 -10
  444. package/console/dist/ui/components/data-freshness-indicator.js +0 -63
  445. package/console/dist/ui/components/health-diagnostic-card.d.ts +0 -15
  446. package/console/dist/ui/components/health-diagnostic-card.js +0 -42
  447. package/console/dist/ui/components/page-header.d.ts +0 -10
  448. package/console/dist/ui/components/page-header.js +0 -37
  449. package/console/dist/ui/hooks/useAutoRefresh.d.ts +0 -13
  450. package/console/dist/ui/hooks/useAutoRefresh.js +0 -64
  451. package/console/dist/ui/hooks/useBookmarks.d.ts +0 -6
  452. package/console/dist/ui/hooks/useBookmarks.js +0 -43
  453. package/console/dist/ui/hooks/useDebounce.d.ts +0 -2
  454. package/console/dist/ui/hooks/useDebounce.js +0 -32
  455. package/console/dist/ui/hooks/useKeyboardNavigation.d.ts +0 -14
  456. package/console/dist/ui/hooks/useKeyboardNavigation.js +0 -75
  457. package/console/dist/ui/pages/AgentsPage.d.ts +0 -1
  458. package/console/dist/ui/pages/AgentsPage.js +0 -167
  459. package/console/dist/ui/pages/ApprovalsPage.d.ts +0 -1
  460. package/console/dist/ui/pages/ApprovalsPage.js +0 -123
  461. package/console/dist/ui/pages/CentralPage.d.ts +0 -1
  462. package/console/dist/ui/pages/CentralPage.js +0 -57
  463. package/console/dist/ui/pages/DataFlowPage.d.ts +0 -1
  464. package/console/dist/ui/pages/DataFlowPage.js +0 -158
  465. package/console/dist/ui/pages/EventLogPage.d.ts +0 -1
  466. package/console/dist/ui/pages/EventLogPage.js +0 -176
  467. package/console/dist/ui/pages/EvolutionPage.d.ts +0 -1
  468. package/console/dist/ui/pages/EvolutionPage.js +0 -118
  469. package/console/dist/ui/pages/FeedbackPage.d.ts +0 -1
  470. package/console/dist/ui/pages/FeedbackPage.js +0 -46
  471. package/console/dist/ui/pages/GatesPage.d.ts +0 -1
  472. package/console/dist/ui/pages/GatesPage.js +0 -31
  473. package/console/dist/ui/pages/LoginPage.d.ts +0 -5
  474. package/console/dist/ui/pages/LoginPage.js +0 -39
  475. package/console/dist/ui/pages/OverviewPage.d.ts +0 -1
  476. package/console/dist/ui/pages/OverviewPage.js +0 -50
  477. package/console/dist/ui/pages/PainPage.js +0 -50
  478. package/console/dist/ui/pages/PrincipleDetailPage.js +0 -145
  479. package/console/dist/ui/pages/PrinciplesPage.js +0 -322
  480. package/console/dist/ui/pages/ReportProblemPage.js +0 -186
  481. package/console/dist/ui/pages/SamplesPage.d.ts +0 -1
  482. package/console/dist/ui/pages/SamplesPage.js +0 -105
  483. package/console/dist/ui/pages/SettingsPage.d.ts +0 -1
  484. package/console/dist/ui/pages/SettingsPage.js +0 -86
  485. package/console/dist/ui/pages/TasksPage.d.ts +0 -1
  486. package/console/dist/ui/pages/TasksPage.js +0 -373
  487. package/console/dist/ui/pages/ThinkingModelsPage.d.ts +0 -1
  488. package/console/dist/ui/pages/ThinkingModelsPage.js +0 -32
  489. package/console/dist/ui/pages/UpdatePage.d.ts +0 -1
  490. package/console/dist/ui/pages/UpdatePage.js +0 -142
  491. /package/console/dist/ui/pages/{PainPage.d.ts → pain/PainPage.d.ts} +0 -0
  492. /package/console/dist/ui/pages/{PrincipleDetailPage.d.ts → principles/PrincipleDetailPage.d.ts} +0 -0
  493. /package/console/dist/ui/pages/{PrinciplesPage.d.ts → principles/PrinciplesPage.d.ts} +0 -0
  494. /package/console/dist/ui/pages/{ReportProblemPage.d.ts → report-problem/ReportProblemPage.d.ts} +0 -0
@@ -3,14 +3,6 @@
3
3
  "loading": "Loading",
4
4
  "refresh": "Refresh",
5
5
  "settings": "Settings",
6
- "overview": "Overview",
7
- "tasks": "Tasks",
8
- "feedback": "Feedback",
9
- "gates": "Gates",
10
- "samples": "Samples",
11
- "evolution": "Evolution",
12
- "thinking-models": "Thinking Models",
13
- "central": "Central",
14
6
  "login": "Login",
15
7
  "logout": "Logout",
16
8
  "confirm": "Confirm",
@@ -54,232 +46,130 @@
54
46
  "copied": "Copied"
55
47
  },
56
48
  "pages": {
57
- "overview": {
58
- "title": "Overview",
59
- "description": "System Status Overview",
60
- "health": "Health Status",
61
- "stats": "Stats",
62
- "principles": "Principles",
63
- "recentActivity": "Recent Activity",
64
- "queue": "Queue",
65
- "trustLevel": "Trust Level",
66
- "gfi": "GFI",
67
- "pendingTasks": "Pending Tasks",
68
- "totalWorkspaces": "Total Workspaces",
69
- "activeWorkspaces": "Active Workspaces",
70
- "painSignals": "Pain Signals",
71
- "candidates": "Candidates",
72
- "tasks": "Tasks",
73
- "painEvents": "Pain Events",
74
- "pendingSamples": "Pending Samples",
75
- "approvedSamples": "Approved Samples",
76
- "taskOutcomes": "Task Outcomes",
77
- "gateBlocks": "Gate Blocks",
78
- "activePrinciples": "Active",
79
- "candidatePrinciples": "Candidate",
80
- "probationPrinciples": "Probation",
81
- "deprecatedPrinciples": "Deprecated",
82
- "inProgress": "In Progress",
83
- "healthy": "Healthy",
84
- "degraded": "Degraded",
85
- "error": "Error"
86
- },
87
- "tasks": {
88
- "title": "Tasks",
89
- "description": "Manage Pending Tasks",
90
- "needsConfirmation": "Needs Confirmation",
91
- "suggestedAttention": "Suggested Attention",
92
- "recentActivity": "Recent Activity",
93
- "approve": "Approve",
94
- "reject": "Reject",
95
- "cleanup": "Cleanup",
96
- "undo": "Undo",
97
- "confirmAction": "Confirm Action",
98
- "batchCleanup": "Batch Cleanup",
99
- "noToken": "No authentication token configured",
100
- "checkingAuth": "Checking authentication…",
101
- "agentDiagnostician": "Diagnostician",
102
- "agentCorrectionObserver": "Correction Observer",
103
- "secondsAgo": "{{count}}s ago",
104
- "minutesAgo": "{{count}}m ago",
105
- "hoursAgo": "{{count}}h ago",
106
- "loadFailed": "Failed to load",
107
- "operationFailed": "Operation failed: {{error}}",
108
- "unknownError": "Unknown error",
109
- "batchCleanupResult": "Batch cleanup completed, {{failed}}/{{total}} failed",
110
- "tabs": {
111
- "tasks": "Tasks",
112
- "approvals": "Approvals"
113
- }
114
- },
115
- "pain": {
116
- "title": "Pain",
117
- "description": "Pain signals driving principle evolution",
118
- "gfiGauge": "GFI Gauge",
119
- "empathyEvents": "Empathy Events",
120
- "gateBlocks": "Gate Blocks",
121
- "severity": "Severity",
122
- "source": "Source",
123
- "timestamp": "Timestamp",
124
- "count": "Count",
125
- "totalGFI": "Total GFI",
126
- "gfiFull": "GFI (General Friction Index)",
127
- "peakToday": "Peak today:",
128
- "origin": "Origin:",
129
- "gfiAfter": "GFI after:",
130
- "emptyHint": "No pain signals yet. Pain signals will appear here when the system detects friction."
131
- },
132
- "approvals": {
133
- "title": "Approval",
134
- "description": "Review and approve principle activation requests",
135
- "loadFailed": "Failed to load approvals",
136
- "detailFailed": "Failed to load approval details",
137
- "approveFailed": "Failed to approve",
138
- "rejectFailed": "Failed to reject",
139
- "emptyHint": "No approval requests pending. Approvals will appear when principles are ready for activation."
140
- },
141
- "feedback": {
142
- "title": "Feedback",
143
- "description": "View System Feedback",
144
- "gfiGauge": "GFI Gauge",
145
- "empathyEvents": "Empathy Events",
146
- "gateBlocks": "Gate Blocks",
147
- "severity": "Severity",
148
- "source": "Source",
149
- "timestamp": "Timestamp",
150
- "count": "Count",
151
- "totalGFI": "Total GFI",
152
- "gfiFull": "GFI (General Friction Index)",
153
- "peakToday": "Peak today:",
154
- "origin": "Origin:",
155
- "gfiAfter": "GFI after:"
156
- },
157
- "reportProblem": {
158
- "title": "Report a Problem",
159
- "description": "Generate a privacy-preserving local feedback draft. The Console never auto-uploads — you choose what to share, how to share it, and when.",
160
- "deepLinked": "Deep-linked from {{source}}.",
161
- "form": {
162
- "title": "Describe what happened",
163
- "description": "Only fields below are stored. Raw prompts, chat history, file contents, paths, env vars, and tokens are excluded by default.",
164
- "type": "Type",
165
- "severity": "Severity",
166
- "severityNotSet": "Not set",
167
- "severityLow": "Low",
168
- "severityMedium": "Medium",
169
- "severityHigh": "High",
170
- "titleLabel": "Title",
171
- "descriptionLabel": "Description",
172
- "stepsLabel": "Steps to reproduce (optional)",
173
- "expectedLabel": "Expected behavior (optional)",
174
- "actualLabel": "Actual behavior (optional)",
175
- "submit": "Save local draft",
176
- "submitting": "Saving…",
177
- "hidePreview": "Hide markdown preview",
178
- "showPreview": "Show markdown preview",
179
- "types": {
180
- "bug": "Bug",
181
- "confusing": "Confusing",
182
- "privacy_concern": "Privacy concern",
183
- "feature_request": "Feature request",
184
- "other": "Other"
185
- }
49
+ "focus": {
50
+ "eyebrow": "Governance Focus",
51
+ "title": "What deserves your judgment right now",
52
+ "subtitle": "This page answers one question: what should the owner review next?",
53
+ "summaryLabel": "Current:",
54
+ "summaryPending": "pending review",
55
+ "summaryDeviation": "behavior deviations",
56
+ "summaryStagnation": "stagnation signals",
57
+ "sectionPending": "Pending Your Review",
58
+ "sectionDeviation": "Behavior Deviations Worth Noting",
59
+ "sectionSignals": "System Signals",
60
+ "emptyPending": "No principles pending review. When PD captures behavior deviation signals, principle candidates will appear here for your review.",
61
+ "emptyDeviation": "No behavior deviations captured yet. PD will detect deviations when the agent's behavior diverges from owner expectations.",
62
+ "emptySignals": "No stagnation signals. All approved principles appear to be active.",
63
+ "stagnationNeverActivated": "Approved but never activated",
64
+ "stagnationNoPain": "No pain signals received",
65
+ "stagnationDaysSince": "days ago",
66
+ "deviationDisclaimer": "PD presents each deviation individually. Automatic similarity detection is post-MVP.",
67
+ "deviationDetailPending": "Individual deviation evidence will be available here once the backend provides pain signal details (CR5).",
68
+ "footer": "This page answers one question: what deserves your judgment right now.",
69
+ "reviewAction": "Review & Decide",
70
+ "parkAction": "Park",
71
+ "viewFullChain": "View full chain",
72
+ "loadError": "Unable to load governance data. You can try refreshing the page.",
73
+ "channelPrompt": "Prompt / Reversible",
74
+ "channelDeferArchive": "Defer Archive",
75
+ "channelCodeToolHook": "Code Tool Hook",
76
+ "tagReversible": "Reversible",
77
+ "tagLowRisk": "Low Risk",
78
+ "recordCount": "{{count}} record(s)",
79
+ "deviationCount": "deviation(s)",
80
+ "evidenceSummary": "Evidence: {{count}} record(s)",
81
+ "onboardingTitle": "How PD Works",
82
+ "onboardingStep1": "Observe deviations — PD watches for behavior that diverges from owner expectations",
83
+ "onboardingStep2": "Capture evidence — Pain signals are recorded with bounded context",
84
+ "onboardingStep3": "Generate candidates — Principle candidates are proposed for owner review",
85
+ "onboardingStep4": "Review & approve — Owners decide which principles to activate",
86
+ "onboardingStep5": "Inject behavior — Approved principles influence future agent behavior, reversibly",
87
+ "stateLabel": {
88
+ "none": "No Data",
89
+ "in_progress": "In Progress",
90
+ "owner_review_ready": "Ready for Review",
91
+ "degraded": "Degraded"
186
92
  },
187
- "privacy": {
188
- "title": "Privacy boundary",
189
- "description": "What this report will and will not include.",
190
- "included": "Included",
191
- "excluded": "Excluded by default",
192
- "notes": "Redaction notes",
193
- "submitFirst": "Save a draft to see exactly which sections are included.",
194
- "guarantee": "No automatic upload. Drafts are stored at <workspace>/.pd/feedback/drafts/. You decide what to do with them."
93
+ "nextActionLabel": "Suggested action:",
94
+ "inProgressTitle": "Governance in progress",
95
+ "inProgressDetail": "PD will surface a principle candidate here once the internalization pipeline completes and an owner-reviewable artifact is generated.",
96
+ "degradedTitle": "System Signals",
97
+ "degradedStateReason": "Part of the governance pipeline or data source is degraded. Decisions may be incomplete or delayed.",
98
+ "degradedNextActionLabel": "Next action:",
99
+ "advancedDiagnostics": "Advanced diagnostics",
100
+ "degradedSourceInternalization": "Internalization Task",
101
+ "degradedSourceChainIntegrity": "Chain Integrity",
102
+ "degradedSourceUnavailable": "Data Source",
103
+ "stateReason": {
104
+ "state_db_missing": "State database not initialized. PD has not run in this workspace yet.",
105
+ "no_pipeline_activity": "No governance activity recorded yet.",
106
+ "pending_approvals": "{{count}} principle(s) pending your review and decision.",
107
+ "pipeline_active": "Pipeline has activity, but candidate principles are not ready for review.",
108
+ "consumed_candidates": "Candidate records exist, but have not entered the review stage.",
109
+ "degraded_state": "Part of the governance pipeline or data source is degraded."
195
110
  },
196
- "draft": {
197
- "title": "Draft saved locally",
198
- "savedAt": "id: {{id}} · saved at {{at}}",
199
- "copyMarkdown": "Copy Markdown",
200
- "copyEmail": "Copy email text",
201
- "openGithub": "Open GitHub issue URL",
202
- "delete": "Delete draft"
111
+ "nextAction": {
112
+ "run_config_doctor": "Ensure the OpenClaw plugin is enabled, or run pd config doctor.",
113
+ "wait_for_pipeline": "PD will surface principle candidates here once behavior deviations are captured and reviewable artifacts are generated.",
114
+ "review_approvals": "Review pending principles and approve, reject, or park.",
115
+ "check_degraded_signals": "Check degraded signal details and follow suggested actions.",
116
+ "check_pipeline_status": "Wait for internalization tasks to complete. If no change for a long time, check pipeline status."
203
117
  },
204
- "saved": {
205
- "title": "Saved drafts",
206
- "load": "Load"
118
+ "degradedReason": {
119
+ "task_retry_wait": "Internalization task waiting for retry",
120
+ "task_failed": "Internalization task failed",
121
+ "approval_table_missing": "Approval table does not exist"
207
122
  },
208
- "toast": {
209
- "draftCreated": "Draft saved locally",
210
- "draftDeleted": "Draft deleted",
211
- "markdownCopied": "Markdown copied to clipboard",
212
- "emailCopied": "Email text copied to clipboard",
213
- "copyFailed": "Copy failed",
214
- "loadFailed": "Failed to load draft",
215
- "deleteFailed": "Failed to delete draft"
123
+ "degradedNextAction": {
124
+ "check_task_status": "Check internalization pipeline status, or wait for automatic retry.",
125
+ "fix_and_retry": "Check failure details, fix the issue and retry.",
126
+ "run_integrity_check": "Run pd runtime internalization integrity to check and repair table structure."
216
127
  },
217
- "errors": {
218
- "missingRequired": "Title and description are required.",
219
- "createFailed": "Failed to create draft."
220
- }
128
+ "zeroStateHealthy": "No items need your judgment right now. PD has checked behavior evidence, principle review queue, and system signals.",
129
+ "zeroStateDbMissing": "PD has not run in this workspace yet. Once the state database is initialized, governance data will appear here."
221
130
  },
222
- "gates": {
223
- "title": "Gates",
224
- "description": "Manage Security Gates",
225
- "trustStatus": "Trust Status",
226
- "gfiStats": "GFI Stats",
227
- "blockHistory": "Block History",
228
- "totalBlocks": "Total Blocks",
229
- "todayBlocks": "Today Blocks",
230
- "blockRate": "Block Rate",
231
- "sourceBreakdown": "Source Breakdown",
232
- "gfiLabel": "GFI",
233
- "gfiBlocks": "GFI Blocks",
234
- "stageBlocks": "Stage Blocks",
235
- "bypassAttempts": "Bypass Attempts",
236
- "score": "Score:",
237
- "peak": "Peak:",
238
- "threshold": "Threshold:"
239
- },
240
- "samples": {
241
- "title": "Samples",
242
- "description": "Manage Training Samples",
243
- "filterByStatus": "Filter by Status",
244
- "approveAll": "Approve All",
245
- "rejectAll": "Reject All",
246
- "recommendation": "Recommendation",
247
- "rejectReason": "Reject Reason",
248
- "sampleCount": "Sample Count",
249
- "status": "Status",
250
- "selectSample": "Select a sample to view details",
251
- "score": "Score:",
252
- "artifactContent": "Artifact Content",
253
- "titleLabel": "Title:",
254
- "textLabel": "Text:",
255
- "triggerPatternLabel": "Trigger Pattern:",
256
- "actionLabel": "Action:",
257
- "abstractedPrinciple": "Abstracted Principle:",
258
- "createdLabel": "Created:",
259
- "taskLabel": "Task:",
260
- "confirmRejectTitle": "Reject Sample",
261
- "confirmRejectDescription": "Are you sure you want to reject this sample? This action cannot be undone."
262
- },
263
- "evolution": {
264
- "title": "Evolution",
265
- "description": "Monitor Evolution Process",
266
- "taskStats": "Task Stats",
267
- "principleLifecycle": "Principle Lifecycle",
268
- "queueHealth": "Queue Health",
269
- "taskList": "Task List",
270
- "stage": "Stage",
271
- "progress": "Progress",
272
- "completedTasks": "Completed Tasks",
273
- "failedTasks": "Failed Tasks",
274
- "pendingTasks": "Pending Tasks",
275
- "inProgress": "In Progress",
276
- "stageDistribution": "Stage Distribution",
277
- "recentTransitions": "Recent Transitions",
278
- "ready": "Ready",
279
- "retryWait": "Retry Wait",
280
- "blocked": "Blocked",
281
- "byTaskKind": "By Task Kind",
282
- "leased": "Leased"
131
+ "pain": {
132
+ "eyebrow": "Behavior Evidence",
133
+ "title": "Behavior Evidence",
134
+ "description": "Only behavior evidence worth governing should enter principle review. This page shows real behavior signals and their chain states observed by PD — not raw chat, raw trajectories, or false claims about behavior change.",
135
+ "honestyNote": "PD presents each evidence item individually. Automatic similarity detection is a post-MVP capability. Evidence shown here comes from real pain_events, diagnostician tasks, and candidate records.",
136
+ "loadError": "Failed to load behavior evidence",
137
+ "validationError": "Data format validation failed, please refresh and retry",
138
+ "emptyTitle": "No behavior evidence captured yet",
139
+ "emptyDescription": "When PD detects behavior deviations worth governing, evidence will appear here. You can create feedback signals manually via /pd-pain command or pd pain record.",
140
+ "generatedAt": "Generated at",
141
+ "group_active_chain": "Active Chain",
142
+ "group_evidence_only": "Evidence Only (not admitted)",
143
+ "group_failed": "Diagnosis Failed or Awaiting Retry",
144
+ "state_evidence_only": "Evidence Only",
145
+ "state_pain_recorded": "Pain Recorded",
146
+ "state_diagnosis_queued": "Diagnosis Queued",
147
+ "state_diagnosis_running": "Diagnosis Running",
148
+ "state_diagnosis_succeeded": "Diagnosis Succeeded",
149
+ "state_diagnosis_failed": "Diagnosis Failed",
150
+ "state_diagnosis_retry_wait": "Awaiting Retry",
151
+ "state_candidate_generated": "Candidate Generated",
152
+ "state_internalization_started": "Internalization Started",
153
+ "source_manual": "Manual Trigger",
154
+ "source_tool_call": "Tool Call",
155
+ "source_rulehost": "Rule Guard",
156
+ "source_empathy_inferred": "Empathy Inferred",
157
+ "source_review": "Review Finding",
158
+ "source_unknown": "Unknown Source",
159
+ "admission_store_signal": "Signal Stored",
160
+ "admission_evidence_only": "Evidence Only",
161
+ "admission_owner_confirmation_required": "Confirmation Required",
162
+ "fieldFailureReason": "Failure Reason",
163
+ "fieldNextAction": "Suggested Action",
164
+ "fieldDegradedReason": "Degraded Reason",
165
+ "chainToggle": "View chain details",
166
+ "chainId": "Evidence ID",
167
+ "chainTaskId": "Diagnosis Task ID",
168
+ "chainTaskStatus": "Task Status",
169
+ "chainCandidateId": "Candidate ID",
170
+ "chainPrincipleId": "Linked Principle ID",
171
+ "chainSourceKind": "Source Kind",
172
+ "chainState": "Chain State"
283
173
  },
284
174
  "principles": {
285
175
  "title": "Principles",
@@ -354,74 +244,278 @@
354
244
  "compareTitle": "Principle Comparison",
355
245
  "compareField": "Field",
356
246
  "showMore": "Show more",
357
- "showLess": "Show less"
247
+ "showLess": "Show less",
248
+ "reviewTitle": "Principle Review",
249
+ "reviewSubtitle": "You review future behavior, not refined text",
250
+ "reviewDescription": "Each card represents one principle. Review its text, status, and channel before deciding.",
251
+ "loading": "Loading…",
252
+ "retry": "Retry",
253
+ "statusPending": "Pending",
254
+ "statusApproved": "Approved",
255
+ "statusRejected": "Rejected",
256
+ "statusParked": "Parked",
257
+ "emptyTitle": "No principles to review",
258
+ "emptyDescription": "When PD captures behavior deviation signals, principle candidates will appear here for your review.",
259
+ "emptyActionable": "No owner-actionable principles at this time. When PD captures behavior deviation signals, principle candidates will appear here for your review. You can check the Behavior Evidence page to see if PD is actively collecting signals.",
260
+ "noActionableTitle": "No actionable principles right now",
261
+ "noActionableDescription": "All current principles are classified as demo, smoke test, historical, or builtin axioms. Switch to \"Show All\" to see them.",
262
+ "filterActionable": "Actionable",
263
+ "filterAll": "Show All",
264
+ "channelPrompt": "Prompt / Reversible",
265
+ "channelDeferArchive": "Defer Archive",
266
+ "channelCodeToolHook": "Code Tool Hook",
267
+ "confidence": "Confidence",
268
+ "languageHintEn": "Generated in English",
269
+ "languageHintZh": "Generated in Chinese",
270
+ "languageHintUnknown": "Language unknown",
271
+ "languageMismatchHint": "This principle was generated in {{lang}}. Review the behavior, not only the wording.",
272
+ "readabilityFallbackTitle": "Principle candidate",
273
+ "readabilityOriginalLabel": "Original technical text",
274
+ "readabilityWarning": {
275
+ "technical_pattern": "Title appears to be a technical pattern. Review the behavior evidence below.",
276
+ "diagnostic_residue": "Title may contain diagnostic residue. Review the full text for context.",
277
+ "title_too_long": "Title is unusually long. The readable summary may be in the text below."
278
+ },
279
+ "detail": {
280
+ "loading": "Loading…",
281
+ "backToList": "← Back to list",
282
+ "conclusion": "Conclusion",
283
+ "policyNote": "This is a behavioral policy for future similar scenarios. You can approve, modify, reject, or park it.",
284
+ "modifyWording": "Modify Wording",
285
+ "modifyWordingNote": "Principle modification will be available in a future version",
286
+ "channel": "Activation Channel",
287
+ "channelPromptReversible": "Will activate via prompt channel · Reversible",
288
+ "whyExists": "Why It Exists",
289
+ "applicableScenarios": "Applicable Scenarios",
290
+ "expectedBehavior": "Expected Behavior",
291
+ "nonApplicableScenarios": "Non-applicable Scenarios",
292
+ "conflictsWithNote": "Conflicts with {{count}} principle(s)",
293
+ "noConflicts": "No known conflicts",
294
+ "sideEffects": "Side Effects",
295
+ "sideEffectsNote": "After approval, activates via prompt channel. Can be rolled back at any time.",
296
+ "evidence": "Evidence",
297
+ "ownerReflection": "Three Questions Before Deciding",
298
+ "reflectionQ1": "Does this principle describe behavior I want to see repeatedly?",
299
+ "reflectionQ2": "Do I understand which channel it will activate through?",
300
+ "reflectionQ3": "If it's wrong, do I know how to roll it back?",
301
+ "trajectory": "View full trajectory when tracing is needed",
302
+ "stageEvidence": "Evidence",
303
+ "stageDiagnosis": "Diagnosis",
304
+ "stageProposal": "Proposal",
305
+ "stageReview": "Owner Review",
306
+ "stageDeploy": "Deployment Channel",
307
+ "stageBehavior": "Observable Behavior",
308
+ "lifecycleMetrics": "Lifecycle Metrics",
309
+ "lifecycleNote": "Rule quality signal, not equivalent to behavior change",
310
+ "insufficientData": "This principle has no rules or insufficient data to compute lifecycle metrics.",
311
+ "triggered": "triggered",
312
+ "approve": "Approve Principle",
313
+ "park": "Park",
314
+ "reject": "Reject",
315
+ "confirmApprove": "After approval, the principle will activate via prompt channel. Confirm approval?",
316
+ "confirm": "Confirm",
317
+ "cancel": "Cancel",
318
+ "rejectReasonPlaceholder": "Please explain why you reject (required)",
319
+ "confirmReject": "Confirm Rejection",
320
+ "approved": "Approved / Will activate via prompt channel",
321
+ "rejected": "Rejected",
322
+ "parked": "Parked",
323
+ "viewActivation": "View activation status",
324
+ "approveFailed": "Approval failed. Please try again later.",
325
+ "partialFailure": "Decision applied, but {{failedCount}}/{{totalCount}} records failed. Please verify and retry.",
326
+ "rejectFailed": "Rejection failed. Please try again later."
327
+ }
358
328
  },
359
- "thinking-models": {
360
- "title": "Thinking Models",
361
- "description": "Manage Thinking Models",
362
- "modelList": "Model List",
363
- "trigger": "Trigger",
364
- "must": "Must",
365
- "forbidden": "Forbidden",
366
- "noModels": "No thinking models",
367
- "modelsLabel": "models",
368
- "sourceLabel": "Source:",
369
- "placeThinkingOs": "Place a THINKING_OS.md file in the workspace root or .state directory"
329
+ "activation": {
330
+ "eyebrow": "Activation",
331
+ "title": "Activation Status",
332
+ "subtitle": "Which approved principles are actually in effect? This page shows activation facts — not claims about behavioral improvement.",
333
+ "summaryActive": "active",
334
+ "summaryInactive": "inactive",
335
+ "summaryNeverActivated": "never activated",
336
+ "boundaryLabel": "Capability boundary",
337
+ "boundaryText": "PD cannot yet count how many times a principle was triggered in subsequent tasks, nor can it automatically judge whether behavior has changed (requires semantic matching and feedback loops, post-MVP).",
338
+ "sectionActive": "Active Principles",
339
+ "sectionInactive": "Inactive Principles",
340
+ "sectionNeverActivated": "Approved but Never Activated",
341
+ "emptyActive": "No principles are currently active. When you approve a principle, it will appear here with its activation details.",
342
+ "statusActive": "Active",
343
+ "statusInactive": "Inactive",
344
+ "channelPrompt": "Prompt / Reversible",
345
+ "channelDeferArchive": "Defer Archive",
346
+ "channelCodeToolHook": "Code Tool Hook",
347
+ "tagReversible": "Reversible",
348
+ "tagHighRisk": "High Risk",
349
+ "tagNeverActivated": "Never Activated",
350
+ "principleLabel": "Principle",
351
+ "actionLabel": "Action",
352
+ "targetLabel": "Target",
353
+ "activatedAtLabel": "Activated",
354
+ "neverActivated": "Never activated",
355
+ "neverActivatedCard": "Approved but never activated",
356
+ "lifecycleToggle": "View lifecycle metrics",
357
+ "lifecycleUnavailable": "Lifecycle metrics are unavailable for this principle.",
358
+ "insufficientData": "This principle has no rules or insufficient data to compute lifecycle metrics.",
359
+ "adherenceLabel": "adherence",
360
+ "lifecycleNote": "Rule quality signal, not equivalent to behavior change",
361
+ "triggered": "triggered",
362
+ "disableAction": "Disable",
363
+ "confirmDisable": "After disabling, the principle will no longer influence agent behavior. Confirm disable?",
364
+ "disabling": "Disabling…",
365
+ "disableSuccess": "Principle disabled",
366
+ "disableSuccessDescription": "Principle {{id}} has been deactivated.",
367
+ "disableFailed": "Failed to disable principle",
368
+ "undoDisable": "Disable action cancelled",
369
+ "viewDebt": "View in Principle Debt",
370
+ "loadError": "Unable to load activation data. You can try refreshing the page.",
371
+ "footer": "This page shows activation facts — which principles are in effect and through which channels."
372
+ },
373
+ "approvals": {
374
+ "title": "Approval",
375
+ "description": "Review and approve principle activation requests",
376
+ "loadFailed": "Failed to load approvals",
377
+ "detailFailed": "Failed to load approval details",
378
+ "approveFailed": "Failed to approve",
379
+ "rejectFailed": "Failed to reject",
380
+ "emptyHint": "No approval requests pending. Approvals will appear when principles are ready for activation."
381
+ },
382
+ "reportProblem": {
383
+ "eyebrow": "Product Feedback",
384
+ "title": "Report a Problem",
385
+ "subtitle": "Generate a privacy-preserving local feedback draft. The Console never auto-uploads — you choose what to share, how to share it, and when.",
386
+ "noAutoUpload": "This Console never auto-uploads feedback. Drafts are stored locally only.",
387
+ "loadError": "Unable to load feedback data. You can try refreshing the page.",
388
+ "description": "Generate a privacy-preserving local feedback draft. The Console never auto-uploads — you choose what to share, how to share it, and when.",
389
+ "deepLinked": "Deep-linked from {{source}}.",
390
+ "form": {
391
+ "title": "Describe what happened",
392
+ "description": "Only fields below are stored. Raw prompts, chat history, file contents, paths, env vars, and tokens are excluded by default.",
393
+ "type": "Type",
394
+ "severity": "Severity",
395
+ "severityNotSet": "Not set",
396
+ "severityLow": "Low",
397
+ "severityMedium": "Medium",
398
+ "severityHigh": "High",
399
+ "titleLabel": "Title",
400
+ "descriptionLabel": "Description",
401
+ "stepsLabel": "Steps to reproduce (optional)",
402
+ "expectedLabel": "Expected behavior (optional)",
403
+ "actualLabel": "Actual behavior (optional)",
404
+ "submit": "Save local draft",
405
+ "submitting": "Saving…",
406
+ "hidePreview": "Hide markdown preview",
407
+ "showPreview": "Show markdown preview",
408
+ "types": {
409
+ "bug": "Bug",
410
+ "confusing": "Confusing",
411
+ "privacy_concern": "Privacy concern",
412
+ "feature_request": "Feature request",
413
+ "other": "Other"
414
+ }
415
+ },
416
+ "privacy": {
417
+ "title": "Privacy boundary",
418
+ "description": "What this report will and will not include.",
419
+ "included": "Included",
420
+ "excluded": "Excluded by default",
421
+ "notes": "Redaction notes",
422
+ "submitFirst": "Save a draft to see exactly which sections are included.",
423
+ "guarantee": "No automatic upload. Drafts are stored at <workspace>/.pd/feedback/drafts/. You decide what to do with them."
424
+ },
425
+ "draft": {
426
+ "title": "Draft saved locally",
427
+ "savedAt": "id: {{id}} · saved at {{at}}",
428
+ "copyMarkdown": "Copy Markdown",
429
+ "copyEmail": "Copy email text",
430
+ "openGithub": "Open GitHub issue URL",
431
+ "delete": "Delete draft"
432
+ },
433
+ "saved": {
434
+ "title": "Saved drafts",
435
+ "load": "Load"
436
+ },
437
+ "toast": {
438
+ "draftCreated": "Draft saved locally",
439
+ "draftDeleted": "Draft deleted",
440
+ "markdownCopied": "Markdown copied to clipboard",
441
+ "emailCopied": "Email text copied to clipboard",
442
+ "copyFailed": "Copy failed",
443
+ "loadFailed": "Failed to load draft",
444
+ "deleteFailed": "Failed to delete draft"
445
+ },
446
+ "errors": {
447
+ "missingRequired": "Title and description are required.",
448
+ "createFailed": "Failed to create draft."
449
+ }
370
450
  },
371
451
  "settings": {
452
+ "eyebrow": "Settings",
372
453
  "title": "Settings",
373
- "description": "Configure Console",
454
+ "subtitle": "Manage authentication and workspace configuration for the governance workspace.",
374
455
  "auth": "Authentication",
375
- "workspace": "Workspace",
376
- "appearance": "Appearance",
377
- "language": "Language",
378
- "theme": "Theme",
379
- "apiToken": "API Token",
380
456
  "bearerToken": "Bearer Token",
381
457
  "enterAccessToken": "Enter access token",
382
- "lastSync": "Last sync",
383
- "path": "Path",
384
- "name": "Name",
385
- "addWorkspace": "Add Workspace",
386
- "syncWorkspace": "Sync Workspace",
387
- "removeWorkspace": "Remove Workspace",
388
458
  "tokenSaved": "Token saved",
389
459
  "tokenSessionOnly": "Token is stored in browser session only.",
390
- "noAuthFlag": "Use --no-auth flag to disable authentication.",
460
+ "workspace": "Workspaces",
461
+ "addWorkspace": "Add Workspace",
462
+ "syncWorkspace": "Sync",
463
+ "removeWorkspace": "Remove",
391
464
  "workspaceAdded": "Workspace added",
392
465
  "workspaceRemoved": "Workspace removed",
393
- "confirmDeleteTitle": "Delete Workspace",
394
- "confirmDeleteDescription": "Are you sure you want to delete workspace \"{{name}}\"? This action cannot be undone."
466
+ "confirmDeleteTitle": "Remove Workspace",
467
+ "confirmDeleteDescription": "Remove workspace \"{{name}}\"? This cannot be undone.",
468
+ "name": "Name",
469
+ "path": "Path",
470
+ "lastSync": "Last Sync",
471
+ "loadError": "Unable to load settings. You can try refreshing the page.",
472
+ "addNamePlaceholder": "Workspace name",
473
+ "addPathPlaceholder": "Workspace path",
474
+ "principleLanguage": "Principle Language",
475
+ "principleLanguageDescription": "Save your language preference for principle display. Generation integration is deferred.",
476
+ "languageZhCN": "中文 (Chinese)",
477
+ "languageEn": "English",
478
+ "languageSaved": "Language preference saved",
479
+ "languageLoadError": "Failed to load language preference"
395
480
  },
396
- "central": {
397
- "title": "Central",
398
- "description": "Global Monitoring Center",
399
- "overallStatus": "Overall Status",
400
- "workspaces": "Workspaces",
401
- "healthDetails": "Health Details",
402
- "workspaceName": "Workspace Name",
403
- "workspaceStatus": "Workspace Status",
404
- "workspaceGFI": "Workspace GFI",
405
- "workspacePrinciples": "Workspace Principles",
406
- "healthy": "Healthy",
407
- "degraded": "Degraded",
408
- "error": "Error",
409
- "total": "Total",
410
- "gfiLabel": "GFI",
411
- "principlesLabel": "Principles",
412
- "activeLabel": "Active",
413
- "pendingLabel": "Pending",
414
- "noWorkspaces": "No workspaces configured. Go to Settings to add workspaces.",
415
- "noWorkspaceData": "No workspace data available"
481
+ "controlCenter": {
482
+ "eyebrow": "Control Center",
483
+ "title": "Config Readiness",
484
+ "subtitle": "PD can only work when configuration is complete. This page shows config readiness — not a system health dashboard.",
485
+ "configReady": "Configuration complete. All enabled agents are ready.",
486
+ "configNeedsSetup": "Some agents need configuration before they can run.",
487
+ "configNotReady": "Some agents cannot run. Check configuration errors below.",
488
+ "configUnknown": "Configuration status is unknown. Check your setup.",
489
+ "configDisabled": "All agents are disabled.",
490
+ "configErrors": "Configuration Errors",
491
+ "internalAgents": "Internal Agents",
492
+ "internalAgentsDescription": "Each PD internal agent uses an OpenClaw runtime profile. Keys stay outside PD.",
493
+ "defaultRuntime": "Default Runtime",
494
+ "defaultRuntimeDescription": "The default runtime profile for agents without explicit overrides.",
495
+ "advancedDiagnostics": "Advanced Diagnostics",
496
+ "features": "Features",
497
+ "runtimeProfiles": "Runtime Profiles",
498
+ "warnings": "Warnings",
499
+ "copyDiagnostics": "Copy Diagnostics",
500
+ "redactedNote": "Secrets and API keys are redacted from copied output.",
501
+ "on": "On",
502
+ "off": "Off",
503
+ "saving": "Saving…",
504
+ "saveFailed": "Save failed",
505
+ "loadError": "Unable to load configuration data. You can try refreshing the page.",
506
+ "agentEnabled": "Enabled",
507
+ "agentDisabled": "Disabled",
508
+ "profileLabel": "Profile",
509
+ "readinessLabel": "Readiness"
416
510
  },
417
511
  "login": {
418
512
  "title": "Login",
419
- "description": "Login to PD Console",
420
- "slogan": "燃烧痛苦,驱动进化",
513
+ "description": "Login to PD Governance Workspace",
514
+ "slogan": "Turn repeated corrections into governed principles",
421
515
  "password": "Password",
422
516
  "showPassword": "Show password",
423
517
  "hidePassword": "Hide password",
424
- "signIn": "Sign In",
518
+ "signIn": "Enter Workspace",
425
519
  "errorInvalid": "Invalid password",
426
520
  "errorEmpty": "Please enter password",
427
521
  "enterAccessToken": "Enter access token",
@@ -430,57 +524,25 @@
430
524
  "tokenSessionOnly": "Token is stored in browser session only.",
431
525
  "noAuthFlag": "Use --no-auth flag to disable authentication."
432
526
  },
433
- "agents": {
434
- "title": "Agents",
435
- "description": "View agent collaboration topology and runtime status",
436
- "status": "Status",
437
- "lastRun": "Last Run",
438
- "prompt": "Driving Prompt",
439
- "tools": "Tools Used",
440
- "recentRuns": "Recent Runs",
441
- "errorLog": "Error Log",
442
- "cooldown": "Cooling Down",
443
- "cooldownRemaining": "Cooldown Remaining",
444
- "viewTasks": "View Related Tasks",
445
- "input": "Input",
446
- "output": "Output",
447
- "noRecentRuns": "No recent runs",
448
- "noErrors": "No errors",
449
- "running": "Running",
450
- "idle": "Idle",
451
- "failed": "Failed",
452
- "unknown": "Unknown",
453
- "realtimeTriggerPath": "Real-time Trigger Path",
454
- "backgroundHeartbeatPath": "Background Heartbeat Path (Evolution Worker Driven)",
455
- "loadFailed": "Load failed",
456
- "category": {
457
- "scheduler": "Scheduler",
458
- "analyzer": "Analyzer",
459
- "reflector": "Reflector",
460
- "sub-process": "Sub-process",
461
- "optimizer": "Optimizer",
462
- "gate": "Gate"
463
- }
464
- },
465
- "eventLog": {
466
- "title": "Event Log",
467
- "description": "View and analyze system event records",
468
- "filter": "Filter",
469
- "collapse": "Collapse",
470
- "expand": "Expand",
471
- "eventType": "Event Type",
472
- "startDate": "Start Date",
473
- "endDate": "End Date",
474
- "searchPlaceholder": "Search event content…",
475
- "clear": "Clear",
476
- "reset": "Reset",
477
- "apply": "Apply",
478
- "loading": "Loading…",
479
- "noMatchingEvents": "No matching events",
480
- "relatedEvents": "Related Events",
481
- "noRelatedEvents": "No related events",
482
- "current": "Current",
483
- "eventStats": "Event Statistics"
527
+ "update": {
528
+ "eyebrow": "Updates",
529
+ "title": "Updates",
530
+ "subtitle": "Check for PD updates and view update history. Updates keep your governance workspace current.",
531
+ "currentVersion": "Current Version",
532
+ "latestVersion": "Latest Version",
533
+ "upToDate": "Up to date",
534
+ "updateAvailable": "Update available",
535
+ "lastChecked": "Last checked",
536
+ "neverChecked": "Never checked",
537
+ "checkForUpdates": "Check for Updates",
538
+ "checking": "Checking…",
539
+ "history": "Update History",
540
+ "noHistory": "No update history available.",
541
+ "version": "Version",
542
+ "appliedAt": "Applied",
543
+ "notes": "Notes",
544
+ "loadError": "Unable to load update data. You can try refreshing the page.",
545
+ "checkFailed": "Update check failed. Please try again later."
484
546
  }
485
547
  },
486
548
  "components": {
@@ -529,20 +591,16 @@
529
591
  },
530
592
  "sidebar": {
531
593
  "collapse": "Collapse Sidebar",
532
- "expand": "Expand Sidebar"
533
- },
534
- "healthDiagnostic": {
535
- "title": "System Health",
536
- "allNormal": "All systems normal",
537
- "needsAttention": "Some systems need attention",
538
- "criticalIssues": "Critical issues detected"
539
- },
540
- "dataFreshness": {
541
- "justNow": "just now",
542
- "upToDate": "up to date",
543
- "slightlyDelayed": "slightly delayed",
544
- "stale": "stale",
545
- "never": "never"
594
+ "expand": "Expand Sidebar",
595
+ "focus": "Governance Focus",
596
+ "pain": "Behavior Evidence",
597
+ "principles": "Principles Review",
598
+ "activation": "Activation",
599
+ "debt": "Principle Debt",
600
+ "controlCenter": "Control Center",
601
+ "reportProblem": "Feedback",
602
+ "settings": "Settings",
603
+ "update": "Updates"
546
604
  },
547
605
  "approvalCard": {
548
606
  "confidence": {