@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,248 @@
1
+ ---
2
+ title: The Code-Review Workflow
3
+ topic: review-workflow
4
+ description: When and how to run multi-model review — entry points, input modes, verdicts, the round limit, and degraded mode
5
+ category: workflows
6
+ order: 30
7
+ ---
8
+
9
+ ## What this guide covers
10
+
11
+ This is the **workflow** around multi-model review: *when* to review, *which*
12
+ entry point to reach for, *which* input mode matches your target, how to read
13
+ the verdict, and how the fix loop is bounded. It does **not** re-explain the
14
+ review engine itself — channels, reconciliation, the `finding_key`, the verdict
15
+ algorithm, and `.mmr.yaml` all live in the [MMR reference](../mmr/index.md).
16
+ Read that guide for "what is a channel"; read this one for "I have a change, now
17
+ what do I run."
18
+
19
+ :::callout{type=tip}
20
+ **Two layers.** `mmr review` is the engine. `scaffold run review-pr` and
21
+ `review-code` are *workflow wrappers* on top — they pick the input mode, add the
22
+ Superpowers code-reviewer agent channel via `mmr reconcile`, handle auth
23
+ recovery, and bound the fix loop. `post-implementation-review` is a separate,
24
+ release-time full-codebase review with its own flow (see Step 1). This guide is
25
+ about driving those entry points; the engine details are in
26
+ [the MMR reference](../mmr/index.md).
27
+ :::
28
+
29
+ ## Step 1 — Pick the entry point
30
+
31
+ Two of these are wrappers over `mmr review` — `review-pr` and `review-code` —
32
+ sharing the same engine and verdict semantics, differing in *scope* and *what
33
+ they synthesize*. `post-implementation-review` is **not** a `mmr review` wrapper:
34
+ it's an independent release-time review of the whole codebase that runs its own
35
+ channel flow and writes its own report under `docs/reviews/`, with MMR
36
+ reconciliation only as an optional add-on. Consult its own doc for specifics.
37
+
38
+ ```mermaid
39
+ flowchart TD
40
+ Q{What are you reviewing?} --> A[An open PR]
41
+ Q --> B[Local changes
42
+ before commit/push]
43
+ Q --> C[The whole codebase
44
+ after all tasks land]
45
+ A --> AR["scaffold run review-pr
46
+ (mmr review --pr N)"]
47
+ B --> BR["scaffold run review-code
48
+ (synthesized delivery candidate)"]
49
+ C --> CR["scaffold run post-implementation-review
50
+ (two-phase: systemic + per-story)"]
51
+ ```
52
+
53
+ | Entry point | Target | Notes |
54
+ | --- | --- | --- |
55
+ | `scaffold run review-pr` | One PR (`--pr N`, auto-detected from the branch) | **MMR wrapper.** Adds auth checks, the Superpowers agent channel, the per-finding round bookkeeping, an opt-in Beads bridge over a bare `mmr review`. |
56
+ | `scaffold run review-code` | Local pre-push: committed branch diff + staged + unstaged, as one synthesized "delivery candidate" | **MMR wrapper.** Adds the same agent channel + round bounding, plus file & standards context for the file-blind CLIs. **Untracked files are not covered.** |
57
+ | `scaffold run post-implementation-review` | The full implemented codebase against stories + standards | **Independent, not an MMR wrapper.** A release-time review (systemic sweep + per-story functional review via parallel agents) with its own report under `docs/reviews/`; MMR injection is optional. Consult its own doc. |
58
+
59
+ :::callout{type=note}
60
+ **The mandatory one.** After `gh pr create`, running `review-pr` is mandatory
61
+ before moving to the next task (a PostToolUse hook reminds you).
62
+ `review-code` is the recommended preflight before a push but isn't gated.
63
+ `post-implementation-review` is a release-time sweep, not a per-change gate.
64
+ :::
65
+
66
+ ### When no wrapper fits
67
+
68
+ The wrappers are conveniences, not gates on the engine. For any target a wrapper
69
+ doesn't cover — a branch range, an existing patch file, a single doc — call
70
+ `mmr review` directly with the matching input flag. The
71
+ [MMR reference](../mmr/index.md) lists every flag; the next step is the workflow
72
+ view of the same choice.
73
+
74
+ ## Step 2 — Choose the input mode
75
+
76
+ `mmr review` resolves a diff from exactly one input source. Pick the one that
77
+ describes your target. The `--diff -` (stdin) form is the universal escape hatch:
78
+ anything you can express as a unified diff, you can pipe in.
79
+
80
+ ```mermaid
81
+ flowchart TD
82
+ S{Where is the change?} --> PR[On a GitHub PR]
83
+ S --> ST[Staged in the index]
84
+ S --> BR[A branch, vs a base]
85
+ S --> DC[Local working tree:
86
+ committed + staged + unstaged]
87
+ S --> UF[A brand-new file
88
+ git doesn't track yet]
89
+ PR --> PRc["mmr review --pr N"]
90
+ ST --> STc["mmr review --staged"]
91
+ BR --> BRc["mmr review --base main --head BRANCH"]
92
+ DC --> DCc["git diff MERGE_BASE | mmr review --diff -
93
+ (this is what review-code synthesizes)"]
94
+ UF --> UFc["(diff -u /dev/null FILE || true) | mmr review --diff -"]
95
+ ```
96
+
97
+ | Target | Command | Notes |
98
+ | --- | --- | --- |
99
+ | A PR | `mmr review --pr 123` | Fetches the diff via `gh pr diff`. This is `review-pr`'s mode. |
100
+ | Staged changes | `mmr review --staged` | Just the index (`git diff --cached`) — the pre-commit slice. |
101
+ | A branch range | `mmr review --base main --head "$BRANCH"` | Committed work only; no staged/unstaged. |
102
+ | Full delivery candidate | `git diff "$MERGE_BASE" \| mmr review --diff -` | Committed branch diff + staged + unstaged in one patch. `review-code` synthesizes this for you. |
103
+ | A single tracked file's pending edits | `git diff HEAD -- path/file.ts \| mmr review --diff -` | Fails with "no diff content" if the file has no local changes — use the next row. |
104
+ | A brand-new / untracked file | `(diff -u /dev/null path/file.ts \|\| true) \| mmr review --diff -` | Synthesizes an "all-added" diff from current contents. |
105
+ | An existing patch | `mmr review --diff path/changes.patch` | Reads diff-format content directly. |
106
+
107
+ :::callout{type=danger}
108
+ **Untracked files are silently skipped — this is the trap.** `review-code`
109
+ reviews the committed branch diff plus staged and unstaged changes *to tracked
110
+ files*. A brand-new file you've never `git add`-ed is **not** in any of those
111
+ diffs, so it sails through review with zero findings — not because it's clean,
112
+ but because no channel ever saw it. To review a new file, pipe it in explicitly:
113
+ `(diff -u /dev/null path/to/new-file.ts || true) | mmr review --diff -`. The
114
+ `|| true` guard is required: `diff` exits non-zero whenever files differ, which
115
+ would otherwise kill the pipeline under `set -o pipefail`. The wrappers cannot
116
+ guess which untracked files you meant to include
117
+ :cite[content/tools/review-code.md:37].
118
+ :::
119
+
120
+ The `--diff` flag expects **diff-format content** — a path to a `.patch`/`.diff`
121
+ file, or `-` for stdin. It does not accept raw document text; wrap the target in
122
+ a diff first.
123
+
124
+ ## Step 3 — Read the verdict, then act
125
+
126
+ Every review collapses to exactly one of four verdicts. The verdict, not the raw
127
+ findings, is what decides whether you proceed. The
128
+ [MMR reference](../mmr/index.md) defines the gate, the severity tiers, and the
129
+ exact derivation algorithm; this table is the *action* you take for each outcome.
130
+
131
+ | Verdict | Exit | Do |
132
+ | --- | --- | --- |
133
+ | `pass` | 0 | **Proceed** — merge / push / next task. |
134
+ | `degraded-pass` | 0 | **Proceed**, noting reduced coverage. The max achievable verdict once any channel was compensated. |
135
+ | `blocked` | 2 | **Stop.** Fix the blocking findings (Step 4), then re-review. Do not merge. |
136
+ | `needs-user-decision` | 3 | **Stop and surface to the user.** Automated iteration can't resolve this. |
137
+
138
+ A review is `blocked` when any unacknowledged finding sits at or above the fix
139
+ threshold (:sev[P2]{level=p2} by default; override per-run with
140
+ `--fix-threshold`). See the [MMR reference](../mmr/index.md) for how the verdict
141
+ is derived from gate result + channel health.
142
+
143
+ :::callout{type=warning}
144
+ **Proceed only on `pass` or `degraded-pass`.** On `blocked` or
145
+ `needs-user-decision`, never merge automatically — surface the verdict and the
146
+ remaining findings to the user. The wrappers enforce this: a `blocked` /
147
+ `needs-user-decision` outcome takes the "Stop path" and does **not** print the
148
+ ready-for-merge message :cite[content/tools/review-pr.md:610].
149
+ :::
150
+
151
+ ## Step 4 — Fix the blocking findings (bounded)
152
+
153
+ When the verdict is `blocked`, the loop is: fix the findings at or above the
154
+ threshold → re-review → repeat. The guard rail is that this loop is **bounded
155
+ per finding**, so a finding the model can't actually fix doesn't trap you in an
156
+ infinite cycle.
157
+
158
+ ### The 3-round-per-finding limit
159
+
160
+ The limit is **3 attempts per finding**, not 3 rounds total. Each round that
161
+ surfaces *genuinely new* findings is healthy iteration — keep going. The loop
162
+ stops only when one specific finding has been attempted three times without
163
+ resolution.
164
+
165
+ A "finding" here is its **stable identity**, not its wording, so a re-worded
166
+ report of the same defect still counts against the same finding. (The
167
+ [MMR reference](../mmr/index.md) covers how that identity is computed.) Co-equal
168
+ stop conditions:
169
+
170
+ - A finding's identity reaches 3 recorded attempts.
171
+ - The same underlying defect recurs across 3 rounds even if the reviewer's
172
+ wording produces a new identity each time.
173
+ - Channels genuinely contradict each other (→ `needs-user-decision`).
174
+ - The user explicitly asks to stop.
175
+
176
+ When you stop, **do not merge**. Document each unresolved finding (severity,
177
+ location, attempt count) and hand the decision to the user
178
+ :cite[content/tools/review-pr.md:610].
179
+
180
+ ### Where the bookkeeping lives today
181
+
182
+ The engine ships **native** multi-round sessions — `mmr review --session <id>
183
+ --round N --max-rounds M` :cite[packages/mmr/src/commands/review.ts:289] — and a
184
+ stable, line-number-independent `finding_key`
185
+ :cite[packages/mmr/src/core/stable-id.ts:115]. (See the
186
+ [MMR reference](../mmr/index.md) for how that key collapses the same issue at
187
+ different severities.)
188
+
189
+ The scaffold **wrappers** have not yet migrated to native sessions. Until they
190
+ do, `review-pr` and `review-code` enforce the 3-strike rule with their own
191
+ bookkeeping: a per-session attempts file at
192
+ `.scaffold/review-attempts/<session-id>.json`. Each fix round computes a hash
193
+ over the same four identity components, increments that finding's counter, and
194
+ the `_review_at_strike_limit` helper blocks once it hits 3
195
+ :cite[content/tools/review-pr.md:468]. The wrapper hash deliberately mirrors the
196
+ engine's `finding_key` components, so the eventual swap to
197
+ `mmr review --session` is a clean migration rather than a re-think.
198
+
199
+ :::callout{type=note}
200
+ **Practical takeaway.** You drive the fix loop through the wrapper; the attempts
201
+ file under `.scaffold/review-attempts/` is the current source of truth for the
202
+ strike count. For a very noisy loop you may narrow the gate for one run with
203
+ `--fix-threshold P1` — but don't permanently lower the project default (P2).
204
+ :::
205
+
206
+ ## Step 5 — Handle degraded mode
207
+
208
+ A review never silently runs with fewer reviewers. A channel is *degraded* when
209
+ its binary isn't installed, auth fails, it times out, or it errors out. The
210
+ workflow's response is to **compensate and tell you how to recover**, then cap
211
+ the verdict at `degraded-pass`. The mechanics — how compensation runs and the
212
+ per-channel auth checks — live in the [MMR reference](../mmr/index.md); below is
213
+ what it means for *your* workflow.
214
+
215
+ - **Compensating pass.** For each degraded *external* channel, MMR runs a
216
+ compensating pass focused on that channel's strength area and records the
217
+ source as `compensating-<channel>` :cite[packages/mmr/src/core/compensator.ts:162].
218
+ The compensator defaults to `claude -p` unless `defaults.compensator.channel`
219
+ overrides it :cite[packages/mmr/src/core/compensator.ts:74]. These findings
220
+ are single-source, low confidence. With the default compensator, a missing
221
+ Claude CLI has no compensator of its own. (The bracket labels like
222
+ `[compensating: Grok-equivalent]` you'll see are the *manual fallback* summary
223
+ wording, distinct from the engine's `compensating-<channel>` source name.)
224
+ - **Auth recovery is never silent.** The workflow surfaces the exact recovery
225
+ command for the failed channel; the channel's `recovery` string drives this
226
+ :cite[packages/mmr/src/core/auth.ts:65]. See the
227
+ [MMR reference](../mmr/index.md) for the per-channel auth-check + recovery
228
+ table.
229
+
230
+ :::callout{type=warning}
231
+ **Foreground only.** When the `mmr` CLI is unavailable and a wrapper falls back
232
+ to invoking Codex / Gemini / Claude / Grok directly, run them as **foreground**
233
+ Bash calls — never with `run_in_background`, `&`, or `nohup`. Background
234
+ execution produces empty output, which the parser then reads as a degraded
235
+ channel :cite[content/tools/review-code.md:265].
236
+ :::
237
+
238
+ Once any channel was compensated, the best possible verdict is
239
+ `degraded-pass` — full `pass` requires all channels to have completed for real.
240
+
241
+ ## See also
242
+
243
+ - [MMR reference](../mmr/index.md){mode=advisory} — channels, reconciliation,
244
+ the `finding_key`, verdict internals, and `.mmr.yaml`.
245
+ - The wrapper meta-prompts themselves:
246
+ :cite[content/tools/review-pr.md:15]{mode=advisory},
247
+ :cite[content/tools/review-code.md:16]{mode=advisory}, and
248
+ :cite[content/tools/post-implementation-review.md:16]{mode=advisory}.
@@ -0,0 +1 @@
1
+ 0.1.0
@@ -2,6 +2,14 @@
2
2
  name: backend-api-design
3
3
  description: REST maturity levels, GraphQL schema-first design, gRPC protobuf conventions, tRPC router patterns, API versioning strategies, pagination, and filtering
4
4
  topics: [backend, api-design, rest, graphql, grpc, trpc, versioning, pagination]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://spec.openapis.org/oas/latest.html
10
+ - url: https://spec.graphql.org/
11
+ - url: https://www.rfc-editor.org/rfc/rfc9110.html
12
+ - url: https://martinfowler.com/articles/richardsonMaturityModel.html
5
13
  ---
6
14
 
7
15
  API design is a long-lived contract. Every structural decision — URL shape, error format, pagination scheme, versioning strategy — is expensive to change after consumers depend on it. Design APIs from the consumer's perspective first. The best API is one where new developers can predict the shape of an endpoint they have never seen before, because every other endpoint follows the same patterns.
@@ -2,6 +2,14 @@
2
2
  name: backend-architecture
3
3
  description: Monolith vs microservices decision framework, layered architecture patterns, CQRS, event sourcing, hexagonal architecture, and service mesh considerations
4
4
  topics: [backend, architecture, microservices, monolith, cqrs, event-sourcing, hexagonal, clean-architecture]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://microservices.io/patterns/
10
+ - url: https://martinfowler.com/bliki/CQRS.html
11
+ - url: https://martinfowler.com/eaaDev/EventSourcing.html
12
+ - url: https://martinfowler.com/bliki/MonolithFirst.html
5
13
  ---
6
14
 
7
15
  Backend architecture is the set of structural decisions that determine how the system scales, how teams work independently, and how expensive future changes will be. The single most common backend architecture mistake is choosing microservices before the problem demands them. Start with the simplest architecture that solves the current problem, and evolve to complexity only when specific pain points — not hypothetical future ones — force the change.
@@ -2,6 +2,13 @@
2
2
  name: backend-async-patterns
3
3
  description: Message queue patterns, event-driven architecture, saga patterns, retry strategies, and idempotency keys
4
4
  topics: [backend, async, message-queues, event-driven, saga, retry, idempotency, cqrs]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://microservices.io/patterns/data/saga.html
10
+ - url: https://martinfowler.com/articles/patterns-of-distributed-systems/
11
+ - url: https://sre.google/sre-book/handling-overload/
5
12
  ---
6
13
 
7
14
  Asynchronous patterns decouple services in time and space, enabling systems to absorb load spikes, survive partial failures, and scale independently — but they introduce delivery guarantees and consistency tradeoffs that must be designed for explicitly from the start.
@@ -2,6 +2,15 @@
2
2
  name: backend-auth-patterns
3
3
  description: JWT lifecycle, OAuth2 authorization code flow, API key management, and service-to-service authentication
4
4
  topics: [backend, auth, jwt, oauth2, api-keys, mtls, security]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://www.rfc-editor.org/rfc/rfc6749
10
+ - url: https://www.rfc-editor.org/rfc/rfc7519
11
+ - url: https://www.rfc-editor.org/rfc/rfc7636
12
+ - url: https://openid.net/specs/openid-connect-core-1_0.html
13
+ - url: https://owasp.org/www-project-api-security/
5
14
  ---
6
15
 
7
16
  Authentication and authorization are the first line of defense for any backend service — mistakes here compromise the entire system, making it essential to use proven patterns like JWTs with rotation, OAuth2 with PKCE, and workload identity from the start.
@@ -2,6 +2,12 @@
2
2
  name: backend-conventions
3
3
  description: Service and handler naming conventions, structured error handling patterns, structured logging with correlation IDs, and file organization standards for backend codebases
4
4
  topics: [backend, conventions, error-handling, logging, naming, file-organization]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://google.github.io/styleguide/
10
+ - url: https://martinfowler.com/tags/clean%20code.html
5
11
  ---
6
12
 
7
13
  Consistent conventions in a backend codebase reduce cognitive load, make code reviewable at a glance, and prevent entire classes of bugs. Naming, error handling, and logging are the three highest-leverage areas — they touch every layer of the stack and every engineer on the team. Establish these conventions before the first PR, codify them in linting rules where possible, and treat violations as blocking review comments.
@@ -2,6 +2,13 @@
2
2
  name: backend-data-modeling
3
3
  description: Relational vs document modeling tradeoffs, migration strategies, connection pooling, ORM vs query builder tradeoffs, multi-tenancy patterns, and eventual consistency
4
4
  topics: [backend, data-modeling, database, migrations, orm, multi-tenancy, eventual-consistency, connection-pooling]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://www.postgresql.org/docs/current/
10
+ - url: https://martinfowler.com/articles/evodb.html
11
+ - url: https://microservices.io/patterns/data/database-per-service.html
5
12
  ---
6
13
 
7
14
  Data modeling decisions have the highest reversal cost of any backend choice. A schema design that seemed reasonable at launch can become an operational crisis at scale — queries that worked at 10,000 rows fail at 100 million. The goal is to match the data model to the access patterns of the application, not to normalize for its own sake or to denormalize prematurely. Design the schema with the queries in mind from day one.
@@ -2,6 +2,14 @@
2
2
  name: backend-deployment
3
3
  description: Containerization best practices, serverless patterns, health check endpoints, graceful shutdown, and deployment strategies
4
4
  topics: [backend, deployment, docker, serverless, health-checks, graceful-shutdown, blue-green, canary]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://martinfowler.com/bliki/BlueGreenDeployment.html
10
+ - url: https://martinfowler.com/bliki/CanaryRelease.html
11
+ - url: https://sre.google/sre-book/release-engineering/
12
+ - url: https://docs.aws.amazon.com/whitepapers/latest/overview-deployment-options/welcome.html
5
13
  ---
6
14
 
7
15
  Deployment reliability is a multiplier on every other engineering investment — a well-written service that deploys poorly will cause more incidents than a mediocre service that deploys safely and rolls back cleanly.
@@ -2,6 +2,11 @@
2
2
  name: backend-dev-environment
3
3
  description: Docker Compose for local databases and queues, database seeding and migration scripts, API testing tools, environment variable management, and local SSL setup
4
4
  topics: [backend, dev-environment, docker, migrations, testing, environment-variables]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://www.postgresql.org/docs/current/
5
10
  ---
6
11
 
7
12
  A backend development environment that requires manual setup steps is a productivity drain and an onboarding failure. The standard should be: clone the repo, run one command, and have a fully functional local environment in under five minutes. Docker Compose is the primary tool for achieving this — it pins the exact versions of every external dependency and makes the environment reproducible across all developer machines.
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-broker-integration
3
3
  description: Multi-broker adapter pattern; credential rotation; error harmonization; rate-limit management; broker-side quirks.
4
4
  topics: [backend, fintech, brokers, integration, adapter-pattern, rate-limits, credentials, retry]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://microservices.io/patterns/reliability/circuit-breaker.html
10
+ - url: https://martinfowler.com/bliki/CircuitBreaker.html
5
11
  ---
6
12
 
7
13
  A fintech backend that routes orders or reads positions across more than one broker inherits the union of every broker's quirks, outages, auth schemes, and undocumented behaviors. The broker-integration layer exists to hide that mess behind one normalized internal contract so the rest of the system — risk, order lifecycle, ledger, UI — can stay clean. This doc covers the adapter contract, credential handling, error harmonization, rate-limit strategy, and the specific pitfalls that recur regardless of which brokers you connect.
@@ -2,13 +2,21 @@
2
2
  name: backend-fintech-compliance
3
3
  description: PCI-DSS, SOC 2, SEC/FINRA regulations for consumer/B2B fintech backends; audit trail immutability; data retention; segregation of duties.
4
4
  topics: [backend, fintech, compliance, pci-dss, soc2, sec, finra, audit-trail, gdpr]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: 'PCI-DSS v4.0.1'
8
+ sources:
9
+ - url: https://www.pcisecuritystandards.org/document_library/
10
+ - url: https://www.aicpa-cima.com/topic/audit-assurance
11
+ - url: https://www.finra.org/rules-guidance/rulebooks/finra-rules
12
+ - url: https://eur-lex.europa.eu/eli/reg/2016/679/oj
5
13
  ---
6
14
 
7
15
  Fintech compliance is not a checklist applied at the end — it determines schema design, deployment pipelines, and system boundaries. Most regulations apply based on what a service *touches* (cards, trades, PII), so scope reduction is the single highest-leverage design decision available to engineering. This doc covers the regulatory regimes a typical US/EU fintech encounters, the audit-trail patterns they demand, and concrete implementation choices that keep audits survivable.
8
16
 
9
17
  ## Summary
10
18
 
11
- Which regulations apply depends on what the service handles. Handling card data (PAN, CVV, track data) triggers PCI-DSS v4.0. Storing customer PII, financial records, or operating as a service provider to regulated firms triggers SOC 2 Type II expectations from customers and GLBA obligations (US financial privacy). Executing securities trades or routing orders triggers SEC Rule 17a-4 record retention and FINRA supervisory requirements. Operating in the EU triggers GDPR and — for crypto — MiCA. Serving retail vs institutional customers changes consumer-protection obligations (Reg Z, Reg E, CFPB oversight vs institutional carve-outs).
19
+ Which regulations apply depends on what the service handles. Handling card data (PAN, CVV, track data) triggers PCI-DSS v4.0.1. Storing customer PII, financial records, or operating as a service provider to regulated firms triggers SOC 2 Type II expectations from customers and GLBA obligations (US financial privacy). Executing securities trades or routing orders triggers SEC Rule 17a-4 record retention and FINRA supervisory requirements. Operating in the EU triggers GDPR and — for crypto — MiCA. Serving retail vs institutional customers changes consumer-protection obligations (Reg Z, Reg E, CFPB oversight vs institutional carve-outs).
12
20
 
13
21
  Compliance cost scales with scope, not with traffic. A service that never sees raw PANs is *out of scope* for most PCI-DSS controls. A microservice that only handles trade metadata (not orders themselves) may be out of the SEC 17a-4 retention perimeter. Practical scope-reduction strategies: tokenize at the edge (Stripe, Marqeta, Basis Theory) so internal services only ever see tokens; keep regulated datastores (ledger, order book, card vault) in dedicated VPCs with narrow IAM; route regulated-data logs to a separate SIEM stream so the main observability stack stays out of scope; design SDK boundaries where PII-sensitive fields are never emitted to general-purpose workers.
14
22
 
@@ -22,7 +30,7 @@ Encryption is assumed baseline: TLS 1.2+ in transit (1.3 preferred), AES-256 at
22
30
 
23
31
  ### PCI-DSS Scoping and Tokenization
24
32
 
25
- PCI-DSS v4.0 applies to any system that stores, processes, or transmits cardholder data (CHD) — the Primary Account Number (PAN), cardholder name, expiration date, service code — or sensitive authentication data (full track, CVV, PIN). The cost of compliance is roughly quadratic in the scope of the "cardholder data environment" (CDE): every service inside the CDE needs quarterly ASV scans, annual penetration tests, hardened configurations, FIM, and quarterly access reviews.
33
+ PCI-DSS v4.0.1 applies to any system that stores, processes, or transmits cardholder data (CHD) — the Primary Account Number (PAN), cardholder name, expiration date, service code — or sensitive authentication data (full track, CVV, PIN). The cost of compliance is roughly quadratic in the scope of the "cardholder data environment" (CDE): every service inside the CDE needs quarterly ASV scans, annual penetration tests, hardened configurations, FIM, and quarterly access reviews.
26
34
 
27
35
  **Scope reduction via tokenization** is the dominant pattern. Instead of your application receiving raw PANs, the card is submitted directly from the browser/mobile app to a tokenization provider (Stripe Elements, Braintree Hosted Fields, Marqeta, Basis Theory, Very Good Security) which returns an opaque token. Your backend stores only the token. The card vault is the provider's CDE; your systems are *SAQ A* eligible (the lightest form).
28
36
 
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-data-modeling
3
3
  description: Financial data models; currency handling; decimal precision; positions, trades, prices; time-series designs.
4
4
  topics: [backend, fintech, data-modeling, decimal, currency, time-series, positions, trades]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://www.postgresql.org/docs/current/datatype-numeric.html
10
+ - url: https://www.iso.org/iso-4217-currency-codes.html
5
11
  ---
6
12
 
7
13
  Financial data modeling is where most fintech bugs are born: a float creeps into a money field, a currency is implied instead of stored, a tick table grows unbounded, or a `current_position` column drifts from the journal. This doc covers the non-negotiable shapes of money, quantity, and price data, and the time-series and derived-view patterns that keep a trading or banking system honest at scale.
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-ledger
3
3
  description: Double-entry accounting for fintech ledgers; journal vs ledger tables; idempotent posting; reconciliation patterns; balance invariants.
4
4
  topics: [backend, fintech, ledger, double-entry, accounting, reconciliation, idempotency, invariants]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://martinfowler.com/eaaCatalog/
10
+ - url: https://www.postgresql.org/docs/current/ddl-constraints.html
5
11
  ---
6
12
 
7
13
  A fintech ledger is the authoritative record of money movement; if it is wrong, nothing else in the system can be trusted. The discipline is borrowed intact from 700 years of double-entry bookkeeping — not a new invention, and not negotiable. This doc covers the invariants, schema shape, idempotent posting mechanics, and reconciliation patterns that keep a ledger survivable at production scale.
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-observability
3
3
  description: Trade event correlation; market-hours aware scheduling; SLOs for fintech systems; compliance logging; alerting strategy.
4
4
  topics: [backend, fintech, observability, tracing, slos, alerting, correlation-id, market-hours]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://opentelemetry.io/docs/
10
+ - url: https://sre.google/sre-book/service-level-objectives/
5
11
  ---
6
12
 
7
13
  Observability for a trading system is not generic APM with a finance skin — it is the ability to reconstruct any single order, end to end, across six or more services, on demand, years later, with timezone-correct timestamps and a stable correlation identifier. It is also the early-warning system that catches a sudden drop in fill rate at 09:31 ET before the desk calls. Done well it overlaps with — but does not replace — the immutable audit trail (`backend-fintech-compliance.md`).
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-order-lifecycle
3
3
  description: Order state machine; fills, partial fills, cancellation; event-driven order tracking; idempotency; handling "unknown" states.
4
4
  topics: [backend, fintech, orders, state-machine, fills, partial-fills, event-driven, webhooks]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://microservices.io/patterns/data/saga.html
10
+ - url: https://martinfowler.com/articles/patterns-of-distributed-systems/
5
11
  ---
6
12
 
7
13
  Orders in a trading system are long-lived, asynchronous, externally mutated objects — the exact shape of problem a disciplined state machine is built for. This doc covers the canonical states and transitions, how fills and partial fills land, why "unknown" is a real state you cannot wish away, and the reconciliation posture that keeps internal bookkeeping aligned with the broker of record.
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-risk-management
3
3
  description: Position limits, drawdown caps, circuit breakers, kill switches; pre-trade and post-trade risk checks; operational risk controls.
4
4
  topics: [backend, fintech, risk, position-limits, drawdown, circuit-breakers, kill-switch, pre-trade-checks]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://martinfowler.com/bliki/CircuitBreaker.html
10
+ - url: https://microservices.io/patterns/reliability/circuit-breaker.html
5
11
  ---
6
12
 
7
13
  Risk management in a trading system is the set of controls that stops a bad day from becoming a catastrophic one. It lives in two places: *before* an order goes to the broker (pre-trade checks that block) and *after* fills land (post-trade monitoring that alerts, throttles, or halts). Neither half is optional, and both are exercised continuously, not just during incidents.
@@ -2,6 +2,12 @@
2
2
  name: backend-fintech-testing
3
3
  description: Deterministic backtests; financial-accuracy tests; broker sandbox testing; regulatory edge-case coverage.
4
4
  topics: [backend, fintech, testing, determinism, backtesting, sandbox, accuracy, property-based]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://docs.pact.io/
10
+ - url: https://martinfowler.com/articles/practical-test-pyramid.html
5
11
  ---
6
12
 
7
13
  Fintech tests have unusual requirements: bit-exact numeric accuracy, full determinism across runs and hosts, rich regulatory edge-case coverage, and realistic multi-session flows that span market-hours boundaries. A flakey fintech test is worse than no test — it hides the exact race conditions that cause real money to move incorrectly. This doc covers the patterns that keep backtests reproducible, numeric tests honest, broker integrations verifiable, and regulatory behavior exercised before it becomes an incident.
@@ -2,6 +2,13 @@
2
2
  name: backend-observability
3
3
  description: Structured logging, distributed tracing, RED method metrics, SLO-based alerting, and operational dashboards
4
4
  topics: [backend, observability, logging, tracing, metrics, alerting, opentelemetry, slo]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://opentelemetry.io/docs/
10
+ - url: https://sre.google/sre-book/service-level-objectives/
11
+ - url: https://sre.google/sre-book/monitoring-distributed-systems/
5
12
  ---
6
13
 
7
14
  Observability is the ability to answer arbitrary questions about a system's behavior using its outputs alone — without deploying new code. Investing in structured logging, distributed tracing, and SLO-based alerting before the first incident makes the difference between a 5-minute diagnosis and a 5-hour outage.
@@ -2,6 +2,12 @@
2
2
  name: backend-project-structure
3
3
  description: Canonical directory layout for backend services — routes/controllers, services, models/repositories, middleware, utils, config resolution, and dependency injection patterns
4
4
  topics: [backend, project-structure, architecture, dependency-injection, layers]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://martinfowler.com/eaaCatalog/
10
+ - url: https://martinfowler.com/articles/injection.html
5
11
  ---
6
12
 
7
13
  A well-organized backend project is readable to a new engineer in minutes. The directory layout should communicate the architecture: which layer owns which responsibility, where to add a new feature, and where to find any piece of behavior. The most common structural failure is mixing concerns — business logic in controllers, database calls in services, HTTP parsing in repositories. Enforce boundaries through structure first, tooling second.
@@ -2,6 +2,12 @@
2
2
  name: backend-requirements
3
3
  description: API-first design principles, SLA requirements (latency p99, uptime, throughput), scalability targets, backwards compatibility commitments, and API versioning strategy
4
4
  topics: [backend, requirements, sla, api, versioning, scalability, performance]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://spec.openapis.org/oas/latest.html
10
+ - url: https://sre.google/sre-book/service-level-objectives/
5
11
  ---
6
12
 
7
13
  Backend requirements are the contract the service makes with its consumers — other teams, external developers, and end users. Setting explicit SLAs, versioning policies, and scalability targets before any code is written eliminates the most expensive class of late-breaking architectural changes. A backend that surprises its callers with latency spikes or breaking changes destroys trust and creates cascading toil.
@@ -2,6 +2,13 @@
2
2
  name: backend-security
3
3
  description: Input validation, SQL injection prevention, rate limiting, OWASP API Security Top 10, secrets management, and dependency auditing
4
4
  topics: [backend, security, validation, sql-injection, rate-limiting, owasp, secrets]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://owasp.org/www-project-api-security/
10
+ - url: https://owasp.org/www-project-top-ten/
11
+ - url: https://owasp.org/www-project-cheat-sheets/
5
12
  ---
6
13
 
7
14
  Security vulnerabilities in backend services are disproportionately expensive to fix after launch — building in input validation, injection prevention, rate limiting, and secrets hygiene from the start is always cheaper than retrofitting them under pressure after a breach.
@@ -2,6 +2,13 @@
2
2
  name: backend-testing
3
3
  description: API integration tests, contract testing, database testing patterns, mocking external services, and load testing
4
4
  topics: [backend, testing, integration-tests, contract-testing, database-testing, mocking, load-testing]
5
+ volatility: stable
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://docs.pact.io/
10
+ - url: https://martinfowler.com/articles/practical-test-pyramid.html
11
+ - url: https://martinfowler.com/bliki/ContractTest.html
5
12
  ---
6
13
 
7
14
  Backend testing strategy determines how much confidence you have before every deploy — a well-layered test suite catches regressions at the fastest possible feedback loop while still exercising the real data layer and honoring API contracts with consumers.
@@ -2,6 +2,12 @@
2
2
  name: backend-worker-patterns
3
3
  description: Background job frameworks, cron scheduling, event consumers, dead letter queues, retry strategies, and graceful shutdown for workers
4
4
  topics: [backend, workers, bullmq, celery, temporal, cron, background-jobs, dlq]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: null
8
+ sources:
9
+ - url: https://microservices.io/patterns/data/transactional-outbox.html
10
+ - url: https://sre.google/sre-book/handling-overload/
5
11
  ---
6
12
 
7
13
  Background workers offload time-consuming and deferred work from the request path, but they introduce their own failure modes — jobs that silently vanish, duplicate executions, and unclean shutdowns during deploys all require deliberate design to prevent.
@@ -2,6 +2,12 @@
2
2
  name: browser-extension-architecture
3
3
  description: Component isolation across content scripts, background service workers, and popup pages; message passing patterns; and state synchronization strategies
4
4
  topics: [browser-extension, architecture, message-passing, state-synchronization, service-worker, content-scripts]
5
+ volatility: evolving
6
+ last-reviewed: null
7
+ version-pin: 'Manifest V3'
8
+ sources:
9
+ - url: https://developer.chrome.com/docs/extensions/mv3/architecture-overview
10
+ - url: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Anatomy_of_a_WebExtension
5
11
  ---
6
12
 
7
13
  Browser extension architecture is fundamentally different from web app architecture because the application is split across multiple isolated execution environments that cannot share memory directly. Content scripts run inside host pages but in an isolated JavaScript world. Service workers run in a separate context that is terminated and re-created between events. Popup pages are ephemeral — they exist only while the popup is open. These constraints drive every architectural decision: communication is via message passing, state must be externalized to `chrome.storage`, and every component must tolerate being initialized from scratch at any time.
@@ -2,6 +2,12 @@
2
2
  name: browser-extension-content-scripts
3
3
  description: DOM manipulation from content scripts, isolated worlds, CSS injection, and communicating with the host page via postMessage
4
4
  topics: [browser-extension, content-scripts, dom-manipulation, isolated-worlds, css-injection, postmessage]
5
+ volatility: fast-moving
6
+ last-reviewed: null
7
+ version-pin: 'Manifest V3'
8
+ sources:
9
+ - url: https://developer.chrome.com/docs/extensions/develop/concepts/content-scripts
10
+ - url: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts
5
11
  ---
6
12
 
7
13
  Content scripts are the extension's interface with the web page. They run inside the page's DOM but in an isolated JavaScript world — they see the same HTML and can manipulate the same elements, but they cannot access the page's JavaScript variables or prototype chain without explicitly crossing the world boundary. Understanding this isolation is essential for writing content scripts that are both functional and secure.