@zigrivers/scaffold 3.28.0 → 3.30.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 (721) hide show
  1. package/README.md +5 -1
  2. package/content/guides/.gitkeep +0 -0
  3. package/content/guides/AUTHORING.md +143 -0
  4. package/content/guides/cli/index.html +1502 -0
  5. package/content/guides/cli/index.md +206 -0
  6. package/content/guides/concepts/index.html +1617 -0
  7. package/content/guides/concepts/index.md +347 -0
  8. package/content/guides/dashboard/index.html +1560 -0
  9. package/content/guides/dashboard/index.md +264 -0
  10. package/content/guides/index.html +1188 -0
  11. package/content/guides/install/.diagrams/diagram-0.svg +1 -0
  12. package/content/guides/install/.diagrams/manifest.json +3 -0
  13. package/content/guides/install/index.html +1300 -0
  14. package/content/guides/install/index.md +186 -0
  15. package/content/guides/knowledge/.diagrams/diagram-0.svg +1 -0
  16. package/content/guides/knowledge/.diagrams/manifest.json +3 -0
  17. package/content/guides/knowledge/index.html +1412 -0
  18. package/content/guides/knowledge/index.md +209 -0
  19. package/content/guides/knowledge-freshness/.diagrams/diagram-0.svg +1 -0
  20. package/content/guides/knowledge-freshness/.diagrams/manifest.json +3 -0
  21. package/content/guides/knowledge-freshness/index.html +2442 -0
  22. package/content/guides/knowledge-freshness/index.md +893 -0
  23. package/content/guides/mmr/.diagrams/diagram-0.svg +1 -0
  24. package/content/guides/mmr/.diagrams/manifest.json +3 -0
  25. package/content/guides/mmr/index.html +1746 -0
  26. package/content/guides/mmr/index.md +426 -0
  27. package/content/guides/multi-agent/.diagrams/diagram-0.svg +1 -0
  28. package/content/guides/multi-agent/.diagrams/manifest.json +3 -0
  29. package/content/guides/multi-agent/index.html +1362 -0
  30. package/content/guides/multi-agent/index.md +243 -0
  31. package/content/guides/observability/.diagrams/diagram-0.svg +1 -0
  32. package/content/guides/observability/.diagrams/diagram-1.svg +1 -0
  33. package/content/guides/observability/.diagrams/diagram-2.svg +1 -0
  34. package/content/guides/observability/.diagrams/diagram-3.svg +1 -0
  35. package/content/guides/observability/.diagrams/manifest.json +6 -0
  36. package/content/guides/observability/index.html +2904 -0
  37. package/content/guides/observability/index.md +1097 -0
  38. package/content/guides/pipeline/.diagrams/diagram-0.svg +1 -0
  39. package/content/guides/pipeline/.diagrams/diagram-1.svg +1 -0
  40. package/content/guides/pipeline/.diagrams/manifest.json +4 -0
  41. package/content/guides/pipeline/index.html +1632 -0
  42. package/content/guides/pipeline/index.md +387 -0
  43. package/content/guides/review-workflow/.diagrams/diagram-0.svg +1 -0
  44. package/content/guides/review-workflow/.diagrams/diagram-1.svg +1 -0
  45. package/content/guides/review-workflow/.diagrams/manifest.json +4 -0
  46. package/content/guides/review-workflow/index.html +1437 -0
  47. package/content/guides/review-workflow/index.md +248 -0
  48. package/content/knowledge/VERSION +1 -0
  49. package/content/knowledge/backend/backend-api-design.md +8 -0
  50. package/content/knowledge/backend/backend-architecture.md +8 -0
  51. package/content/knowledge/backend/backend-async-patterns.md +7 -0
  52. package/content/knowledge/backend/backend-auth-patterns.md +9 -0
  53. package/content/knowledge/backend/backend-conventions.md +6 -0
  54. package/content/knowledge/backend/backend-data-modeling.md +7 -0
  55. package/content/knowledge/backend/backend-deployment.md +8 -0
  56. package/content/knowledge/backend/backend-dev-environment.md +5 -0
  57. package/content/knowledge/backend/backend-fintech-broker-integration.md +6 -0
  58. package/content/knowledge/backend/backend-fintech-compliance.md +10 -2
  59. package/content/knowledge/backend/backend-fintech-data-modeling.md +6 -0
  60. package/content/knowledge/backend/backend-fintech-ledger.md +6 -0
  61. package/content/knowledge/backend/backend-fintech-observability.md +6 -0
  62. package/content/knowledge/backend/backend-fintech-order-lifecycle.md +6 -0
  63. package/content/knowledge/backend/backend-fintech-risk-management.md +6 -0
  64. package/content/knowledge/backend/backend-fintech-testing.md +6 -0
  65. package/content/knowledge/backend/backend-observability.md +7 -0
  66. package/content/knowledge/backend/backend-project-structure.md +6 -0
  67. package/content/knowledge/backend/backend-requirements.md +6 -0
  68. package/content/knowledge/backend/backend-security.md +7 -0
  69. package/content/knowledge/backend/backend-testing.md +7 -0
  70. package/content/knowledge/backend/backend-worker-patterns.md +6 -0
  71. package/content/knowledge/browser-extension/browser-extension-architecture.md +6 -0
  72. package/content/knowledge/browser-extension/browser-extension-content-scripts.md +6 -0
  73. package/content/knowledge/browser-extension/browser-extension-conventions.md +6 -0
  74. package/content/knowledge/browser-extension/browser-extension-cross-browser.md +6 -0
  75. package/content/knowledge/browser-extension/browser-extension-dev-environment.md +6 -0
  76. package/content/knowledge/browser-extension/browser-extension-manifest.md +6 -0
  77. package/content/knowledge/browser-extension/browser-extension-project-structure.md +6 -0
  78. package/content/knowledge/browser-extension/browser-extension-requirements.md +6 -0
  79. package/content/knowledge/browser-extension/browser-extension-security.md +7 -0
  80. package/content/knowledge/browser-extension/browser-extension-service-workers.md +6 -0
  81. package/content/knowledge/browser-extension/browser-extension-store-submission.md +6 -0
  82. package/content/knowledge/browser-extension/browser-extension-testing.md +6 -0
  83. package/content/knowledge/cli/cli-architecture.md +4 -0
  84. package/content/knowledge/cli/cli-conventions.md +4 -0
  85. package/content/knowledge/cli/cli-dev-environment.md +5 -0
  86. package/content/knowledge/cli/cli-distribution-patterns.md +5 -0
  87. package/content/knowledge/cli/cli-interactivity-patterns.md +4 -0
  88. package/content/knowledge/cli/cli-output-patterns.md +4 -0
  89. package/content/knowledge/cli/cli-project-structure.md +4 -0
  90. package/content/knowledge/cli/cli-requirements.md +4 -0
  91. package/content/knowledge/cli/cli-shell-integration.md +4 -0
  92. package/content/knowledge/cli/cli-testing.md +4 -0
  93. package/content/knowledge/core/adr-craft.md +8 -0
  94. package/content/knowledge/core/ai-memory-management.md +6 -0
  95. package/content/knowledge/core/api-design.md +6 -0
  96. package/content/knowledge/core/automated-review-tooling.md +8 -0
  97. package/content/knowledge/core/claude-md-patterns.md +8 -0
  98. package/content/knowledge/core/coding-conventions.md +8 -0
  99. package/content/knowledge/core/database-design.md +8 -0
  100. package/content/knowledge/core/design-system-tokens.md +8 -0
  101. package/content/knowledge/core/dev-environment.md +4 -0
  102. package/content/knowledge/core/domain-modeling.md +6 -0
  103. package/content/knowledge/core/eval-craft.md +6 -0
  104. package/content/knowledge/core/git-workflow-patterns.md +8 -0
  105. package/content/knowledge/core/multi-model-research-dispatch.md +6 -0
  106. package/content/knowledge/core/multi-model-review-dispatch.md +6 -0
  107. package/content/knowledge/core/multi-service-api-contracts.md +5 -0
  108. package/content/knowledge/core/multi-service-architecture.md +5 -0
  109. package/content/knowledge/core/multi-service-auth.md +6 -0
  110. package/content/knowledge/core/multi-service-data-ownership.md +8 -0
  111. package/content/knowledge/core/multi-service-observability.md +8 -0
  112. package/content/knowledge/core/multi-service-resilience.md +5 -0
  113. package/content/knowledge/core/multi-service-task-decomposition.md +8 -0
  114. package/content/knowledge/core/multi-service-testing.md +5 -0
  115. package/content/knowledge/core/operations-runbook.md +8 -0
  116. package/content/knowledge/core/project-structure-patterns.md +4 -0
  117. package/content/knowledge/core/review-step-template.md +4 -0
  118. package/content/knowledge/core/security-best-practices.md +6 -0
  119. package/content/knowledge/core/system-architecture.md +6 -0
  120. package/content/knowledge/core/task-decomposition.md +5 -0
  121. package/content/knowledge/core/task-tracking.md +8 -0
  122. package/content/knowledge/core/tech-stack-selection.md +8 -0
  123. package/content/knowledge/core/test-skeleton-generation.md +4 -0
  124. package/content/knowledge/core/testing-strategy.md +8 -0
  125. package/content/knowledge/core/user-stories.md +8 -0
  126. package/content/knowledge/core/user-story-innovation.md +4 -0
  127. package/content/knowledge/core/ux-specification.md +5 -0
  128. package/content/knowledge/data-pipeline/data-pipeline-architecture.md +5 -0
  129. package/content/knowledge/data-pipeline/data-pipeline-batch-patterns.md +4 -0
  130. package/content/knowledge/data-pipeline/data-pipeline-conventions.md +4 -0
  131. package/content/knowledge/data-pipeline/data-pipeline-dev-environment.md +4 -0
  132. package/content/knowledge/data-pipeline/data-pipeline-orchestration.md +4 -0
  133. package/content/knowledge/data-pipeline/data-pipeline-project-structure.md +4 -0
  134. package/content/knowledge/data-pipeline/data-pipeline-quality.md +4 -0
  135. package/content/knowledge/data-pipeline/data-pipeline-requirements.md +4 -0
  136. package/content/knowledge/data-pipeline/data-pipeline-schema-management.md +4 -0
  137. package/content/knowledge/data-pipeline/data-pipeline-security.md +4 -0
  138. package/content/knowledge/data-pipeline/data-pipeline-streaming-patterns.md +4 -0
  139. package/content/knowledge/data-pipeline/data-pipeline-testing.md +4 -0
  140. package/content/knowledge/data-science/data-science-architecture.md +5 -0
  141. package/content/knowledge/data-science/data-science-conventions.md +6 -0
  142. package/content/knowledge/data-science/data-science-data-versioning.md +6 -0
  143. package/content/knowledge/data-science/data-science-dev-environment.md +6 -0
  144. package/content/knowledge/data-science/data-science-experiment-tracking.md +8 -0
  145. package/content/knowledge/data-science/data-science-model-evaluation.md +5 -0
  146. package/content/knowledge/data-science/data-science-notebook-discipline.md +5 -0
  147. package/content/knowledge/data-science/data-science-observability.md +6 -0
  148. package/content/knowledge/data-science/data-science-project-structure.md +5 -0
  149. package/content/knowledge/data-science/data-science-reproducibility.md +8 -0
  150. package/content/knowledge/data-science/data-science-requirements.md +5 -0
  151. package/content/knowledge/data-science/data-science-security.md +8 -0
  152. package/content/knowledge/data-science/data-science-testing.md +5 -0
  153. package/content/knowledge/execution/enhancement-workflow.md +4 -0
  154. package/content/knowledge/execution/multi-agent-coordination.md +12 -1
  155. package/content/knowledge/execution/task-claiming-strategy.md +4 -0
  156. package/content/knowledge/execution/tdd-execution-loop.md +5 -0
  157. package/content/knowledge/execution/worktree-management.md +5 -0
  158. package/content/knowledge/finalization/apply-fixes-and-freeze.md +4 -0
  159. package/content/knowledge/finalization/developer-onboarding.md +4 -0
  160. package/content/knowledge/finalization/implementation-playbook.md +4 -0
  161. package/content/knowledge/game/game-accessibility.md +4 -0
  162. package/content/knowledge/game/game-ai-patterns.md +4 -0
  163. package/content/knowledge/game/game-asset-pipeline.md +4 -0
  164. package/content/knowledge/game/game-audio-design.md +4 -0
  165. package/content/knowledge/game/game-binary-vcs-strategy.md +5 -0
  166. package/content/knowledge/game/game-design-document.md +4 -0
  167. package/content/knowledge/game/game-domain-patterns.md +4 -0
  168. package/content/knowledge/game/game-economy-design.md +4 -0
  169. package/content/knowledge/game/game-engine-selection.md +4 -0
  170. package/content/knowledge/game/game-ideation.md +4 -0
  171. package/content/knowledge/game/game-input-systems.md +4 -0
  172. package/content/knowledge/game/game-level-content-design.md +4 -0
  173. package/content/knowledge/game/game-liveops-analytics.md +4 -0
  174. package/content/knowledge/game/game-localization.md +4 -0
  175. package/content/knowledge/game/game-milestone-definitions.md +4 -0
  176. package/content/knowledge/game/game-modding-ugc.md +4 -0
  177. package/content/knowledge/game/game-narrative-design.md +4 -0
  178. package/content/knowledge/game/game-networking.md +4 -0
  179. package/content/knowledge/game/game-performance-budgeting.md +4 -0
  180. package/content/knowledge/game/game-platform-certification.md +6 -0
  181. package/content/knowledge/game/game-project-structure.md +4 -0
  182. package/content/knowledge/game/game-save-systems.md +4 -0
  183. package/content/knowledge/game/game-testing-strategy.md +4 -0
  184. package/content/knowledge/game/game-ui-patterns.md +4 -0
  185. package/content/knowledge/game/game-vr-ar-design.md +6 -0
  186. package/content/knowledge/library/library-api-design.md +4 -0
  187. package/content/knowledge/library/library-architecture.md +4 -0
  188. package/content/knowledge/library/library-bundling.md +4 -0
  189. package/content/knowledge/library/library-conventions.md +5 -0
  190. package/content/knowledge/library/library-dev-environment.md +4 -0
  191. package/content/knowledge/library/library-documentation.md +4 -0
  192. package/content/knowledge/library/library-project-structure.md +4 -0
  193. package/content/knowledge/library/library-requirements.md +4 -0
  194. package/content/knowledge/library/library-security.md +4 -0
  195. package/content/knowledge/library/library-testing.md +4 -0
  196. package/content/knowledge/library/library-type-definitions.md +4 -0
  197. package/content/knowledge/library/library-versioning.md +5 -0
  198. package/content/knowledge/ml/ml-architecture.md +4 -0
  199. package/content/knowledge/ml/ml-conventions.md +4 -0
  200. package/content/knowledge/ml/ml-dev-environment.md +4 -0
  201. package/content/knowledge/ml/ml-experiment-tracking.md +6 -0
  202. package/content/knowledge/ml/ml-model-evaluation.md +4 -0
  203. package/content/knowledge/ml/ml-observability.md +5 -0
  204. package/content/knowledge/ml/ml-project-structure.md +4 -0
  205. package/content/knowledge/ml/ml-requirements.md +4 -0
  206. package/content/knowledge/ml/ml-security.md +5 -0
  207. package/content/knowledge/ml/ml-serving-patterns.md +4 -0
  208. package/content/knowledge/ml/ml-testing.md +4 -0
  209. package/content/knowledge/ml/ml-training-patterns.md +4 -0
  210. package/content/knowledge/mobile-app/mobile-app-architecture.md +6 -0
  211. package/content/knowledge/mobile-app/mobile-app-conventions.md +6 -0
  212. package/content/knowledge/mobile-app/mobile-app-deployment.md +6 -0
  213. package/content/knowledge/mobile-app/mobile-app-dev-environment.md +6 -0
  214. package/content/knowledge/mobile-app/mobile-app-distribution.md +6 -0
  215. package/content/knowledge/mobile-app/mobile-app-observability.md +7 -0
  216. package/content/knowledge/mobile-app/mobile-app-offline-patterns.md +7 -0
  217. package/content/knowledge/mobile-app/mobile-app-project-structure.md +6 -0
  218. package/content/knowledge/mobile-app/mobile-app-push-notifications.md +6 -0
  219. package/content/knowledge/mobile-app/mobile-app-requirements.md +7 -0
  220. package/content/knowledge/mobile-app/mobile-app-security.md +8 -0
  221. package/content/knowledge/mobile-app/mobile-app-testing.md +6 -0
  222. package/content/knowledge/product/gap-analysis.md +4 -0
  223. package/content/knowledge/product/ideation-craft.md +4 -0
  224. package/content/knowledge/product/prd-craft.md +4 -0
  225. package/content/knowledge/product/prd-innovation.md +4 -0
  226. package/content/knowledge/product/vision-craft.md +4 -0
  227. package/content/knowledge/product/vision-innovation.md +4 -0
  228. package/content/knowledge/research/research-architecture.md +4 -0
  229. package/content/knowledge/research/research-conventions.md +6 -0
  230. package/content/knowledge/research/research-dev-environment.md +6 -0
  231. package/content/knowledge/research/research-experiment-loop.md +4 -0
  232. package/content/knowledge/research/research-experiment-tracking.md +6 -0
  233. package/content/knowledge/research/research-ml-architecture-search.md +4 -0
  234. package/content/knowledge/research/research-ml-evaluation.md +4 -0
  235. package/content/knowledge/research/research-ml-experiment-tracking.md +6 -0
  236. package/content/knowledge/research/research-ml-training-patterns.md +4 -0
  237. package/content/knowledge/research/research-observability.md +5 -0
  238. package/content/knowledge/research/research-overfitting-prevention.md +5 -0
  239. package/content/knowledge/research/research-project-structure.md +5 -0
  240. package/content/knowledge/research/research-quant-backtesting.md +4 -0
  241. package/content/knowledge/research/research-quant-market-data.md +4 -0
  242. package/content/knowledge/research/research-quant-metrics.md +4 -0
  243. package/content/knowledge/research/research-quant-requirements.md +4 -0
  244. package/content/knowledge/research/research-quant-risk.md +4 -0
  245. package/content/knowledge/research/research-quant-strategy-patterns.md +4 -0
  246. package/content/knowledge/research/research-requirements.md +5 -0
  247. package/content/knowledge/research/research-security.md +5 -0
  248. package/content/knowledge/research/research-sim-compute-management.md +4 -0
  249. package/content/knowledge/research/research-sim-engine-patterns.md +4 -0
  250. package/content/knowledge/research/research-sim-parameter-spaces.md +4 -0
  251. package/content/knowledge/research/research-sim-validation.md +4 -0
  252. package/content/knowledge/research/research-testing.md +5 -0
  253. package/content/knowledge/review/review-adr.md +6 -0
  254. package/content/knowledge/review/review-api-design.md +6 -0
  255. package/content/knowledge/review/review-art-bible.md +4 -0
  256. package/content/knowledge/review/review-database-design.md +5 -0
  257. package/content/knowledge/review/review-domain-modeling.md +5 -0
  258. package/content/knowledge/review/review-game-design.md +4 -0
  259. package/content/knowledge/review/review-game-economy.md +4 -0
  260. package/content/knowledge/review/review-game-ui.md +5 -0
  261. package/content/knowledge/review/review-implementation-tasks.md +5 -0
  262. package/content/knowledge/review/review-methodology.md +4 -0
  263. package/content/knowledge/review/review-netcode.md +4 -0
  264. package/content/knowledge/review/review-operations.md +6 -0
  265. package/content/knowledge/review/review-platform-cert.md +4 -0
  266. package/content/knowledge/review/review-prd.md +4 -0
  267. package/content/knowledge/review/review-security.md +7 -0
  268. package/content/knowledge/review/review-system-architecture.md +6 -0
  269. package/content/knowledge/review/review-testing-strategy.md +6 -0
  270. package/content/knowledge/review/review-user-stories.md +5 -0
  271. package/content/knowledge/review/review-ux-specification.md +6 -0
  272. package/content/knowledge/review/review-vision.md +4 -0
  273. package/content/knowledge/tools/post-implementation-review-methodology.md +4 -0
  274. package/content/knowledge/tools/release-management.md +5 -0
  275. package/content/knowledge/tools/session-analysis.md +4 -0
  276. package/content/knowledge/tools/version-strategy.md +4 -0
  277. package/content/knowledge/validation/critical-path-analysis.md +4 -0
  278. package/content/knowledge/validation/cross-phase-consistency.md +4 -0
  279. package/content/knowledge/validation/decision-completeness.md +5 -0
  280. package/content/knowledge/validation/dependency-validation.md +4 -0
  281. package/content/knowledge/validation/implementability-review.md +4 -0
  282. package/content/knowledge/validation/scope-management.md +4 -0
  283. package/content/knowledge/validation/traceability.md +4 -0
  284. package/content/knowledge/web-app/web-app-api-patterns.md +6 -0
  285. package/content/knowledge/web-app/web-app-architecture.md +6 -0
  286. package/content/knowledge/web-app/web-app-auth-patterns.md +9 -0
  287. package/content/knowledge/web-app/web-app-conventions.md +5 -0
  288. package/content/knowledge/web-app/web-app-data-patterns.md +6 -0
  289. package/content/knowledge/web-app/web-app-deployment-workflow.md +6 -0
  290. package/content/knowledge/web-app/web-app-deployment.md +6 -0
  291. package/content/knowledge/web-app/web-app-design-system.md +6 -0
  292. package/content/knowledge/web-app/web-app-dev-environment.md +6 -0
  293. package/content/knowledge/web-app/web-app-observability.md +6 -0
  294. package/content/knowledge/web-app/web-app-project-structure.md +5 -0
  295. package/content/knowledge/web-app/web-app-rendering-strategies.md +6 -0
  296. package/content/knowledge/web-app/web-app-requirements.md +6 -0
  297. package/content/knowledge/web-app/web-app-security.md +8 -0
  298. package/content/knowledge/web-app/web-app-session-patterns.md +7 -0
  299. package/content/knowledge/web-app/web-app-testing.md +6 -0
  300. package/content/knowledge/web-app/web-app-ux-patterns.md +6 -0
  301. package/content/knowledge/web3/web3-access-control.md +8 -0
  302. package/content/knowledge/web3/web3-architecture.md +7 -0
  303. package/content/knowledge/web3/web3-audit-workflow.md +7 -0
  304. package/content/knowledge/web3/web3-common-vulnerabilities.md +8 -0
  305. package/content/knowledge/web3/web3-conventions.md +6 -0
  306. package/content/knowledge/web3/web3-deployment-and-verification.md +7 -0
  307. package/content/knowledge/web3/web3-dev-environment.md +6 -0
  308. package/content/knowledge/web3/web3-gas-optimization.md +7 -0
  309. package/content/knowledge/web3/web3-oracles-and-external-data.md +7 -0
  310. package/content/knowledge/web3/web3-project-structure.md +6 -0
  311. package/content/knowledge/web3/web3-requirements.md +6 -0
  312. package/content/knowledge/web3/web3-security.md +8 -0
  313. package/content/knowledge/web3/web3-testing.md +6 -0
  314. package/content/knowledge/web3/web3-upgradeability.md +7 -0
  315. package/content/tools/knowledge-audit-entry.md +79 -0
  316. package/content/tools/review-code.md +41 -14
  317. package/content/tools/review-pr.md +32 -14
  318. package/dist/cli/commands/dashboard.d.ts +1 -1
  319. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  320. package/dist/cli/commands/dashboard.js +10 -10
  321. package/dist/cli/commands/dashboard.js.map +1 -1
  322. package/dist/cli/commands/dashboard.test.js +1 -1
  323. package/dist/cli/commands/dashboard.test.js.map +1 -1
  324. package/dist/cli/commands/guides.d.ts +24 -0
  325. package/dist/cli/commands/guides.d.ts.map +1 -0
  326. package/dist/cli/commands/guides.js +103 -0
  327. package/dist/cli/commands/guides.js.map +1 -0
  328. package/dist/cli/commands/knowledge-freshness-anti-over-rewrite.d.ts +9 -0
  329. package/dist/cli/commands/knowledge-freshness-anti-over-rewrite.d.ts.map +1 -0
  330. package/dist/cli/commands/knowledge-freshness-anti-over-rewrite.js +112 -0
  331. package/dist/cli/commands/knowledge-freshness-anti-over-rewrite.js.map +1 -0
  332. package/dist/cli/commands/knowledge-freshness-audit-apply.d.ts +8 -0
  333. package/dist/cli/commands/knowledge-freshness-audit-apply.d.ts.map +1 -0
  334. package/dist/cli/commands/knowledge-freshness-audit-apply.js +96 -0
  335. package/dist/cli/commands/knowledge-freshness-audit-apply.js.map +1 -0
  336. package/dist/cli/commands/knowledge-freshness-audit-prefilter.d.ts +7 -0
  337. package/dist/cli/commands/knowledge-freshness-audit-prefilter.d.ts.map +1 -0
  338. package/dist/cli/commands/knowledge-freshness-audit-prefilter.js +42 -0
  339. package/dist/cli/commands/knowledge-freshness-audit-prefilter.js.map +1 -0
  340. package/dist/cli/commands/knowledge-freshness-audit-run-entry.d.ts +9 -0
  341. package/dist/cli/commands/knowledge-freshness-audit-run-entry.d.ts.map +1 -0
  342. package/dist/cli/commands/knowledge-freshness-audit-run-entry.js +63 -0
  343. package/dist/cli/commands/knowledge-freshness-audit-run-entry.js.map +1 -0
  344. package/dist/cli/commands/knowledge-freshness-bump-version.d.ts +8 -0
  345. package/dist/cli/commands/knowledge-freshness-bump-version.d.ts.map +1 -0
  346. package/dist/cli/commands/knowledge-freshness-bump-version.js +34 -0
  347. package/dist/cli/commands/knowledge-freshness-bump-version.js.map +1 -0
  348. package/dist/cli/commands/knowledge-freshness-deep-guidance-check.d.ts +7 -0
  349. package/dist/cli/commands/knowledge-freshness-deep-guidance-check.d.ts.map +1 -0
  350. package/dist/cli/commands/knowledge-freshness-deep-guidance-check.js +51 -0
  351. package/dist/cli/commands/knowledge-freshness-deep-guidance-check.js.map +1 -0
  352. package/dist/cli/commands/knowledge-freshness-link-check.d.ts +7 -0
  353. package/dist/cli/commands/knowledge-freshness-link-check.d.ts.map +1 -0
  354. package/dist/cli/commands/knowledge-freshness-link-check.js +57 -0
  355. package/dist/cli/commands/knowledge-freshness-link-check.js.map +1 -0
  356. package/dist/cli/commands/knowledge-freshness-lint-unsourced.d.ts +8 -0
  357. package/dist/cli/commands/knowledge-freshness-lint-unsourced.d.ts.map +1 -0
  358. package/dist/cli/commands/knowledge-freshness-lint-unsourced.js +58 -0
  359. package/dist/cli/commands/knowledge-freshness-lint-unsourced.js.map +1 -0
  360. package/dist/cli/commands/knowledge-freshness.d.ts +4 -0
  361. package/dist/cli/commands/knowledge-freshness.d.ts.map +1 -0
  362. package/dist/cli/commands/knowledge-freshness.js +25 -0
  363. package/dist/cli/commands/knowledge-freshness.js.map +1 -0
  364. package/dist/cli/commands/observe.d.ts +4 -0
  365. package/dist/cli/commands/observe.d.ts.map +1 -1
  366. package/dist/cli/commands/observe.js +13 -0
  367. package/dist/cli/commands/observe.js.map +1 -1
  368. package/dist/cli/commands/observe.test.js +46 -0
  369. package/dist/cli/commands/observe.test.js.map +1 -1
  370. package/dist/cli/commands/validate-knowledge.d.ts +4 -0
  371. package/dist/cli/commands/validate-knowledge.d.ts.map +1 -0
  372. package/dist/cli/commands/validate-knowledge.js +32 -0
  373. package/dist/cli/commands/validate-knowledge.js.map +1 -0
  374. package/dist/cli/index.d.ts.map +1 -1
  375. package/dist/cli/index.js +6 -0
  376. package/dist/cli/index.js.map +1 -1
  377. package/dist/core/adapters/claude-code.d.ts.map +1 -1
  378. package/dist/core/adapters/claude-code.js +6 -3
  379. package/dist/core/adapters/claude-code.js.map +1 -1
  380. package/dist/core/adapters/claude-code.test.js +45 -1
  381. package/dist/core/adapters/claude-code.test.js.map +1 -1
  382. package/dist/core/assembly/engine.d.ts.map +1 -1
  383. package/dist/core/assembly/engine.js +7 -3
  384. package/dist/core/assembly/engine.js.map +1 -1
  385. package/dist/core/assembly/engine.test.js +45 -1
  386. package/dist/core/assembly/engine.test.js.map +1 -1
  387. package/dist/core/assembly/gap-signal-tail.d.ts +18 -0
  388. package/dist/core/assembly/gap-signal-tail.d.ts.map +1 -0
  389. package/dist/core/assembly/gap-signal-tail.js +43 -0
  390. package/dist/core/assembly/gap-signal-tail.js.map +1 -0
  391. package/dist/core/assembly/gap-signal-tail.test.d.ts +2 -0
  392. package/dist/core/assembly/gap-signal-tail.test.d.ts.map +1 -0
  393. package/dist/core/assembly/gap-signal-tail.test.js +49 -0
  394. package/dist/core/assembly/gap-signal-tail.test.js.map +1 -0
  395. package/dist/core/assembly/knowledge-loader.d.ts +11 -0
  396. package/dist/core/assembly/knowledge-loader.d.ts.map +1 -1
  397. package/dist/core/assembly/knowledge-loader.js +54 -1
  398. package/dist/core/assembly/knowledge-loader.js.map +1 -1
  399. package/dist/core/assembly/knowledge-loader.test.js +73 -0
  400. package/dist/core/assembly/knowledge-loader.test.js.map +1 -1
  401. package/dist/guides/build.d.ts +12 -0
  402. package/dist/guides/build.d.ts.map +1 -0
  403. package/dist/guides/build.js +55 -0
  404. package/dist/guides/build.js.map +1 -0
  405. package/dist/guides/build.test.d.ts +2 -0
  406. package/dist/guides/build.test.d.ts.map +1 -0
  407. package/dist/guides/build.test.js +82 -0
  408. package/dist/guides/build.test.js.map +1 -0
  409. package/dist/guides/chrome.d.ts +24 -0
  410. package/dist/guides/chrome.d.ts.map +1 -0
  411. package/dist/guides/chrome.js +118 -0
  412. package/dist/guides/chrome.js.map +1 -0
  413. package/dist/guides/cli-guides.test.d.ts +2 -0
  414. package/dist/guides/cli-guides.test.d.ts.map +1 -0
  415. package/dist/guides/cli-guides.test.js +41 -0
  416. package/dist/guides/cli-guides.test.js.map +1 -0
  417. package/dist/guides/dashboard-theme.css +1073 -0
  418. package/dist/guides/directives-callout.test.d.ts +2 -0
  419. package/dist/guides/directives-callout.test.d.ts.map +1 -0
  420. package/dist/guides/directives-callout.test.js +22 -0
  421. package/dist/guides/directives-callout.test.js.map +1 -0
  422. package/dist/guides/directives-chart.test.d.ts +2 -0
  423. package/dist/guides/directives-chart.test.d.ts.map +1 -0
  424. package/dist/guides/directives-chart.test.js +25 -0
  425. package/dist/guides/directives-chart.test.js.map +1 -0
  426. package/dist/guides/directives-cite.test.d.ts +2 -0
  427. package/dist/guides/directives-cite.test.d.ts.map +1 -0
  428. package/dist/guides/directives-cite.test.js +26 -0
  429. package/dist/guides/directives-cite.test.js.map +1 -0
  430. package/dist/guides/directives-filter-table.test.d.ts +2 -0
  431. package/dist/guides/directives-filter-table.test.d.ts.map +1 -0
  432. package/dist/guides/directives-filter-table.test.js +22 -0
  433. package/dist/guides/directives-filter-table.test.js.map +1 -0
  434. package/dist/guides/directives-sev.test.d.ts +2 -0
  435. package/dist/guides/directives-sev.test.d.ts.map +1 -0
  436. package/dist/guides/directives-sev.test.js +15 -0
  437. package/dist/guides/directives-sev.test.js.map +1 -0
  438. package/dist/guides/directives-tabs.test.d.ts +2 -0
  439. package/dist/guides/directives-tabs.test.d.ts.map +1 -0
  440. package/dist/guides/directives-tabs.test.js +52 -0
  441. package/dist/guides/directives-tabs.test.js.map +1 -0
  442. package/dist/guides/directives.d.ts +8 -0
  443. package/dist/guides/directives.d.ts.map +1 -0
  444. package/dist/guides/directives.js +182 -0
  445. package/dist/guides/directives.js.map +1 -0
  446. package/dist/guides/fs-guides.test.d.ts +2 -0
  447. package/dist/guides/fs-guides.test.d.ts.map +1 -0
  448. package/dist/guides/fs-guides.test.js +14 -0
  449. package/dist/guides/fs-guides.test.js.map +1 -0
  450. package/dist/guides/index-page.d.ts +3 -0
  451. package/dist/guides/index-page.d.ts.map +1 -0
  452. package/dist/guides/index-page.js +14 -0
  453. package/dist/guides/index-page.js.map +1 -0
  454. package/dist/guides/links.d.ts +14 -0
  455. package/dist/guides/links.d.ts.map +1 -0
  456. package/dist/guides/links.js +56 -0
  457. package/dist/guides/links.js.map +1 -0
  458. package/dist/guides/links.test.d.ts +2 -0
  459. package/dist/guides/links.test.d.ts.map +1 -0
  460. package/dist/guides/links.test.js +72 -0
  461. package/dist/guides/links.test.js.map +1 -0
  462. package/dist/guides/lint.d.ts +6 -0
  463. package/dist/guides/lint.d.ts.map +1 -0
  464. package/dist/guides/lint.js +27 -0
  465. package/dist/guides/lint.js.map +1 -0
  466. package/dist/guides/lint.test.d.ts +2 -0
  467. package/dist/guides/lint.test.d.ts.map +1 -0
  468. package/dist/guides/lint.test.js +24 -0
  469. package/dist/guides/lint.test.js.map +1 -0
  470. package/dist/guides/loader.d.ts +4 -0
  471. package/dist/guides/loader.d.ts.map +1 -0
  472. package/dist/guides/loader.js +63 -0
  473. package/dist/guides/loader.js.map +1 -0
  474. package/dist/guides/loader.test.d.ts +2 -0
  475. package/dist/guides/loader.test.d.ts.map +1 -0
  476. package/dist/guides/loader.test.js +85 -0
  477. package/dist/guides/loader.test.js.map +1 -0
  478. package/dist/guides/mermaid-sanitize.test.d.ts +2 -0
  479. package/dist/guides/mermaid-sanitize.test.d.ts.map +1 -0
  480. package/dist/guides/mermaid-sanitize.test.js +57 -0
  481. package/dist/guides/mermaid-sanitize.test.js.map +1 -0
  482. package/dist/guides/mermaid.d.ts +18 -0
  483. package/dist/guides/mermaid.d.ts.map +1 -0
  484. package/dist/guides/mermaid.js +137 -0
  485. package/dist/guides/mermaid.js.map +1 -0
  486. package/dist/guides/mermaid.test.d.ts +2 -0
  487. package/dist/guides/mermaid.test.d.ts.map +1 -0
  488. package/dist/guides/mermaid.test.js +105 -0
  489. package/dist/guides/mermaid.test.js.map +1 -0
  490. package/dist/guides/render.d.ts +13 -0
  491. package/dist/guides/render.d.ts.map +1 -0
  492. package/dist/guides/render.js +58 -0
  493. package/dist/guides/render.js.map +1 -0
  494. package/dist/guides/render.test.d.ts +2 -0
  495. package/dist/guides/render.test.d.ts.map +1 -0
  496. package/dist/guides/render.test.js +46 -0
  497. package/dist/guides/render.test.js.map +1 -0
  498. package/dist/guides/sanitize.d.ts +3 -0
  499. package/dist/guides/sanitize.d.ts.map +1 -0
  500. package/dist/guides/sanitize.js +77 -0
  501. package/dist/guides/sanitize.js.map +1 -0
  502. package/dist/guides/sanitize.test.d.ts +2 -0
  503. package/dist/guides/sanitize.test.d.ts.map +1 -0
  504. package/dist/guides/sanitize.test.js +45 -0
  505. package/dist/guides/sanitize.test.js.map +1 -0
  506. package/dist/guides/template.d.ts +11 -0
  507. package/dist/guides/template.d.ts.map +1 -0
  508. package/dist/guides/template.js +38 -0
  509. package/dist/guides/template.js.map +1 -0
  510. package/dist/guides/template.test.d.ts +2 -0
  511. package/dist/guides/template.test.d.ts.map +1 -0
  512. package/dist/guides/template.test.js +41 -0
  513. package/dist/guides/template.test.js.map +1 -0
  514. package/dist/guides/types.d.ts +20 -0
  515. package/dist/guides/types.d.ts.map +1 -0
  516. package/dist/guides/types.js +2 -0
  517. package/dist/guides/types.js.map +1 -0
  518. package/dist/knowledge-freshness/audit-apply-pr.d.ts +64 -0
  519. package/dist/knowledge-freshness/audit-apply-pr.d.ts.map +1 -0
  520. package/dist/knowledge-freshness/audit-apply-pr.js +309 -0
  521. package/dist/knowledge-freshness/audit-apply-pr.js.map +1 -0
  522. package/dist/knowledge-freshness/audit-apply-pr.test.d.ts +2 -0
  523. package/dist/knowledge-freshness/audit-apply-pr.test.d.ts.map +1 -0
  524. package/dist/knowledge-freshness/audit-apply-pr.test.js +211 -0
  525. package/dist/knowledge-freshness/audit-apply-pr.test.js.map +1 -0
  526. package/dist/knowledge-freshness/audit-apply.d.ts +16 -0
  527. package/dist/knowledge-freshness/audit-apply.d.ts.map +1 -0
  528. package/dist/knowledge-freshness/audit-apply.js +193 -0
  529. package/dist/knowledge-freshness/audit-apply.js.map +1 -0
  530. package/dist/knowledge-freshness/audit-apply.test.d.ts +2 -0
  531. package/dist/knowledge-freshness/audit-apply.test.d.ts.map +1 -0
  532. package/dist/knowledge-freshness/audit-apply.test.js +482 -0
  533. package/dist/knowledge-freshness/audit-apply.test.js.map +1 -0
  534. package/dist/knowledge-freshness/audit-prefilter.d.ts +12 -0
  535. package/dist/knowledge-freshness/audit-prefilter.d.ts.map +1 -0
  536. package/dist/knowledge-freshness/audit-prefilter.js +74 -0
  537. package/dist/knowledge-freshness/audit-prefilter.js.map +1 -0
  538. package/dist/knowledge-freshness/audit-prefilter.test.d.ts +2 -0
  539. package/dist/knowledge-freshness/audit-prefilter.test.d.ts.map +1 -0
  540. package/dist/knowledge-freshness/audit-prefilter.test.js +78 -0
  541. package/dist/knowledge-freshness/audit-prefilter.test.js.map +1 -0
  542. package/dist/knowledge-freshness/audit-runner.d.ts +135 -0
  543. package/dist/knowledge-freshness/audit-runner.d.ts.map +1 -0
  544. package/dist/knowledge-freshness/audit-runner.js +168 -0
  545. package/dist/knowledge-freshness/audit-runner.js.map +1 -0
  546. package/dist/knowledge-freshness/audit-runner.test.d.ts +2 -0
  547. package/dist/knowledge-freshness/audit-runner.test.d.ts.map +1 -0
  548. package/dist/knowledge-freshness/audit-runner.test.js +130 -0
  549. package/dist/knowledge-freshness/audit-runner.test.js.map +1 -0
  550. package/dist/knowledge-freshness/bump-version.d.ts +24 -0
  551. package/dist/knowledge-freshness/bump-version.d.ts.map +1 -0
  552. package/dist/knowledge-freshness/bump-version.js +69 -0
  553. package/dist/knowledge-freshness/bump-version.js.map +1 -0
  554. package/dist/knowledge-freshness/bump-version.test.d.ts +2 -0
  555. package/dist/knowledge-freshness/bump-version.test.d.ts.map +1 -0
  556. package/dist/knowledge-freshness/bump-version.test.js +82 -0
  557. package/dist/knowledge-freshness/bump-version.test.js.map +1 -0
  558. package/dist/knowledge-freshness/gates/anti-over-rewrite.d.ts +86 -0
  559. package/dist/knowledge-freshness/gates/anti-over-rewrite.d.ts.map +1 -0
  560. package/dist/knowledge-freshness/gates/anti-over-rewrite.js +210 -0
  561. package/dist/knowledge-freshness/gates/anti-over-rewrite.js.map +1 -0
  562. package/dist/knowledge-freshness/gates/anti-over-rewrite.test.d.ts +2 -0
  563. package/dist/knowledge-freshness/gates/anti-over-rewrite.test.d.ts.map +1 -0
  564. package/dist/knowledge-freshness/gates/anti-over-rewrite.test.js +115 -0
  565. package/dist/knowledge-freshness/gates/anti-over-rewrite.test.js.map +1 -0
  566. package/dist/knowledge-freshness/gates/changed-files.d.ts +53 -0
  567. package/dist/knowledge-freshness/gates/changed-files.d.ts.map +1 -0
  568. package/dist/knowledge-freshness/gates/changed-files.js +128 -0
  569. package/dist/knowledge-freshness/gates/changed-files.js.map +1 -0
  570. package/dist/knowledge-freshness/gates/deep-guidance-check.d.ts +23 -0
  571. package/dist/knowledge-freshness/gates/deep-guidance-check.d.ts.map +1 -0
  572. package/dist/knowledge-freshness/gates/deep-guidance-check.js +27 -0
  573. package/dist/knowledge-freshness/gates/deep-guidance-check.js.map +1 -0
  574. package/dist/knowledge-freshness/gates/deep-guidance-check.test.d.ts +2 -0
  575. package/dist/knowledge-freshness/gates/deep-guidance-check.test.d.ts.map +1 -0
  576. package/dist/knowledge-freshness/gates/deep-guidance-check.test.js +23 -0
  577. package/dist/knowledge-freshness/gates/deep-guidance-check.test.js.map +1 -0
  578. package/dist/knowledge-freshness/gates/link-check.d.ts +55 -0
  579. package/dist/knowledge-freshness/gates/link-check.d.ts.map +1 -0
  580. package/dist/knowledge-freshness/gates/link-check.js +161 -0
  581. package/dist/knowledge-freshness/gates/link-check.js.map +1 -0
  582. package/dist/knowledge-freshness/gates/link-check.test.d.ts +2 -0
  583. package/dist/knowledge-freshness/gates/link-check.test.d.ts.map +1 -0
  584. package/dist/knowledge-freshness/gates/link-check.test.js +76 -0
  585. package/dist/knowledge-freshness/gates/link-check.test.js.map +1 -0
  586. package/dist/knowledge-freshness/gates/lint-unsourced.d.ts +40 -0
  587. package/dist/knowledge-freshness/gates/lint-unsourced.d.ts.map +1 -0
  588. package/dist/knowledge-freshness/gates/lint-unsourced.js +143 -0
  589. package/dist/knowledge-freshness/gates/lint-unsourced.js.map +1 -0
  590. package/dist/knowledge-freshness/gates/lint-unsourced.test.d.ts +2 -0
  591. package/dist/knowledge-freshness/gates/lint-unsourced.test.d.ts.map +1 -0
  592. package/dist/knowledge-freshness/gates/lint-unsourced.test.js +68 -0
  593. package/dist/knowledge-freshness/gates/lint-unsourced.test.js.map +1 -0
  594. package/dist/knowledge-freshness/gates/parse-entry.d.ts +25 -0
  595. package/dist/knowledge-freshness/gates/parse-entry.d.ts.map +1 -0
  596. package/dist/knowledge-freshness/gates/parse-entry.js +41 -0
  597. package/dist/knowledge-freshness/gates/parse-entry.js.map +1 -0
  598. package/dist/knowledge-freshness/gates/parse-entry.test.d.ts +2 -0
  599. package/dist/knowledge-freshness/gates/parse-entry.test.d.ts.map +1 -0
  600. package/dist/knowledge-freshness/gates/parse-entry.test.js +34 -0
  601. package/dist/knowledge-freshness/gates/parse-entry.test.js.map +1 -0
  602. package/dist/knowledge-freshness/providers/anthropic.d.ts +33 -0
  603. package/dist/knowledge-freshness/providers/anthropic.d.ts.map +1 -0
  604. package/dist/knowledge-freshness/providers/anthropic.js +36 -0
  605. package/dist/knowledge-freshness/providers/anthropic.js.map +1 -0
  606. package/dist/knowledge-freshness/providers/anthropic.test.d.ts +2 -0
  607. package/dist/knowledge-freshness/providers/anthropic.test.d.ts.map +1 -0
  608. package/dist/knowledge-freshness/providers/anthropic.test.js +32 -0
  609. package/dist/knowledge-freshness/providers/anthropic.test.js.map +1 -0
  610. package/dist/knowledge-freshness/providers/deepseek.d.ts +33 -0
  611. package/dist/knowledge-freshness/providers/deepseek.d.ts.map +1 -0
  612. package/dist/knowledge-freshness/providers/deepseek.js +157 -0
  613. package/dist/knowledge-freshness/providers/deepseek.js.map +1 -0
  614. package/dist/knowledge-freshness/providers/deepseek.test.d.ts +2 -0
  615. package/dist/knowledge-freshness/providers/deepseek.test.d.ts.map +1 -0
  616. package/dist/knowledge-freshness/providers/deepseek.test.js +142 -0
  617. package/dist/knowledge-freshness/providers/deepseek.test.js.map +1 -0
  618. package/dist/knowledge-freshness/providers/index.d.ts +41 -0
  619. package/dist/knowledge-freshness/providers/index.d.ts.map +1 -0
  620. package/dist/knowledge-freshness/providers/index.js +108 -0
  621. package/dist/knowledge-freshness/providers/index.js.map +1 -0
  622. package/dist/knowledge-freshness/providers/index.test.d.ts +2 -0
  623. package/dist/knowledge-freshness/providers/index.test.d.ts.map +1 -0
  624. package/dist/knowledge-freshness/providers/index.test.js +97 -0
  625. package/dist/knowledge-freshness/providers/index.test.js.map +1 -0
  626. package/dist/knowledge-freshness/source-hash.d.ts +39 -0
  627. package/dist/knowledge-freshness/source-hash.d.ts.map +1 -0
  628. package/dist/knowledge-freshness/source-hash.js +180 -0
  629. package/dist/knowledge-freshness/source-hash.js.map +1 -0
  630. package/dist/knowledge-freshness/source-hash.test.d.ts +2 -0
  631. package/dist/knowledge-freshness/source-hash.test.d.ts.map +1 -0
  632. package/dist/knowledge-freshness/source-hash.test.js +63 -0
  633. package/dist/knowledge-freshness/source-hash.test.js.map +1 -0
  634. package/dist/knowledge-freshness/source-url-validator.d.ts +57 -0
  635. package/dist/knowledge-freshness/source-url-validator.d.ts.map +1 -0
  636. package/dist/knowledge-freshness/source-url-validator.js +304 -0
  637. package/dist/knowledge-freshness/source-url-validator.js.map +1 -0
  638. package/dist/knowledge-freshness/source-url-validator.test.d.ts +2 -0
  639. package/dist/knowledge-freshness/source-url-validator.test.d.ts.map +1 -0
  640. package/dist/knowledge-freshness/source-url-validator.test.js +167 -0
  641. package/dist/knowledge-freshness/source-url-validator.test.js.map +1 -0
  642. package/dist/observability/checks/lens-i-knowledge-gaps.d.ts +3 -0
  643. package/dist/observability/checks/lens-i-knowledge-gaps.d.ts.map +1 -0
  644. package/dist/observability/checks/lens-i-knowledge-gaps.js +165 -0
  645. package/dist/observability/checks/lens-i-knowledge-gaps.js.map +1 -0
  646. package/dist/observability/checks/lens-i-knowledge-gaps.test.d.ts +2 -0
  647. package/dist/observability/checks/lens-i-knowledge-gaps.test.d.ts.map +1 -0
  648. package/dist/observability/checks/lens-i-knowledge-gaps.test.js +421 -0
  649. package/dist/observability/checks/lens-i-knowledge-gaps.test.js.map +1 -0
  650. package/dist/observability/checks/lens-i-lessons-scanner.d.ts +16 -0
  651. package/dist/observability/checks/lens-i-lessons-scanner.d.ts.map +1 -0
  652. package/dist/observability/checks/lens-i-lessons-scanner.js +106 -0
  653. package/dist/observability/checks/lens-i-lessons-scanner.js.map +1 -0
  654. package/dist/observability/checks/lens-i-lessons-scanner.test.d.ts +2 -0
  655. package/dist/observability/checks/lens-i-lessons-scanner.test.d.ts.map +1 -0
  656. package/dist/observability/checks/lens-i-lessons-scanner.test.js +174 -0
  657. package/dist/observability/checks/lens-i-lessons-scanner.test.js.map +1 -0
  658. package/dist/observability/engine/api.d.ts +4 -0
  659. package/dist/observability/engine/api.d.ts.map +1 -1
  660. package/dist/observability/engine/api.js +17 -1
  661. package/dist/observability/engine/api.js.map +1 -1
  662. package/dist/observability/engine/checks/observability-config.d.ts +4 -0
  663. package/dist/observability/engine/checks/observability-config.d.ts.map +1 -1
  664. package/dist/observability/engine/checks/observability-config.js +1 -0
  665. package/dist/observability/engine/checks/observability-config.js.map +1 -1
  666. package/dist/observability/engine/checks/registry.d.ts.map +1 -1
  667. package/dist/observability/engine/checks/registry.js +7 -0
  668. package/dist/observability/engine/checks/registry.js.map +1 -1
  669. package/dist/observability/engine/checks/registry.test.js +3 -2
  670. package/dist/observability/engine/checks/registry.test.js.map +1 -1
  671. package/dist/observability/engine/checks/runner.d.ts +30 -0
  672. package/dist/observability/engine/checks/runner.d.ts.map +1 -1
  673. package/dist/observability/engine/checks/runner.js +8 -1
  674. package/dist/observability/engine/checks/runner.js.map +1 -1
  675. package/dist/observability/engine/checks/runner.test.js +74 -0
  676. package/dist/observability/engine/checks/runner.test.js.map +1 -1
  677. package/dist/observability/engine/event-schemas.d.ts.map +1 -1
  678. package/dist/observability/engine/event-schemas.js +41 -3
  679. package/dist/observability/engine/event-schemas.js.map +1 -1
  680. package/dist/observability/engine/event-schemas.test.js +105 -0
  681. package/dist/observability/engine/event-schemas.test.js.map +1 -1
  682. package/dist/observability/engine/fix-flow.d.ts +7 -0
  683. package/dist/observability/engine/fix-flow.d.ts.map +1 -1
  684. package/dist/observability/engine/fix-flow.js +5 -3
  685. package/dist/observability/engine/fix-flow.js.map +1 -1
  686. package/dist/observability/engine/knowledge-root-integration.test.d.ts +2 -0
  687. package/dist/observability/engine/knowledge-root-integration.test.d.ts.map +1 -0
  688. package/dist/observability/engine/knowledge-root-integration.test.js +103 -0
  689. package/dist/observability/engine/knowledge-root-integration.test.js.map +1 -0
  690. package/dist/observability/engine/types.d.ts +20 -1
  691. package/dist/observability/engine/types.d.ts.map +1 -1
  692. package/dist/observability/engine/types.test.js +1 -1
  693. package/dist/observability/engine/types.test.js.map +1 -1
  694. package/dist/observability/knowledge-index.d.ts +145 -0
  695. package/dist/observability/knowledge-index.d.ts.map +1 -0
  696. package/dist/observability/knowledge-index.js +353 -0
  697. package/dist/observability/knowledge-index.js.map +1 -0
  698. package/dist/observability/knowledge-index.test.d.ts +2 -0
  699. package/dist/observability/knowledge-index.test.d.ts.map +1 -0
  700. package/dist/observability/knowledge-index.test.js +364 -0
  701. package/dist/observability/knowledge-index.test.js.map +1 -0
  702. package/dist/observability/renderers/markdown.d.ts.map +1 -1
  703. package/dist/observability/renderers/markdown.js +14 -0
  704. package/dist/observability/renderers/markdown.js.map +1 -1
  705. package/dist/observability/renderers/markdown.test.js +30 -0
  706. package/dist/observability/renderers/markdown.test.js.map +1 -1
  707. package/dist/types/assembly.d.ts +10 -0
  708. package/dist/types/assembly.d.ts.map +1 -1
  709. package/dist/utils/fs.d.ts +6 -0
  710. package/dist/utils/fs.d.ts.map +1 -1
  711. package/dist/utils/fs.js +13 -0
  712. package/dist/utils/fs.js.map +1 -1
  713. package/dist/validation/knowledge-frontmatter-validator.d.ts +15 -0
  714. package/dist/validation/knowledge-frontmatter-validator.d.ts.map +1 -0
  715. package/dist/validation/knowledge-frontmatter-validator.js +131 -0
  716. package/dist/validation/knowledge-frontmatter-validator.js.map +1 -0
  717. package/dist/validation/knowledge-frontmatter-validator.test.d.ts +2 -0
  718. package/dist/validation/knowledge-frontmatter-validator.test.d.ts.map +1 -0
  719. package/dist/validation/knowledge-frontmatter-validator.test.js +66 -0
  720. package/dist/validation/knowledge-frontmatter-validator.test.js.map +1 -0
  721. package/package.json +13 -4
@@ -0,0 +1,1073 @@
1
+ /* Scaffold Dashboard Theme
2
+ * All CSS for the generated pipeline dashboard.
3
+ * Embedded into HTML by scripts/generate-dashboard.sh.
4
+ * Design system reference: docs/design-system.md
5
+ *
6
+ * Aesthetic: "Precision Industrial" — Swiss-typographic control room.
7
+ * Deep navy dark mode with indigo accents, clean cool-white light mode.
8
+ */
9
+
10
+ /* ─── Design Tokens (Light Mode) ──────────────── */
11
+ :root {
12
+ /* Surface */
13
+ --bg: #f5f6fa;
14
+ --bg-card: #ffffff;
15
+ --bg-hover: #eef0f6;
16
+ --bg-inset: #e8eaf2;
17
+
18
+ /* Text */
19
+ --text: #1a1d2e;
20
+ --text-muted: #6b7294;
21
+ --text-faint: #9ba1c0;
22
+
23
+ /* Borders & Structure */
24
+ --border: #dde0ed;
25
+ --border-light: #eceef5;
26
+ --radius: 10px;
27
+ --radius-sm: 6px;
28
+
29
+ /* Accent */
30
+ --accent: #4f46e5;
31
+ --accent-hover: #4338ca;
32
+ --accent-glow: rgba(79, 70, 229, 0.10);
33
+
34
+ /* Semantic: Status */
35
+ --green: #059669;
36
+ --green-bg: #ecfdf5;
37
+ --green-border: #a7f3d0;
38
+ --blue: #2563eb;
39
+ --blue-bg: #eff6ff;
40
+ --blue-border: #bfdbfe;
41
+ --yellow: #d97706;
42
+ --yellow-bg: #fffbeb;
43
+ --yellow-border:#fde68a;
44
+ --gray: #9ca3af;
45
+ --gray-bg: #f3f4f6;
46
+ --gray-border: #e5e7eb;
47
+
48
+ /* Semantic: Next Banner */
49
+ --next-bg: #eef2ff;
50
+ --next-border: #4f46e5;
51
+ --next-glow: rgba(79, 70, 229, 0.06);
52
+
53
+ /* Semantic: Progress */
54
+ --progress-bg: #e5e7eb;
55
+ --progress-h: 10px;
56
+
57
+ /* Depth */
58
+ --shadow-sm: 0 1px 2px rgba(30, 34, 60, 0.04);
59
+ --shadow: 0 1px 3px rgba(30, 34, 60, 0.07), 0 1px 2px rgba(30, 34, 60, 0.04);
60
+ --shadow-md: 0 4px 12px rgba(30, 34, 60, 0.08), 0 1px 3px rgba(30, 34, 60, 0.05);
61
+ --shadow-lg: 0 8px 24px rgba(30, 34, 60, 0.10), 0 2px 6px rgba(30, 34, 60, 0.04);
62
+
63
+ /* Spacing scale (4px base) */
64
+ --sp-1: 4px;
65
+ --sp-2: 8px;
66
+ --sp-3: 12px;
67
+ --sp-4: 16px;
68
+ --sp-5: 20px;
69
+ --sp-6: 24px;
70
+ --sp-8: 32px;
71
+ --sp-10: 40px;
72
+
73
+ /* Typography */
74
+ --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
75
+ --font-mono: "SF Mono", "Cascadia Code", "Fira Code", "JetBrains Mono", Menlo, Consolas, monospace;
76
+ --text-xs: 0.75rem;
77
+ --text-sm: 0.8125rem;
78
+ --text-base: 0.9375rem;
79
+ --text-lg: 1.125rem;
80
+ --text-xl: 1.375rem;
81
+ --text-2xl: 1.75rem;
82
+ --lh-tight: 1.25;
83
+ --lh-normal: 1.5;
84
+ --lh-relaxed: 1.625;
85
+ --ls-tight: -0.01em;
86
+ --ls-wide: 0.025em;
87
+ --fw-normal: 400;
88
+ --fw-medium: 500;
89
+ --fw-semi: 600;
90
+ --fw-bold: 700;
91
+
92
+ /* Layout */
93
+ --max-w: 960px;
94
+ --page-pad: 24px;
95
+ }
96
+
97
+ /* ─── Design Tokens (Dark Mode) ───────────────── */
98
+ [data-theme="dark"] {
99
+ /* Surface */
100
+ --bg: #0f1117;
101
+ --bg-card: #1a1d2e;
102
+ --bg-hover: #252940;
103
+ --bg-inset: #141724;
104
+
105
+ /* Text */
106
+ --text: #e2e5f0;
107
+ --text-muted: #7c82a8;
108
+ --text-faint: #555c80;
109
+
110
+ /* Borders & Structure */
111
+ --border: #2a2f45;
112
+ --border-light: #21253a;
113
+
114
+ /* Accent */
115
+ --accent: #818cf8;
116
+ --accent-hover: #a5b4fc;
117
+ --accent-glow: rgba(129, 140, 248, 0.12);
118
+
119
+ /* Semantic: Status */
120
+ --green: #34d399;
121
+ --green-bg: rgba(6, 78, 59, 0.25);
122
+ --green-border: rgba(52, 211, 153, 0.25);
123
+ --blue: #60a5fa;
124
+ --blue-bg: rgba(30, 58, 95, 0.30);
125
+ --blue-border: rgba(96, 165, 250, 0.25);
126
+ --yellow: #fbbf24;
127
+ --yellow-bg: rgba(120, 53, 15, 0.25);
128
+ --yellow-border:rgba(251, 191, 36, 0.20);
129
+ --gray: #6b7294;
130
+ --gray-bg: #252940;
131
+ --gray-border: #363c58;
132
+
133
+ /* Semantic: Next Banner */
134
+ --next-bg: rgba(30, 27, 75, 0.50);
135
+ --next-border: #818cf8;
136
+ --next-glow: rgba(129, 140, 248, 0.08);
137
+
138
+ /* Semantic: Progress */
139
+ --progress-bg: #1f2337;
140
+
141
+ /* Depth */
142
+ --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.20);
143
+ --shadow: 0 1px 3px rgba(0, 0, 0, 0.30), 0 1px 2px rgba(0, 0, 0, 0.15);
144
+ --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.35), 0 1px 3px rgba(0, 0, 0, 0.20);
145
+ --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.40), 0 2px 6px rgba(0, 0, 0, 0.20);
146
+ }
147
+
148
+ /* ─── Theme Toggle ───────────────────────────── */
149
+ .theme-toggle {
150
+ background: var(--bg-inset);
151
+ border: 1px solid var(--border);
152
+ border-radius: var(--radius-sm);
153
+ padding: var(--sp-1) var(--sp-2);
154
+ cursor: pointer;
155
+ font-size: var(--text-base);
156
+ line-height: 1;
157
+ color: var(--text-muted);
158
+ transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
159
+ display: flex;
160
+ align-items: center;
161
+ margin-left: auto;
162
+ }
163
+
164
+ .theme-toggle:hover {
165
+ border-color: var(--accent);
166
+ color: var(--accent);
167
+ background: var(--accent-glow);
168
+ }
169
+
170
+ /* ─── Base ────────────────────────────────────── */
171
+ *, *::before, *::after {
172
+ margin: 0;
173
+ padding: 0;
174
+ box-sizing: border-box;
175
+ }
176
+
177
+ body {
178
+ font-family: var(--font-sans);
179
+ font-size: var(--text-base);
180
+ line-height: var(--lh-normal);
181
+ color: var(--text);
182
+ background: var(--bg);
183
+ -webkit-font-smoothing: antialiased;
184
+ -moz-osx-font-smoothing: grayscale;
185
+ }
186
+
187
+ /* ─── Layout ──────────────────────────────────── */
188
+ .wrap {
189
+ max-width: var(--max-w);
190
+ margin: 0 auto;
191
+ padding: var(--sp-8) var(--page-pad);
192
+ }
193
+
194
+ /* ─── Header ──────────────────────────────────── */
195
+ .header {
196
+ display: flex;
197
+ align-items: baseline;
198
+ gap: var(--sp-3);
199
+ margin-bottom: var(--sp-2);
200
+ flex-wrap: wrap;
201
+ }
202
+
203
+ h1 {
204
+ font-size: var(--text-2xl);
205
+ font-weight: var(--fw-bold);
206
+ letter-spacing: var(--ls-tight);
207
+ line-height: var(--lh-tight);
208
+ }
209
+
210
+ h2 {
211
+ font-size: var(--text-lg);
212
+ font-weight: var(--fw-semi);
213
+ letter-spacing: var(--ls-tight);
214
+ line-height: var(--lh-tight);
215
+ margin-bottom: var(--sp-3);
216
+ }
217
+
218
+ .header-meta {
219
+ font-size: var(--text-xs);
220
+ color: var(--text-faint);
221
+ margin-bottom: var(--sp-6);
222
+ letter-spacing: var(--ls-wide);
223
+ text-transform: uppercase;
224
+ }
225
+
226
+ /* ─── Badge ───────────────────────────────────── */
227
+ .badge {
228
+ display: inline-block;
229
+ padding: 2px var(--sp-2);
230
+ border-radius: 99px;
231
+ font-size: var(--text-xs);
232
+ font-weight: var(--fw-semi);
233
+ letter-spacing: var(--ls-wide);
234
+ background: var(--accent);
235
+ color: #fff;
236
+ text-transform: uppercase;
237
+ }
238
+
239
+ .badge-optional {
240
+ background: var(--yellow-bg);
241
+ color: var(--yellow);
242
+ border: 1px solid var(--yellow-border);
243
+ }
244
+
245
+ /* ─── Progress Bar ────────────────────────────── */
246
+ .progress-bar {
247
+ width: 100%;
248
+ height: var(--progress-h);
249
+ background: var(--progress-bg);
250
+ border-radius: 99px;
251
+ overflow: hidden;
252
+ margin-bottom: var(--sp-6);
253
+ display: flex;
254
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
255
+ }
256
+
257
+ .progress-bar .seg-done {
258
+ background: linear-gradient(135deg, var(--green), #10b981);
259
+ box-shadow: 0 0 8px rgba(5, 150, 105, 0.3);
260
+ }
261
+
262
+ .progress-bar .seg-likely {
263
+ background: linear-gradient(135deg, var(--blue), #3b82f6);
264
+ box-shadow: 0 0 8px rgba(37, 99, 235, 0.25);
265
+ }
266
+
267
+ .progress-bar .seg-skip {
268
+ background: var(--gray);
269
+ opacity: 0.7;
270
+ }
271
+
272
+ /* ─── Summary Cards ───────────────────────────── */
273
+ .cards {
274
+ display: grid;
275
+ grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
276
+ gap: var(--sp-3);
277
+ margin-bottom: var(--sp-6);
278
+ }
279
+
280
+ .card {
281
+ background: var(--bg-card);
282
+ border: 1px solid var(--border);
283
+ border-radius: var(--radius);
284
+ padding: var(--sp-4) var(--sp-5);
285
+ box-shadow: var(--shadow);
286
+ transition: box-shadow 0.15s ease, transform 0.15s ease;
287
+ }
288
+
289
+ .card:hover {
290
+ box-shadow: var(--shadow-md);
291
+ transform: translateY(-1px);
292
+ }
293
+
294
+ .card-num {
295
+ font-size: var(--text-2xl);
296
+ font-weight: var(--fw-bold);
297
+ font-family: var(--font-mono);
298
+ letter-spacing: var(--ls-tight);
299
+ line-height: 1;
300
+ }
301
+
302
+ .card-lbl {
303
+ font-size: var(--text-xs);
304
+ color: var(--text-muted);
305
+ margin-top: var(--sp-1);
306
+ letter-spacing: var(--ls-wide);
307
+ text-transform: uppercase;
308
+ font-weight: var(--fw-medium);
309
+ }
310
+
311
+ /* ─── What's Next Banner ──────────────────────── */
312
+ .next-banner {
313
+ background: var(--next-bg);
314
+ border: 1px solid var(--next-border);
315
+ border-left: 4px solid var(--next-border);
316
+ border-radius: var(--radius);
317
+ padding: var(--sp-5) var(--sp-6);
318
+ margin-bottom: var(--sp-6);
319
+ box-shadow: 0 0 0 1px var(--next-glow), var(--shadow);
320
+ position: relative;
321
+ overflow: hidden;
322
+ }
323
+
324
+ .next-banner::before {
325
+ content: "";
326
+ position: absolute;
327
+ top: 0;
328
+ left: 0;
329
+ width: 4px;
330
+ height: 100%;
331
+ background: var(--next-border);
332
+ animation: pulse-border 2.5s ease-in-out infinite;
333
+ }
334
+
335
+ @keyframes pulse-border {
336
+ 0%, 100% { opacity: 1; }
337
+ 50% { opacity: 0.5; }
338
+ }
339
+
340
+ .next-banner h2 {
341
+ color: var(--accent);
342
+ margin-bottom: var(--sp-1);
343
+ font-size: var(--text-base);
344
+ font-weight: var(--fw-semi);
345
+ letter-spacing: var(--ls-wide);
346
+ text-transform: uppercase;
347
+ }
348
+
349
+ .next-banner p {
350
+ color: var(--text);
351
+ font-size: var(--text-base);
352
+ }
353
+
354
+ .next-cmd {
355
+ font-family: var(--font-mono);
356
+ background: var(--bg-card);
357
+ padding: var(--sp-1) var(--sp-3);
358
+ border-radius: var(--radius-sm);
359
+ font-size: var(--text-sm);
360
+ display: inline-flex;
361
+ align-items: center;
362
+ gap: var(--sp-2);
363
+ margin-top: var(--sp-3);
364
+ border: 1px solid var(--border);
365
+ }
366
+
367
+ /* ─── Phase Headers (Collapsible) ─────────────── */
368
+ .phase {
369
+ margin-bottom: var(--sp-6);
370
+ }
371
+
372
+ .phase-hdr {
373
+ display: flex;
374
+ align-items: center;
375
+ gap: var(--sp-2);
376
+ cursor: pointer;
377
+ padding: var(--sp-2) 0;
378
+ user-select: none;
379
+ border-bottom: 2px solid var(--border);
380
+ margin-bottom: var(--sp-3);
381
+ transition: border-color 0.15s ease;
382
+ }
383
+
384
+ .phase-hdr:hover {
385
+ border-bottom-color: var(--accent);
386
+ }
387
+
388
+ .phase-hdr:hover h2 {
389
+ color: var(--accent);
390
+ }
391
+
392
+ .phase-hdr h2 {
393
+ transition: color 0.15s ease;
394
+ }
395
+
396
+ .phase-hdr .arr {
397
+ transition: transform 0.2s ease;
398
+ font-size: var(--text-xs);
399
+ color: var(--text-muted);
400
+ }
401
+
402
+ .phase-hdr.closed .arr {
403
+ transform: rotate(-90deg);
404
+ }
405
+
406
+ .phase-cnt {
407
+ font-size: var(--text-xs);
408
+ font-family: var(--font-mono);
409
+ color: var(--text-faint);
410
+ margin-left: auto;
411
+ letter-spacing: var(--ls-wide);
412
+ }
413
+
414
+ /* ─── Prompt List ─────────────────────────────── */
415
+ .plist {
416
+ display: flex;
417
+ flex-direction: column;
418
+ gap: var(--sp-2);
419
+ }
420
+
421
+ /* ─── Prompt Cards ────────────────────────────── */
422
+ .pcard {
423
+ background: var(--bg-card);
424
+ border: 1px solid var(--border);
425
+ border-radius: var(--radius);
426
+ padding: var(--sp-3) var(--sp-4);
427
+ box-shadow: var(--shadow-sm);
428
+ display: grid;
429
+ grid-template-columns: auto 1fr auto;
430
+ gap: var(--sp-2) var(--sp-3);
431
+ align-items: start;
432
+ transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
433
+ }
434
+
435
+ .pcard:hover {
436
+ box-shadow: var(--shadow);
437
+ transform: translateY(-1px);
438
+ border-color: var(--accent-glow);
439
+ }
440
+
441
+ /* ─── Status Badges ──────────────────────────── */
442
+ .status-badge {
443
+ display: inline-flex;
444
+ align-items: center;
445
+ gap: var(--sp-1);
446
+ font-size: var(--text-xs);
447
+ font-weight: var(--fw-medium);
448
+ padding: 2px var(--sp-2);
449
+ border-radius: 99px;
450
+ white-space: nowrap;
451
+ flex-shrink: 0;
452
+ letter-spacing: var(--ls-wide);
453
+ line-height: var(--lh-tight);
454
+ }
455
+
456
+ .st-completed {
457
+ background: var(--green-bg);
458
+ color: var(--green);
459
+ border: 1px solid var(--green-border);
460
+ }
461
+
462
+ .st-likely-completed {
463
+ background: var(--blue-bg);
464
+ color: var(--blue);
465
+ border: 1px solid var(--blue-border);
466
+ }
467
+
468
+ .st-skipped {
469
+ background: var(--gray-bg);
470
+ color: var(--gray);
471
+ border: 1px solid var(--gray-border);
472
+ }
473
+
474
+ .st-pending {
475
+ background: var(--bg-inset);
476
+ color: var(--text-faint);
477
+ border: 1px solid var(--border);
478
+ }
479
+
480
+ /* ─── Status Legend ──────────────────────────── */
481
+ .status-legend {
482
+ display: flex;
483
+ flex-wrap: wrap;
484
+ gap: var(--sp-2);
485
+ margin-bottom: var(--sp-4);
486
+ padding: var(--sp-2) 0;
487
+ }
488
+
489
+ .status-legend .status-badge {
490
+ cursor: default;
491
+ }
492
+
493
+ /* ─── Prompt Card Inner ───────────────────────── */
494
+ .pinfo {
495
+ min-width: 0;
496
+ }
497
+
498
+ .pname {
499
+ font-weight: var(--fw-semi);
500
+ font-size: var(--text-base);
501
+ }
502
+
503
+ .pstep {
504
+ font-size: var(--text-xs);
505
+ font-family: var(--font-mono);
506
+ color: var(--text-faint);
507
+ letter-spacing: var(--ls-wide);
508
+ }
509
+
510
+ .pdesc {
511
+ font-size: var(--text-sm);
512
+ color: var(--text-muted);
513
+ margin-top: 2px;
514
+ line-height: var(--lh-relaxed);
515
+ }
516
+
517
+ .pdesc-long {
518
+ font-size: var(--text-xs);
519
+ color: var(--text-faint);
520
+ margin-top: 2px;
521
+ }
522
+
523
+ .pdeps {
524
+ font-size: var(--text-xs);
525
+ color: var(--yellow);
526
+ margin-top: var(--sp-1);
527
+ font-weight: var(--fw-medium);
528
+ }
529
+
530
+ /* ─── Copy Command Button ─────────────────────── */
531
+ .pcmd {
532
+ font-family: var(--font-mono);
533
+ font-size: var(--text-xs);
534
+ background: var(--bg-inset);
535
+ padding: 3px var(--sp-2);
536
+ border-radius: var(--radius-sm);
537
+ cursor: pointer;
538
+ border: 1px solid var(--border);
539
+ white-space: nowrap;
540
+ align-self: center;
541
+ color: var(--text-muted);
542
+ transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
543
+ letter-spacing: var(--ls-wide);
544
+ }
545
+
546
+ .pcmd:hover {
547
+ border-color: var(--accent);
548
+ color: var(--accent);
549
+ background: var(--accent-glow);
550
+ }
551
+
552
+ .pcmd.copied {
553
+ border-color: var(--green);
554
+ color: var(--green);
555
+ background: var(--green-bg);
556
+ }
557
+
558
+ /* ─── Prompt Modal ────────────────────────────── */
559
+ .modal-overlay {
560
+ position: fixed;
561
+ inset: 0;
562
+ background: rgba(0, 0, 0, 0.6);
563
+ display: flex;
564
+ align-items: center;
565
+ justify-content: center;
566
+ z-index: 1000;
567
+ padding: var(--sp-4);
568
+ }
569
+
570
+ .modal {
571
+ background: var(--bg-card);
572
+ border: 1px solid var(--border);
573
+ border-radius: var(--radius);
574
+ box-shadow: var(--shadow-lg);
575
+ max-width: 720px;
576
+ width: 100%;
577
+ max-height: 85vh;
578
+ display: flex;
579
+ flex-direction: column;
580
+ }
581
+
582
+ .modal-header {
583
+ display: flex;
584
+ align-items: center;
585
+ gap: var(--sp-3);
586
+ padding: var(--sp-4) var(--sp-5);
587
+ border-bottom: 1px solid var(--border);
588
+ flex-shrink: 0;
589
+ }
590
+
591
+ .modal-header h3 {
592
+ font-size: var(--text-lg);
593
+ font-weight: var(--fw-semi);
594
+ flex: 1;
595
+ min-width: 0;
596
+ }
597
+
598
+ .modal-close {
599
+ background: var(--bg-inset);
600
+ border: 1px solid var(--border);
601
+ border-radius: var(--radius-sm);
602
+ padding: var(--sp-1) var(--sp-2);
603
+ cursor: pointer;
604
+ font-size: var(--text-base);
605
+ color: var(--text-muted);
606
+ line-height: 1;
607
+ transition: border-color 0.15s ease, color 0.15s ease;
608
+ }
609
+
610
+ .modal-close:hover {
611
+ border-color: var(--accent);
612
+ color: var(--accent);
613
+ }
614
+
615
+ .modal-body {
616
+ padding: var(--sp-5);
617
+ overflow-y: auto;
618
+ flex: 1;
619
+ }
620
+
621
+ .modal-body pre {
622
+ font-family: var(--font-mono);
623
+ font-size: var(--text-sm);
624
+ line-height: var(--lh-relaxed);
625
+ white-space: pre-wrap;
626
+ word-break: break-word;
627
+ color: var(--text);
628
+ }
629
+
630
+ .modal-body pre .md-heading {
631
+ font-weight: var(--fw-bold);
632
+ color: var(--accent);
633
+ }
634
+
635
+ .modal-body pre .md-code {
636
+ background: var(--bg-inset);
637
+ padding: 1px 4px;
638
+ border-radius: 3px;
639
+ font-size: var(--text-xs);
640
+ }
641
+
642
+ .modal-footer {
643
+ display: flex;
644
+ gap: var(--sp-2);
645
+ padding: var(--sp-3) var(--sp-5);
646
+ border-top: 1px solid var(--border);
647
+ flex-shrink: 0;
648
+ }
649
+
650
+ .modal-copy-btn {
651
+ background: var(--accent);
652
+ color: #fff;
653
+ border: none;
654
+ border-radius: var(--radius-sm);
655
+ padding: var(--sp-2) var(--sp-4);
656
+ font-size: var(--text-sm);
657
+ font-weight: var(--fw-medium);
658
+ cursor: pointer;
659
+ transition: background 0.15s ease;
660
+ }
661
+
662
+ .modal-copy-btn:hover {
663
+ background: var(--accent-hover);
664
+ }
665
+
666
+ .modal-copy-btn.copied {
667
+ background: var(--green);
668
+ }
669
+
670
+ /* ─── Beads Task Section ─────────────────────── */
671
+ .beads-section {
672
+ margin-top: var(--sp-8);
673
+ margin-bottom: var(--sp-6);
674
+ }
675
+
676
+ .beads-filters {
677
+ display: flex;
678
+ gap: var(--sp-2);
679
+ margin-bottom: var(--sp-3);
680
+ }
681
+
682
+ .beads-filter {
683
+ background: var(--bg-inset);
684
+ border: 1px solid var(--border);
685
+ border-radius: 99px;
686
+ padding: var(--sp-1) var(--sp-3);
687
+ font-size: var(--text-xs);
688
+ font-weight: var(--fw-medium);
689
+ color: var(--text-muted);
690
+ cursor: pointer;
691
+ transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
692
+ letter-spacing: var(--ls-wide);
693
+ }
694
+
695
+ .beads-filter:hover {
696
+ border-color: var(--accent);
697
+ color: var(--accent);
698
+ }
699
+
700
+ .beads-filter.active {
701
+ background: var(--accent);
702
+ color: #fff;
703
+ border-color: var(--accent);
704
+ }
705
+
706
+ /* ─── Beads Status Badges ────────────────────── */
707
+ .st-bead-open {
708
+ background: var(--accent-glow);
709
+ color: var(--accent);
710
+ border: 1px solid var(--accent);
711
+ }
712
+
713
+ .st-bead-progress {
714
+ background: var(--blue-bg);
715
+ color: var(--blue);
716
+ border: 1px solid var(--blue-border);
717
+ }
718
+
719
+ .st-bead-blocked {
720
+ background: var(--yellow-bg);
721
+ color: var(--yellow);
722
+ border: 1px solid var(--yellow-border);
723
+ }
724
+
725
+ .st-bead-deferred {
726
+ background: var(--gray-bg);
727
+ color: var(--gray);
728
+ border: 1px solid var(--gray-border);
729
+ }
730
+
731
+ .st-bead-closed {
732
+ background: var(--green-bg);
733
+ color: var(--green);
734
+ border: 1px solid var(--green-border);
735
+ }
736
+
737
+ /* ─── Beads Filter Separator ─────────────────── */
738
+ .beads-filter-sep {
739
+ width: 1px;
740
+ background: var(--border);
741
+ align-self: stretch;
742
+ margin: 0 var(--sp-1);
743
+ }
744
+
745
+ /* ─── Beads Priority Filter ──────────────────── */
746
+ .beads-prio-filter {
747
+ background: var(--bg-inset);
748
+ border: 1px solid var(--border);
749
+ border-radius: 99px;
750
+ padding: var(--sp-1) var(--sp-3);
751
+ font-size: var(--text-xs);
752
+ font-weight: var(--fw-medium);
753
+ color: var(--text-muted);
754
+ cursor: pointer;
755
+ transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
756
+ letter-spacing: var(--ls-wide);
757
+ }
758
+
759
+ .beads-prio-filter:hover {
760
+ border-color: var(--accent);
761
+ color: var(--accent);
762
+ }
763
+
764
+ .beads-prio-filter.active {
765
+ background: var(--accent);
766
+ color: #fff;
767
+ border-color: var(--accent);
768
+ }
769
+
770
+ /* ─── Beads Task Detail Modal ────────────────── */
771
+ .bead-meta-grid {
772
+ display: grid;
773
+ grid-template-columns: 1fr 1fr;
774
+ gap: var(--sp-3);
775
+ padding: var(--sp-4) 0;
776
+ border-bottom: 1px solid var(--border-light);
777
+ }
778
+
779
+ .bead-meta-item {
780
+ display: flex;
781
+ flex-direction: column;
782
+ gap: 2px;
783
+ }
784
+
785
+ .bead-meta-label {
786
+ font-size: var(--text-xs);
787
+ color: var(--text-faint);
788
+ text-transform: uppercase;
789
+ letter-spacing: var(--ls-wide);
790
+ font-weight: var(--fw-medium);
791
+ }
792
+
793
+ .bead-meta-value {
794
+ font-size: var(--text-sm);
795
+ font-weight: var(--fw-medium);
796
+ color: var(--text);
797
+ }
798
+
799
+ .bead-description {
800
+ padding: var(--sp-4) 0;
801
+ border-bottom: 1px solid var(--border-light);
802
+ white-space: pre-wrap;
803
+ font-size: var(--text-sm);
804
+ line-height: var(--lh-relaxed);
805
+ color: var(--text-muted);
806
+ }
807
+
808
+ .bead-deps {
809
+ padding: var(--sp-4) 0;
810
+ border-bottom: 1px solid var(--border-light);
811
+ }
812
+
813
+ .bead-dep-group {
814
+ display: flex;
815
+ flex-wrap: wrap;
816
+ align-items: center;
817
+ gap: var(--sp-2);
818
+ margin-bottom: var(--sp-2);
819
+ }
820
+
821
+ .bead-dep-group:last-child {
822
+ margin-bottom: 0;
823
+ }
824
+
825
+ .bead-dep-label {
826
+ font-size: var(--text-xs);
827
+ color: var(--text-faint);
828
+ text-transform: uppercase;
829
+ letter-spacing: var(--ls-wide);
830
+ font-weight: var(--fw-medium);
831
+ min-width: 80px;
832
+ }
833
+
834
+ .bead-dep-link {
835
+ display: inline-block;
836
+ font-family: var(--font-mono);
837
+ font-size: var(--text-xs);
838
+ padding: 2px var(--sp-2);
839
+ border-radius: 99px;
840
+ background: var(--accent-glow);
841
+ color: var(--accent);
842
+ border: 1px solid var(--accent);
843
+ cursor: pointer;
844
+ transition: background 0.15s ease, color 0.15s ease;
845
+ text-decoration: none;
846
+ }
847
+
848
+ .bead-dep-link:hover {
849
+ background: var(--accent);
850
+ color: #fff;
851
+ }
852
+
853
+ .bead-timestamps {
854
+ display: flex;
855
+ flex-wrap: wrap;
856
+ gap: var(--sp-4);
857
+ padding: var(--sp-4) 0;
858
+ }
859
+
860
+ .bead-ts-item {
861
+ display: flex;
862
+ flex-direction: column;
863
+ gap: 2px;
864
+ }
865
+
866
+ .bead-ts-label {
867
+ font-size: var(--text-xs);
868
+ color: var(--text-faint);
869
+ text-transform: uppercase;
870
+ letter-spacing: var(--ls-wide);
871
+ font-weight: var(--fw-medium);
872
+ }
873
+
874
+ .bead-ts-value {
875
+ font-size: var(--text-sm);
876
+ color: var(--text-muted);
877
+ }
878
+
879
+ .bead-ts-value[title] {
880
+ border-bottom: 1px dotted var(--text-faint);
881
+ cursor: help;
882
+ }
883
+
884
+ /* ─── Standalone Commands Section ─────────────── */
885
+ .ongoing {
886
+ margin-top: var(--sp-10);
887
+ }
888
+
889
+ .ongoing h2 {
890
+ letter-spacing: var(--ls-wide);
891
+ text-transform: uppercase;
892
+ font-size: var(--text-sm);
893
+ color: var(--text-muted);
894
+ margin-bottom: var(--sp-4);
895
+ border-bottom: 2px solid var(--border);
896
+ padding-bottom: var(--sp-2);
897
+ }
898
+
899
+ /* ─── Footer ──────────────────────────────────── */
900
+ .footer {
901
+ text-align: center;
902
+ font-size: var(--text-xs);
903
+ color: var(--text-faint);
904
+ margin-top: var(--sp-10);
905
+ padding-top: var(--sp-4);
906
+ border-top: 1px solid var(--border-light);
907
+ letter-spacing: var(--ls-wide);
908
+ }
909
+
910
+ /* ─── Utilities ───────────────────────────────── */
911
+ .hidden {
912
+ display: none;
913
+ }
914
+
915
+ /* Build-observability severity + verdict tokens (Plan 4) */
916
+ :root {
917
+ --sev-p0: #dc2626; /* red 600 */
918
+ --sev-p1: #ea580c; /* orange 600 */
919
+ --sev-p2: #ca8a04; /* yellow 600 */
920
+ --sev-p3: #2563eb; /* blue 600 */
921
+ --sev-pass: #16a34a; /* green 600 */
922
+ }
923
+ [data-theme="dark"] {
924
+ --sev-p0: #f87171;
925
+ --sev-p1: #fb923c;
926
+ --sev-p2: #facc15;
927
+ --sev-p3: #60a5fa;
928
+ --sev-pass: #4ade80;
929
+ }
930
+
931
+ /* Build-observability panel layout */
932
+ .panel {
933
+ background: var(--bg-card);
934
+ border: 1px solid var(--border);
935
+ border-radius: var(--radius);
936
+ padding: var(--sp-4) var(--sp-6);
937
+ margin-bottom: var(--sp-6);
938
+ }
939
+ .panel > header {
940
+ display: flex;
941
+ align-items: center;
942
+ gap: var(--sp-3);
943
+ margin-bottom: var(--sp-4);
944
+ flex-wrap: wrap;
945
+ }
946
+ .panel > header h2 {
947
+ margin: 0;
948
+ font-size: var(--text-base);
949
+ font-weight: var(--fw-semi);
950
+ }
951
+ .panel .meta {
952
+ color: var(--text-muted);
953
+ font-size: var(--text-sm);
954
+ }
955
+ .grid { display: grid; gap: var(--sp-4); }
956
+ .grid-2 { grid-template-columns: repeat(2, 1fr); }
957
+ @media (max-width: 640px) { .grid-2 { grid-template-columns: 1fr; } }
958
+
959
+ /* Finding filters */
960
+ .finding-filters {
961
+ display: flex;
962
+ gap: var(--sp-2);
963
+ flex-wrap: wrap;
964
+ margin-bottom: var(--sp-4);
965
+ }
966
+ .finding-filters button {
967
+ padding: var(--sp-1) var(--sp-3);
968
+ border: 1px solid var(--border);
969
+ border-radius: var(--radius-sm);
970
+ background: var(--bg-inset);
971
+ color: var(--text);
972
+ font-size: var(--text-sm);
973
+ cursor: pointer;
974
+ }
975
+ .finding-filters button:hover,
976
+ .finding-filters button.active {
977
+ background: var(--accent);
978
+ border-color: var(--accent);
979
+ color: #fff;
980
+ }
981
+
982
+ /* Findings list */
983
+ .findings {
984
+ list-style: none;
985
+ padding: 0;
986
+ margin: 0;
987
+ display: flex;
988
+ flex-direction: column;
989
+ gap: var(--sp-3);
990
+ }
991
+ .finding {
992
+ background: var(--bg-inset);
993
+ border: 1px solid var(--border-light);
994
+ border-radius: var(--radius-sm);
995
+ padding: var(--sp-3) var(--sp-4);
996
+ }
997
+ .finding header {
998
+ display: flex;
999
+ align-items: center;
1000
+ gap: var(--sp-2);
1001
+ flex-wrap: wrap;
1002
+ margin-bottom: var(--sp-2);
1003
+ }
1004
+ .finding-id {
1005
+ font-family: var(--font-mono, monospace);
1006
+ font-size: var(--text-xs);
1007
+ color: var(--text-muted);
1008
+ background: var(--bg-card);
1009
+ border: 1px solid var(--border);
1010
+ border-radius: 4px;
1011
+ padding: 1px var(--sp-1);
1012
+ }
1013
+ .finding .lens {
1014
+ font-size: var(--text-xs);
1015
+ color: var(--text-muted);
1016
+ }
1017
+ .finding .title {
1018
+ font-size: var(--text-sm);
1019
+ font-weight: var(--fw-semi);
1020
+ flex: 1;
1021
+ }
1022
+ .finding p { margin: 0; font-size: var(--text-sm); color: var(--text-muted); }
1023
+ .empty { color: var(--text-muted); font-size: var(--text-sm); text-align: center; padding: var(--sp-4); }
1024
+
1025
+ /* ── Mermaid diagrams ─────────────────────────────────────────────────────────
1026
+ The build renders mermaid to inline SVG via mmdc, then sanitizeSvg() +
1027
+ rehype-sanitize strip the SVG's own <script>, <foreignObject>, AND <style>
1028
+ for security. Stripping <style> means the diagram arrives unstyled (nodes
1029
+ default to a black fill). These theme-token rules restyle the SVG so nodes,
1030
+ edges, arrowheads, and labels render correctly — and follow light/dark mode.
1031
+ Authors must render with htmlLabels:false (the generator forces this) so node
1032
+ labels are native <text>/<tspan> rather than stripped <foreignObject> HTML. */
1033
+ figure.mermaid { margin: var(--sp-5) 0; text-align: center; }
1034
+ figure.mermaid svg { max-width: 100%; height: auto; }
1035
+ /* Node shapes */
1036
+ figure.mermaid svg .node rect,
1037
+ figure.mermaid svg .node circle,
1038
+ figure.mermaid svg .node ellipse,
1039
+ figure.mermaid svg .node polygon,
1040
+ figure.mermaid svg .node path {
1041
+ fill: var(--bg-inset);
1042
+ stroke: var(--border);
1043
+ stroke-width: 1px;
1044
+ }
1045
+ /* Background helper rects mermaid emits behind labels */
1046
+ figure.mermaid svg .node .label-container { fill: var(--bg-inset); stroke: var(--border); }
1047
+ figure.mermaid svg rect.background { fill: none; stroke: none; }
1048
+ /* Labels (rendered as <text>/<tspan> when htmlLabels:false) */
1049
+ figure.mermaid svg .nodeLabel,
1050
+ figure.mermaid svg .node text,
1051
+ figure.mermaid svg text.nodeLabel,
1052
+ figure.mermaid svg .label text,
1053
+ figure.mermaid svg span.nodeLabel {
1054
+ fill: var(--text);
1055
+ color: var(--text);
1056
+ font-family: var(--font-sans);
1057
+ }
1058
+ /* Edges: thin strokes, not filled blobs */
1059
+ figure.mermaid svg .edgePath path,
1060
+ figure.mermaid svg path.flowchart-link,
1061
+ figure.mermaid svg .flowchart-link {
1062
+ fill: none;
1063
+ stroke: var(--text-faint);
1064
+ stroke-width: 1.5px;
1065
+ }
1066
+ /* Arrowheads */
1067
+ figure.mermaid svg marker path,
1068
+ figure.mermaid svg .marker {
1069
+ fill: var(--text-faint);
1070
+ stroke: var(--text-faint);
1071
+ }
1072
+ figure.mermaid svg .edgeLabel,
1073
+ figure.mermaid svg .edgeLabel text { fill: var(--text-muted); color: var(--text-muted); }