peaks-loop 4.1.0 → 4.1.2

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 (811) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README-en.md +4 -4
  3. package/README.md +25 -4
  4. package/bin/node-floor.mjs +59 -0
  5. package/bin/peaks.js +13 -0
  6. package/config/eslint/tsconfig.lint.json +2 -1
  7. package/dist/cli/cli-helpers.d.ts +0 -1
  8. package/dist/cli/cli-helpers.js +0 -1
  9. package/dist/cli/commands/_cli-error-envelope.js +0 -3
  10. package/dist/cli/commands/_register.js +2 -2
  11. package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
  12. package/dist/cli/commands/adapter-commands.d.ts +0 -1
  13. package/dist/cli/commands/api-diff-commands.d.ts +0 -1
  14. package/dist/cli/commands/api-diff-commands.js +0 -1
  15. package/dist/cli/commands/audit-commands.js +21 -24
  16. package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
  17. package/dist/cli/commands/bee-commands.d.ts +0 -2
  18. package/dist/cli/commands/bee-commands.js +0 -2
  19. package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
  20. package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
  21. package/dist/cli/commands/changeset-commands.d.ts +0 -2
  22. package/dist/cli/commands/changeset-commands.js +0 -2
  23. package/dist/cli/commands/code-commands.d.ts +0 -3
  24. package/dist/cli/commands/code-commands.js +0 -3
  25. package/dist/cli/commands/code-gate-command.d.ts +0 -1
  26. package/dist/cli/commands/code-gate-command.js +0 -1
  27. package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
  28. package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
  29. package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
  30. package/dist/cli/commands/code-job-shape-commands.js +0 -3
  31. package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
  32. package/dist/cli/commands/code-mode-gate-commands.js +0 -3
  33. package/dist/cli/commands/code-mode-gate-should-pause-command.js +1 -5
  34. package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
  35. package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
  36. package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
  37. package/dist/cli/commands/code-mode-status-command.js +0 -1
  38. package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
  39. package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
  40. package/dist/cli/commands/code-run-command.js +0 -1
  41. package/dist/cli/commands/code-runtime-commands.d.ts +0 -3
  42. package/dist/cli/commands/code-runtime-commands.js +0 -15
  43. package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
  44. package/dist/cli/commands/codegraph-command-runtime.js +19 -7
  45. package/dist/cli/commands/codegraph-commands.js +20 -193
  46. package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
  47. package/dist/cli/commands/codegraph-init-command.js +162 -0
  48. package/dist/cli/commands/codegraph-status-command.js +5 -6
  49. package/dist/cli/commands/comments-commands.d.ts +14 -0
  50. package/dist/cli/commands/comments-commands.js +96 -0
  51. package/dist/cli/commands/compact-command.d.ts +0 -1
  52. package/dist/cli/commands/compact-command.js +0 -4
  53. package/dist/cli/commands/container-commands.d.ts +0 -1
  54. package/dist/cli/commands/container-commands.js +0 -1
  55. package/dist/cli/commands/context-commands.d.ts +0 -1
  56. package/dist/cli/commands/context-commands.js +0 -1
  57. package/dist/cli/commands/core/doctor-command.d.ts +0 -1
  58. package/dist/cli/commands/core/doctor-command.js +0 -9
  59. package/dist/cli/commands/core/memory-command.js +10 -1
  60. package/dist/cli/commands/core/session-command.js +0 -14
  61. package/dist/cli/commands/core/skill-command.js +1 -10
  62. package/dist/cli/commands/core/standards-command.js +1 -1
  63. package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
  64. package/dist/cli/commands/core-artifact-commands.js +0 -1
  65. package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
  66. package/dist/cli/commands/cron-commands-actions.js +0 -2
  67. package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
  68. package/dist/cli/commands/cron-commands-schedule.js +0 -1
  69. package/dist/cli/commands/cron-commands.d.ts +0 -1
  70. package/dist/cli/commands/cron-commands.js +0 -2
  71. package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
  72. package/dist/cli/commands/cron-scheduler-commands.js +0 -1
  73. package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
  74. package/dist/cli/commands/cron-scheduler-persist.js +0 -5
  75. package/dist/cli/commands/dashboard-summary.d.ts +0 -1
  76. package/dist/cli/commands/dispatch-commands.d.ts +0 -1
  77. package/dist/cli/commands/dispatch-commands.js +10 -37
  78. package/dist/cli/commands/dispatch-from-dag.js +0 -4
  79. package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
  80. package/dist/cli/commands/e2e-verify.d.ts +0 -1
  81. package/dist/cli/commands/ecc-commands.d.ts +16 -22
  82. package/dist/cli/commands/ecc-commands.js +38 -26
  83. package/dist/cli/commands/evolution-commands.d.ts +0 -1
  84. package/dist/cli/commands/evolution-commands.js +0 -1
  85. package/dist/cli/commands/feedback-commands.d.ts +0 -1
  86. package/dist/cli/commands/feedback-commands.js +0 -2
  87. package/dist/cli/commands/fixture-commands.d.ts +0 -2
  88. package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
  89. package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
  90. package/dist/cli/commands/gate-commands-enforce.js +0 -4
  91. package/dist/cli/commands/gate-commands.js +0 -2
  92. package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
  93. package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
  94. package/dist/cli/commands/heartbeat-commands-action.js +0 -6
  95. package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
  96. package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
  97. package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
  98. package/dist/cli/commands/heartbeat-commands.js +0 -1
  99. package/dist/cli/commands/hooks-commands.js +0 -11
  100. package/dist/cli/commands/ide-commands.d.ts +0 -1
  101. package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
  102. package/dist/cli/commands/job-add-slice-command.js +0 -2
  103. package/dist/cli/commands/job-commands.js +0 -4
  104. package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
  105. package/dist/cli/commands/lease-metrics-commands.js +0 -1
  106. package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
  107. package/dist/cli/commands/lease-stats-commands.js +0 -1
  108. package/dist/cli/commands/log-commands.d.ts +0 -2
  109. package/dist/cli/commands/log-commands.js +0 -3
  110. package/dist/cli/commands/loop-eval-commands.js +0 -3
  111. package/dist/cli/commands/memory-commands.d.ts +0 -1
  112. package/dist/cli/commands/memory-commands.js +0 -1
  113. package/dist/cli/commands/observability-commands.d.ts +0 -6
  114. package/dist/cli/commands/observability-commands.js +0 -6
  115. package/dist/cli/commands/outer-cache-commands.js +0 -2
  116. package/dist/cli/commands/playwright-commands.d.ts +0 -1
  117. package/dist/cli/commands/playwright-commands.js +0 -1
  118. package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
  119. package/dist/cli/commands/prd-commands.d.ts +0 -1
  120. package/dist/cli/commands/prd-commands.js +8 -4
  121. package/dist/cli/commands/preferences-commands.js +0 -2
  122. package/dist/cli/commands/primer-command.d.ts +0 -1
  123. package/dist/cli/commands/primer-command.js +0 -1
  124. package/dist/cli/commands/project-commands.js +0 -1
  125. package/dist/cli/commands/qa-commands.d.ts +0 -1
  126. package/dist/cli/commands/qa-commands.js +0 -2
  127. package/dist/cli/commands/release-commands.js +0 -9
  128. package/dist/cli/commands/request-commands.d.ts +0 -1
  129. package/dist/cli/commands/request-commands.js +0 -10
  130. package/dist/cli/commands/request-format-helpers.d.ts +0 -1
  131. package/dist/cli/commands/request-format-helpers.js +0 -2
  132. package/dist/cli/commands/runtime-commands.d.ts +0 -1
  133. package/dist/cli/commands/sc-commands.js +0 -1
  134. package/dist/cli/commands/session-24h-mode.d.ts +0 -1
  135. package/dist/cli/commands/session-24h-mode.js +0 -2
  136. package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
  137. package/dist/cli/commands/session-checkpoint-command.js +0 -1
  138. package/dist/cli/commands/session-resume-command.d.ts +0 -1
  139. package/dist/cli/commands/session-resume-command.js +0 -1
  140. package/dist/cli/commands/shadcn-commands.js +0 -2
  141. package/dist/cli/commands/share-commands.d.ts +0 -3
  142. package/dist/cli/commands/share-commands.js +0 -13
  143. package/dist/cli/commands/skill-search-commands.d.ts +0 -2
  144. package/dist/cli/commands/slice-commands.js +0 -2
  145. package/dist/cli/commands/slice-integrate-commands.js +0 -1
  146. package/dist/cli/commands/spill-demo-command.d.ts +0 -1
  147. package/dist/cli/commands/statusline-commands.js +0 -4
  148. package/dist/cli/commands/sub-agent/detached.js +0 -2
  149. package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
  150. package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
  151. package/dist/cli/commands/sub-agent-shared.js +0 -5
  152. package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
  153. package/dist/cli/commands/tech-commands.d.ts +0 -4
  154. package/dist/cli/commands/tech-commands.js +0 -4
  155. package/dist/cli/commands/vendor-detect.d.ts +0 -3
  156. package/dist/cli/commands/vendor-detect.js +0 -2
  157. package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
  158. package/dist/cli/commands/verdict-aggregate-command.js +0 -7
  159. package/dist/cli/commands/vm-commands.d.ts +0 -1
  160. package/dist/cli/commands/vm-commands.js +5 -29
  161. package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
  162. package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
  163. package/dist/cli/commands/vm-status-command.d.ts +3 -0
  164. package/dist/cli/commands/vm-status-command.js +50 -0
  165. package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
  166. package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
  167. package/dist/cli/commands/workflow-commands.js +0 -14
  168. package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
  169. package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
  170. package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
  171. package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
  172. package/dist/cli/commands/workspace/clean-command.js +0 -1
  173. package/dist/cli/commands/workspace/helpers.d.ts +0 -1
  174. package/dist/cli/commands/workspace/helpers.js +0 -1
  175. package/dist/cli/commands/workspace/init-command.d.ts +0 -6
  176. package/dist/cli/commands/workspace/init-command.js +0 -17
  177. package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
  178. package/dist/cli/commands/workspace/migrate-command.js +0 -2
  179. package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
  180. package/dist/cli/commands/workspace/reconcile-command.js +0 -3
  181. package/dist/cli/commands/workspace-commands.d.ts +0 -2
  182. package/dist/cli/commands/workspace-commands.js +0 -4
  183. package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
  184. package/dist/cli/commands/worktree-auth-commands.js +0 -1
  185. package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
  186. package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
  187. package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
  188. package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
  189. package/dist/cli/commands/worktree-lease-commands.js +0 -1
  190. package/dist/cli/program.js +4 -16
  191. package/dist/reporters/bdd-reporter.js +0 -1
  192. package/dist/services/24h-mode/auto-engage.d.ts +0 -1
  193. package/dist/services/24h-mode/auto-engage.js +0 -1
  194. package/dist/services/24h-mode/decider.d.ts +0 -3
  195. package/dist/services/24h-mode/decider.js +0 -3
  196. package/dist/services/24h-mode/index.d.ts +0 -2
  197. package/dist/services/24h-mode/index.js +0 -2
  198. package/dist/services/24h-mode/state.d.ts +0 -1
  199. package/dist/services/24h-mode/state.js +0 -1
  200. package/dist/services/24h-mode/store.d.ts +0 -1
  201. package/dist/services/24h-mode/store.js +0 -1
  202. package/dist/services/adapter/adapter-registry.js +0 -1
  203. package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
  204. package/dist/services/artifacts/artifact-prerequisites.js +0 -19
  205. package/dist/services/artifacts/artifact-templates.d.ts +0 -1
  206. package/dist/services/artifacts/artifact-templates.js +0 -1
  207. package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
  208. package/dist/services/artifacts/request-artifact-service.js +0 -12
  209. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
  210. package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
  211. package/dist/services/audit/artifact-writer.d.ts +0 -1
  212. package/dist/services/audit/artifact-writer.js +0 -1
  213. package/dist/services/audit/decision-writer.js +3 -1
  214. package/dist/services/audit/enforcer-liveness.js +0 -1
  215. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
  216. package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
  217. package/dist/services/audit/red-line-audit-input.d.ts +11 -0
  218. package/dist/services/audit/red-line-audit-input.js +103 -0
  219. package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
  220. package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
  221. package/dist/services/audit/types.d.ts +0 -2
  222. package/dist/services/audit/types.js +0 -2
  223. package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
  224. package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
  225. package/dist/services/audit-independent/security-audit-service.js +0 -2
  226. package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
  227. package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
  228. package/dist/services/best-practice/language-detector.js +0 -1
  229. package/dist/services/best-practice/output-formatter.d.ts +0 -1
  230. package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
  231. package/dist/services/capability-audit-service/types.d.ts +1 -3
  232. package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
  233. package/dist/services/changeset/changeset-check-service.d.ts +0 -3
  234. package/dist/services/changeset/changeset-check-service.js +0 -3
  235. package/dist/services/classify/classify-service.d.ts +0 -1
  236. package/dist/services/classify/classify-service.js +0 -1
  237. package/dist/services/classify/classify-types.d.ts +0 -1
  238. package/dist/services/classify/classify-types.js +0 -1
  239. package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
  240. package/dist/services/code/auto-compact-lifecycle.js +0 -10
  241. package/dist/services/code/auto-compact-modes.d.ts +0 -3
  242. package/dist/services/code/auto-compact-modes.js +0 -3
  243. package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
  244. package/dist/services/code/auto-compact-orchestrator.js +0 -29
  245. package/dist/services/code/batch-heartbeat-poller.js +0 -1
  246. package/dist/services/code/compact-event-settle.js +0 -1
  247. package/dist/services/code/dag-orchestrator.d.ts +0 -1
  248. package/dist/services/code/dag-orchestrator.js +0 -1
  249. package/dist/services/code/mode-gate-types.d.ts +1 -3
  250. package/dist/services/code/mode-gate-types.js +0 -2
  251. package/dist/services/code/mode-gate.d.ts +0 -5
  252. package/dist/services/code/mode-gate.js +1 -14
  253. package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
  254. package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
  255. package/dist/services/code/orchestrator-can-do.d.ts +0 -4
  256. package/dist/services/code/orchestrator-can-do.js +0 -3
  257. package/dist/services/code/status-line-renderer.js +0 -1
  258. package/dist/services/code/user-touchpoint-classifier.js +0 -7
  259. package/dist/services/code-review/ecc-bridge.d.ts +6 -7
  260. package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
  261. package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
  262. package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
  263. package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
  264. package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
  265. package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
  266. package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
  267. package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
  268. package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
  269. package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
  270. package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
  271. package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
  272. package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
  273. package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
  274. package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
  275. package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
  276. package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
  277. package/dist/services/codegraph/codegraph-project-config.js +90 -0
  278. package/dist/services/codegraph/codegraph-service.d.ts +1 -2
  279. package/dist/services/codegraph/codegraph-service.js +11 -11
  280. package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
  281. package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
  282. package/dist/services/comments/citation-rules.d.ts +154 -0
  283. package/dist/services/comments/citation-rules.js +241 -0
  284. package/dist/services/comments/comment-audit.d.ts +68 -0
  285. package/dist/services/comments/comment-audit.js +121 -0
  286. package/dist/services/comments/comment-citations.d.ts +66 -0
  287. package/dist/services/comments/comment-citations.js +184 -0
  288. package/dist/services/comments/comment-hygiene.d.ts +105 -0
  289. package/dist/services/comments/comment-hygiene.js +170 -0
  290. package/dist/services/comments/comment-prune.d.ts +88 -0
  291. package/dist/services/comments/comment-prune.js +196 -0
  292. package/dist/services/comments/comment-spans.d.ts +30 -0
  293. package/dist/services/comments/comment-spans.js +266 -0
  294. package/dist/services/comments/prune-apply.d.ts +82 -0
  295. package/dist/services/comments/prune-apply.js +217 -0
  296. package/dist/services/comments/repo-path-probe.d.ts +43 -0
  297. package/dist/services/comments/repo-path-probe.js +78 -0
  298. package/dist/services/compact/decision-tables.d.ts +0 -2
  299. package/dist/services/compact/decision-tables.js +0 -2
  300. package/dist/services/compact/request-transition-hook.js +0 -2
  301. package/dist/services/compact-history/compact-history-service.d.ts +0 -2
  302. package/dist/services/compact-history/compact-history-service.js +0 -1
  303. package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
  304. package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
  305. package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
  306. package/dist/services/config/config-rollback.js +0 -1
  307. package/dist/services/config/config-safety.d.ts +0 -1
  308. package/dist/services/config/config-safety.js +0 -1
  309. package/dist/services/config/config-service.d.ts +0 -1
  310. package/dist/services/config/config-service.js +0 -1
  311. package/dist/services/config/model-routing.d.ts +0 -3
  312. package/dist/services/config/model-routing.js +0 -5
  313. package/dist/services/container/container-lease.d.ts +0 -1
  314. package/dist/services/container/container-lease.js +0 -1
  315. package/dist/services/context/artifact-meta.js +0 -1
  316. package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
  317. package/dist/services/context/auto-compact-dispatcher.js +0 -14
  318. package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
  319. package/dist/services/context/auto-compact-reader.d.ts +0 -2
  320. package/dist/services/context/auto-compact-reader.js +0 -7
  321. package/dist/services/context/auto-compact-types.d.ts +0 -11
  322. package/dist/services/context/auto-compact-types.js +0 -1
  323. package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
  324. package/dist/services/context/build-dispatch-system-prompt.js +8 -27
  325. package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
  326. package/dist/services/context/codegraph-unavailable-block.js +77 -0
  327. package/dist/services/context/context-audit-hint.d.ts +0 -1
  328. package/dist/services/context/context-audit-hint.js +0 -1
  329. package/dist/services/context/context-audit.d.ts +0 -1
  330. package/dist/services/context/context-audit.js +0 -1
  331. package/dist/services/context/harness-window-config.d.ts +0 -4
  332. package/dist/services/context/harness-window-config.js +0 -4
  333. package/dist/services/context/main-session-monitor.d.ts +0 -2
  334. package/dist/services/context/main-session-monitor.js +0 -2
  335. package/dist/services/context/memory-index-reader.d.ts +0 -2
  336. package/dist/services/context/memory-index-reader.js +0 -1
  337. package/dist/services/context/memory-preflight-config.d.ts +0 -1
  338. package/dist/services/context/memory-preflight-service.d.ts +0 -1
  339. package/dist/services/context/memory-preflight-service.js +0 -3
  340. package/dist/services/context/memory-preflight-support.d.ts +0 -5
  341. package/dist/services/context/post-compact-reinjection.d.ts +0 -1
  342. package/dist/services/context/post-compact-reinjection.js +0 -1
  343. package/dist/services/context/summary-view.d.ts +0 -1
  344. package/dist/services/context/summary-view.js +0 -1
  345. package/dist/services/crystallization/crystallization-service.d.ts +5 -11
  346. package/dist/services/crystallization/crystallization-service.js +3 -11
  347. package/dist/services/crystallization/crystallization-store.d.ts +6 -6
  348. package/dist/services/dispatch/await-batch-helpers.js +0 -3
  349. package/dist/services/dispatch/await-batch.d.ts +0 -1
  350. package/dist/services/dispatch/await-batch.js +0 -4
  351. package/dist/services/dispatch/batch-counter.js +0 -1
  352. package/dist/services/dispatch/conflict-replay.d.ts +0 -1
  353. package/dist/services/dispatch/conflict-replay.js +0 -1
  354. package/dist/services/dispatch/contract-store.d.ts +0 -2
  355. package/dist/services/dispatch/contract-store.js +0 -2
  356. package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
  357. package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
  358. package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
  359. package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
  360. package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
  361. package/dist/services/dispatch/dispatch-record-writer.js +0 -21
  362. package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
  363. package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
  364. package/dist/services/dispatch/e2e-fixtures.js +0 -1
  365. package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
  366. package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
  367. package/dist/services/dispatch/isolation-lease.d.ts +0 -2
  368. package/dist/services/dispatch/isolation-lease.js +0 -2
  369. package/dist/services/dispatch/service-shutdown.js +0 -1
  370. package/dist/services/dispatch/session-capsule.js +0 -1
  371. package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
  372. package/dist/services/dispatch/slice-dag.js +0 -2
  373. package/dist/services/dispatch/stage-enum.d.ts +0 -1
  374. package/dist/services/dispatch/stage-enum.js +0 -1
  375. package/dist/services/dispatch/startup-timeout.d.ts +0 -1
  376. package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
  377. package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
  378. package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
  379. package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
  380. package/dist/services/dispatch/test-tool-detection.js +0 -2
  381. package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
  382. package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
  383. package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
  384. package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
  385. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
  386. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
  387. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
  388. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
  389. package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
  390. package/dist/services/doctor/doctor-service/index.d.ts +0 -1
  391. package/dist/services/doctor/doctor-service/index.js +0 -1
  392. package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
  393. package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
  394. package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
  395. package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
  396. package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
  397. package/dist/services/doctor/doctor-service/types.d.ts +0 -5
  398. package/dist/services/doctor/doctor-service/types.js +0 -1
  399. package/dist/services/doctor/doctor-service.d.ts +0 -1
  400. package/dist/services/doctor/doctor-service.js +0 -2
  401. package/dist/services/env/shell-probe.js +0 -1
  402. package/dist/services/evidence/evidence-generator.js +0 -8
  403. package/dist/services/evolution/evolution-constraints.d.ts +0 -2
  404. package/dist/services/evolution/evolution-constraints.js +0 -2
  405. package/dist/services/evolution/evolution-service.d.ts +2 -12
  406. package/dist/services/evolution/evolution-service.js +0 -9
  407. package/dist/services/evolution/evolution-store.d.ts +6 -8
  408. package/dist/services/evolution/evolution-store.js +1 -3
  409. package/dist/services/evolution/evolution-types.d.ts +0 -2
  410. package/dist/services/evolution/evolution-types.js +0 -6
  411. package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
  412. package/dist/services/evolution/independent-evaluator-runner.js +0 -1
  413. package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
  414. package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
  415. package/dist/services/feedback/feedback-promotion-service.js +0 -10
  416. package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
  417. package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
  418. package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
  419. package/dist/services/final-review/final-review-evidence-budget.js +0 -5
  420. package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
  421. package/dist/services/final-review/final-review-evidence-sources.js +0 -1
  422. package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
  423. package/dist/services/final-review/final-review-output-budget.js +0 -3
  424. package/dist/services/final-review/final-review-service.d.ts +0 -1
  425. package/dist/services/final-review/final-review-service.js +0 -1
  426. package/dist/services/fixture/fixture-capture-service.js +0 -1
  427. package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
  428. package/dist/services/fixture/fixture-sanitize-service.js +0 -3
  429. package/dist/services/fresh-context/config.js +0 -1
  430. package/dist/services/fresh-context/fresh-context-block.js +0 -1
  431. package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
  432. package/dist/services/fresh-context/trigger-scan.js +0 -1
  433. package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
  434. package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
  435. package/dist/services/handoff/handoff-parser.d.ts +0 -1
  436. package/dist/services/handoff/handoff-parser.js +0 -1
  437. package/dist/services/handoff/handoff-types.d.ts +0 -1
  438. package/dist/services/handoff/handoff-types.js +0 -1
  439. package/dist/services/handoff/handoff-writer.d.ts +0 -1
  440. package/dist/services/handoff/handoff-writer.js +0 -1
  441. package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
  442. package/dist/services/hooks/auto-compact-hook-install.js +0 -1
  443. package/dist/services/hooks/output.d.ts +0 -1
  444. package/dist/services/hooks/output.js +0 -1
  445. package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
  446. package/dist/services/hooks/pre-tool-code-gate.js +0 -1
  447. package/dist/services/hooks/presence-marker-detector.js +0 -1
  448. package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
  449. package/dist/services/hooks/worktree-authorization-gate.js +0 -1
  450. package/dist/services/ide/adapters/claude-code-adapter.d.ts +0 -5
  451. package/dist/services/ide/adapters/claude-code-adapter.js +0 -11
  452. package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
  453. package/dist/services/ide/adapters/qoder-adapter.js +0 -5
  454. package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
  455. package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
  456. package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
  457. package/dist/services/ide/adapters/trae-adapter.js +3 -6
  458. package/dist/services/ide/adapters/zcode-adapter.js +0 -2
  459. package/dist/services/ide/current-model-detector.js +0 -1
  460. package/dist/services/ide/hook-protocol.d.ts +0 -2
  461. package/dist/services/ide/hook-protocol.js +0 -2
  462. package/dist/services/ide/ide-compact-types.d.ts +0 -7
  463. package/dist/services/ide/ide-types.d.ts +0 -12
  464. package/dist/services/ide/resource-profile.d.ts +0 -1
  465. package/dist/services/job/job-commit-verification.d.ts +0 -2
  466. package/dist/services/job/job-commit-verification.js +0 -2
  467. package/dist/services/job/job-orchestrator.d.ts +0 -1
  468. package/dist/services/job/job-orchestrator.js +0 -1
  469. package/dist/services/job/job-progress-store.d.ts +0 -2
  470. package/dist/services/job/job-progress-store.js +0 -3
  471. package/dist/services/job/job-types.js +0 -1
  472. package/dist/services/job-snapshot/snapshot.js +0 -1
  473. package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
  474. package/dist/services/legacy/legacy-detector.js +0 -1
  475. package/dist/services/log/log-commands-service.d.ts +0 -2
  476. package/dist/services/log/log-commands-service.js +0 -2
  477. package/dist/services/log/logger.d.ts +0 -1
  478. package/dist/services/log/logger.js +0 -1
  479. package/dist/services/log/redact.d.ts +0 -1
  480. package/dist/services/log/redact.js +0 -1
  481. package/dist/services/log/retention.d.ts +0 -17
  482. package/dist/services/log/retention.js +0 -18
  483. package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
  484. package/dist/services/loop/loop-bee-relation-service.js +14 -13
  485. package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
  486. package/dist/services/loop/loop-bee-relation-store.js +1 -2
  487. package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
  488. package/dist/services/loop/loop-bee-relation-types.js +1 -1
  489. package/dist/services/loop/loop-release-service.d.ts +3 -3
  490. package/dist/services/loop/loop-release-service.js +1 -1
  491. package/dist/services/loop/loop-release-store.d.ts +6 -7
  492. package/dist/services/loop/loop-release-store.js +0 -1
  493. package/dist/services/loop/monotonic-guard.d.ts +0 -1
  494. package/dist/services/loop/monotonic-guard.js +0 -1
  495. package/dist/services/memory/memory-ingest-service.js +0 -1
  496. package/dist/services/memory/project-context-service.d.ts +0 -1
  497. package/dist/services/memory/project-context-service.js +0 -1
  498. package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
  499. package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
  500. package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
  501. package/dist/services/memory/project-memory-service/index/search.js +0 -1
  502. package/dist/services/memory/project-memory-service/index.d.ts +1 -1
  503. package/dist/services/memory/project-memory-service/index.js +1 -1
  504. package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
  505. package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
  506. package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
  507. package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
  508. package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +19 -7
  509. package/dist/services/memory/project-memory-service/store/atomic-write.js +120 -26
  510. package/dist/services/memory/project-memory-service.js +0 -1
  511. package/dist/services/mode/mode-enforcement.js +0 -1
  512. package/dist/services/mode/mode-status-service.d.ts +0 -2
  513. package/dist/services/mode/mode-status-service.js +0 -2
  514. package/dist/services/observability/aggregation.d.ts +0 -4
  515. package/dist/services/observability/aggregation.js +0 -6
  516. package/dist/services/observability/observability-schema.js +0 -1
  517. package/dist/services/observability/observability-service.d.ts +0 -5
  518. package/dist/services/observability/observability-service.js +0 -4
  519. package/dist/services/observability/report-formatter.d.ts +0 -2
  520. package/dist/services/observability/report-formatter.js +0 -2
  521. package/dist/services/openspec/artifact-boundary.d.ts +0 -4
  522. package/dist/services/openspec/artifact-boundary.js +0 -4
  523. package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
  524. package/dist/services/openspec/coverage-evidence-reader.js +0 -1
  525. package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
  526. package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
  527. package/dist/services/polyrepo/polyrepo-service.js +0 -1
  528. package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
  529. package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
  530. package/dist/services/prd/best-practice-auto-trigger.js +0 -2
  531. package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
  532. package/dist/services/prd/gate-evidence-derivation.js +0 -5
  533. package/dist/services/prd/handoff-auto-regen.js +0 -5
  534. package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
  535. package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
  536. package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
  537. package/dist/services/prd/handoff-frontmatter.js +61 -2
  538. package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
  539. package/dist/services/prd/handoff-gate-evidence.js +12 -12
  540. package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
  541. package/dist/services/prd/handoff-path-resolution.js +0 -10
  542. package/dist/services/prd/handoff-service.d.ts +11 -3
  543. package/dist/services/prd/handoff-service.js +11 -3
  544. package/dist/services/prd/handoff-types.d.ts +33 -3
  545. package/dist/services/prd/handoff-types.js +0 -1
  546. package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
  547. package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
  548. package/dist/services/prd/project-scan-types.d.ts +0 -1
  549. package/dist/services/prd/project-scan-types.js +0 -1
  550. package/dist/services/preferences/preferences-service.d.ts +0 -1
  551. package/dist/services/preferences/preferences-service.js +0 -5
  552. package/dist/services/preferences/preferences-types.d.ts +0 -14
  553. package/dist/services/preferences/preferences-types.js +0 -4
  554. package/dist/services/progress/progress-service.js +0 -1
  555. package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
  556. package/dist/services/qa/bdd-test-style-verifier.js +0 -1
  557. package/dist/services/qa/browser-event-logger.d.ts +0 -1
  558. package/dist/services/qa/browser-event-logger.js +0 -1
  559. package/dist/services/qa/browser-restart-detector.d.ts +0 -1
  560. package/dist/services/qa/browser-restart-detector.js +0 -1
  561. package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
  562. package/dist/services/qa/browser-reuse-hint.js +0 -1
  563. package/dist/services/qa/qa-business-review-state.js +0 -2
  564. package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
  565. package/dist/services/qa/screenshot-archive-service.js +0 -1
  566. package/dist/services/rd/impl.js +0 -1
  567. package/dist/services/rd/rd-service.d.ts +0 -5
  568. package/dist/services/rd/rd-service.js +0 -5
  569. package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
  570. package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
  571. package/dist/services/rd/standards-diagnostic.js +0 -1
  572. package/dist/services/rd/tactical-stage.js +0 -1
  573. package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
  574. package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
  575. package/dist/services/recommendations/installed-capability-detector.d.ts +5 -6
  576. package/dist/services/recommendations/installed-capability-detector.js +11 -11
  577. package/dist/services/release/version-precheck-service.d.ts +0 -2
  578. package/dist/services/release/version-precheck-service.js +0 -3
  579. package/dist/services/retrospective/retrospective-index.d.ts +0 -1
  580. package/dist/services/retrospective/retrospective-index.js +0 -1
  581. package/dist/services/retrospective/retrospective-show.d.ts +0 -1
  582. package/dist/services/retrospective/retrospective-show.js +0 -1
  583. package/dist/services/reviewer/model-family.js +0 -1
  584. package/dist/services/reviewer/reviewer-config.js +0 -1
  585. package/dist/services/reviewer/reviewer-service.d.ts +0 -1
  586. package/dist/services/reviewer/reviewer-service.js +0 -3
  587. package/dist/services/reviewer/selection-strategies.js +0 -1
  588. package/dist/services/runtime/runtime-detector.js +0 -1
  589. package/dist/services/runtime/runtime-service.d.ts +0 -2
  590. package/dist/services/runtime/vendor-adapter.d.ts +0 -7
  591. package/dist/services/runtime/vendors/claude-code.js +0 -1
  592. package/dist/services/runtime/vendors/codex.js +0 -1
  593. package/dist/services/runtime/vendors/copilot.js +0 -1
  594. package/dist/services/sc/sc-service.js +0 -6
  595. package/dist/services/scan/acceptance-coverage-service.js +0 -2
  596. package/dist/services/scan/api-diff-recorded.d.ts +0 -1
  597. package/dist/services/scan/api-diff-recorded.js +0 -1
  598. package/dist/services/scan/api-diff-service.d.ts +0 -1
  599. package/dist/services/scan/api-diff-service.js +0 -1
  600. package/dist/services/scan/api-diff-types.d.ts +0 -1
  601. package/dist/services/scan/api-diff-types.js +0 -1
  602. package/dist/services/scan/archetype-detection.d.ts +37 -0
  603. package/dist/services/scan/archetype-detection.js +175 -2
  604. package/dist/services/scan/archetype-service.js +36 -23
  605. package/dist/services/scan/file-size-policy.d.ts +0 -1
  606. package/dist/services/scan/file-size-policy.js +0 -5
  607. package/dist/services/scan/file-size-scan.d.ts +0 -1
  608. package/dist/services/scan/scan-types.d.ts +9 -0
  609. package/dist/services/security/safe-settings-path.js +0 -1
  610. package/dist/services/session/binding-store.d.ts +0 -4
  611. package/dist/services/session/binding-store.js +0 -7
  612. package/dist/services/session/caller-binding-service.d.ts +0 -6
  613. package/dist/services/session/caller-binding-service.js +0 -4
  614. package/dist/services/session/caller-id-types.d.ts +0 -3
  615. package/dist/services/session/caller-id-types.js +0 -2
  616. package/dist/services/session/getSessionDir.js +0 -1
  617. package/dist/services/session/index.js +0 -1
  618. package/dist/services/session/platform-fallbacks.d.ts +0 -3
  619. package/dist/services/session/platform-fallbacks.js +0 -3
  620. package/dist/services/session/resolve-caller-id.d.ts +0 -2
  621. package/dist/services/session/resolve-caller-id.js +0 -2
  622. package/dist/services/session/session-binding-bridge.d.ts +0 -2
  623. package/dist/services/session/session-binding-bridge.js +0 -15
  624. package/dist/services/session/session-checkpoint-service.d.ts +0 -1
  625. package/dist/services/session/session-checkpoint-service.js +0 -1
  626. package/dist/services/session/session-manager.d.ts +0 -8
  627. package/dist/services/session/session-manager.js +0 -19
  628. package/dist/services/session/session-resume-service.d.ts +0 -1
  629. package/dist/services/session/session-resume-service.js +0 -1
  630. package/dist/services/share/bundle-reader.d.ts +2 -5
  631. package/dist/services/share/bundle-reader.js +6 -8
  632. package/dist/services/share/bundle-writer.d.ts +2 -2
  633. package/dist/services/skill/resume-detector.js +0 -3
  634. package/dist/services/skill/skill-scheduler.d.ts +0 -1
  635. package/dist/services/skill/skill-scheduler.js +0 -1
  636. package/dist/services/skill/skill-search-service.d.ts +0 -2
  637. package/dist/services/skill/skill-search-service.js +0 -2
  638. package/dist/services/skillhub/release-diff.d.ts +2 -2
  639. package/dist/services/skillhub/release-export.d.ts +2 -2
  640. package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
  641. package/dist/services/skillhub/release-import.d.ts +2 -2
  642. package/dist/services/skillhub/release-import.js +2 -1
  643. package/dist/services/skillhub/release-retain.d.ts +2 -2
  644. package/dist/services/skillhub/release-retain.js +2 -1
  645. package/dist/services/skillhub/sqlite-store.d.ts +3 -3
  646. package/dist/services/skillhub/sqlite-store.js +4 -5
  647. package/dist/services/skills/hooks-codegate-superpowers.d.ts +0 -3
  648. package/dist/services/skills/hooks-codegate-superpowers.js +0 -14
  649. package/dist/services/skills/hooks-settings-service.d.ts +0 -2
  650. package/dist/services/skills/hooks-settings-service.js +0 -6
  651. package/dist/services/skills/presence-lease-service.d.ts +0 -1
  652. package/dist/services/skills/presence-lease-service.js +0 -1
  653. package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
  654. package/dist/services/skills/session-start-hook-constants.js +0 -4
  655. package/dist/services/skills/skill-presence-service.d.ts +0 -8
  656. package/dist/services/skills/skill-presence-service.js +0 -13
  657. package/dist/services/skills/skill-statusline-model.d.ts +0 -6
  658. package/dist/services/skills/skill-statusline-model.js +1 -4
  659. package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
  660. package/dist/services/skills/skill-statusline-renderer.js +0 -12
  661. package/dist/services/skills/skill-statusline-service.js +0 -6
  662. package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
  663. package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
  664. package/dist/services/skills/statusline-palette.d.ts +0 -2
  665. package/dist/services/skills/statusline-palette.js +0 -3
  666. package/dist/services/slice/slice-archive-service.js +0 -1
  667. package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
  668. package/dist/services/slice/slice-benchmark-service.js +0 -1
  669. package/dist/services/slice/slice-check-service.js +0 -6
  670. package/dist/services/slice/slice-check-types.d.ts +0 -1
  671. package/dist/services/slice/slice-pick-service.d.ts +0 -1
  672. package/dist/services/slice/slice-pick-service.js +0 -1
  673. package/dist/services/slice/slice-review-state.js +0 -2
  674. package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
  675. package/dist/services/sqlite/sqlite-driver.js +159 -0
  676. package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
  677. package/dist/services/standards/ide-aware-standards-service.js +0 -1
  678. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
  679. package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
  680. package/dist/services/standards/migrate-claude-rules-service.js +0 -3
  681. package/dist/services/standards/migrate-service.d.ts +0 -1
  682. package/dist/services/standards/migrate-service.js +0 -1
  683. package/dist/services/standards/missing-standards-detector.d.ts +0 -2
  684. package/dist/services/standards/missing-standards-detector.js +0 -3
  685. package/dist/services/standards/project-standards-service.d.ts +0 -1
  686. package/dist/services/standards/project-standards-service.js +0 -1
  687. package/dist/services/standards/standards-render.d.ts +0 -1
  688. package/dist/services/standards/standards-render.js +0 -1
  689. package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
  690. package/dist/services/standards/ui-library-dispatch-block.js +0 -1
  691. package/dist/services/tech/tech-change-id-service.d.ts +0 -7
  692. package/dist/services/tech/tech-change-id-service.js +0 -7
  693. package/dist/services/tech/tech-service.js +0 -5
  694. package/dist/services/verdict/envelope-parsers.d.ts +0 -2
  695. package/dist/services/verdict/envelope-parsers.js +0 -2
  696. package/dist/services/verdict/envelopes.d.ts +0 -1
  697. package/dist/services/vm/vm-lease.js +0 -1
  698. package/dist/services/web/aria-node.d.ts +0 -1
  699. package/dist/services/web/bounded-output.d.ts +0 -1
  700. package/dist/services/web/bounded-output.js +0 -1
  701. package/dist/services/web/browser-acquire.js +0 -1
  702. package/dist/services/web/browser-cache-probe.js +0 -1
  703. package/dist/services/web/browser-session-manager.js +0 -1
  704. package/dist/services/web/daemon-entry.js +0 -1
  705. package/dist/services/web/daemon-registry.js +0 -1
  706. package/dist/services/web/daemon-supervisor.d.ts +4 -3
  707. package/dist/services/web/daemon-supervisor.js +4 -4
  708. package/dist/services/web/playwright-loader.js +0 -1
  709. package/dist/services/web/playwright-types.d.ts +0 -1
  710. package/dist/services/web/snapshot-pruner.js +0 -1
  711. package/dist/services/web/untrusted-envelope.d.ts +0 -1
  712. package/dist/services/web/web-artifact-paths.js +0 -1
  713. package/dist/services/web/web-client.d.ts +0 -1
  714. package/dist/services/web/web-daemon-service.js +0 -1
  715. package/dist/services/web/web-fallback.d.ts +0 -1
  716. package/dist/services/web/web-fallback.js +0 -1
  717. package/dist/services/web/web-install-service.js +0 -1
  718. package/dist/services/web/web-login-profile.js +0 -1
  719. package/dist/services/web/web-protocol.d.ts +0 -1
  720. package/dist/services/web/web-protocol.js +0 -1
  721. package/dist/services/web/web-status-report.js +0 -1
  722. package/dist/services/workflow/artifact-paths.js +0 -3
  723. package/dist/services/workflow/autonomous-resume-writer.js +0 -2
  724. package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
  725. package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
  726. package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
  727. package/dist/services/workflow/pipeline-verify-service.js +0 -15
  728. package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
  729. package/dist/services/workflow/pipeline-verify-types.js +0 -2
  730. package/dist/services/workflow/plan-reader.d.ts +0 -1
  731. package/dist/services/workflow/plan-reader.js +0 -5
  732. package/dist/services/workflow/plan-refresher.js +0 -2
  733. package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
  734. package/dist/services/workflow/plan-trigger-detector.js +0 -3
  735. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
  736. package/dist/services/workflow/workflow-autonomous-service.js +0 -2
  737. package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
  738. package/dist/services/workflow/workflow-autonomous-types.js +0 -2
  739. package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
  740. package/dist/services/workflow/workflow-graph-types.js +0 -1
  741. package/dist/services/workflow/workflow-router-service.js +0 -4
  742. package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
  743. package/dist/services/workflow/workflow-skip-service.js +0 -1
  744. package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
  745. package/dist/services/workflow/workflow-spec-lint.js +0 -2
  746. package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
  747. package/dist/services/workflow/workflow-spec-types.js +0 -1
  748. package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
  749. package/dist/services/workflow/workflow-spec-yaml.js +0 -2
  750. package/dist/services/workflow/workflow-spec.js +0 -1
  751. package/dist/services/workflow/workflow-state-store.js +0 -1
  752. package/dist/services/workspace/claude-settings-template.d.ts +0 -4
  753. package/dist/services/workspace/claude-settings-template.js +0 -4
  754. package/dist/services/workspace/generated-artifacts-stamp.d.ts +2 -2
  755. package/dist/services/workspace/generated-artifacts-stamp.js +2 -2
  756. package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
  757. package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
  758. package/dist/services/workspace/migrate-service.js +0 -8
  759. package/dist/services/workspace/migrate-types.d.ts +0 -4
  760. package/dist/services/workspace/migrate-types.js +0 -1
  761. package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
  762. package/dist/services/workspace/reconcile-migrate.js +0 -5
  763. package/dist/services/workspace/reconcile-service.d.ts +0 -3
  764. package/dist/services/workspace/reconcile-service.js +0 -7
  765. package/dist/services/workspace/reconcile-types.d.ts +0 -5
  766. package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
  767. package/dist/services/workspace/sid-naming-guard.js +0 -1
  768. package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
  769. package/dist/services/workspace/templates/project-scan/index.js +0 -3
  770. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
  771. package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
  772. package/dist/services/workspace/workspace-service.d.ts +0 -7
  773. package/dist/services/workspace/workspace-service.js +1 -17
  774. package/dist/services/worktree/playwright-profile.js +0 -1
  775. package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
  776. package/dist/services/worktree/worktree-lease-types.js +0 -1
  777. package/dist/services/worktree/worktree-lease.d.ts +0 -2
  778. package/dist/services/worktree/worktree-lease.js +0 -2
  779. package/dist/shared/format-md-compact.d.ts +0 -2
  780. package/dist/shared/format-md-compact.js +0 -2
  781. package/dist/shared/incrementing-number.d.ts +0 -1
  782. package/dist/shared/incrementing-number.js +0 -1
  783. package/dist/shared/path-utils.d.ts +0 -1
  784. package/dist/shared/path-utils.js +0 -1
  785. package/dist/shared/runtime-root.d.ts +0 -1
  786. package/dist/shared/runtime-root.js +0 -1
  787. package/dist/shared/stale-policy.d.ts +0 -1
  788. package/dist/shared/stale-policy.js +0 -1
  789. package/package.json +12 -10
  790. package/scripts/canonical-store-link.mjs +296 -0
  791. package/scripts/canonical-store-prune.mjs +131 -0
  792. package/scripts/canonical-store.mjs +298 -0
  793. package/scripts/install-skills.mjs +175 -560
  794. package/skills/bee/peaks-qa/references/reading-handoff-frontmatter.md +3 -1
  795. package/skills/bee/peaks-rd/references/parallel-review-fanout.md +1 -1
  796. package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +3 -2
  797. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +29 -7
  798. package/skills/peaks-audit/SKILL.md +3 -3
  799. package/skills/peaks-code/references/frontend-only-mode.md +2 -2
  800. package/skills/peaks-code/references/startup-sequence.md +0 -4
  801. package/dist/cli/commands/upgrade-commands.d.ts +0 -25
  802. package/dist/cli/commands/upgrade-commands.js +0 -154
  803. package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
  804. package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
  805. package/dist/services/upgrade/1x-detector-service.d.ts +0 -7
  806. package/dist/services/upgrade/1x-detector-service.js +0 -96
  807. package/dist/services/upgrade/gitignore-migrate-service.d.ts +0 -56
  808. package/dist/services/upgrade/gitignore-migrate-service.js +0 -170
  809. package/dist/services/upgrade/upgrade-service.d.ts +0 -81
  810. package/dist/services/upgrade/upgrade-service.js +0 -428
  811. package/skills/peaks-code/references/step-0-55-1x-detection.md +0 -83
@@ -4,10 +4,12 @@ QA reads the RD handoff's YAML frontmatter **before** reading the body prose. Th
4
4
 
5
5
  ## Required frontmatter fields (mirror RD writer)
6
6
 
7
- `requestId`, `scope`, `files`, `decisions[]`, `risks[]`, `nextActions[]`, `gateEvidence`, `schemaVersion: '1.0'`. Field schema: `../../peaks-rd/references/writing-handoff-frontmatter.md`.
7
+ `requestId`, `scope`, `files`, `decisions[]`, `risks[]`, `nextActions[]`, `gateEvidence`, `schemaVersion: 2` (written plain; `'2.0'` is not a valid value). Field schema: `../../peaks-rd/references/writing-handoff-frontmatter.md`.
8
8
 
9
9
  ## Mechanical cross-checks (run before body read)
10
10
 
11
+ Checks 1–3 and 5 are conditional on the capsule DECLARING the field: `scope`, `files`, `decisions[]`, `risks[]` and `nextActions[]` are authored by the writer, not derived, and the serializer writes no line for a field nobody filled in. An absent field is therefore NOT a pass — it means the writer made no claim to check, which is recorded as `not declared` rather than green. Only check 4 has a machine producer (`peaks prd handoff init` derives it from the request type).
12
+
11
13
  1. **Decisions ↔ tests** — every `decisions[].id` (e.g. `D1`) implies a test under `tests/unit/`. Grep `tests/unit/` for the decision id (or its summary keywords). Missing test → Gate B2 partial.
12
14
  2. **Risks ↔ security tests** — every `risks[].id` with `description` mentioning auth / input / boundary / path / external / crypto / payment MUST have a matching case under `tests/unit/security/`. Missing → Gate A3 partial.
13
15
  3. **Files ↔ diff** — `files[]` must equal `git diff --name-only` against the parent commit. Any file in the diff not in `files[]` (or vice versa) → Gate B8 fail (out-of-scope or missing scope).
@@ -50,7 +50,7 @@ Note: sub-agent 1 (code-reviewer) and sub-agent 3 (karpathy-reviewer) write to `
50
50
  - Required for Gate B3.
51
51
  - **v2.11.0 Tier 7 (Group D) + 2026-09-09-ecc-dynamic:** the code-reviewer dispatch goes through the **ECC bridge** (`src/services/code-review/ecc-bridge.ts`). Fallback order is **native plugin → cache-backed generic agent → inline**:
52
52
  1. **Native plugin** (`detectEcc` state `ready`): invoke the Agent tool with `subagent_type: "ecc:code-reviewer"` (plugin `ecc` + agent `code-reviewer`; see `DEFAULT_NATIVE_ECC_AGENT_ID`); it returns the structured envelope `{ passed, violations[], gateAction }`.
53
- 2. **Cache-backed generic agent** (`detectEcc` state `ready-via-cache` — plugin or its review agent absent, but a materialized ECC agent exists under `~/.peaks/agents/ecc/`): resolve the agent's REAL name first — `resolveMaterializedAgentName(['code-reviewer', 'code-review'])` from `peaks-loop-mut` (upstream ships `code-reviewer.md`; a hardcoded `code-review.md` never resolves). Read `~/.peaks/agents/ecc/<resolved>.md`, pass the name through as `detectEcc({ ..., cacheAgentName: resolved })`, build the prompt with `buildCacheBackedEccPrompt({ rid, instructions, diff })` (agent body + diff + `ECC_OUTPUT_CONTRACT`), dispatch a **generic** sub-agent, and validate its reply with `isEccEnvelope`. No ECC plugin required. If the cache is empty, run `peaks ecc install` first (dynamic acquisition); if that fails offline, degrade to inline.
53
+ 2. **Cache-backed generic agent** (`detectEcc` state `ready-via-cache` — plugin or its review agent absent, but a materialized ECC agent exists under `~/.peaks/agents/ecc/`): resolve the agent's REAL name first — `resolveMaterializedAgentName(['code-reviewer', 'code-review'])` from `peaks-loop-mut` (upstream ships `code-reviewer.md`; a hardcoded `code-review.md` never resolves). Read `~/.peaks/agents/ecc/<resolved>.md`, pass the name through as `detectEcc({ ..., cacheAgentName: resolved })`, build the prompt with `buildCacheBackedEccPrompt({ rid, instructions, diff })` (agent body + diff + `ECC_OUTPUT_CONTRACT`), dispatch a **generic** sub-agent, and validate its reply with `isEccEnvelope`. No ECC plugin required. If no agent is materialized, run `peaks ecc install` first — it copies the agents out of the bundled `ecc-universal` dependency (local, no network); if that refuses with `ECC_PACKAGE_MISSING`, the dependency tree is broken and the only remedy is reinstalling peaks-loop, so degrade to inline review rather than retrying.
54
54
  3. **Inline** (`detectEcc` states `plugin-missing` / `agent-missing` / `dispatch-failed` / `envelope-malformed`): fall back to inline review — TXT note `code-review-ecc-degraded-to-inline`.
55
55
 
56
56
  In all dispatchable cases the envelope is rendered by the SAME bridge adapter (`adaptEccEnvelopeToRdCodeReview`) into the canonical `rd/code-review-<rid>.md` markdown shape that Gate B3 reads (`mustContain: ['## Findings', 'CRITICAL']`). The materialized copy lives under `~/.peaks/agents/ecc/` — peaks-loop NEVER writes into `~/.claude/`.
@@ -45,8 +45,9 @@ end of implementation, RD fires 3 sub-agents in parallel via
45
45
  `detectEcc({ ..., cacheAgentName: resolved })`, compose the prompt with
46
46
  `buildCacheBackedEccPrompt({ rid, instructions, diff })`,
47
47
  dispatch a **generic** sub-agent, and validate the reply with `isEccEnvelope`.
48
- If the cache is empty, run `peaks ecc install` first (dynamic acquisition);
49
- offline → inline.
48
+ If nothing is materialized, run `peaks ecc install` first — it copies the
49
+ agents from the bundled `ecc-universal` dependency (local, no network);
50
+ `ECC_PACKAGE_MISSING` → reinstall peaks-loop, and degrade to inline.
50
51
  - Any other state (plugin-missing / agent-missing / dispatch-failed /
51
52
  envelope-malformed) → inline review; the `code-review-ecc-degraded-to-inline`
52
53
  TXT note records the fallback.
@@ -13,6 +13,18 @@ Every RD handoff artifact carries a **YAML frontmatter block** so peaks-qa (and
13
13
  ```yaml
14
14
  ---
15
15
  requestId: 2026-06-25-slice-topology-multipass
16
+ sessionId: 2026-06-25-session-ee2aba
17
+ schemaVersion: 2
18
+ sha256: <64 lowercase hex of the body>
19
+ handoffHash: <the same 64 hex, no prefix>
20
+ writtenAt: 2026-06-25T03:05:30.000Z
21
+ goals:
22
+ - G1
23
+ - G2
24
+ acceptanceCriteria:
25
+ - AC-1
26
+ preservedBehavior:
27
+ - P1
16
28
  scope:
17
29
  - src/services/slice/schema-router.ts
18
30
  - src/services/audit/audit-goal-service.ts
@@ -20,7 +32,6 @@ files:
20
32
  - src/services/slice/schema-router.ts
21
33
  - src/services/audit/audit-goal-service.ts
22
34
  handoffPath: .peaks/_runtime/<sessionId>/prd/handoff-<rid>.md
23
- handoffHash: sha256:<64 hex chars>
24
35
  decisions:
25
36
  - id: D1
26
37
  summary: "Route v1/v2 envelopes via SchemaRouter instead of branching in prompts"
@@ -38,7 +49,6 @@ gateEvidence:
38
49
  codeReview: .peaks/_runtime/<sessionId>/rd/code-review-<rid>.md
39
50
  securityReview: .peaks/_runtime/<sessionId>/audit/security-<rid>.md
40
51
  perfBaseline: .peaks/_runtime/<sessionId>/audit/perf-<rid>.md
41
- schemaVersion: '2.0'
42
52
  ---
43
53
  ```
44
54
 
@@ -46,7 +56,11 @@ schemaVersion: '2.0'
46
56
  ## Field rules
47
57
 
48
58
  - `requestId` — kebab-case; matches the PRD `requestId`.
49
- - `scope` / `files` — absolute repo-relative paths (`src/...`). Sorted alphabetically.
59
+ - `sessionId` — the session the capsule belongs to. **Required by `readHandoff`.**
60
+ - `writtenAt` — ISO 8601 at write time. **Required by `readHandoff`.**
61
+ - `goals` / `acceptanceCriteria` / `preservedBehavior` — the PRD IDs this slice binds to (`['G1','G2']`, `['AC-1']`, `['P1']`). Arrays, empty allowed, and **required by `readHandoff`** — omitting the line is a shape failure, not a declaration of nothing.
62
+ - `sha256` and `handoffHash` — the same 64 hex digits, twice, on purpose: `sha256` is the PLAIN field the gate and both independent audit loaders match at line start, `handoffHash` is the quoted field `readHandoff` reads. A capsule whose two values differ verifies as tampering.
63
+ - `scope` / `files` — repo-relative paths (`src/...`), sorted. Authored by the writer; the serializer writes them only when present (`handoff-frontmatter.ts`), so an absent field is no line rather than an empty claim.
50
64
  - `handoffPath` + `handoffHash` — the immutable PRD handoff location and its sha256 hash. Sub-agents MUST verify `handoffHash` matches the file's actual sha256 before reading; mismatch → return `blocked`.
51
65
  - `decisions[]` — every decision an LLM made that an implementer could question. `id` is local; `summary` is one line; `rationale` is ≤ 2 sentences.
52
66
  - `risks[]` — same shape; `mitigation` is required. A risk without a mitigation is a red line (gate blocked).
@@ -56,16 +70,24 @@ schemaVersion: '2.0'
56
70
  - `config` → **2 keys**: `projectScan`, `securityReview`. `CONFIG_TABLE['rd:qa-handoff']` is the security review alone, so a config slice has **no** `prdHandoff`; and its security evidence is the genuinely ridless `rd/security-review.md`, not `audit/security-<rid>.md`.
57
71
  - `docs` / `chore` → **no `gateEvidence` block at all**. Those types have no `rd:qa-handoff` row: there is no evidence to declare and nothing for Gate C to check, so the block is omitted rather than filled with an unverified statement. Such a capsule is byte-identical to a pre-B2 one.
58
72
  **The Gate C failure rule is scoped to the types above** — where that gate runs: a declared path that does not exist fails `peaks request transition --state qa-handoff` (`PREREQUISITES_MISSING`), naming the key. Two shapes are deliberately NOT failures: a capsule for a type with no `rd:qa-handoff` row (the check does not run), and an **empty** declaration (`gateEvidence: {}`) — a weak claim, not a false one, since the type's artifacts remain enforced by the table itself, so an empty map cannot open the gate. When the request type cannot be resolved at all, the block is omitted rather than half-declared.
59
- - `schemaVersion: '2.0'` — pinned (bumped from `'1.0'` in v2.11.0); bump only when the field set changes.
73
+ - `schemaVersion: 2` — pinned, and written PLAIN (no quotes). The constant is `HANDOFF_SCHEMA_VERSION` in `src/services/prd/handoff-frontmatter-shape.ts` and its value is the string `'2'`; the serializer emits it unquoted, because `AUDIT_REQUIRES_HANDOFF` matches the substring `schemaVersion: 2` and a quoted `'2'` would not contain it. `readHandoff` accepts `'2'` or the bare number `2` and nothing else — **`'2.0'` is not a valid value here**, and this document said it was until it was measured against the serializer. Bump only when the field set changes.
60
74
 
61
- > **v2.11.0 Group A change:** `schemaVersion` was bumped to `'2.0'`. The consumers listed under §Validation anchor on that value, so a file still carrying `'1.0'` is rejected at read time.
75
+ > **v2.11.0 Group A change:** `schemaVersion` moved to version 2 (the shape that added `sha256` and AC/goal IDs). The consumers listed under §Validation anchor on it, so a file carrying anything else is rejected at read time.
62
76
 
63
77
  ## Validation
64
78
 
65
- The frontmatter MUST parse as valid YAML. Two automated consumers read it, and both anchor on `schemaVersion` + `sha256`: the `AUDIT_REQUIRES_HANDOFF` prereq in `src/services/artifacts/artifact-prerequisites.ts` and the independent audit services under `src/services/audit-independent/`. The serializer that writes it is `src/services/prd/handoff-frontmatter.ts`. No unit test pins the field set — the "regression test" this section used to name never existed in this repository — so required-field and `gateEvidence` completeness are conventions the publisher must honour.
79
+ The frontmatter MUST parse as valid YAML. Two automated consumers read it, and both anchor on `schemaVersion` + `sha256`: the `AUDIT_REQUIRES_HANDOFF` prereq in `src/services/artifacts/artifact-prerequisites.ts` and the independent audit services under `src/services/audit-independent/`. The serializer that writes it is `src/services/prd/handoff-frontmatter.ts`.
80
+
81
+ What is pinned now, and what is not:
82
+
83
+ - **Pinned** by `tests/unit/prd/handoff-frontmatter-doc-contract.test.ts`: the `gateEvidence` key set in the example above against `GATE_EVIDENCE_KEYS`, each request type's declared keys against `deriveGateEvidence`, and `schemaVersion` against what the serializer actually emits. If this document drifts from the code it describes, that test goes red.
84
+ - **NOT pinned — a recorded divergence**: `scope`, `files`, `decisions[]`, `risks[]` and `nextActions[]` are listed as required fields by this file and by `peaks-qa`'s reader doc, and the serializer emits none of them (it never has). `readHandoff` additionally REQUIRES `sessionId`, `writtenAt`, `goals`, `acceptanceCriteria` and `preservedBehavior`, which neither document lists. So a capsule hand-authored from this example is rejected, and four of peaks-qa's five mechanical cross-checks read fields that are not on disk. The contract test pins the gap in both directions so it cannot be quietly re-forgotten; closing it is an open decision (give the frontmatter those fields, or re-base the checks on inputs that exist).
66
85
 
67
86
  ```bash
68
- # No command validates the frontmatter today; review the consumers above by hand.
87
+ # `peaks prd handoff init` prints the derived gateEvidence map (dry-run and
88
+ # applied), so the key set for a given slice is readable without opening the
89
+ # serializer. It does not validate an arbitrary handoff; that is
90
+ # `peaks prd handoff verify`.
69
91
  ```
70
92
 
71
93
  ## Body (prose, free-form)
@@ -56,7 +56,7 @@ The `.peaks/` workspace is partitioned by a **single scope axis** (session-id, a
56
56
  When a workflow surfaces a human need (a sentence, a ticket summary, a voice note, a vague "I want X"), call `peaks-audit` BEFORE any other skill:
57
57
 
58
58
  ```text
59
- need expressed → peaks audit-goal → (user accepts goal) → peaks-prd → peaks-rd → peaks-qa
59
+ need expressed → peaks audit goal → (user accepts goal) → peaks-prd → peaks-rd → peaks-qa
60
60
  ▲
61
61
  │
62
62
  you are here on first contact
@@ -80,14 +80,14 @@ Do NOT invoke peaks-audit when the user is asking for a code review, a test run,
80
80
  ### Intended CLI form (L2.4 — not yet registered in `src/cli/commands/audit-commands.ts`)
81
81
 
82
82
  ```bash
83
- peaks audit-goal --need "<natural language description of the need>" --json
83
+ peaks audit goal --need "<natural language description of the need>" --json
84
84
  ```
85
85
 
86
86
  > **Deviation note:** at the time of this writing, only `peaks audit red-lines` and `peaks audit static` are registered as `peaks audit` subcommands. The `audit-goal` subcommand is **not yet wired** in `src/cli/commands/audit-commands.ts`. Callers reach the primitive through the TypeScript module below. The CLI registration is tracked separately and must not be conflated with the primitive itself.
87
87
 
88
88
  ### Service-layer form (authoritative, used today)
89
89
 
90
- `peaks audit-goal` is a thin wrapper around the `auditGoal()` function in `src/services/audit/audit-goal-service.ts`. Two integration paths exist today:
90
+ `peaks audit goal` is a thin wrapper around the `auditGoal()` function in `src/services/audit/audit-goal-service.ts`. Two integration paths exist today:
91
91
 
92
92
  **1. Direct TypeScript call** (used by `src/services/final-review/final-review-service.ts`, `src/services/slice/llm-arbitrator.ts`, `src/services/slice/multi-pass-orchestrator.ts`):
93
93
 
@@ -4,7 +4,7 @@
4
4
  >
5
5
  > **2026-09-12 (`rd-routing-by-integration-mode`):** this file is now the routing home for all three integration modes, not just `prd-only`. `### Integration-mode routing (RD)` was added and the boolean-era text in `### Mode determination` was retargeted onto `.integrationMode`; the mock table and placeholder layout below belong to `prd-only`.
6
6
 
7
- `peaks scan archetype --json` classifies every project into exactly one of three integration modes (`.integrationMode`). Code and RD both branch on that value — the `frontendOnly` boolean is retained for back-compat only (the swarm plan still reads it) and is no longer a routing decision.
7
+ `peaks scan archetype --json` classifies every project into exactly one of three integration modes (`.integrationMode`). Code and RD both branch on that value — the `frontendOnly` boolean is retained for back-compat only (the swarm plan still reads it) and is no longer a routing decision. Both answers, and the `archetype`, come out of ONE backend predicate (`hasBackendEvidence` in `src/services/scan/archetype-service.ts`); before it was one predicate the three decision functions each re-spelled the same check inline, and a signal added for one of them left the others reading a different project.
8
8
 
9
9
  ### Mode determination (deterministic — CLI is the source of truth)
10
10
 
@@ -12,7 +12,7 @@ Read `.integrationMode` and `.integrationModeReason` from the `peaks scan archet
12
12
 
13
13
  | `.integrationMode` | `.integrationModeReason` | What is physically present |
14
14
  |---|---|---|
15
- | `full-stack` | `backend-detected` | a backend framework, Next API routes, or a backend dir in this repo |
15
+ | `full-stack` | `backend-detected` | a backend anywhere in this repo: a root framework, Next API routes **or server actions**, a backend dir, a workspace package's own manifest (`apps/gateway: express`), or a non-Node service (`go.mod`, `pom.xml`, `services/x/requirements.txt` naming a web framework) |
16
16
  | `prd-plus-interface-doc` | `interface-doc-present` | an OpenAPI / proto document, and no backend here |
17
17
  | `prd-only` | `no-backend-no-interface-doc` | neither |
18
18
 
@@ -49,10 +49,6 @@ Run `peaks workspace init` + `peaks skill presence:set peaks-code` BEFORE any an
49
49
 
50
50
  After Step 0, run the resume-detection probe; surface via `AskUserQuestion` if a slice is in flight. **v3.1.2 resume rule:** if `.peaks/_runtime/<sessionId>/job/<jid>/progress.json` exists, read FIRST and surface `Next: slice #N of M`. **v2.11.0 D7 override:** if user just `/compact`ed, run `peaks code post-compact-detect --project <repo> --json` FIRST; `shouldAutoResume: true` skips AskUserQuestion. → `resume-detection.md`.
51
51
 
52
- ### Peaks-Loop Step 0.55: 1.x → 2.0 detection (BLOCKING on first invocation per session, when the project is not on a 2.0 layout)
53
-
54
- After Step 0.7 returns "fresh", run `peaks upgrade --detect-1x --project <root> --json`. If `isOneX: true`, surface `AskUserQuestion`. → `step-0-55-1x-detection.md`.
55
-
56
52
  ### Peaks-Loop Step 0.8 — Job 启动 (BLOCKING on LLM judgement — v3.1.1 patch + v3.1.2 mechanical gates)
57
53
 
58
54
  > **CLI reality check (D-001 sediment, 2026-07-09):** The CLI surface has changed since this section was last verified. The actual command is **`peaks job init --job-id <jid> --slice-list <list> --main-loop-strategy <single|rotating> [--parallelism-hint <serial|llm-decides>] [--exit-policy <strict|best-effort>] [--project <repo>]`**. The legacy `peaks code detect-job --is-job/--suggested-job-id/--confidence` form described below is **no longer present** in 4.0.0-beta.6. If you find `--is-job` rejected, fall back to `peaks job init`.
@@ -1,25 +0,0 @@
1
- /**
2
- * peaks upgrade * CLI surface — Slice: 1.x → 2.0 umbrella +
3
- * Slice 3: --detect-1x flag.
4
- * Fix-4: reject dangerous probe names passed positionally and expose
5
- * --gitignore-migrate as a read-only probe.
6
- *
7
- * Per the "one-key completion" + "minimal-user-operation" tenets
8
- * (2026-06-11), the user's typical upgrade path is
9
- * `npm i -g peaks-loop@2.0` (the postinstall does the upgrade).
10
- *
11
- * The `peaks upgrade --to 2.0` CLI is the manual fallback for
12
- * when the postinstall is skipped (e.g. CI uses
13
- * `--ignore-scripts`). The umbrella orchestrates 7 sub-commands:
14
- * config-migrate / standards-migrate / memory-extract /
15
- * hooks-install / skill-sync / audit-verify + write-upgrade-record.
16
- *
17
- * The `--detect-1x` flag (added in slice 3) is a read-only
18
- * probe that the peaks-code skill calls to gate the
19
- * AskUserQuestion that prompts the 1.x → 2.0 upgrade. The
20
- * probe returns the JSON envelope from the
21
- * 1x-detector-service; it does NOT modify any files.
22
- */
23
- import type { Command } from 'commander';
24
- import { type ProgramIO } from '../cli-helpers.js';
25
- export declare function registerUpgradeCommands(program: Command, io: ProgramIO): void;
@@ -1,154 +0,0 @@
1
- import { runUpgrade } from '../../services/upgrade/upgrade-service.js';
2
- import { detect1xProjectState } from '../../services/upgrade/1x-detector-service.js';
3
- import { migrateGitignoreFile } from '../../services/upgrade/gitignore-migrate-service.js';
4
- import { initWorkspace } from '../../services/workspace/workspace-service.js';
5
- import { ensureSessionWithRotation } from '../../services/session/session-manager.js';
6
- import { resolveCanonicalProjectRoot } from '../../services/config/config-service.js';
7
- import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
8
- import { fail, ok } from 'peaks-loop-shared/result';
9
- const REJECTED_POSITIONALS = {
10
- '1x-detector': '--detect-1x',
11
- 'gitignore-migrate': '--gitignore-migrate'
12
- };
13
- function isRejectedPositional(value) {
14
- return value === '1x-detector' || value === 'gitignore-migrate';
15
- }
16
- export function registerUpgradeCommands(program, io) {
17
- addJsonOption(program
18
- .command('upgrade', { hidden: true })
19
- .description('Upgrade a peaks-loop 1.x project to 2.0. Umbrella that orquestrates 7 sub-commands: config-migrate / standards-migrate / memory-extract / hooks-install / skill-sync / audit-verify + write-upgrade-record. Per the "one-key completion" tenet, prefer letting `npm i -g peaks-loop@2.0` postinstall run this for you. Use `--detect-1x` for a read-only probe (no file writes) that the peaks-code skill uses to gate the 1.x → 2.0 AskUserQuestion.')
20
- .option('--to <version>', 'target version (only "2.0" supported)', '2.0')
21
- .option('--project <path>', 'project root to upgrade (default: cwd)')
22
- .option('--auto', 'non-interactive: accept soft-fail on any sub-step (used by the postinstall hook)')
23
- .option('--detect-1x', 'read-only probe: returns the 1.x state as JSON (no file writes); consumed by peaks-code Step 0.55 to gate the AskUserQuestion')
24
- .option('--gitignore-migrate', 'read-only probe: reports whether .gitignore needs the 1.x to 2.0 migration (no file writes)')
25
- .option('--apply-init', 'slice 4 (slice 2026-06-13-selfheal-claude-settings-template): run initWorkspace so the drift-driven self-heal fires on the consumer-project .claude/settings.local.json and the offline .peaks/.claude-settings-template.json. Idempotent. Use after a peaks-loop version bump if you do not otherwise re-run init. Mutually exclusive with --detect-1x.')).action(async (options, command) => {
26
- const projectRoot = options.project ?? process.cwd();
27
- const positional = command.args[0];
28
- if (isRejectedPositional(positional)) {
29
- const replacementFlag = REJECTED_POSITIONALS[positional];
30
- const message = `Positional \`${positional}\` is not supported because it could trigger the destructive upgrade umbrella. The documented read-only probe is \`${replacementFlag}\`.`;
31
- printResult(io, fail('upgrade', 'UPGRADE_POSITIONAL_REJECTED', message, {}, [
32
- `The LLM can coordinate the documented ${replacementFlag} read-only probe instead.`
33
- ]), options.json);
34
- process.exitCode = 1;
35
- return;
36
- }
37
- // Branch 1: --detect-1x (read-only probe)
38
- if (options.detect1x === true) {
39
- try {
40
- const state = detect1xProjectState(projectRoot);
41
- const nextActions = [];
42
- if (state.isOneX) {
43
- nextActions.push(`Detected 1.x state. peaks-code Step 0.55 should present an AskUserQuestion to invoke \`peaks upgrade --to 2.0 --auto --project ${state.projectRoot ?? projectRoot}\`.`);
44
- }
45
- else {
46
- nextActions.push('No 1.x state detected. Proceed with the standing 2.0 layout.');
47
- }
48
- const envelope = ok('upgrade.detect-1x', state, [], nextActions);
49
- printResult(io, envelope, options.json);
50
- }
51
- catch (error) {
52
- const message = getErrorMessage(error);
53
- printResult(io, fail('upgrade.detect-1x', 'DETECT_1X_FAILED', message, { isOneX: false, signals: [], projectRoot: null, configPath: null }, [message]), options.json);
54
- process.exitCode = 1;
55
- }
56
- return;
57
- }
58
- // Branch 2: --gitignore-migrate (read-only probe)
59
- if (options.gitignoreMigrate === true) {
60
- try {
61
- const result = migrateGitignoreFile({ projectRoot, apply: false });
62
- const envelope = ok('upgrade.gitignore-migrate', result, [], result.changed
63
- ? ['The upgrade umbrella can coordinate the required .gitignore migration.']
64
- : ['No .gitignore migration is required.']);
65
- printResult(io, envelope, options.json);
66
- }
67
- catch (error) {
68
- const message = getErrorMessage(error);
69
- printResult(io, fail('upgrade.gitignore-migrate', 'GITIGNORE_MIGRATE_FAILED', message, { appliedWrite: false }, [message]), options.json);
70
- process.exitCode = 1;
71
- }
72
- return;
73
- }
74
- // Branch 3: --apply-init (slice 4 — slice 2026-06-13-selfheal-claude-settings-template).
75
- //
76
- // The drift-driven self-heal inside initWorkspace only fires when
77
- // the user invokes init. After a peaks-loop version bump, users who
78
- // never re-run init are stuck with stale templates until they do.
79
- // This flag is the post-bump escape hatch: it triggers init for them.
80
- //
81
- // We do NOT pass --session-id (the CLI auto-generates / reuses an
82
- // existing binding). We do NOT pass --no-claude-hooks (the goal is to
83
- // bring the project to the current peaks-loop baseline, including the
84
- // consumer-project hook).
85
- if (options.applyInit === true) {
86
- try {
87
- const canonicalRoot = resolveCanonicalProjectRoot(projectRoot);
88
- // Match the workspace-init CLI's pattern: resolve the session id
89
- // (auto-generate / reuse binding / rotate on outer-mismatch)
90
- // BEFORE calling initWorkspace. initWorkspace itself validates
91
- // the session id and does NOT auto-generate, so we have to do
92
- // the rotation-aware resolution here.
93
- const sessionResolution = await ensureSessionWithRotation(canonicalRoot, {
94
- skipRotateOnOuterMismatch: false
95
- });
96
- const result = await initWorkspace({
97
- projectRoot: canonicalRoot,
98
- sessionId: sessionResolution.sessionId,
99
- allowSessionRebind: false
100
- });
101
- const nextActions = [];
102
- // Surface the same self-heal messaging that workspace-init uses.
103
- if (result.claudeSettings.offlineTemplate.action === 'refreshed') {
104
- nextActions.push(`Self-healed .peaks/.claude-settings-template.json (action: refreshed) — ` +
105
- 'the offline recovery anchor now matches the current peaks-loop template.');
106
- nextActions.push('⚠️ If you had manually edited .peaks/.claude-settings-template.json, ' +
107
- 'those edits have been overwritten by the self-heal.');
108
- }
109
- else if (result.claudeSettings.offlineTemplate.action === 'written') {
110
- nextActions.push('Wrote .peaks/.claude-settings-template.json (action: written) — ' +
111
- 'the offline recovery anchor is now in place.');
112
- }
113
- if (result.claudeSettings.action === 'refreshed') {
114
- nextActions.push(`Refreshed .claude/settings.local.json (action: refreshed) — ` +
115
- 'the consumer-project hook now matches the current peaks-loop template. ' +
116
- 'Restart Claude Code so the hooks take effect.');
117
- }
118
- else if (result.claudeSettings.action === 'written') {
119
- nextActions.push('Wrote .claude/settings.local.json (action: written) — ' +
120
- 'the [Fact-Forcing Gate] bypass is now in effect. Restart Claude Code so the hooks take effect.');
121
- }
122
- const envelope = ok('upgrade.apply-init', result, [], nextActions);
123
- printResult(io, envelope, options.json);
124
- }
125
- catch (error) {
126
- const message = getErrorMessage(error);
127
- printResult(io, fail('upgrade.apply-init', 'APPLY_INIT_FAILED', message, { applied: false }, [message]), options.json);
128
- process.exitCode = 1;
129
- }
130
- return;
131
- }
132
- // Branch 4: the umbrella (existing behavior)
133
- try {
134
- const result = runUpgrade({ projectRoot, auto: options.auto === true });
135
- const nextActions = [...result.nextActions];
136
- if (result.failedCount > 0) {
137
- nextActions.unshift(`${result.failedCount} sub-step(s) failed. Re-run \`peaks upgrade --to 2.0\` to retry.`);
138
- }
139
- if (result.upgradeRecordPath !== null) {
140
- nextActions.push(`Upgrade record written: ${result.upgradeRecordPath}`);
141
- }
142
- const envelope = ok('upgrade', result, [...result.warnings], nextActions);
143
- printResult(io, envelope, options.json);
144
- if (result.failedCount > 0) {
145
- process.exitCode = 1;
146
- }
147
- }
148
- catch (error) {
149
- const message = getErrorMessage(error);
150
- printResult(io, fail('upgrade', 'UPGRADE_FAILED', message, { applied: false }, [message]), options.json);
151
- process.exitCode = 1;
152
- }
153
- });
154
- }
@@ -1,10 +0,0 @@
1
- export type CodegraphIncludeNormalizePlan = {
2
- readonly changed: boolean;
3
- readonly include: readonly string[];
4
- readonly addedPatterns: readonly string[];
5
- };
6
- export declare function normalizeCodegraphInclude(input: {
7
- readonly include: readonly string[];
8
- readonly candidateExtensions: readonly string[];
9
- }): CodegraphIncludeNormalizePlan;
10
- export declare function upstreamUnnamedIncludeExtensions(): readonly string[];
@@ -1,160 +0,0 @@
1
- // src/services/codegraph/codegraph-include-reconciler.ts
2
- //
3
- // Slice-002 of `2026-09-16-codegraph-index-integrity` — the INCLUDE axis
4
- // of the config repair. It answers one question:
5
- //
6
- // "Which extensions does upstream's extractor support but upstream's own
7
- // default `include` template never names, and which of those does THIS
8
- // project's `include` still not admit?"
9
- //
10
- // Why this exists (the real defect, measured): upstream
11
- // `@colbymchenry/codegraph` decides what to parse from its own
12
- // `EXTENSION_MAP` (37 extensions in 0.7.10), but `init` writes a 32-entry
13
- // `DEFAULT_CONFIG.include` template that names only 32 of them. Five
14
- // supported extensions are therefore absent from every fresh config:
15
- // `.mjs`, `.cjs`, `.pyw`, `.hxx`, `.rake`. Upstream's `mergeConfig` has no
16
- // separate override channel — `config.json`'s `include` replaces the
17
- // defaults wholesale — so a fresh clone indexes none of them while
18
- // `peaks codegraph status` still prints `[OK] Index is up to date`. On this
19
- // repo that was 31 tracked files (30 `.mjs` + 1 `.cjs`) absent from a
20
- // 1220-row index. It is the same class of defect as upstream's default
21
- // `exclude` template colliding with real source directories, which slice S2
22
- // of `2026-09-12-codegraph-exclude-integrity` already self-heals at the
23
- // `init` seam; the include axis was simply never reconciled.
24
- //
25
- // Genericity (binding — mirrors the exclude reconciler): no hardcoded
26
- // extension list, no hardcoded rule names, no project-specific paths. The
27
- // candidate set is COMPUTED from upstream's own two tables (`EXTENSION_MAP`
28
- // in `dist/extraction/grammars.js`, `DEFAULT_CONFIG` in `dist/types.js`),
29
- // and every candidate is confirmed against upstream's own decision pair
30
- // (`isLanguageSupported(detectLanguage(...))` — the same two functions
31
- // `extraction/index.js` calls). Upstream can add an extension tomorrow and
32
- // this module picks it up with no edit here; the "five" above is a
33
- // measurement, not a constant in the code.
34
- //
35
- // Additive, never clobbering: a project's `include` is append-only from
36
- // here. No user entry is removed, reordered or rewritten, and an extension
37
- // any existing entry already admits is left alone. Append-only is the same
38
- // posture `codegraph-exclude-repair.ts` takes toward a third-party config
39
- // file it edits.
40
- //
41
- // Scope: PURE (`normalizeCodegraphInclude`) plus ONE read-only adapter
42
- // (`upstreamIncludeCandidateExtensions`, which reads the installed upstream
43
- // package). Nothing in this module writes a file.
44
- //
45
- // NOTE FOR FUTURE EDITORS: glob literals contain the two-character
46
- // sequence that ends a block comment, so every comment in this file uses
47
- // `//` lines — INCLUDING the exported API documentation, which is why this
48
- // file has no `/** ... */` blocks. Do not convert them.
49
- import { createRequire } from 'node:module';
50
- import { dirname, extname, join } from 'node:path';
51
- import { compileCodegraphGlobs } from './codegraph-exclude-reconciler.js';
52
- // ─────────────────────────────────────────────────────────────────────
53
- // Which extensions does this project's `include` already admit?
54
- // ─────────────────────────────────────────────────────────────────────
55
- // The pattern upstream's own template uses for a bare extension: all 32
56
- // entries of `DEFAULT_CONFIG.include` have exactly this shape, and they are
57
- // matched with `picomatch(..., { dot: true })` — the same engine, and the
58
- // same options, that `matchesCodegraphGlob` delegates to. So an appended
59
- // pattern is indistinguishable in form from an upstream-authored one.
60
- function includePatternForExtension(extension) {
61
- return `**/*${extension}`;
62
- }
63
- // A synthetic path used ONLY to ask "does any existing rule admit a file
64
- // with this extension". A root-level probe answers that question exactly
65
- // for every pattern shape upstream itself writes, because `picomatch`'s
66
- // trailing-slash-star-star prefix matches zero path segments (measured:
67
- // the `.mjs` pattern matches both `probe.mjs` and `a/b/probe.mjs`).
68
- //
69
- // KNOWN PROXY LIMIT, stated rather than hidden: a path-narrowed rule such as
70
- // a `src`-prefixed brace list of js/mjs does NOT match the root-level probe,
71
- // so an extension admitted only under a subdirectory is treated as
72
- // uncovered and the bare extension pattern is appended. That errs ADDITIVE —
73
- // the index admits more tracked files, never fewer — and it is pinned by a
74
- // test rather than left to be discovered. A false "already covered" cannot
75
- // occur for any pattern upstream's template can produce, and if it did its
76
- // only effect would be to leave the gap the inspector already reports.
77
- function extensionProbePath(extension) {
78
- return `codegraph-include-probe${extension}`;
79
- }
80
- // Compiled ONCE per rule, never per (candidate x rule) pair — see
81
- // `compileCodegraphGlobs`. The `matchers` list is the include list the
82
- // candidate is tested against: the caller's entries first, then the
83
- // patterns this same pass has already decided to append, so a duplicate
84
- // candidate cannot append twice without re-parsing the list each time
85
- // (perf audit S10: the re-parse was 0.25 / 2.15 / 23.4 / 234.4 ms at
86
- // 32 / 320 / 3,200 / 32,000 rules, plus a spread array per candidate).
87
- function isExtensionAdmitted(extension, matchers) {
88
- const probe = extensionProbePath(extension);
89
- return matchers.some((matcher) => matcher.matchesAny(probe));
90
- }
91
- // Pure: given the current `include` list and the extensions upstream
92
- // supports but its own template omits, return the list with the uncovered
93
- // ones appended. No fs, no clock, no serialization.
94
- //
95
- // The result is always a SUPERSET of the input, in the input's order, so a
96
- // caller can never remove or reorder a user entry. Appending an extension
97
- // the list already admits is a no-op, which is what makes the whole
98
- // normalization idempotent: feeding the repaired list back in yields
99
- // `changed: false`.
100
- //
101
- // Candidates are de-duplicated by their EFFECT, not by string equality:
102
- // each candidate is tested against the input list PLUS the patterns this
103
- // call has already appended, so a duplicate candidate cannot append twice.
104
- export function normalizeCodegraphInclude(input) {
105
- const addedPatterns = [];
106
- // The include list as this pass sees it, compiled once. Appending a
107
- // pattern extends the list by ONE compiled rule instead of re-parsing
108
- // every entry on the next candidate (see `isExtensionAdmitted`).
109
- const matchers = [compileCodegraphGlobs(input.include)];
110
- for (const candidate of input.candidateExtensions) {
111
- const extension = candidate.startsWith('.') ? candidate : `.${candidate}`;
112
- if (isExtensionAdmitted(extension, matchers)) {
113
- continue;
114
- }
115
- const pattern = includePatternForExtension(extension);
116
- addedPatterns.push(pattern);
117
- matchers.push(compileCodegraphGlobs([pattern]));
118
- }
119
- if (addedPatterns.length === 0) {
120
- return { changed: false, include: input.include, addedPatterns: [] };
121
- }
122
- return {
123
- changed: true,
124
- include: [...input.include, ...addedPatterns],
125
- addedPatterns
126
- };
127
- }
128
- let cachedCandidateExtensions = null;
129
- // The extensions upstream's extractor supports but its own default
130
- // `include` template never names, as dotted extensions — measured against
131
- // the installed `@colbymchenry/codegraph` 0.7.10 as `.mjs`, `.cjs`,
132
- // `.pyw`, `.hxx`, `.rake`, in that order.
133
- //
134
- // Derived entirely from upstream's own data:
135
- //
136
- // 1. `EXTENSION_MAP` keys are the extension universe the extractor knows.
137
- // 2. The extensions upstream's template already names are read off
138
- // `DEFAULT_CONFIG.include` — the entry's own extension, so the
139
- // comparison is extension-to-extension and cannot be confused by a
140
- // template that switches glob syntax.
141
- // 3. A candidate is kept only when upstream's own support decision
142
- // accepts it, so a table entry with no grammar behind it is never
143
- // repaired into the config.
144
- //
145
- // Returns the same array on every call (module-level cache); the two
146
- // modules only define tables and functions, so the load is cheap and
147
- // Node's `require` cache makes later calls free.
148
- export function upstreamUnnamedIncludeExtensions() {
149
- if (cachedCandidateExtensions === null) {
150
- const require = createRequire(import.meta.url);
151
- const packageJsonPath = require.resolve('@colbymchenry/codegraph/package.json');
152
- const distDir = join(dirname(packageJsonPath), 'dist');
153
- const types = require(join(distDir, 'types.js'));
154
- const grammars = require(join(distDir, 'extraction', 'grammars.js'));
155
- const namedByTemplate = new Set(types.DEFAULT_CONFIG.include.map((entry) => extname(entry).toLowerCase()));
156
- cachedCandidateExtensions = Object.keys(grammars.EXTENSION_MAP).filter((extension) => !namedByTemplate.has(extension.toLowerCase()) &&
157
- grammars.isLanguageSupported(grammars.detectLanguage(`probe${extension}`)));
158
- }
159
- return cachedCandidateExtensions;
160
- }
@@ -1,7 +0,0 @@
1
- export interface OneXState {
2
- readonly isOneX: boolean;
3
- readonly signals: readonly string[];
4
- readonly projectRoot: string | null;
5
- readonly configPath: string | null;
6
- }
7
- export declare function detect1xProjectState(cwd?: string): OneXState;