noteconnection 1.7.0 → 1.8.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 (211) hide show
  1. package/LICENSE +674 -21
  2. package/README.md +242 -62
  3. package/dist/src/agent_workspace.contract.parity.test.js +475 -0
  4. package/dist/src/agent_workspace.frontend.test.js +9989 -0
  5. package/dist/src/agent_workspace.locale.contract.test.js +95 -0
  6. package/dist/src/agent_workspace.runtime.behavior.test.js +5072 -0
  7. package/dist/src/copy.assets.contract.test.js +130 -0
  8. package/dist/src/core/PathBridge.js +28 -3
  9. package/dist/src/export/WorkspaceExportBundle.js +1130 -0
  10. package/dist/src/export/WorkspaceExportBundle.test.js +1480 -0
  11. package/dist/src/export/index.js +18 -0
  12. package/dist/src/export/types.js +2 -0
  13. package/dist/src/fixrisk.issue.verifier.contract.test.js +3 -1
  14. package/dist/src/foundation.ann.runtime.contract.test.js +81 -0
  15. package/dist/src/foundation.release.evidence.contract.test.js +406 -0
  16. package/dist/src/foundation.sqlite.runtime.contract.test.js +82 -0
  17. package/dist/src/frontend/README.md +242 -62
  18. package/dist/src/frontend/agent_workspace.js +5353 -0
  19. package/dist/src/frontend/agent_workspace_runtime.js +4434 -0
  20. package/dist/src/frontend/analysis.js +31 -4
  21. package/dist/src/frontend/app.js +2178 -62
  22. package/dist/src/frontend/focus_mode_interactions.js +33 -0
  23. package/dist/src/frontend/godot_future_path_renderer.js +540 -0
  24. package/dist/src/frontend/godot_tree_interactions.js +178 -0
  25. package/dist/src/frontend/graph_state.mjs +105 -0
  26. package/dist/src/frontend/hosted_future_path_runtime.js +157 -0
  27. package/dist/src/frontend/i18n.mjs +186 -0
  28. package/dist/src/frontend/index.html +641 -266
  29. package/dist/src/frontend/layout_gpu.js +12 -4
  30. package/dist/src/frontend/locales/en.json +721 -5
  31. package/dist/src/frontend/locales/zh.json +721 -5
  32. package/dist/src/frontend/main.mjs +60 -0
  33. package/dist/src/frontend/markdown_runtime.js +827 -0
  34. package/dist/src/frontend/notemd.css +49 -0
  35. package/dist/src/frontend/notemd.html +7 -1
  36. package/dist/src/frontend/notemd.js +64 -0
  37. package/dist/src/frontend/path.html +107 -0
  38. package/dist/src/frontend/path_app.js +2108 -130
  39. package/dist/src/frontend/path_layout.mjs +143 -0
  40. package/dist/src/frontend/path_mermaid_utils.mjs +108 -0
  41. package/dist/src/frontend/path_modules_bridge.js +486 -0
  42. package/dist/src/frontend/path_state.mjs +118 -0
  43. package/dist/src/frontend/path_styles.css +146 -0
  44. package/dist/src/frontend/path_worker_bridge.mjs +85 -0
  45. package/dist/src/frontend/reader.js +393 -33
  46. package/dist/src/frontend/runtime_bridge.js +67 -54
  47. package/dist/src/frontend/runtime_bridge.mjs +279 -0
  48. package/dist/src/frontend/settings.js +130 -12
  49. package/dist/src/frontend/source_manager.js +190 -21
  50. package/dist/src/frontend/styles.css +2720 -72
  51. package/dist/src/frontend/workbench_state.mjs +101 -0
  52. package/dist/src/frontend/workspace_panes.js +10168 -0
  53. package/dist/src/frontend.locale.contract.test.js +62 -0
  54. package/dist/src/godot.sidecar.bootstrap.contract.test.js +244 -0
  55. package/dist/src/indexing/IndexLifecycle.js +195 -0
  56. package/dist/src/indexing/IndexLifecycle.test.js +49 -0
  57. package/dist/src/indexing/SegmentBuilder.js +64 -0
  58. package/dist/src/indexing/UnitBuilder.js +48 -0
  59. package/dist/src/indexing/types.js +2 -0
  60. package/dist/src/knowledge.api.contract.test.js +170 -0
  61. package/dist/src/learning/KnowledgeLearningPlatform.js +10386 -0
  62. package/dist/src/learning/KnowledgeLearningPlatform.persistence.test.js +327 -0
  63. package/dist/src/learning/KnowledgeLearningPlatform.program-f.test.js +99 -0
  64. package/dist/src/learning/KnowledgeLearningPlatform.test.js +2971 -0
  65. package/dist/src/learning/KnowledgeWorkspaceConversationRegression.js +2974 -0
  66. package/dist/src/learning/KnowledgeWorkspaceConversationRegression.test.js +3928 -0
  67. package/dist/src/learning/answerReleaseReview.js +4319 -0
  68. package/dist/src/learning/answerReleaseReview.test.js +2888 -0
  69. package/dist/src/learning/api.js +2 -0
  70. package/dist/src/learning/conversationComposer.js +1480 -0
  71. package/dist/src/learning/conversationComposer.test.js +1817 -0
  72. package/dist/src/learning/domains/ConversationManager.js +53 -0
  73. package/dist/src/learning/domains/KnowledgeIngestor.js +238 -0
  74. package/dist/src/learning/domains/KnowledgeQuerier.js +187 -0
  75. package/dist/src/learning/domains/MasteryEngine.js +387 -0
  76. package/dist/src/learning/domains/MemoryPolicyManager.js +408 -0
  77. package/dist/src/learning/domains/QualityEvaluator.js +307 -0
  78. package/dist/src/learning/domains/TutorRouter.js +313 -0
  79. package/dist/src/learning/domains/index.js +33 -0
  80. package/dist/src/learning/domains/types.js +7 -0
  81. package/dist/src/learning/errors.js +29 -0
  82. package/dist/src/learning/evidenceContextAssembler.js +1176 -0
  83. package/dist/src/learning/evidenceContextAssembler.test.js +6332 -0
  84. package/dist/src/learning/graphContextAssembler.js +870 -0
  85. package/dist/src/learning/graphContextAssembler.test.js +1033 -0
  86. package/dist/src/learning/index.js +28 -0
  87. package/dist/src/learning/queryBackend.js +1898 -0
  88. package/dist/src/learning/queryBackend.test.js +955 -0
  89. package/dist/src/learning/ragContextPack.js +257 -0
  90. package/dist/src/learning/ragContextPack.test.js +160 -0
  91. package/dist/src/learning/ragPublicText.js +38 -0
  92. package/dist/src/learning/ragSufficiencyJudge.js +161 -0
  93. package/dist/src/learning/ragSufficiencyJudge.test.js +177 -0
  94. package/dist/src/learning/ragSufficiencyProviderJudge.js +227 -0
  95. package/dist/src/learning/ragSufficiencyProviderJudge.test.js +156 -0
  96. package/dist/src/learning/requestNormalization.js +198 -0
  97. package/dist/src/learning/runtimeCapability.js +4677 -0
  98. package/dist/src/learning/runtimeCapability.test.js +3635 -0
  99. package/dist/src/learning/store.js +1240 -0
  100. package/dist/src/learning/store.test.js +1126 -0
  101. package/dist/src/learning/tutorAdapter.js +2 -0
  102. package/dist/src/learning/types.js +2 -0
  103. package/dist/src/learning/vectorAccelerationAdapter.js +942 -0
  104. package/dist/src/learning/vectorAccelerationAdapter.test.js +382 -0
  105. package/dist/src/lfs.asset.policy.contract.test.js +153 -0
  106. package/dist/src/license.policy.contract.test.js +66 -0
  107. package/dist/src/memory/MemoryGovernance.js +74 -0
  108. package/dist/src/memory/MemoryGovernance.test.js +46 -0
  109. package/dist/src/memory/types.js +2 -0
  110. package/dist/src/mermaid.frontend.guard.contract.test.js +77 -0
  111. package/dist/src/middleware/auth.js +17 -0
  112. package/dist/src/middleware/body-parser.js +45 -0
  113. package/dist/src/middleware/cors.js +44 -0
  114. package/dist/src/middleware/index.js +21 -0
  115. package/dist/src/middleware/request-trace.js +96 -0
  116. package/dist/src/notemd/AppConfigToml.js +6 -4
  117. package/dist/src/notemd/MermaidProcessor.js +400 -50
  118. package/dist/src/notemd/NotemdService.js +498 -13
  119. package/dist/src/notemd/PromptManager.js +15 -0
  120. package/dist/src/notemd/cli/commands.js +357 -0
  121. package/dist/src/notemd/cli/dispatcher.js +225 -0
  122. package/dist/src/notemd/cli/index.js +169 -0
  123. package/dist/src/notemd/cli/parser.js +68 -0
  124. package/dist/src/notemd/cli/types.js +2 -0
  125. package/dist/src/notemd/constants.js +43 -0
  126. package/dist/src/notemd/diagram/diagramGenerationService.js +78 -0
  127. package/dist/src/notemd/diagram/diagramSpec.js +79 -0
  128. package/dist/src/notemd/diagram/diagramSpecResponseParser.js +131 -0
  129. package/dist/src/notemd/diagram/intent.js +95 -0
  130. package/dist/src/notemd/diagram/planner.js +71 -0
  131. package/dist/src/notemd/diagram/prompts/diagramSpecPrompt.js +42 -0
  132. package/dist/src/notemd/diagram/types.js +18 -0
  133. package/dist/src/notemd/index.js +26 -0
  134. package/dist/src/notemd/operations/capabilityManifest.js +23 -0
  135. package/dist/src/notemd/operations/cliContracts.js +17 -0
  136. package/dist/src/notemd/operations/configProfileCommands.js +85 -0
  137. package/dist/src/notemd/operations/registry.contract.test.js +95 -0
  138. package/dist/src/notemd/operations/registry.js +991 -0
  139. package/dist/src/notemd/operations/types.js +2 -0
  140. package/dist/src/notemd/providerDiagnostics.js +220 -0
  141. package/dist/src/notemd/providerProfiles.js +42 -0
  142. package/dist/src/notemd/providerTemplates.js +231 -0
  143. package/dist/src/notemd/search/DuckDuckGoProvider.js +39 -0
  144. package/dist/src/notemd/search/SearchManager.js +13 -0
  145. package/dist/src/notemd/search/SearchProvider.js +2 -0
  146. package/dist/src/notemd/search/TavilyProvider.js +44 -0
  147. package/dist/src/notemd.agent.manifest.test.js +85 -0
  148. package/dist/src/notemd.api.contract.test.js +14 -1
  149. package/dist/src/notemd.app_config_toml.test.js +2 -1
  150. package/dist/src/notemd.batch.workflow.test.js +117 -0
  151. package/dist/src/notemd.cli.e2e.test.js +136 -0
  152. package/dist/src/notemd.core.test.js +51 -0
  153. package/dist/src/notemd.diagram.pipeline.test.js +233 -0
  154. package/dist/src/notemd.providerTemplates.test.js +34 -0
  155. package/dist/src/notemd.server.integration.test.js +143 -35
  156. package/dist/src/notemd.workflow.pipeline.test.js +162 -0
  157. package/dist/src/pathbridge.handshake.contract.test.js +16 -2
  158. package/dist/src/pathmode.background.contract.test.js +69 -0
  159. package/dist/src/pathmode.settings.api.contract.test.js +9 -0
  160. package/dist/src/pkg.sidecar.contract.test.js +9 -3
  161. package/dist/src/platform/ExportProfile.js +58 -0
  162. package/dist/src/platform/PlatformCapabilities.js +45 -0
  163. package/dist/src/platform/PlatformCapabilities.test.js +30 -0
  164. package/dist/src/platform/RenderMaterializer.js +33 -0
  165. package/dist/src/platform/RenderMaterializer.test.js +32 -0
  166. package/dist/src/query_backend.external_http.integration.test.js +410 -0
  167. package/dist/src/reader_renderer.js +404 -3
  168. package/dist/src/reader_renderer.test.js +87 -0
  169. package/dist/src/release.godot.mirror.contract.test.js +73 -0
  170. package/dist/src/resources/ResourceRegistry.js +223 -0
  171. package/dist/src/resources/ResourceRegistry.test.js +61 -0
  172. package/dist/src/resources/types.js +2 -0
  173. package/dist/src/routes/agentWorkspaceDiagnostics.js +173 -0
  174. package/dist/src/routes/data.js +267 -0
  175. package/dist/src/routes/diagnostics.js +51 -0
  176. package/dist/src/routes/index.js +23 -0
  177. package/dist/src/routes/knowledge.js +968 -0
  178. package/dist/src/routes/markdown.js +287 -0
  179. package/dist/src/routes/notemd.js +565 -0
  180. package/dist/src/routes/registry.contract.test.js +130 -0
  181. package/dist/src/routes/render.js +285 -0
  182. package/dist/src/routes/runtimeRunbookRouteOps.js +149 -0
  183. package/dist/src/routes/runtimeRunbookRouteOps.test.js +194 -0
  184. package/dist/src/routes/settings.js +6 -0
  185. package/dist/src/routes/staticFiles.js +94 -0
  186. package/dist/src/routes/types.js +2 -0
  187. package/dist/src/runtime.transport.adapter.contract.test.js +81 -0
  188. package/dist/src/server.js +11090 -1549
  189. package/dist/src/server.migration.test.js +193 -21
  190. package/dist/src/server.port.fallback.contract.test.js +63 -0
  191. package/dist/src/session/SessionStateStore.js +81 -0
  192. package/dist/src/session/SessionStateStore.test.js +58 -0
  193. package/dist/src/session/types.js +2 -0
  194. package/dist/src/settings.runtime.contract.test.js +50 -0
  195. package/dist/src/shared/types.contract.test.js +107 -0
  196. package/dist/src/shared/types.js +22 -0
  197. package/dist/src/sidecar.replacement.boundary.contract.test.js +128 -0
  198. package/dist/src/sidecar.supply.readiness.contract.test.js +144 -0
  199. package/dist/src/source_manager.loadflow.test.js +46 -0
  200. package/dist/src/startup.layout.snapshot.contract.test.js +57 -0
  201. package/dist/src/tauri.frontend.build.contract.test.js +60 -0
  202. package/dist/src/tauri.sidecar.cleanup.contract.test.js +21 -0
  203. package/dist/src/utils/RuntimePaths.js +4 -13
  204. package/dist/src/utils/platform.js +153 -0
  205. package/dist/src/workflows/WorkflowArtifactStore.js +96 -0
  206. package/dist/src/workflows/WorkflowArtifactStore.test.js +80 -0
  207. package/dist/src/workflows/types.js +2 -0
  208. package/dist/src/workspace/WorkspaceRegistry.js +122 -0
  209. package/dist/src/workspace/WorkspaceRegistry.test.js +29 -0
  210. package/dist/src/workspace/types.js +2 -0
  211. package/package.json +53 -10
@@ -73,6 +73,7 @@
73
73
  "loadButton": "Load",
74
74
  "loading": "Loading...",
75
75
  "currentPath": "Current Path: {path}",
76
+ "previewPath": "Frontend Preview (Backend Unavailable)",
76
77
  "capacitor": {
77
78
  "packagedGraph": "Packaged Graph (Read-Only)",
78
79
  "bundlePath": "Capacitor Asset Bundle"
@@ -150,7 +151,7 @@
150
151
  "compactMode": "Compact Mode (Hide Edges)",
151
152
  "staticMode": "Static Mode",
152
153
  "gpuRendering": "GPU Layout Optimization (Beta)",
153
- "deepDebug": "Deep Debug Mode",
154
+ "deepDebug": "Developer Mode",
154
155
  "opacity": "Edge Opacity",
155
156
  "reading_mode": "Open Mode",
156
157
  "retain_history": "Retain Learning History"
@@ -162,7 +163,7 @@
162
163
  "compactMode": "Don't load/render edges by default to improve performance for >5k nodes.",
163
164
  "staticMode": "Stop simulation immediately after build. Graph won't move.",
164
165
  "gpuRendering": "Offload layout calculations to GPU (AMD Radeon 7900XT or compatible, may be slower for <2k nodes).",
165
- "deepDebug": "Enable verbose logging during build.",
166
+ "deepDebug": "Show backend diagnostics and relation details in advanced workspace panes.",
166
167
  "retain_history": "Keep learned nodes state across sessions."
167
168
  },
168
169
  "save": "Save",
@@ -272,6 +273,10 @@
272
273
  "open_content": "Specific Content",
273
274
  "exit_focus": "Exit Focus Mode",
274
275
  "analysis_title": "Degree Analysis",
276
+ "node_details": "Node Details",
277
+ "reader_loading": "Loading reader content...",
278
+ "reader_outline_title": "Outline",
279
+ "reader_outline_empty": "No outline is available for this document.",
275
280
  "filter_strategy": "Filter Strategy",
276
281
  "strat_top": "Top X% (by Degree)",
277
282
  "strat_min": "Min Degree > X",
@@ -291,12 +296,19 @@
291
296
  "inbound_rels": "Inbound (Helping to understand)",
292
297
  "outbound_rels": "Outbound (Further exploration)",
293
298
  "settings_title": "Visualization Settings",
299
+ "settings_subtitle": "Keep graph, reading, and performance controls compact. Agent provider setup lives on its own page.",
300
+ "settings_agent_title": "Agent Settings",
301
+ "settings_agent_subtitle": "Provider, model, API key, and TOML template controls for agent workflows.",
302
+ "settings_agent_description": "Provider presets, API keys, models, and TOML template actions are isolated on a dedicated page.",
303
+ "settings_open_agent": "Open Agent Settings",
304
+ "settings_back_to_general": "Back to Settings",
294
305
  "grp_general": "General",
295
306
  "grp_physics": "Physics",
296
307
  "grp_performance": "Performance",
297
308
  "grp_visuals": "Visuals",
298
309
  "grp_reading": "Reading",
299
310
  "grp_path_mode": "Path Mode",
311
+ "grp_ai_provider": "AI Provider",
300
312
  "lbl_language": "Language",
301
313
  "lbl_repulsion": "Repulsion Strength",
302
314
  "lbl_distance": "Link Distance",
@@ -307,20 +319,51 @@
307
319
  "lbl_compact_mode": "Compact Mode (Hide Edges)",
308
320
  "lbl_static_mode": "Static Mode",
309
321
  "lbl_gpu_rendering": "GPU Layout Optimization (Beta)",
310
- "lbl_deep_debug": "Deep Debug Mode",
322
+ "lbl_deep_debug": "Developer Mode",
311
323
  "lbl_opacity": "Edge Opacity",
312
324
  "lbl_reading_mode": "Open Mode",
313
325
  "lbl_retain_history": "Retain Learning History",
326
+ "lbl_notemd_provider_template": "Preset Template",
327
+ "lbl_notemd_active_provider": "Active Provider",
328
+ "lbl_notemd_provider_base_url": "Base URL",
329
+ "lbl_notemd_provider_model": "Model",
330
+ "lbl_notemd_provider_api_key": "API Key",
331
+ "lbl_notemd_provider_api_version": "API Version",
332
+ "notemd_provider_api_version_optional": "Optional. Leave blank for standard OpenAI-compatible endpoints. This is mainly used by Azure OpenAI.",
333
+ "notemd_provider_api_version_required": "Required for Azure OpenAI. Example: 2025-01-01-preview.",
314
334
  "desc_workers": "Lower this if Node.js runs out of memory.",
315
335
  "desc_gpu": "Use GPU for similarity calculation (Requires page reload).",
316
336
  "desc_memory_saving": "Use lower precision strategies to prevent OOM on large files.",
317
337
  "desc_compact_mode": "Don't load/render edges by default to improve performance for >5k nodes.",
318
338
  "desc_static_mode": "Stop simulation after 2 seconds. Recommended for large graphs.",
319
339
  "desc_gpu_rendering": "Enable AMDGPU acceleration for loading and positioning.",
320
- "desc_deep_debug": "Enable detailed logging for debugging.",
340
+ "desc_deep_debug": "Show backend diagnostics and relation details in advanced workspace panes.",
321
341
  "desc_retain_history": "Keep learned nodes state across sessions.",
322
342
  "opt_window": "Window",
323
343
  "opt_fullscreen": "Full Screen",
344
+ "notemd_provider_template_select": "Choose a preset template",
345
+ "notemd_provider_loading": "Loading provider settings...",
346
+ "notemd_provider_loaded": "Provider presets and TOML templates are ready.",
347
+ "notemd_provider_load_failed": "Provider settings load failed: {error}",
348
+ "notemd_provider_saving": "Saving provider settings...",
349
+ "notemd_provider_saved": "Provider settings saved to app_config.toml.",
350
+ "notemd_provider_autosaving": "Auto-saving provider settings...",
351
+ "notemd_provider_autosaved": "Provider settings auto-saved.",
352
+ "notemd_provider_autosave_failed": "Auto-save failed: {error}",
353
+ "notemd_provider_save_failed": "Provider save failed: {error}",
354
+ "notemd_provider_template_required": "Choose a preset template first.",
355
+ "notemd_provider_template_applying": "Applying provider preset...",
356
+ "notemd_provider_template_applied": "Preset applied and saved to app_config.toml.",
357
+ "notemd_provider_template_apply_failed": "Provider preset apply failed: {error}",
358
+ "notemd_provider_templates_writing": "Writing TOML provider templates...",
359
+ "notemd_provider_templates_written": "Provider templates were written to app_config.toml.",
360
+ "notemd_provider_templates_present": "Provider templates are already present in app_config.toml.",
361
+ "notemd_provider_templates_write_failed": "Template write failed: {error}",
362
+ "notemd_provider_config_path": "TOML path",
363
+ "btn_apply_provider_template": "Apply Preset",
364
+ "btn_test_provider_connection": "Test Connection",
365
+ "btn_save_provider_config": "Save Provider",
366
+ "btn_write_provider_templates": "Write TOML Templates",
324
367
  "btn_reset": "Reset",
325
368
  "btn_done": "Done",
326
369
  "btn_got_it": "Got it!",
@@ -343,5 +386,678 @@
343
386
  "focus_outbound": "Continue Exploring",
344
387
  "lbl_inbound_count": "Inbound Count:",
345
388
  "opt_visible": "Visible Nodes (Default)",
346
- "opt_total": "Total Statistical"
389
+ "opt_total": "Total Statistical",
390
+ "agentWorkspace": {
391
+ "title": "Knowledge Workspace",
392
+ "subtitle": "Grounded conversation, knowledge search, and guided learning",
393
+ "conversationTitle": "Grounded Conversation",
394
+ "conversationSubtitle": "Scoped knowledge, citations, and guided learning actions",
395
+ "userId": "Learner ID",
396
+ "inputLabel": "Ask the scoped knowledge corpus",
397
+ "inputPlaceholder": "Ask about a concept, citation, prerequisite, or study step...",
398
+ "scope": {
399
+ "label": "Knowledge Scope",
400
+ "allFolders": "All folders",
401
+ "summaryAll": "All folders",
402
+ "summaryScoped": "Scope: {scope}"
403
+ },
404
+ "knowledge": {
405
+ "emptyInitial": "No scoped knowledge matches yet.",
406
+ "empty": "No scoped knowledge matches.",
407
+ "citation": "Citation",
408
+ "memory": "Memory",
409
+ "score": "Score",
410
+ "matchedEvidence": "Matched evidence",
411
+ "togglePreview": "Toggle matched knowledge preview: {file}",
412
+ "hitFilesTitle": "Matched files",
413
+ "helpLabel": "Knowledge hit help",
414
+ "clickHint": "Click a matched file to open the source with highlighted evidence. Use Learning Path or Focus, and long-press for the same action menu.",
415
+ "previewLoading": "Loading source preview...",
416
+ "previewUnavailable": "Source preview unavailable.",
417
+ "openFile": "Open matched knowledge point: {file}",
418
+ "learningPathAction": "Learning Path",
419
+ "learningPathActionLabel": "Show learning path for {file}",
420
+ "relatedFocusAction": "Focus",
421
+ "relatedFocusActionLabel": "Show focus for {file}",
422
+ "actionsMenu": "Knowledge point actions",
423
+ "actionsMenuButtonLabel": "Open knowledge point actions for {file}",
424
+ "untitled": "Untitled knowledge point"
425
+ },
426
+ "apiStatus": {
427
+ "idle": "Idle",
428
+ "pending": "Checking",
429
+ "ok": "Available",
430
+ "error": "Failed",
431
+ "scope": "Scope: {scope}",
432
+ "recovered": "Recovered: {sources}",
433
+ "rag": "RAG: {status}, {fragments}",
434
+ "ragRecoveredStatus": "{status} after recovery"
435
+ },
436
+ "graphFocus": {
437
+ "title": "Knowledge Focus",
438
+ "emptyIdle": "Graph focus pane is idle.",
439
+ "noSummary": "No summary available.",
440
+ "diagnosticsTitle": "Render diagnostics",
441
+ "failureReasonLabel": "Failure reason",
442
+ "candidatePathsLabel": "Candidate paths",
443
+ "attemptedPathsLabel": "Attempted paths",
444
+ "resolvedPathLabel": "Resolved path",
445
+ "fallbackPathLabel": "Path fallback",
446
+ "highlightedNodesLabel": "Highlighted nodes",
447
+ "pathFallbackUsed": "used",
448
+ "pathFallbackNotUsed": "not used",
449
+ "relationMapTitle": "Relation focus",
450
+ "relationAnchorNode": "Anchor",
451
+ "continueCluster": "Continue exploring",
452
+ "supportCluster": "Helps understanding",
453
+ "resetView": "Reset view",
454
+ "history": "Focus history",
455
+ "historyEmpty": "No focus history yet.",
456
+ "relationEdgesUnavailable": "No bounded relation edges were returned for this hit.",
457
+ "runtimeUnavailable": "Focus runtime is unavailable."
458
+ },
459
+ "evidence": {
460
+ "title": "Evidence Inspector",
461
+ "emptyIdle": "Evidence pane is idle.",
462
+ "groundingTitle": "Grounding Inspector",
463
+ "scopeLabel": "Scope",
464
+ "citationsLabel": "Citations",
465
+ "memoriesLabel": "Recalled memories",
466
+ "memoryActionsLabel": "Memory actions",
467
+ "readinessLabel": "Workspace readiness",
468
+ "missLabel": "Scope recovery",
469
+ "graphContextLabel": "Graph context",
470
+ "graphAnchorLabel": "Anchor",
471
+ "graphAnchorAtomIdLabel": "Anchor atom",
472
+ "graphAnchorDocumentLabel": "Anchor document",
473
+ "graphRelationKindsLabel": "Relation kinds",
474
+ "graphSupportingTitlesLabel": "Supporting titles",
475
+ "graphSupportingAtomsLabel": "Supporting atoms",
476
+ "graphRelationSummariesLabel": "Relation summaries",
477
+ "graphKnowledgePointRelationsLabel": "Knowledge-point relations",
478
+ "graphConnectionPathsLabel": "Connection paths",
479
+ "graphConnectionPathLengthLabel": "Length: {length}",
480
+ "graphPredecessorsLabel": "Immediate predecessors",
481
+ "graphSuccessorsLabel": "Immediate successors",
482
+ "graphEvidenceRefsLabel": "Source references",
483
+ "graphRelationTargetsLabel": "Targets: {count}",
484
+ "graphRelationSourcesLabel": "Sources: {sources}",
485
+ "graphRelationConfidenceLabel": "Avg confidence: {confidence}",
486
+ "graphTemporalLabel": "Temporal validity",
487
+ "graphTemporalStatusLabel": "Status",
488
+ "graphTemporalCheckedAtLabel": "Checked at",
489
+ "graphTemporalReasonsLabel": "Warning reasons",
490
+ "graphTemporalInvalidTitlesLabel": "Invalid knowledge points",
491
+ "graphTemporalEdgeKindsLabel": "Temporal edge kinds",
492
+ "graphTemporalDetailsLabel": "Temporal edge details",
493
+ "graphDiagnosticsLabel": "Graph diagnostics",
494
+ "graphDiagnosticsOpsLabel": "Graph ops",
495
+ "graphDiagnosticsAvailableLabel": "available",
496
+ "graphDiagnosticsUnavailableLabel": "unavailable",
497
+ "graphDiagnosticsFallbackLabel": "Fallback",
498
+ "graphDiagnosticsAnchorReasonLabel": "Anchor reason",
499
+ "graphDiagnosticsCandidateCountLabel": "Candidates",
500
+ "graphDiagnosticsSupportCountLabel": "Support nodes",
501
+ "graphDiagnosticsBudgetLabel": "Path depth budget",
502
+ "graphDiagnosticsMissingLookupsLabel": "Missing graph lookups",
503
+ "graphTemporalValid": "valid",
504
+ "graphTemporalWarning": "warning",
505
+ "ragContextLabel": "RAG context",
506
+ "ragStatusSummaryLabel": "Evidence status",
507
+ "ragStatusSummary": "{status}; {degradation}; {issues}",
508
+ "ragStatusSufficient": "Sufficient",
509
+ "ragStatusBorderline": "Borderline",
510
+ "ragStatusInsufficient": "Insufficient",
511
+ "ragStatusUnavailableSources": "{count} unavailable source window(s)",
512
+ "ragStatusTruncatedFragments": "{count} truncated fragment(s)",
513
+ "ragStatusDroppedFragments": "{count} dropped fragment(s)",
514
+ "ragStatusNoEvidenceLoss": "no evidence loss recorded",
515
+ "ragDegradationNone": "No degradation",
516
+ "ragDegradationPartialCoverage": "Partial evidence coverage",
517
+ "ragDegradationConflict": "Conflicting evidence",
518
+ "ragDegradationInsufficient": "Insufficient evidence",
519
+ "ragDegradationStaleEvidence": "Stale evidence",
520
+ "ragSourceBoundaryFullDocument": "Full selected document",
521
+ "ragSourceBoundarySourceWindow": "Selected source window",
522
+ "ragSourceBoundarySnippetOnly": "Snippet only",
523
+ "ragReasonPartialCoverage": "partial coverage",
524
+ "ragReasonConflict": "conflict",
525
+ "ragReasonInsufficient": "insufficient evidence",
526
+ "ragReasonSourceWindowUnavailable": "source window unavailable",
527
+ "ragReasonContextBudgetLimited": "context budget limited",
528
+ "ragReasonGraphNeighborEvidenceMissing": "graph neighbor evidence missing",
529
+ "ragReasonLlmJudgeFailed": "LLM judge fallback",
530
+ "ragFailureContextAssembly": "context assembly",
531
+ "ragFailureGraphEvidence": "graph evidence",
532
+ "ragFailureParsingSource": "source parsing",
533
+ "ragFailureGeneration": "generation",
534
+ "ragFailureReleaseGeneration": "release review",
535
+ "ragSufficiencyLabel": "Sufficiency",
536
+ "ragSourceBoundaryLabel": "Source boundary",
537
+ "ragFragmentsLabel": "Fragments",
538
+ "ragBudgetLabel": "Context budget",
539
+ "ragDirectSupportLabel": "Direct support",
540
+ "ragDocumentAugmentationLabel": "Document augmentation",
541
+ "ragGraphNeighborSupportLabel": "Graph neighbor support",
542
+ "ragTruncatedFragmentsLabel": "Truncated fragments",
543
+ "ragDroppedFragmentsLabel": "Dropped fragments",
544
+ "ragUnavailableSourcesLabel": "Unavailable source windows",
545
+ "ragDegradationLabel": "Degradation",
546
+ "ragReplayIdLabel": "Replay id",
547
+ "ragRecoveryLabel": "Recovery",
548
+ "ragReasonsLabel": "Reasons",
549
+ "ragFailureStagesLabel": "Failure stages"
550
+ },
551
+ "learningPath": {
552
+ "title": "Guided Learning",
553
+ "emptyIdle": "Learning path pane is idle.",
554
+ "emptyLoaded": "No learning path loaded yet.",
555
+ "pendingTitle": "Preparing Learning Path",
556
+ "pendingCopy": "Opening the workspace now while the path service builds graph-aware guidance.",
557
+ "previewTitle": "Path mode preview",
558
+ "godotFuturePathRequested": "Godot Future Path requested: Diffusion / Core",
559
+ "godotFuturePathUnavailable": "Godot Future Path target is unavailable.",
560
+ "runtimeCacheState": "Runtime cache state",
561
+ "runtimeCacheCounts": "Cache hits / misses / builds",
562
+ "runtimeSourceSize": "Source nodes / edges",
563
+ "runtimeLatency": "Resolve ms / build ms",
564
+ "runtimeSignature": "Graph signature"
565
+ },
566
+ "actions": {
567
+ "openWorkspace": "Knowledge Workspace",
568
+ "closeWorkspace": "Close",
569
+ "send": "Send",
570
+ "closePane": "Close pane",
571
+ "focus": "Focus",
572
+ "learningPath": "Guided Learning",
573
+ "studySession": "Study Session",
574
+ "generate_quiz": "Quiz",
575
+ "recap": "Recap",
576
+ "generate_transfer": "Transfer Challenge",
577
+ "generate_counterexample": "Counterexample Challenge",
578
+ "follow_up": "Follow-Up",
579
+ "compareQueryBackends": "Query Backend Comparison",
580
+ "queryBackendDiagnostics": "Retrieval Diagnostics",
581
+ "queryBackendComparisonHistory": "Comparison History",
582
+ "queryBackendComparisonTrend": "Comparison Trend",
583
+ "tutorAdapterTelemetry": "Tutor Adapter Telemetry",
584
+ "tutorTraceDiagnostics": "Tutor Trace Diagnostics",
585
+ "learningQualityTrend": "Learning Quality Trend",
586
+ "learningQualityHistory": "Learning Quality History",
587
+ "sessionPlanQualityTrend": "Session Plan Quality Trend",
588
+ "sessionPlanQualityHistory": "Session Plan Quality History",
589
+ "sessionHistory": "Session History",
590
+ "runtimeRunbookVerify": "Runtime Verify",
591
+ "runtimeRunbookHistory": "Runtime History",
592
+ "runtimeRunbookChecks": "Runtime Checks",
593
+ "runtimeRunbookActionQueue": "Runtime Queue",
594
+ "conversationMemory": "Scoped Memory",
595
+ "conversationTurnCacheDiagnostics": "Conversation Cache Diagnostics",
596
+ "conversationTurnCacheAlertTrend": "Conversation Cache Trend",
597
+ "conversationTurnCacheAlertTrendIndex": "Conversation Cache Trend Index",
598
+ "conversationTurnCacheAlertTrendExport": "Conversation Cache Trend Export",
599
+ "restore": "Restore",
600
+ "fullscreen": "Fullscreen"
601
+ },
602
+ "messages": {
603
+ "localNodeUnavailable": "Local node {nodeId} is unavailable.",
604
+ "ready": "Knowledge workspace ready. Start with a grounded question, then open focus or guided learning from cited knowledge matches.",
605
+ "conversationFailed": "Grounded conversation request failed: {error}",
606
+ "noResponse": "No grounded response received.",
607
+ "groundingSummary": "Grounding: {citationCount} citation(s), {memoryCount} recalled memory note(s), {memoryActionCount} memory action(s).",
608
+ "previewFailed": "Learning path preview failed: {error}",
609
+ "sessionHistoryFailed": "Session history fetch failed: {error}",
610
+ "queryBackendComparisonFailed": "Query backend comparison failed: {error}",
611
+ "queryBackendDiagnosticsFailed": "Query backend diagnostics fetch failed: {error}",
612
+ "queryBackendComparisonHistoryFailed": "Query backend comparison history fetch failed: {error}",
613
+ "queryBackendComparisonTrendFailed": "Query backend comparison trend fetch failed: {error}",
614
+ "tutorAdapterTelemetryFailed": "Tutor adapter telemetry fetch failed: {error}",
615
+ "tutorTraceDiagnosticsFailed": "Tutor trace diagnostics fetch failed: {error}",
616
+ "learningQualityTrendFailed": "Learning quality trend fetch failed: {error}",
617
+ "learningQualityHistoryFailed": "Learning quality history fetch failed: {error}",
618
+ "sessionPlanQualityTrendFailed": "Session plan quality trend fetch failed: {error}",
619
+ "sessionPlanQualityHistoryFailed": "Session plan quality history fetch failed: {error}",
620
+ "runtimeRunbookVerifyFailed": "Runtime capability runbook verify failed: {error}",
621
+ "runtimeRunbookHistoryFailed": "Runtime capability runbook history fetch failed: {error}",
622
+ "runtimeRunbookChecksFailed": "Runtime capability runbook checks fetch failed: {error}",
623
+ "runtimeRunbookActionQueueFailed": "Runtime capability runbook action queue fetch failed: {error}",
624
+ "conversationMemorySearchFailed": "Conversation memory search failed: {error}",
625
+ "conversationTurnCacheDiagnosticsFailed": "Conversation turn-cache diagnostics fetch failed: {error}",
626
+ "conversationTurnCacheAlertTrendFailed": "Conversation turn-cache alert trend fetch failed: {error}",
627
+ "executionKindUnsupported": "Unsupported capability execution kind: {executionKind}",
628
+ "operationResultPresentationUnsupported": "Unsupported result presentation {resultPresentation} for operation {operationId}; allowed: {allowedResultPresentations}",
629
+ "capabilityActionUnsupported": "Unsupported capability action: {actionId}"
630
+ },
631
+ "studySession": {
632
+ "cardTitle": "Study Session Plan",
633
+ "summary": "{totalActions} actions, about {totalEstimatedMinutes} minutes.",
634
+ "actionsHeading": "Recommended Actions",
635
+ "empty": "No study actions returned."
636
+ },
637
+ "sessionHistory": {
638
+ "cardTitle": "Session History",
639
+ "summary": "{matchedRecordsBeforeLimit} sessions in last {sinceMinutes} minutes; avg mastery delta {averageMasteryDeltaPct}%.",
640
+ "metricsHeading": "Key Metrics",
641
+ "totalExecutedLabel": "Total executed actions",
642
+ "updatedMasteryLabel": "Updated mastery count",
643
+ "averageTutorConfidenceLabel": "Average tutor confidence",
644
+ "latestExecutedAtLabel": "Latest executed at",
645
+ "none": "none"
646
+ },
647
+ "conversationTurnCacheDiagnostics": {
648
+ "cardTitle": "Conversation Turn-Cache Diagnostics",
649
+ "summary": "Entries {totalEntries}/{maxEntries}, cache hit ratio {cacheHitRatioPct}%.",
650
+ "metricsHeading": "Key Metrics",
651
+ "configLabel": "TTL / max entries / max events",
652
+ "alertSummaryLabel": "Alert summary (status/fail/warn/active)",
653
+ "alertTopCheckLabel": "Top alert check",
654
+ "thresholdProfileLabel": "Threshold profile (warn/fail)",
655
+ "stateLabel": "Running/completed/failed/in-flight",
656
+ "utilizationLabel": "Utilization / stale-eligible",
657
+ "ageLabel": "Oldest/newest age",
658
+ "cacheLabel": "Cache hits/misses/hit ratio",
659
+ "replayLabel": "Replay responses/events",
660
+ "executionLabel": "Execution start/success/failure",
661
+ "lifecycleLabel": "Conflicts / in-flight joins / sync reuse",
662
+ "evictionLabel": "TTL/capacity evictions",
663
+ "timestampsLabel": "Last prune / last conflict / generated at",
664
+ "statusPass": "pass",
665
+ "statusWarn": "warn",
666
+ "statusFail": "fail",
667
+ "checkUtilizationPct": "Utilization",
668
+ "checkExecutionFailureRatioPct": "Execution failure ratio",
669
+ "checkConflictCount": "Conflict count",
670
+ "checkStaleEligibleEntries": "Stale-eligible entries",
671
+ "none": "none"
672
+ },
673
+ "conversationTurnCacheAlertTrend": {
674
+ "cardTitle": "Conversation Turn-Cache Alert Trend",
675
+ "summary": "Trend {trendStatus}, escalation {recommendedEscalation}, records {returnedRecords}/{totalRecords}.",
676
+ "metricsHeading": "Key Metrics",
677
+ "recordsLabel": "Returned/total records",
678
+ "statusCountsLabel": "Status counts (pass/warn/fail)",
679
+ "activeStreakLabel": "Active warn/fail streak",
680
+ "latestStatusLabel": "Latest summary status (active/warn/fail)",
681
+ "latestTopCheckLabel": "Latest top check",
682
+ "latestMetricsLabel": "Latest metrics (util/fail-ratio/conflict/stale/entries)",
683
+ "trendConfigLabel": "Trend config (limit/window/min-samples/interval)",
684
+ "storageCountsLabel": "Storage counts (records/persisted/trimmed)",
685
+ "storageLifecycleLabel": "Storage lifecycle (loaded/flush/persist)",
686
+ "storagePersistReasonLabel": "Last persist reason",
687
+ "storagePathLabel": "Storage path",
688
+ "storageErrorsLabel": "Storage errors",
689
+ "escalationLabel": "Escalation recommendation",
690
+ "endpointHintsLabel": "Endpoint hints",
691
+ "latestSampledAtLabel": "Latest sampled at",
692
+ "trendStatusInsufficientData": "insufficient_data",
693
+ "trendStatusStable": "stable",
694
+ "trendStatusImproving": "improving",
695
+ "trendStatusRegressing": "regressing",
696
+ "escalationNormal": "normal",
697
+ "escalationWatch": "watch",
698
+ "escalationHigh": "high",
699
+ "escalationCritical": "critical",
700
+ "none": "none"
701
+ },
702
+ "queryBackendComparison": {
703
+ "cardTitle": "Backend Comparison",
704
+ "summary": "Compare left/right retrieval tradeoffs for the current knowledge point.",
705
+ "metricsHeading": "Key Metrics",
706
+ "overlapRatioLabel": "Overlap ratio",
707
+ "latencyDeltaLabel": "Latency delta (left-right)",
708
+ "evidenceCoverageLabel": "Evidence coverage (left/right)",
709
+ "relationCoverageLabel": "Relation-path coverage (left/right)",
710
+ "temporalPassLabel": "Temporal pass (left/right)",
711
+ "reasonLabel": "Reason",
712
+ "none": "none"
713
+ },
714
+ "queryBackendDiagnostics": {
715
+ "cardTitle": "Query Backend Diagnostics",
716
+ "summary": "Backend {backendId} configured as {configuredBackend}; fallback count {fallbackCount}.",
717
+ "metricsHeading": "Key Metrics",
718
+ "comparisonsLabel": "Comparisons",
719
+ "preferredCountsLabel": "Preferred counts (left/right/tie)",
720
+ "latencyDeltaLabel": "Average latency delta",
721
+ "runtimeReadyLabel": "Runtime ready",
722
+ "graphvizRuntimeLabel": "Graphviz runtime",
723
+ "graphvizDotBinaryLabel": "Graphviz dot binary",
724
+ "graphvizReasonLabel": "Graphviz runtime reason",
725
+ "graphvizCheckedAtLabel": "Graphviz checked at/cache ttl",
726
+ "graphvizFreshnessLabel": "Graphviz probe freshness",
727
+ "vectorIndexLabel": "Vector index status/atoms",
728
+ "accelerationLabel": "Acceleration mode/selection",
729
+ "healthLabel": "Acceleration health/circuit",
730
+ "rolloutModeLabel": "Rollout profile mode",
731
+ "accelerationProviderLabel": "Configured acceleration provider",
732
+ "accelerationFailureModeLabel": "Configured acceleration failure mode",
733
+ "accelerationRepresentationStrictLabel": "Configured acceleration representation strict mode",
734
+ "annPrefilterLabel": "ANN prefilter rollout",
735
+ "annPrefilterEnabled": "enabled",
736
+ "annPrefilterDisabled": "disabled",
737
+ "annPrefilterUnknown": "unknown",
738
+ "boolEnabled": "enabled",
739
+ "boolDisabled": "disabled",
740
+ "fallbackBackendLabel": "Fallback backend",
741
+ "lastErrorLabel": "Last error",
742
+ "runtimeLastErrorLabel": "Runtime last error",
743
+ "statusAvailable": "available",
744
+ "statusUnavailable": "unavailable",
745
+ "statusUnknown": "unknown",
746
+ "freshnessFresh": "fresh",
747
+ "freshnessWarn": "warn",
748
+ "freshnessStale": "stale",
749
+ "freshnessUnknown": "unknown",
750
+ "none": "none"
751
+ },
752
+ "queryBackendComparisonHistory": {
753
+ "cardTitle": "Backend Comparison History",
754
+ "summary": "Historical comparison rollup for retrieval backends.",
755
+ "metricsHeading": "Key Metrics",
756
+ "preferredCountsLabel": "Preferred counts (left/right/tie)",
757
+ "evidenceCoverageLabel": "Average evidence coverage (left/right)",
758
+ "latestComparedAtLabel": "Latest compared at",
759
+ "none": "none"
760
+ },
761
+ "queryBackendComparisonTrend": {
762
+ "cardTitle": "Backend Comparison Trend",
763
+ "summary": "Trend signal for backend comparison telemetry.",
764
+ "metricsHeading": "Key Metrics",
765
+ "recordsLabel": "Evaluated records",
766
+ "overlapDeltaLabel": "Overlap delta",
767
+ "explainabilityDeltaLabel": "Explainability gap delta",
768
+ "reasonLabel": "Reason",
769
+ "latestComparedAtLabel": "Latest compared at",
770
+ "none": "none"
771
+ },
772
+ "tutorAdapterTelemetry": {
773
+ "cardTitle": "Tutor Adapter Telemetry",
774
+ "summary": "{activeAdapters}/{totalAdapters} adapters active, {totalRequests} requests.",
775
+ "metricsHeading": "Key Metrics",
776
+ "acceptedFailedLabel": "Accepted/failed responses",
777
+ "fallbackRatioLabel": "Provider fallback ratio",
778
+ "averageAttemptsLabel": "Average provider attempts",
779
+ "averageConfidenceLabel": "Average confidence",
780
+ "routingLabel": "Routing strategy / preferred mode",
781
+ "firstAdapterLabel": "Top adapter",
782
+ "firstAdapterFallbackLabel": "Top adapter fallback ratio",
783
+ "firstAdapterLastErrorLabel": "Top adapter last error",
784
+ "none": "none"
785
+ },
786
+ "tutorTraceDiagnostics": {
787
+ "cardTitle": "Tutor Trace Diagnostics",
788
+ "summary": "{returnedTraces}/{matchedTraces} traces (source {source}, action {actionKind}).",
789
+ "metricsHeading": "Key Metrics",
790
+ "sourceCountsLabel": "Source counts (llm/rule)",
791
+ "verificationLabel": "Verification (verified/pending)",
792
+ "fallbackRatioLabel": "Fallback ratio",
793
+ "averageAttemptsLabel": "Average provider attempts",
794
+ "topProviderLabel": "Top provider",
795
+ "topProviderConfidenceLabel": "Top provider average confidence",
796
+ "firstRecordLabel": "First trace snapshot",
797
+ "timestampsLabel": "Latest trace / top provider seen",
798
+ "none": "none"
799
+ },
800
+ "learningQualityTrend": {
801
+ "cardTitle": "Learning Quality Trend",
802
+ "summary": "Trend signal for learning quality telemetry.",
803
+ "metricsHeading": "Key Metrics",
804
+ "recordsLabel": "Evaluated records",
805
+ "retestDeltaLabel": "Retest pass delta",
806
+ "evidenceDeltaLabel": "Evidence-backed delta",
807
+ "misconceptionDeltaLabel": "Misconception recurrence delta",
808
+ "fallbackDeltaLabel": "Query fallback delta",
809
+ "reasonLabel": "Reason",
810
+ "latestSampledAtLabel": "Latest sampled at",
811
+ "none": "none"
812
+ },
813
+ "learningQualityHistory": {
814
+ "cardTitle": "Learning Quality History",
815
+ "summary": "Recent learning quality history snapshot.",
816
+ "metricsHeading": "Key Metrics",
817
+ "latestRetestPassRateLabel": "Latest retest pass rate",
818
+ "latestEvidenceRatioLabel": "Latest evidence-backed ratio",
819
+ "latestMisconceptionRecurrenceLabel": "Latest misconception recurrence",
820
+ "latestQueryFallbackLabel": "Latest query fallback ratio",
821
+ "latestSampledAtLabel": "Latest sampled at",
822
+ "none": "none"
823
+ },
824
+ "learningQualityBaselineEvaluation": {
825
+ "cardTitle": "Learning Quality Baseline Evaluation",
826
+ "summary": "Current score {currentScore} vs baseline {baselineScore}; overall status {status}.",
827
+ "metricsHeading": "Key Metrics",
828
+ "currentLabel": "Current snapshot",
829
+ "baselineLabel": "Baseline snapshot",
830
+ "failedGateLabel": "Top failed gate",
831
+ "timestampsLabel": "Compared at / baseline captured at",
832
+ "none": "none"
833
+ },
834
+ "sessionPlanQualityTrend": {
835
+ "cardTitle": "Session Plan Quality Trend",
836
+ "summary": "Trend signal for study-session plan quality.",
837
+ "metricsHeading": "Key Metrics",
838
+ "recordsLabel": "Evaluated records",
839
+ "passRateDeltaLabel": "Pass-rate delta",
840
+ "evidenceDeltaLabel": "Evidence coverage delta",
841
+ "budgetDeltaLabel": "Budget deviation delta",
842
+ "recoveryDeltaLabel": "Recovery-share delta",
843
+ "divergenceDeltaLabel": "Divergence-share delta",
844
+ "reasonLabel": "Reason",
845
+ "latestEvaluatedAtLabel": "Latest evaluated at",
846
+ "none": "none"
847
+ },
848
+ "sessionPlanQualityHistory": {
849
+ "cardTitle": "Session Plan Quality History",
850
+ "summary": "Recent study-session plan quality history.",
851
+ "metricsHeading": "Key Metrics",
852
+ "consecutiveFailureCountLabel": "Consecutive failure count",
853
+ "averageBudgetDeviationLabel": "Average budget deviation",
854
+ "topFailedGateLabel": "Top failed gate",
855
+ "latestEvaluatedAtLabel": "Latest evaluated at",
856
+ "none": "none"
857
+ },
858
+ "runtimeRunbookHistory": {
859
+ "cardTitle": "Runtime Runbook History",
860
+ "summary": "{returnedRecords}/{matchedRecords} records for {checkId} in {sinceMinutes} minutes; trend {trendStatus}.",
861
+ "metricsHeading": "Key Metrics",
862
+ "statusCountsLabel": "Status counts (pass/warn/fail/unknown)",
863
+ "activeStreakLabel": "Active risk/fail streak",
864
+ "averageErrorRatioLabel": "Average error ratio",
865
+ "averageP95Label": "Average p95 duration",
866
+ "deltaLabel": "Severity/error/p95 delta",
867
+ "latestVerifiedAtLabel": "Latest verified at",
868
+ "allChecks": "all checks",
869
+ "none": "none"
870
+ },
871
+ "runtimeRunbookChecks": {
872
+ "cardTitle": "Runtime Runbook Checks",
873
+ "summary": "Focused check rollup from runtime verification history.",
874
+ "metricsHeading": "Key Metrics",
875
+ "firstCheckAnnIndexSyncLabel": "First check ANN sync",
876
+ "annCircuitLabel": "ANN circuit snapshot",
877
+ "annCircuitThresholdsLabel": "ANN circuit threshold snapshot",
878
+ "annCircuitBudgetFlagsLabel": "ANN circuit budget flag snapshot",
879
+ "annTraceabilityLabel": "ANN traceability snapshot",
880
+ "annTraceabilitySignalsLabel": "ANN traceability signal snapshot",
881
+ "annPrefilterLabel": "ANN prefilter snapshot",
882
+ "annPrefilterThresholdsLabel": "ANN prefilter threshold snapshot",
883
+ "annPrefilterCalibrationLabel": "ANN prefilter calibration snapshot",
884
+ "annCalibrationReadinessLabel": "ANN calibration readiness snapshot",
885
+ "trendCountsLabel": "Trend counts (regressing/improving/stable/insufficient)",
886
+ "recommendedFocusLabel": "Recommended focus reason",
887
+ "recommendedEscalationLabel": "Recommended escalation",
888
+ "actionQueueLabel": "Action queue (total/p0/p1/p2)",
889
+ "remediationRiskRatioLabel": "Remediation risk ratio",
890
+ "firstCheckLabel": "First check snapshot",
891
+ "topActionLabel": "Top focus action",
892
+ "latestRemediationLabel": "Latest remediation record",
893
+ "none": "none"
894
+ },
895
+ "runtimeRunbookVerify": {
896
+ "cardTitle": "Runtime Runbook Verify",
897
+ "summary": "Check {selectedCheckId}: status {selectedCheckStatus}, escalation {selectedCheckEscalation}.",
898
+ "metricsHeading": "Key Metrics",
899
+ "none": "none",
900
+ "topRiskLabel": "Top risk check",
901
+ "traceErrorLabel": "Trace errors",
902
+ "traceP95Label": "Trace p95 duration",
903
+ "historyStreakLabel": "Risk/fail streak",
904
+ "historyTrendLabel": "History trend",
905
+ "remediationRiskRatioLabel": "Remediation risk ratio",
906
+ "autoFocusLabel": "Auto focus",
907
+ "firstEscalationActionLabel": "Top escalation action",
908
+ "autoFocusApplied": "applied ({reason})",
909
+ "autoFocusNotApplied": "not applied",
910
+ "annIndexSyncLabel": "ANN sync health",
911
+ "annIndexSyncCountsLabel": "ANN sync counts",
912
+ "annCircuitLabel": "ANN circuit budget",
913
+ "annCircuitThresholdsLabel": "ANN circuit thresholds",
914
+ "annCircuitBudgetFlagsLabel": "ANN circuit budget flags",
915
+ "annTraceabilityLabel": "ANN traceability",
916
+ "annTraceabilitySignalsLabel": "ANN traceability signals",
917
+ "annPrefilterLabel": "ANN prefilter",
918
+ "annPrefilterThresholdsLabel": "ANN prefilter thresholds",
919
+ "annPrefilterCalibrationLabel": "ANN prefilter calibration",
920
+ "annCalibrationReadinessLabel": "ANN calibration readiness"
921
+ },
922
+ "runtimeRunbookActionQueue": {
923
+ "cardTitle": "Runtime Action Queue",
924
+ "summary": "Prioritized runtime remediation queue.",
925
+ "metricsHeading": "Key Metrics",
926
+ "priorityCountsLabel": "Priority counts (p0/p1/p2)",
927
+ "filtersLabel": "Filters (priority/category/remediation)",
928
+ "remediationRiskLabel": "Remediation risk queue",
929
+ "recommendedFocusLabel": "Recommended focus",
930
+ "firstQueueItemLabel": "First queue item",
931
+ "firstRemediationLabel": "First item remediation",
932
+ "firstInstructionLabel": "First instruction",
933
+ "firstEndpointLabel": "First item endpoint/automation",
934
+ "none": "none"
935
+ },
936
+ "tutorAction": {
937
+ "cardTitle": "Tutor Action",
938
+ "quizTitle": "Quiz Prompt",
939
+ "recapTitle": "Recap",
940
+ "followUpTitle": "Follow Up",
941
+ "analysisTitle": "Answer Analysis",
942
+ "transferTitle": "Transfer Challenge",
943
+ "counterexampleTitle": "Counterexample",
944
+ "evidenceHeading": "Evidence",
945
+ "emptyEvidence": "No evidence snippets available."
946
+ },
947
+ "reply": {
948
+ "structuredAnswer": "Grounded Answer",
949
+ "citations": "Citations",
950
+ "citationsEmpty": "No citations were returned.",
951
+ "citationUntitled": "Untitled citation",
952
+ "citationSourceUnavailable": "Source path unavailable",
953
+ "htmlArtifact": "HTML Artifact",
954
+ "htmlArtifactEmpty": "No HTML content was returned.",
955
+ "preview": "Preview",
956
+ "knowledgeActions": "Knowledge Actions",
957
+ "knowledgeActionsSummary": "Open the scoped knowledge cards below to continue with focus mode or guided learning for {count} node(s).",
958
+ "knowledgeActionsEmpty": "No actionable knowledge nodes were returned.",
959
+ "knowledgeRun": "Knowledge Run",
960
+ "knowledgeRunSummary": "Status: {status}. Quality score: {score}.",
961
+ "knowledgeRunStatusOnly": "Status: {status}.",
962
+ "knowledgeRunClaims": "Evidence claims",
963
+ "knowledgeRunClaimUntitled": "Untitled claim",
964
+ "knowledgeRunReviewCards": "Review cards",
965
+ "knowledgeRunReviewPrompt": "Review the cited claim.",
966
+ "knowledgeRunInspectRun": "Inspect Run",
967
+ "knowledgeRunBrowseRuns": "Recent Runs",
968
+ "knowledgeRunCardTitle": "Knowledge Run Details",
969
+ "knowledgeRunCardSummary": "Run {runId}: {claimCount} claims, quality {qualityStatus}/{qualityScore}.",
970
+ "knowledgeRunCardSummaryNoScore": "Run {runId}: {claimCount} claims, quality {qualityStatus}.",
971
+ "knowledgeRunMetricsHeading": "Key Metrics",
972
+ "knowledgeRunQualityGatesLabel": "Quality gates",
973
+ "knowledgeRunScopeLabel": "Scope",
974
+ "knowledgeRunScopeSourceLabel": "Scope source",
975
+ "knowledgeRunArtifactStatusLabel": "Artifact status",
976
+ "knowledgeRunTopClaimSourceLabel": "Top claim source",
977
+ "knowledgeRunReviewProgressLabel": "Review progress",
978
+ "knowledgeRunInspectEvidence": "Inspect Evidence",
979
+ "answerReleaseReviewHeading": "Answer release review",
980
+ "answerReleaseReviewGatesLabel": "Release gates",
981
+ "answerReleaseDecisionLabel": "Decision",
982
+ "answerReleaseReviewedAtLabel": "Reviewed at",
983
+ "answerReleaseRevisedLabel": "Revised",
984
+ "answerReleaseFailedGatesLabel": "Failed gates",
985
+ "answerReleaseLeakedFragmentsLabel": "Leaked fragments",
986
+ "answerReleaseReasonLabel": "Reason",
987
+ "answerReleaseOriginalAnswerLabel": "Original answer",
988
+ "answerReleasePublicAnswerLabel": "Public answer",
989
+ "answerReleaseDecisionRelease": "release",
990
+ "answerReleaseDecisionRevise": "revise",
991
+ "answerReleaseDecisionAbstain": "abstain",
992
+ "answerReleaseDecisionOther": "other",
993
+ "answerReleaseBoolYes": "yes",
994
+ "answerReleaseBoolNo": "no",
995
+ "knowledgeRunHistoryCardTitle": "Knowledge Run History",
996
+ "knowledgeRunHistoryCardSummary": "{returnedArtifacts} run artifact(s) returned.",
997
+ "answerReleaseAuditSummaryHeading": "Release audit",
998
+ "answerReleaseAuditReviewedRunsLabel": "Reviewed runs",
999
+ "answerReleaseAuditReviewedRunsSummary": "{reviewed}/{total} reviewed; {unreviewed} unreviewed",
1000
+ "answerReleaseAuditDecisionCountsLabel": "Decision counts",
1001
+ "answerReleaseAuditRevisedRunsLabel": "Revised runs",
1002
+ "answerReleaseAuditLeakSummaryLabel": "Leak summary",
1003
+ "answerReleaseAuditLeakSummary": "{runs} run(s); {fragments} fragment(s)",
1004
+ "answerReleaseAuditFailedGatesLabel": "Failed gates",
1005
+ "answerReleaseAuditFailedGatesSummary": "{runs} run(s); {gates}",
1006
+ "answerReleaseAuditLatestReviewedAtLabel": "Latest reviewed at",
1007
+ "answerReleaseAuditTrendHeading": "Review trend",
1008
+ "answerReleaseAuditTrendRecentWindowLabel": "Recent reviewed window",
1009
+ "answerReleaseAuditTrendPriorWindowLabel": "Prior reviewed window",
1010
+ "answerReleaseAuditTrendWindowSummary": "{reviewed} run(s); {decisions}; revised {revised}; failed {failed}; leaked {leaked}; {latest} -> {earliest}",
1011
+ "answerReleaseAuditComparisonHeading": "Review comparison",
1012
+ "answerReleaseAuditComparisonMetricSummary": "recent {recent}; prior {prior}; delta {delta}",
1013
+ "answerReleaseAuditComparisonLatestPairHeading": "Latest pair",
1014
+ "answerReleaseAuditComparisonLatestPairSummary": "decision {previousDecision} -> {latestDecision}; revised {previousRevised} -> {latestRevised}; leak delta {leakDelta}; new {newlyFailed}; resolved {resolved}; persistent {persistent}",
1015
+ "answerReleaseAuditComparisonGateShiftHeading": "Gate shifts",
1016
+ "answerReleaseAuditComparisonGateShiftSummary": "recent {recent}; prior {prior}; delta {delta}; total {total}; since last failure {runsSince}",
1017
+ "answerReleaseAuditComparisonFailedGateRunsLabel": "Failed-gate runs",
1018
+ "answerReleaseAuditComparisonLeakedRunsLabel": "Leaked runs",
1019
+ "answerReleaseAuditGateAgingHeading": "Gate aging",
1020
+ "answerReleaseAuditGateAgingSummary": "{count} fail(s); recent {latest}; since last failure {runsSince}; recent window {windowCount}",
1021
+ "knowledgeRunHistoryRunsHeading": "Recent Runs",
1022
+ "knowledgeRunHistoryGraphSignalLabel": "Graph signal",
1023
+ "knowledgeRunHistoryInspectRun": "Inspect Run",
1024
+ "knowledgeRunHistoryCompareLatest": "Compare Latest",
1025
+ "answerReleaseHistoryLabel": "Release review",
1026
+ "answerReleaseHistorySummary": "{decision}; revised {revised}; failed {failedGates}",
1027
+ "knowledgeRunCompareCardTitle": "Knowledge Run Comparison",
1028
+ "knowledgeRunCompareCardSummary": "Comparing {comparedRunId} against latest {latestRunId}.",
1029
+ "knowledgeRunCompareLatestLabel": "Latest run",
1030
+ "knowledgeRunCompareCandidateLabel": "Compared run",
1031
+ "knowledgeRunCompareQualityDeltaLabel": "Quality delta",
1032
+ "knowledgeRunCompareClaimDeltaLabel": "Claim delta",
1033
+ "knowledgeRunCompareWeakClaimDeltaLabel": "Weak-claim delta",
1034
+ "knowledgeRunCompareRemainingReviewDeltaLabel": "Remaining review delta",
1035
+ "knowledgeRunComparePathDeltaLabel": "Path delta",
1036
+ "knowledgeRunCompareTemporalWarningDeltaLabel": "Temporal-warning delta",
1037
+ "knowledgeRunCompareGraphFallbackDeltaLabel": "Graph fallback delta",
1038
+ "knowledgeRunCompareAnswerReleaseHeading": "Answer release",
1039
+ "knowledgeRunCompareLatestAnswerReleaseLabel": "Latest release review",
1040
+ "knowledgeRunCompareCandidateAnswerReleaseLabel": "Compared release review",
1041
+ "knowledgeRunCompareAnswerReleaseDeltaLabel": "Release delta",
1042
+ "knowledgeRunCompareAnswerReleaseDeltaSummary": "decision {previousDecision} -> {latestDecision}; revised {previousRevised} -> {latestRevised}; leak delta {leakDelta}",
1043
+ "knowledgeRunCompareAnswerReleaseGateDeltaLabel": "Gate delta",
1044
+ "knowledgeRunCompareAnswerReleaseGateDeltaSummary": "new {newlyFailed}; resolved {resolved}; persistent {persistent}",
1045
+ "knowledgeRunNone": "none",
1046
+ "flashcardBatch": {
1047
+ "cardTitle": "Review Card Batch",
1048
+ "summary": "{returnedArtifacts} artifact(s), {remainingCards}/{totalCards} review card(s) remaining.",
1049
+ "metricsHeading": "Key Metrics",
1050
+ "artifactKindsLabel": "Artifact kinds",
1051
+ "topPromptLabel": "Top prompt",
1052
+ "topEvidenceLabel": "Top evidence",
1053
+ "completedLabel": "Completed cards",
1054
+ "remainingLabel": "Remaining cards",
1055
+ "statusLabel": "Artifact status",
1056
+ "statusActive": "active",
1057
+ "statusArchived": "archived",
1058
+ "reviewNow": "Review Now",
1059
+ "none": "none"
1060
+ }
1061
+ }
1062
+ }
347
1063
  }