dorfl 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (619) hide show
  1. package/dist/advance-ci-template.d.ts +73 -0
  2. package/dist/advance-ci-template.d.ts.map +1 -0
  3. package/dist/advance-ci-template.js +104 -0
  4. package/dist/advance-ci-template.js.map +1 -0
  5. package/dist/advance-classify.d.ts +132 -0
  6. package/dist/advance-classify.d.ts.map +1 -0
  7. package/dist/advance-classify.js +120 -0
  8. package/dist/advance-classify.js.map +1 -0
  9. package/dist/advance-drivers.d.ts +182 -0
  10. package/dist/advance-drivers.d.ts.map +1 -0
  11. package/dist/advance-drivers.js +231 -0
  12. package/dist/advance-drivers.js.map +1 -0
  13. package/dist/advance-isolated.d.ts +156 -0
  14. package/dist/advance-isolated.d.ts.map +1 -0
  15. package/dist/advance-isolated.js +256 -0
  16. package/dist/advance-isolated.js.map +1 -0
  17. package/dist/advance-lifecycle-template.d.ts +107 -0
  18. package/dist/advance-lifecycle-template.d.ts.map +1 -0
  19. package/dist/advance-lifecycle-template.js +668 -0
  20. package/dist/advance-lifecycle-template.js.map +1 -0
  21. package/dist/advance-loop-driver.d.ts +325 -0
  22. package/dist/advance-loop-driver.d.ts.map +1 -0
  23. package/dist/advance-loop-driver.js +437 -0
  24. package/dist/advance-loop-driver.js.map +1 -0
  25. package/dist/advance-treeless-publish.d.ts +108 -0
  26. package/dist/advance-treeless-publish.d.ts.map +1 -0
  27. package/dist/advance-treeless-publish.js +71 -0
  28. package/dist/advance-treeless-publish.js.map +1 -0
  29. package/dist/advance.d.ts +340 -0
  30. package/dist/advance.d.ts.map +1 -0
  31. package/dist/advance.js +1122 -0
  32. package/dist/advance.js.map +1 -0
  33. package/dist/advancing-lock.d.ts +294 -0
  34. package/dist/advancing-lock.d.ts.map +1 -0
  35. package/dist/advancing-lock.js +594 -0
  36. package/dist/advancing-lock.js.map +1 -0
  37. package/dist/agent-launch.d.ts +79 -0
  38. package/dist/agent-launch.d.ts.map +1 -0
  39. package/dist/agent-launch.js +61 -0
  40. package/dist/agent-launch.js.map +1 -0
  41. package/dist/agent-stop.d.ts +149 -0
  42. package/dist/agent-stop.d.ts.map +1 -0
  43. package/dist/agent-stop.js +307 -0
  44. package/dist/agent-stop.js.map +1 -0
  45. package/dist/apply-decide.d.ts +127 -0
  46. package/dist/apply-decide.d.ts.map +1 -0
  47. package/dist/apply-decide.js +176 -0
  48. package/dist/apply-decide.js.map +1 -0
  49. package/dist/apply-merge-action.d.ts +206 -0
  50. package/dist/apply-merge-action.d.ts.map +1 -0
  51. package/dist/apply-merge-action.js +307 -0
  52. package/dist/apply-merge-action.js.map +1 -0
  53. package/dist/apply-persist.d.ts +174 -0
  54. package/dist/apply-persist.d.ts.map +1 -0
  55. package/dist/apply-persist.js +359 -0
  56. package/dist/apply-persist.js.map +1 -0
  57. package/dist/arbiter.d.ts +120 -0
  58. package/dist/arbiter.d.ts.map +1 -0
  59. package/dist/arbiter.js +255 -0
  60. package/dist/arbiter.js.map +1 -0
  61. package/dist/brand.d.ts +70 -0
  62. package/dist/brand.d.ts.map +1 -0
  63. package/dist/brand.js +84 -0
  64. package/dist/brand.js.map +1 -0
  65. package/dist/buildable-body.d.ts +132 -0
  66. package/dist/buildable-body.d.ts.map +1 -0
  67. package/dist/buildable-body.js +131 -0
  68. package/dist/buildable-body.js.map +1 -0
  69. package/dist/categorise.d.ts +66 -0
  70. package/dist/categorise.d.ts.map +1 -0
  71. package/dist/categorise.js +106 -0
  72. package/dist/categorise.js.map +1 -0
  73. package/dist/claim-cas.d.ts +117 -0
  74. package/dist/claim-cas.d.ts.map +1 -0
  75. package/dist/claim-cas.js +312 -0
  76. package/dist/claim-cas.js.map +1 -0
  77. package/dist/cli-spinner.d.ts +112 -0
  78. package/dist/cli-spinner.d.ts.map +1 -0
  79. package/dist/cli-spinner.js +157 -0
  80. package/dist/cli-spinner.js.map +1 -0
  81. package/dist/cli.d.ts +11 -0
  82. package/dist/cli.d.ts.map +1 -0
  83. package/dist/cli.js +3094 -0
  84. package/dist/cli.js.map +1 -0
  85. package/dist/close-job-template.d.ts +70 -0
  86. package/dist/close-job-template.d.ts.map +1 -0
  87. package/dist/close-job-template.js +180 -0
  88. package/dist/close-job-template.js.map +1 -0
  89. package/dist/close-job.d.ts +95 -0
  90. package/dist/close-job.d.ts.map +1 -0
  91. package/dist/close-job.js +226 -0
  92. package/dist/close-job.js.map +1 -0
  93. package/dist/complete.d.ts +361 -0
  94. package/dist/complete.d.ts.map +1 -0
  95. package/dist/complete.js +885 -0
  96. package/dist/complete.js.map +1 -0
  97. package/dist/concurrency.d.ts +68 -0
  98. package/dist/concurrency.d.ts.map +1 -0
  99. package/dist/concurrency.js +112 -0
  100. package/dist/concurrency.js.map +1 -0
  101. package/dist/config-override.d.ts +76 -0
  102. package/dist/config-override.d.ts.map +1 -0
  103. package/dist/config-override.js +50 -0
  104. package/dist/config-override.js.map +1 -0
  105. package/dist/config.d.ts +668 -0
  106. package/dist/config.d.ts.map +1 -0
  107. package/dist/config.js +241 -0
  108. package/dist/config.js.map +1 -0
  109. package/dist/continue-branch.d.ts +249 -0
  110. package/dist/continue-branch.d.ts.map +1 -0
  111. package/dist/continue-branch.js +389 -0
  112. package/dist/continue-branch.js.map +1 -0
  113. package/dist/cwd-section.d.ts +186 -0
  114. package/dist/cwd-section.d.ts.map +1 -0
  115. package/dist/cwd-section.js +209 -0
  116. package/dist/cwd-section.js.map +1 -0
  117. package/dist/decision-engine.d.ts +170 -0
  118. package/dist/decision-engine.d.ts.map +1 -0
  119. package/dist/decision-engine.js +136 -0
  120. package/dist/decision-engine.js.map +1 -0
  121. package/dist/detect.d.ts +17 -0
  122. package/dist/detect.d.ts.map +1 -0
  123. package/dist/detect.js +118 -0
  124. package/dist/detect.js.map +1 -0
  125. package/dist/do-autopick.d.ts +85 -0
  126. package/dist/do-autopick.d.ts.map +1 -0
  127. package/dist/do-autopick.js +112 -0
  128. package/dist/do-autopick.js.map +1 -0
  129. package/dist/do-config.d.ts +312 -0
  130. package/dist/do-config.d.ts.map +1 -0
  131. package/dist/do-config.js +358 -0
  132. package/dist/do-config.js.map +1 -0
  133. package/dist/do-remote-auto.d.ts +75 -0
  134. package/dist/do-remote-auto.d.ts.map +1 -0
  135. package/dist/do-remote-auto.js +111 -0
  136. package/dist/do-remote-auto.js.map +1 -0
  137. package/dist/do.d.ts +621 -0
  138. package/dist/do.d.ts.map +1 -0
  139. package/dist/do.js +1882 -0
  140. package/dist/do.js.map +1 -0
  141. package/dist/drop-source.d.ts +96 -0
  142. package/dist/drop-source.d.ts.map +1 -0
  143. package/dist/drop-source.js +91 -0
  144. package/dist/drop-source.js.map +1 -0
  145. package/dist/eligibility.d.ts +46 -0
  146. package/dist/eligibility.d.ts.map +1 -0
  147. package/dist/eligibility.js +34 -0
  148. package/dist/eligibility.js.map +1 -0
  149. package/dist/env-config.d.ts +51 -0
  150. package/dist/env-config.d.ts.map +1 -0
  151. package/dist/env-config.js +272 -0
  152. package/dist/env-config.js.map +1 -0
  153. package/dist/failure-cause.d.ts +70 -0
  154. package/dist/failure-cause.d.ts.map +1 -0
  155. package/dist/failure-cause.js +126 -0
  156. package/dist/failure-cause.js.map +1 -0
  157. package/dist/format.d.ts +43 -0
  158. package/dist/format.d.ts.map +1 -0
  159. package/dist/format.js +256 -0
  160. package/dist/format.js.map +1 -0
  161. package/dist/frontmatter.d.ts +215 -0
  162. package/dist/frontmatter.d.ts.map +1 -0
  163. package/dist/frontmatter.js +345 -0
  164. package/dist/frontmatter.js.map +1 -0
  165. package/dist/gate-readiness.d.ts +84 -0
  166. package/dist/gate-readiness.d.ts.map +1 -0
  167. package/dist/gate-readiness.js +103 -0
  168. package/dist/gate-readiness.js.map +1 -0
  169. package/dist/gc.d.ts +165 -0
  170. package/dist/gc.d.ts.map +1 -0
  171. package/dist/gc.js +313 -0
  172. package/dist/gc.js.map +1 -0
  173. package/dist/gh-failure.d.ts +42 -0
  174. package/dist/gh-failure.d.ts.map +1 -0
  175. package/dist/gh-failure.js +49 -0
  176. package/dist/gh-failure.js.map +1 -0
  177. package/dist/git.d.ts +75 -0
  178. package/dist/git.d.ts.map +1 -0
  179. package/dist/git.js +130 -0
  180. package/dist/git.js.map +1 -0
  181. package/dist/github.d.ts +187 -0
  182. package/dist/github.d.ts.map +1 -0
  183. package/dist/github.js +343 -0
  184. package/dist/github.js.map +1 -0
  185. package/dist/harness.d.ts +242 -0
  186. package/dist/harness.d.ts.map +1 -0
  187. package/dist/harness.js +157 -0
  188. package/dist/harness.js.map +1 -0
  189. package/dist/identity.d.ts +167 -0
  190. package/dist/identity.d.ts.map +1 -0
  191. package/dist/identity.js +231 -0
  192. package/dist/identity.js.map +1 -0
  193. package/dist/index.d.ts +147 -0
  194. package/dist/index.d.ts.map +1 -0
  195. package/dist/index.js +76 -0
  196. package/dist/index.js.map +1 -0
  197. package/dist/install-ci-branch-protection.d.ts +147 -0
  198. package/dist/install-ci-branch-protection.d.ts.map +1 -0
  199. package/dist/install-ci-branch-protection.js +166 -0
  200. package/dist/install-ci-branch-protection.js.map +1 -0
  201. package/dist/install-ci-capabilities/advance-lifecycle.d.ts +15 -0
  202. package/dist/install-ci-capabilities/advance-lifecycle.d.ts.map +1 -0
  203. package/dist/install-ci-capabilities/advance-lifecycle.js +28 -0
  204. package/dist/install-ci-capabilities/advance-lifecycle.js.map +1 -0
  205. package/dist/install-ci-capabilities/close-job.d.ts +13 -0
  206. package/dist/install-ci-capabilities/close-job.d.ts.map +1 -0
  207. package/dist/install-ci-capabilities/close-job.js +26 -0
  208. package/dist/install-ci-capabilities/close-job.js.map +1 -0
  209. package/dist/install-ci-capabilities/example-noop.d.ts +16 -0
  210. package/dist/install-ci-capabilities/example-noop.d.ts.map +1 -0
  211. package/dist/install-ci-capabilities/example-noop.js +23 -0
  212. package/dist/install-ci-capabilities/example-noop.js.map +1 -0
  213. package/dist/install-ci-capabilities/intake.d.ts +15 -0
  214. package/dist/install-ci-capabilities/intake.d.ts.map +1 -0
  215. package/dist/install-ci-capabilities/intake.js +28 -0
  216. package/dist/install-ci-capabilities/intake.js.map +1 -0
  217. package/dist/install-ci-capabilities/verify.d.ts +14 -0
  218. package/dist/install-ci-capabilities/verify.d.ts.map +1 -0
  219. package/dist/install-ci-capabilities/verify.js +27 -0
  220. package/dist/install-ci-capabilities/verify.js.map +1 -0
  221. package/dist/install-ci-core.d.ts +446 -0
  222. package/dist/install-ci-core.d.ts.map +1 -0
  223. package/dist/install-ci-core.js +760 -0
  224. package/dist/install-ci-core.js.map +1 -0
  225. package/dist/install-ci-github.d.ts +167 -0
  226. package/dist/install-ci-github.d.ts.map +1 -0
  227. package/dist/install-ci-github.js +315 -0
  228. package/dist/install-ci-github.js.map +1 -0
  229. package/dist/install-ci.d.ts +105 -0
  230. package/dist/install-ci.d.ts.map +1 -0
  231. package/dist/install-ci.js +363 -0
  232. package/dist/install-ci.js.map +1 -0
  233. package/dist/intake-event.d.ts +88 -0
  234. package/dist/intake-event.d.ts.map +1 -0
  235. package/dist/intake-event.js +66 -0
  236. package/dist/intake-event.js.map +1 -0
  237. package/dist/intake-marker.d.ts +95 -0
  238. package/dist/intake-marker.d.ts.map +1 -0
  239. package/dist/intake-marker.js +127 -0
  240. package/dist/intake-marker.js.map +1 -0
  241. package/dist/intake-triage.d.ts +48 -0
  242. package/dist/intake-triage.d.ts.map +1 -0
  243. package/dist/intake-triage.js +95 -0
  244. package/dist/intake-triage.js.map +1 -0
  245. package/dist/intake-trigger-template.d.ts +185 -0
  246. package/dist/intake-trigger-template.d.ts.map +1 -0
  247. package/dist/intake-trigger-template.js +449 -0
  248. package/dist/intake-trigger-template.js.map +1 -0
  249. package/dist/intake.d.ts +569 -0
  250. package/dist/intake.d.ts.map +1 -0
  251. package/dist/intake.js +1628 -0
  252. package/dist/intake.js.map +1 -0
  253. package/dist/integration-core.d.ts +539 -0
  254. package/dist/integration-core.d.ts.map +1 -0
  255. package/dist/integration-core.js +2195 -0
  256. package/dist/integration-core.js.map +1 -0
  257. package/dist/integrator.d.ts +343 -0
  258. package/dist/integrator.d.ts.map +1 -0
  259. package/dist/integrator.js +400 -0
  260. package/dist/integrator.js.map +1 -0
  261. package/dist/isolation.d.ts +219 -0
  262. package/dist/isolation.d.ts.map +1 -0
  263. package/dist/isolation.js +261 -0
  264. package/dist/isolation.js.map +1 -0
  265. package/dist/issue-provider.d.ts +349 -0
  266. package/dist/issue-provider.d.ts.map +1 -0
  267. package/dist/issue-provider.js +360 -0
  268. package/dist/issue-provider.js.map +1 -0
  269. package/dist/item-lock.d.ts +626 -0
  270. package/dist/item-lock.d.ts.map +1 -0
  271. package/dist/item-lock.js +1381 -0
  272. package/dist/item-lock.js.map +1 -0
  273. package/dist/item-path.d.ts +49 -0
  274. package/dist/item-path.d.ts.map +1 -0
  275. package/dist/item-path.js +66 -0
  276. package/dist/item-path.js.map +1 -0
  277. package/dist/ledger-lint.d.ts +129 -0
  278. package/dist/ledger-lint.d.ts.map +1 -0
  279. package/dist/ledger-lint.js +249 -0
  280. package/dist/ledger-lint.js.map +1 -0
  281. package/dist/ledger-read.d.ts +357 -0
  282. package/dist/ledger-read.d.ts.map +1 -0
  283. package/dist/ledger-read.js +442 -0
  284. package/dist/ledger-read.js.map +1 -0
  285. package/dist/ledger-write.d.ts +330 -0
  286. package/dist/ledger-write.d.ts.map +1 -0
  287. package/dist/ledger-write.js +411 -0
  288. package/dist/ledger-write.js.map +1 -0
  289. package/dist/lifecycle-gather.d.ts +30 -0
  290. package/dist/lifecycle-gather.d.ts.map +1 -0
  291. package/dist/lifecycle-gather.js +205 -0
  292. package/dist/lifecycle-gather.js.map +1 -0
  293. package/dist/lifecycle-pools.d.ts +180 -0
  294. package/dist/lifecycle-pools.d.ts.map +1 -0
  295. package/dist/lifecycle-pools.js +78 -0
  296. package/dist/lifecycle-pools.js.map +1 -0
  297. package/dist/merge-question-surfacer.d.ts +166 -0
  298. package/dist/merge-question-surfacer.d.ts.map +1 -0
  299. package/dist/merge-question-surfacer.js +297 -0
  300. package/dist/merge-question-surfacer.js.map +1 -0
  301. package/dist/mint-adr.d.ts +126 -0
  302. package/dist/mint-adr.d.ts.map +1 -0
  303. package/dist/mint-adr.js +257 -0
  304. package/dist/mint-adr.js.map +1 -0
  305. package/dist/mirror-pool-scan.d.ts +125 -0
  306. package/dist/mirror-pool-scan.d.ts.map +1 -0
  307. package/dist/mirror-pool-scan.js +104 -0
  308. package/dist/mirror-pool-scan.js.map +1 -0
  309. package/dist/needs-attention.d.ts +341 -0
  310. package/dist/needs-attention.d.ts.map +1 -0
  311. package/dist/needs-attention.js +900 -0
  312. package/dist/needs-attention.js.map +1 -0
  313. package/dist/orphan-sidecar.d.ts +79 -0
  314. package/dist/orphan-sidecar.d.ts.map +1 -0
  315. package/dist/orphan-sidecar.js +71 -0
  316. package/dist/orphan-sidecar.js.map +1 -0
  317. package/dist/output.d.ts +48 -0
  318. package/dist/output.d.ts.map +1 -0
  319. package/dist/output.js +66 -0
  320. package/dist/output.js.map +1 -0
  321. package/dist/pi-harness.d.ts +179 -0
  322. package/dist/pi-harness.d.ts.map +1 -0
  323. package/dist/pi-harness.js +342 -0
  324. package/dist/pi-harness.js.map +1 -0
  325. package/dist/placement.d.ts +99 -0
  326. package/dist/placement.d.ts.map +1 -0
  327. package/dist/placement.js +67 -0
  328. package/dist/placement.js.map +1 -0
  329. package/dist/prd-to-spec.d.ts +315 -0
  330. package/dist/prd-to-spec.d.ts.map +1 -0
  331. package/dist/prd-to-spec.js +684 -0
  332. package/dist/prd-to-spec.js.map +1 -0
  333. package/dist/prepare.d.ts +121 -0
  334. package/dist/prepare.d.ts.map +1 -0
  335. package/dist/prepare.js +140 -0
  336. package/dist/prepare.js.map +1 -0
  337. package/dist/prompt.d.ts +360 -0
  338. package/dist/prompt.d.ts.map +1 -0
  339. package/dist/prompt.js +499 -0
  340. package/dist/prompt.js.map +1 -0
  341. package/dist/protocol/ADR-FORMAT.md +47 -0
  342. package/dist/protocol/CLAIM-PROTOCOL.md +217 -0
  343. package/dist/protocol/REVIEW-PROTOCOL.md +119 -0
  344. package/dist/protocol/SURFACE-PROTOCOL.md +121 -0
  345. package/dist/protocol/TASKING-PROTOCOL.md +122 -0
  346. package/dist/protocol/WORK-CONTRACT.md +276 -0
  347. package/dist/protocol/spec-template.md +71 -0
  348. package/dist/protocol/task-template.md +65 -0
  349. package/dist/readiness.d.ts +66 -0
  350. package/dist/readiness.d.ts.map +1 -0
  351. package/dist/readiness.js +36 -0
  352. package/dist/readiness.js.map +1 -0
  353. package/dist/reap-branches.d.ts +102 -0
  354. package/dist/reap-branches.d.ts.map +1 -0
  355. package/dist/reap-branches.js +149 -0
  356. package/dist/reap-branches.js.map +1 -0
  357. package/dist/recover-isolated.d.ts +72 -0
  358. package/dist/recover-isolated.d.ts.map +1 -0
  359. package/dist/recover-isolated.js +188 -0
  360. package/dist/recover-isolated.js.map +1 -0
  361. package/dist/registry.d.ts +172 -0
  362. package/dist/registry.d.ts.map +1 -0
  363. package/dist/registry.js +296 -0
  364. package/dist/registry.js.map +1 -0
  365. package/dist/repo-config.d.ts +201 -0
  366. package/dist/repo-config.d.ts.map +1 -0
  367. package/dist/repo-config.js +414 -0
  368. package/dist/repo-config.js.map +1 -0
  369. package/dist/repo-key.d.ts +20 -0
  370. package/dist/repo-key.d.ts.map +1 -0
  371. package/dist/repo-key.js +68 -0
  372. package/dist/repo-key.js.map +1 -0
  373. package/dist/repo-mirror.d.ts +177 -0
  374. package/dist/repo-mirror.d.ts.map +1 -0
  375. package/dist/repo-mirror.js +271 -0
  376. package/dist/repo-mirror.js.map +1 -0
  377. package/dist/retry-backoff.d.ts +90 -0
  378. package/dist/retry-backoff.d.ts.map +1 -0
  379. package/dist/retry-backoff.js +98 -0
  380. package/dist/retry-backoff.js.map +1 -0
  381. package/dist/review-gate.d.ts +173 -0
  382. package/dist/review-gate.d.ts.map +1 -0
  383. package/dist/review-gate.js +261 -0
  384. package/dist/review-gate.js.map +1 -0
  385. package/dist/review-verdict.d.ts +149 -0
  386. package/dist/review-verdict.d.ts.map +1 -0
  387. package/dist/review-verdict.js +332 -0
  388. package/dist/review-verdict.js.map +1 -0
  389. package/dist/run.d.ts +221 -0
  390. package/dist/run.d.ts.map +1 -0
  391. package/dist/run.js +963 -0
  392. package/dist/run.js.map +1 -0
  393. package/dist/scan.d.ts +308 -0
  394. package/dist/scan.d.ts.map +1 -0
  395. package/dist/scan.js +374 -0
  396. package/dist/scan.js.map +1 -0
  397. package/dist/select-order.d.ts +75 -0
  398. package/dist/select-order.d.ts.map +1 -0
  399. package/dist/select-order.js +108 -0
  400. package/dist/select-order.js.map +1 -0
  401. package/dist/select-priority.d.ts +188 -0
  402. package/dist/select-priority.d.ts.map +1 -0
  403. package/dist/select-priority.js +80 -0
  404. package/dist/select-priority.js.map +1 -0
  405. package/dist/select.d.ts +25 -0
  406. package/dist/select.d.ts.map +1 -0
  407. package/dist/select.js +43 -0
  408. package/dist/select.js.map +1 -0
  409. package/dist/session-path.d.ts +36 -0
  410. package/dist/session-path.d.ts.map +1 -0
  411. package/dist/session-path.js +129 -0
  412. package/dist/session-path.js.map +1 -0
  413. package/dist/sidecar-apply.d.ts +83 -0
  414. package/dist/sidecar-apply.d.ts.map +1 -0
  415. package/dist/sidecar-apply.js +111 -0
  416. package/dist/sidecar-apply.js.map +1 -0
  417. package/dist/sidecar.d.ts +245 -0
  418. package/dist/sidecar.d.ts.map +1 -0
  419. package/dist/sidecar.js +481 -0
  420. package/dist/sidecar.js.map +1 -0
  421. package/dist/slug-namespace.d.ts +204 -0
  422. package/dist/slug-namespace.d.ts.map +1 -0
  423. package/dist/slug-namespace.js +229 -0
  424. package/dist/slug-namespace.js.map +1 -0
  425. package/dist/spec-complete.d.ts +44 -0
  426. package/dist/spec-complete.d.ts.map +1 -0
  427. package/dist/spec-complete.js +69 -0
  428. package/dist/spec-complete.js.map +1 -0
  429. package/dist/start.d.ts +97 -0
  430. package/dist/start.d.ts.map +1 -0
  431. package/dist/start.js +633 -0
  432. package/dist/start.js.map +1 -0
  433. package/dist/status.d.ts +199 -0
  434. package/dist/status.d.ts.map +1 -0
  435. package/dist/status.js +228 -0
  436. package/dist/status.js.map +1 -0
  437. package/dist/surface-gate.d.ts +162 -0
  438. package/dist/surface-gate.d.ts.map +1 -0
  439. package/dist/surface-gate.js +206 -0
  440. package/dist/surface-gate.js.map +1 -0
  441. package/dist/surface-persist.d.ts +86 -0
  442. package/dist/surface-persist.d.ts.map +1 -0
  443. package/dist/surface-persist.js +129 -0
  444. package/dist/surface-persist.js.map +1 -0
  445. package/dist/tasker-review-loop.d.ts +249 -0
  446. package/dist/tasker-review-loop.d.ts.map +1 -0
  447. package/dist/tasker-review-loop.js +369 -0
  448. package/dist/tasker-review-loop.js.map +1 -0
  449. package/dist/tasking-eligibility.d.ts +74 -0
  450. package/dist/tasking-eligibility.d.ts.map +1 -0
  451. package/dist/tasking-eligibility.js +52 -0
  452. package/dist/tasking-eligibility.js.map +1 -0
  453. package/dist/tasking-lock.d.ts +111 -0
  454. package/dist/tasking-lock.d.ts.map +1 -0
  455. package/dist/tasking-lock.js +256 -0
  456. package/dist/tasking-lock.js.map +1 -0
  457. package/dist/tasking.d.ts +275 -0
  458. package/dist/tasking.d.ts.map +1 -0
  459. package/dist/tasking.js +952 -0
  460. package/dist/tasking.js.map +1 -0
  461. package/dist/triage-gate.d.ts +127 -0
  462. package/dist/triage-gate.d.ts.map +1 -0
  463. package/dist/triage-gate.js +139 -0
  464. package/dist/triage-gate.js.map +1 -0
  465. package/dist/triage-persist.d.ts +163 -0
  466. package/dist/triage-persist.d.ts.map +1 -0
  467. package/dist/triage-persist.js +387 -0
  468. package/dist/triage-persist.js.map +1 -0
  469. package/dist/verdict-json.d.ts +32 -0
  470. package/dist/verdict-json.d.ts.map +1 -0
  471. package/dist/verdict-json.js +74 -0
  472. package/dist/verdict-json.js.map +1 -0
  473. package/dist/verify-workflow-template.d.ts +60 -0
  474. package/dist/verify-workflow-template.d.ts.map +1 -0
  475. package/dist/verify-workflow-template.js +126 -0
  476. package/dist/verify-workflow-template.js.map +1 -0
  477. package/dist/verify.d.ts +60 -0
  478. package/dist/verify.d.ts.map +1 -0
  479. package/dist/verify.js +62 -0
  480. package/dist/verify.js.map +1 -0
  481. package/dist/watch-session.d.ts +112 -0
  482. package/dist/watch-session.d.ts.map +1 -0
  483. package/dist/watch-session.js +347 -0
  484. package/dist/watch-session.js.map +1 -0
  485. package/dist/work-layout.d.ts +198 -0
  486. package/dist/work-layout.d.ts.map +1 -0
  487. package/dist/work-layout.js +217 -0
  488. package/dist/work-layout.js.map +1 -0
  489. package/dist/work-on.d.ts +154 -0
  490. package/dist/work-on.d.ts.map +1 -0
  491. package/dist/work-on.js +387 -0
  492. package/dist/work-on.js.map +1 -0
  493. package/dist/workspace.d.ts +224 -0
  494. package/dist/workspace.d.ts.map +1 -0
  495. package/dist/workspace.js +325 -0
  496. package/dist/workspace.js.map +1 -0
  497. package/package.json +46 -2
  498. package/src/advance-ci-template.ts +203 -0
  499. package/src/advance-classify.ts +197 -0
  500. package/src/advance-drivers.ts +414 -0
  501. package/src/advance-isolated.ts +432 -0
  502. package/src/advance-lifecycle-template.ts +791 -0
  503. package/src/advance-loop-driver.ts +745 -0
  504. package/src/advance-treeless-publish.ts +177 -0
  505. package/src/advance.ts +1564 -0
  506. package/src/advancing-lock.ts +988 -0
  507. package/src/agent-launch.ts +137 -0
  508. package/src/agent-stop.ts +361 -0
  509. package/src/apply-decide.ts +242 -0
  510. package/src/apply-merge-action.ts +502 -0
  511. package/src/apply-persist.ts +518 -0
  512. package/src/arbiter.ts +372 -0
  513. package/src/brand.ts +111 -0
  514. package/src/buildable-body.ts +196 -0
  515. package/src/categorise.ts +158 -0
  516. package/src/claim-cas.ts +513 -0
  517. package/src/cli-spinner.ts +225 -0
  518. package/src/cli.ts +4369 -0
  519. package/src/close-job-template.ts +236 -0
  520. package/src/close-job.ts +319 -0
  521. package/src/complete.ts +1379 -0
  522. package/src/concurrency.ts +151 -0
  523. package/src/config-override.ts +116 -0
  524. package/src/config.ts +883 -0
  525. package/src/continue-branch.ts +542 -0
  526. package/src/cwd-section.ts +392 -0
  527. package/src/decision-engine.ts +272 -0
  528. package/src/detect.ts +124 -0
  529. package/src/do-autopick.ts +223 -0
  530. package/src/do-config.ts +589 -0
  531. package/src/do-remote-auto.ts +197 -0
  532. package/src/do.ts +2623 -0
  533. package/src/drop-source.ts +194 -0
  534. package/src/eligibility.ts +79 -0
  535. package/src/env-config.ts +305 -0
  536. package/src/failure-cause.ts +142 -0
  537. package/src/format.ts +313 -0
  538. package/src/frontmatter.ts +485 -0
  539. package/src/gate-readiness.ts +147 -0
  540. package/src/gc.ts +510 -0
  541. package/src/gh-failure.ts +53 -0
  542. package/src/git.ts +186 -0
  543. package/src/github.ts +468 -0
  544. package/src/harness.ts +355 -0
  545. package/src/identity.ts +322 -0
  546. package/src/index.ts +785 -0
  547. package/src/install-ci-branch-protection.ts +255 -0
  548. package/src/install-ci-capabilities/advance-lifecycle.ts +34 -0
  549. package/src/install-ci-capabilities/close-job.ts +32 -0
  550. package/src/install-ci-capabilities/example-noop.ts +24 -0
  551. package/src/install-ci-capabilities/intake.ts +34 -0
  552. package/src/install-ci-capabilities/verify.ts +33 -0
  553. package/src/install-ci-core.ts +1088 -0
  554. package/src/install-ci-github.ts +376 -0
  555. package/src/install-ci.ts +552 -0
  556. package/src/intake-event.ts +102 -0
  557. package/src/intake-marker.ts +195 -0
  558. package/src/intake-triage.ts +138 -0
  559. package/src/intake-trigger-template.ts +591 -0
  560. package/src/intake.ts +2445 -0
  561. package/src/integration-core.ts +3065 -0
  562. package/src/integrator.ts +771 -0
  563. package/src/isolation.ts +484 -0
  564. package/src/issue-provider.ts +733 -0
  565. package/src/item-lock.ts +1858 -0
  566. package/src/item-path.ts +75 -0
  567. package/src/ledger-lint.ts +332 -0
  568. package/src/ledger-read.ts +924 -0
  569. package/src/ledger-write.ts +865 -0
  570. package/src/lifecycle-gather.ts +298 -0
  571. package/src/lifecycle-pools.ts +250 -0
  572. package/src/merge-question-surfacer.ts +496 -0
  573. package/src/mint-adr.ts +362 -0
  574. package/src/mirror-pool-scan.ts +240 -0
  575. package/src/needs-attention.ts +1506 -0
  576. package/src/orphan-sidecar.ts +150 -0
  577. package/src/output.ts +89 -0
  578. package/src/pi-harness.ts +403 -0
  579. package/src/placement.ts +131 -0
  580. package/src/prd-to-spec.ts +1023 -0
  581. package/src/prepare.ts +230 -0
  582. package/src/prompt.ts +760 -0
  583. package/src/readiness.ts +98 -0
  584. package/src/reap-branches.ts +278 -0
  585. package/src/recover-isolated.ts +276 -0
  586. package/src/registry.ts +475 -0
  587. package/src/repo-config.ts +550 -0
  588. package/src/repo-key.ts +74 -0
  589. package/src/repo-mirror.ts +367 -0
  590. package/src/retry-backoff.ts +130 -0
  591. package/src/review-gate.ts +389 -0
  592. package/src/review-verdict.ts +422 -0
  593. package/src/run.ts +1430 -0
  594. package/src/scan.ts +611 -0
  595. package/src/select-order.ts +143 -0
  596. package/src/select-priority.ts +266 -0
  597. package/src/select.ts +62 -0
  598. package/src/session-path.ts +153 -0
  599. package/src/sidecar-apply.ts +216 -0
  600. package/src/sidecar.ts +700 -0
  601. package/src/slug-namespace.ts +367 -0
  602. package/src/spec-complete.ts +118 -0
  603. package/src/start.ts +974 -0
  604. package/src/status.ts +441 -0
  605. package/src/surface-gate.ts +337 -0
  606. package/src/surface-persist.ts +241 -0
  607. package/src/tasker-review-loop.ts +671 -0
  608. package/src/tasking-eligibility.ts +114 -0
  609. package/src/tasking-lock.ts +416 -0
  610. package/src/tasking.ts +1438 -0
  611. package/src/triage-gate.ts +248 -0
  612. package/src/triage-persist.ts +570 -0
  613. package/src/verdict-json.ts +73 -0
  614. package/src/verify-workflow-template.ts +159 -0
  615. package/src/verify.ts +123 -0
  616. package/src/watch-session.ts +397 -0
  617. package/src/work-layout.ts +262 -0
  618. package/src/work-on.ts +660 -0
  619. package/src/workspace.ts +502 -0
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Tier-1 GitHub branch-protection STEP for `install-ci` (prd
3
+ * `land-time-reverify-and-parallel-merge-ceiling`, task
4
+ * `install-ci-tier1-branch-protection`; Story 11). Closes the propose-mode
5
+ * PR-merge-time drift window on a GitHub arbiter: a required `verify` check + a
6
+ * `strict: true` ("require branches up to date before merging") rule together
7
+ * force a rebase + re-verify against current `main` before the merge button works.
8
+ *
9
+ * BEHAVIOUR (Applied Answer / Implementation Decision, spec §"Implementation
10
+ * Decisions" — Tier-1 GitHub provisioning is auto-when-admin, instruct-otherwise):
11
+ *
12
+ * - When the configured credential is repo-admin-scoped, install-ci
13
+ * AUTO-CONFIGURES branch protection on `main` with the spec built by
14
+ * {@link buildBranchProtectionSpec}. The required `context` value
15
+ * ({@link VERIFY_CHECK_CONTEXT}) is the SAME constant the emitted verify
16
+ * workflow names its job after, so the two cannot drift.
17
+ * - When only the ambient `GITHUB_TOKEN` (or any non-admin credential) is
18
+ * available, install-ci NEVER attempts the call — it PRINTS the exact
19
+ * ready-to-run `gh api` command + a one-liner pointing to the manual UI
20
+ * fallback (the documented behaviour the spec fixes at launch).
21
+ *
22
+ * SCOPE DETECTION — cheapest of the two options the spec offers. The seam
23
+ * provides `getRepoAdminScope?()` (implemented on the GitHub adapter by reading
24
+ * `permissions.admin` from `GET /repos/{owner}/{repo}` — ONE low-cost read that
25
+ * works uniformly for every token kind: classic PAT, fine-grained PAT, GitHub
26
+ * App, or the ambient `GITHUB_TOKEN`). The ALTERNATIVE — reading the token's
27
+ * DOCUMENTED METADATA — varies by token type (a classic PAT exposes its scopes
28
+ * via the `X-OAuth-Scopes` response header; a fine-grained PAT exposes its
29
+ * resource permissions via a separate endpoint; a GitHub App exposes nothing
30
+ * inspectable from the runtime) and so would mean three code paths and the same
31
+ * number of round-trips at best. ONE uniform repo-permissions read is therefore
32
+ * the cheaper choice on both implementation effort AND wall-clock (a single API
33
+ * call against an endpoint every token can hit). RECORDED IN-PLACE so a future
34
+ * change can flip it knowingly; the spec calls this "pick the cheaper of the
35
+ * two and record the choice."
36
+ *
37
+ * DEADLOCK GUARD — a NEVER-RUN required check would block every merge (GitHub
38
+ * treats an unreported required check as pending). install-ci ORDERS the steps
39
+ * to avoid that:
40
+ *
41
+ * 1. write the verify workflow artifact (the `verify.yml` whose job is named
42
+ * exactly {@link VERIFY_CHECK_CONTEXT}); the human commits + pushes it to
43
+ * `main` so the workflow file lands BEFORE the next PR;
44
+ * 2. THEN (this step) set the branch-protection rule.
45
+ *
46
+ * Because the verify workflow uses `on: pull_request`, every PR opened AFTER
47
+ * `verify.yml` is on `main` triggers the workflow and produces the required
48
+ * `verify` check — the protection never deadlocks new PRs. The only edge case
49
+ * is an IN-FLIGHT PR opened BEFORE `verify.yml` landed on `main`: it has no
50
+ * `verify` check waiting; installCI prints exactly that re-trigger remediation
51
+ * in the success log. We chose this "run-the-check-once-by-construction-of-the-
52
+ * trigger" ordering over the ruleset `do_not_enforce_on_create` toggle because
53
+ * (a) one PUT against the existing branch-protection endpoint is simpler than
54
+ * minting a ruleset shape this spec otherwise does not need, AND (b) the
55
+ * `merge_queue` Tier-2 forward seam already lives in the verify workflow's
56
+ * `on:` trigger (so the ruleset seam is not needed here either — it is the
57
+ * follow-on spec's lever). Trade-off RECORDED so a future merge-queue task can
58
+ * flip to rulesets knowingly without re-deciding why we did not now.
59
+ */
60
+
61
+ import {VERIFY_CHECK_CONTEXT} from './verify-workflow-template.js';
62
+ import type {CIProviderContext} from './install-ci-core.js';
63
+
64
+ export {VERIFY_CHECK_CONTEXT};
65
+
66
+ /**
67
+ * The branch-protection request body the GitHub adapter PUTs at
68
+ * `/repos/{owner}/{repo}/branches/{branch}/protection`. Shape mirrors the REST
69
+ * docs (the GitHub PUT REQUIRES `enforce_admins`, `required_pull_request_reviews`,
70
+ * and `restrictions` to be present; `null` for "not configured"). We set only
71
+ * the two fields the spec names — the required `${VERIFY_CHECK_CONTEXT}` check
72
+ * AND `strict: true` (= "require branches up to date before merging") — and
73
+ * leave the others `null` so install-ci does not silently impose unrelated
74
+ * gates (reviews, admin enforcement, push restrictions) the user did not opt
75
+ * into.
76
+ */
77
+ export interface BranchProtectionSpec {
78
+ required_status_checks: {
79
+ strict: true;
80
+ checks: {context: string}[];
81
+ };
82
+ enforce_admins: null;
83
+ required_pull_request_reviews: null;
84
+ restrictions: null;
85
+ }
86
+
87
+ /**
88
+ * Build the Tier-1 branch-protection spec the GitHub adapter PUTs. The required
89
+ * `context` is the SAME constant the emitted verify workflow names its job
90
+ * after ({@link VERIFY_CHECK_CONTEXT}) — by construction, not by hand-typed
91
+ * agreement, so the two cannot drift.
92
+ */
93
+ export function buildBranchProtectionSpec(): BranchProtectionSpec {
94
+ return {
95
+ required_status_checks: {
96
+ strict: true,
97
+ checks: [{context: VERIFY_CHECK_CONTEXT}],
98
+ },
99
+ enforce_admins: null,
100
+ required_pull_request_reviews: null,
101
+ restrictions: null,
102
+ };
103
+ }
104
+
105
+ /**
106
+ * The repo's default branch the protection rule targets (the rule the spec
107
+ * names: protect `main` so a propose-mode PR cannot be merged stale). Exposed
108
+ * as a parameter on the orchestrator so a non-default-branch repo can override.
109
+ */
110
+ export const DEFAULT_PROTECTED_BRANCH = 'main';
111
+
112
+ /**
113
+ * The exact `gh api` command the user runs themselves when install-ci CANNOT
114
+ * auto-configure (no admin scope). Quoted body is the same {@link
115
+ * BranchProtectionSpec} the auto path PUTs, so reproducing the call by copy-paste
116
+ * is byte-equivalent to a successful auto run. Pure string, no I/O.
117
+ */
118
+ export function formatManualBranchProtectionCommand(
119
+ repo: string,
120
+ branch: string = DEFAULT_PROTECTED_BRANCH,
121
+ ): string {
122
+ const spec = buildBranchProtectionSpec();
123
+ const body = JSON.stringify(spec);
124
+ // Single-quote the body so the user's shell does not expand `$`/`!`; embed
125
+ // it via `--input -` so the JSON is read from stdin (avoids `gh api -f`'s
126
+ // scalar-only field syntax limitation).
127
+ return (
128
+ `echo '${body}' | gh api -X PUT ` +
129
+ `-H "Accept: application/vnd.github+json" ` +
130
+ `repos/${repo}/branches/${branch}/protection ` +
131
+ `--input -`
132
+ );
133
+ }
134
+
135
+ /** Options for {@link installCIBranchProtectionStep}. */
136
+ export interface BranchProtectionStepOptions {
137
+ /** The CI-provider seam (GitHub adapter in production; stub in tests). */
138
+ ctx: CIProviderContext;
139
+ /** Snapshot mode: never call the live API, never print a "set" success. */
140
+ fake?: boolean;
141
+ /** Sink for human-facing progress lines. */
142
+ log: (line: string) => void;
143
+ /** The branch the rule targets (default `main`). */
144
+ branch?: string;
145
+ }
146
+
147
+ /** The outcome of one branch-protection step run. */
148
+ export interface BranchProtectionStepResult {
149
+ /**
150
+ * - `set` — admin scope, API call succeeded;
151
+ * - `failed` — admin scope, API call rejected (detail in `error`);
152
+ * - `instructed` — non-admin scope, the manual `gh api` command was printed;
153
+ * - `skipped-no-repo` — the provider context has no `repo` known;
154
+ * - `skipped-no-seam` — the provider context does not implement the
155
+ * branch-protection seam (a non-GitHub provider);
156
+ * - `skipped-fake` — `--fake` snapshot mode (no real API, no real toggle).
157
+ */
158
+ status:
159
+ | 'set'
160
+ | 'failed'
161
+ | 'instructed'
162
+ | 'skipped-no-repo'
163
+ | 'skipped-no-seam'
164
+ | 'skipped-fake';
165
+ /** The detected admin-scope verdict (`true`/`false`/`undefined`=unknown). */
166
+ adminScope?: boolean;
167
+ /** The failure detail when `status === 'failed'`. */
168
+ error?: string;
169
+ /** The branch the step targeted (echoed for tests / logs). */
170
+ branch: string;
171
+ }
172
+
173
+ /**
174
+ * The orchestrator install-ci calls AFTER artifacts are written + secrets are
175
+ * orchestrated: detect admin scope (cheapest path: {@link
176
+ * CIProviderContext.getRepoAdminScope}), then EITHER call
177
+ * {@link CIProviderContext.setBranchProtection} (admin) OR print the exact
178
+ * ready-to-run `gh api` command + the one-liner manual fallback (non-admin).
179
+ *
180
+ * Never throws — a `setBranchProtection` rejection is reported as `failed` so
181
+ * install-ci's later steps still run, and the user sees both the failure detail
182
+ * AND the manual command to retry by hand.
183
+ */
184
+ export async function installCIBranchProtectionStep(
185
+ options: BranchProtectionStepOptions,
186
+ ): Promise<BranchProtectionStepResult> {
187
+ const branch = options.branch ?? DEFAULT_PROTECTED_BRANCH;
188
+ const {ctx, log, fake} = options;
189
+
190
+ if (fake) {
191
+ log(`branch protection: skipped (--fake; would have targeted ${branch})`);
192
+ return {status: 'skipped-fake', branch};
193
+ }
194
+ if (!ctx.setBranchProtection) {
195
+ log(
196
+ 'branch protection: skipped (provider does not implement the seam — non-GitHub host).',
197
+ );
198
+ return {status: 'skipped-no-seam', branch};
199
+ }
200
+ if (!ctx.repo) {
201
+ log('branch protection: skipped (repo unknown — pass --repo to enable).');
202
+ return {status: 'skipped-no-repo', branch};
203
+ }
204
+
205
+ const repo = ctx.repo;
206
+ // Cheapest scope-detection: one repo-permissions read (see module header).
207
+ // `undefined` ⇒ unknown ⇒ treat as non-admin (instruct, never silently
208
+ // attempt a call that would fail with 403 anyway).
209
+ const adminScope = ctx.getRepoAdminScope
210
+ ? await ctx.getRepoAdminScope().catch(() => undefined)
211
+ : undefined;
212
+
213
+ if (adminScope !== true) {
214
+ log('branch protection: no admin-scoped credential detected.');
215
+ log(
216
+ ` install-ci will NOT call the GitHub API. Run this yourself (admin token required):`,
217
+ );
218
+ log(` ${formatManualBranchProtectionCommand(repo, branch)}`);
219
+ log(
220
+ ` Manual UI fallback: https://github.com/${repo}/settings/branches ` +
221
+ `→ "Add branch protection rule" → branch name pattern \`${branch}\` ` +
222
+ `→ enable "Require status checks to pass" + "Require branches to be up to date" ` +
223
+ `→ add required check \`${VERIFY_CHECK_CONTEXT}\`.`,
224
+ );
225
+ log(
226
+ ` (The ambient CI \`GITHUB_TOKEN\` is NEVER admin; a human admin's \`gh\` ` +
227
+ `or a configured PAT/App token with "Administration: write" is required.)`,
228
+ );
229
+ return {status: 'instructed', adminScope, branch};
230
+ }
231
+
232
+ const spec = buildBranchProtectionSpec();
233
+ try {
234
+ await ctx.setBranchProtection(branch, spec);
235
+ log(
236
+ `branch protection: set on ${repo}@${branch} ` +
237
+ `(required check \`${VERIFY_CHECK_CONTEXT}\`, strict: true).`,
238
+ );
239
+ log(
240
+ ` NOTE: PRs opened BEFORE \`verify.yml\` lands on \`${branch}\` have ` +
241
+ `no \`${VERIFY_CHECK_CONTEXT}\` check waiting. Push/merge \`verify.yml\` ` +
242
+ `to \`${branch}\` first; existing in-flight PRs may need a no-op push ` +
243
+ `(or close/reopen) to re-trigger the check.`,
244
+ );
245
+ return {status: 'set', adminScope, branch};
246
+ } catch (err) {
247
+ const error = err instanceof Error ? err.message : String(err);
248
+ log(`branch protection: FAILED (${error})`);
249
+ log(
250
+ ` Retry by hand (admin token required):\n` +
251
+ ` ${formatManualBranchProtectionCommand(repo, branch)}`,
252
+ );
253
+ return {status: 'failed', adminScope, error, branch};
254
+ }
255
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The ADVANCE-LIFECYCLE capability emitter (PRD `runner-in-ci`, task
3
+ * `install-ci-advance-lifecycle-workflow`; capability C: auto-triage observations
4
+ * + surface declared blockers + apply committed answers). A SELF-REGISTERING
5
+ * module: it calls {@link registerCapability} at import time, so
6
+ * {@link loadCapabilityRegistry} picks it up WITHOUT any edit to a shared central
7
+ * list/switch (the file-orthogonality contract — this task and the sibling
8
+ * capability tasks stay mergeable in parallel).
9
+ *
10
+ * The workflow shape (the parameterised seed `advance-loop.yml.template`) + its
11
+ * structural validator live in `advance-lifecycle-template.ts`; this file is the
12
+ * thin registry-wiring shim.
13
+ */
14
+
15
+ import {registerCapability} from '../install-ci-core.js';
16
+ import {
17
+ ADVANCE_LIFECYCLE_CAPABILITY_ID,
18
+ ADVANCE_LIFECYCLE_CAPABILITY_LABEL,
19
+ ADVANCE_LIFECYCLE_WORKFLOW_PATH,
20
+ generateAdvanceLifecycleWorkflow,
21
+ } from '../advance-lifecycle-template.js';
22
+
23
+ registerCapability({
24
+ id: ADVANCE_LIFECYCLE_CAPABILITY_ID,
25
+ label: ADVANCE_LIFECYCLE_CAPABILITY_LABEL,
26
+ emit(config) {
27
+ return [
28
+ {
29
+ path: ADVANCE_LIFECYCLE_WORKFLOW_PATH,
30
+ content: generateAdvanceLifecycleWorkflow(config),
31
+ },
32
+ ];
33
+ },
34
+ });
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The CLOSE-JOB capability emitter (PRD `runner-in-ci`, task
3
+ * `install-ci-close-job-workflow`; capability E: close issues when their work
4
+ * lands). A SELF-REGISTERING module: it calls {@link registerCapability} at import
5
+ * time, so {@link loadCapabilityRegistry} picks it up WITHOUT any edit to a shared
6
+ * central list/switch (the file-orthogonality contract — this task and the sibling
7
+ * capability tasks stay mergeable in parallel).
8
+ *
9
+ * The workflow shape + its structural validator live in `close-job-template.ts`;
10
+ * this file is the thin registry-wiring shim.
11
+ */
12
+
13
+ import {registerCapability} from '../install-ci-core.js';
14
+ import {
15
+ CLOSE_JOB_CAPABILITY_ID,
16
+ CLOSE_JOB_CAPABILITY_LABEL,
17
+ CLOSE_JOB_WORKFLOW_PATH,
18
+ generateCloseJobWorkflow,
19
+ } from '../close-job-template.js';
20
+
21
+ registerCapability({
22
+ id: CLOSE_JOB_CAPABILITY_ID,
23
+ label: CLOSE_JOB_CAPABILITY_LABEL,
24
+ emit(config) {
25
+ return [
26
+ {
27
+ path: CLOSE_JOB_WORKFLOW_PATH,
28
+ content: generateCloseJobWorkflow(config),
29
+ },
30
+ ];
31
+ },
32
+ });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * REFERENCE capability registration (PRD `runner-in-ci`, task
3
+ * `install-ci-core-and-github-adapter`). This file proves the capability-emitter
4
+ * REGISTRY seam works as a DIRECTORY of self-registering modules: a new capability
5
+ * is a NEW file in `install-ci-capabilities/` that calls {@link registerCapability}
6
+ * at import time — NOT an edit to a shared central list/switch. The sibling
7
+ * capability tasks (advance-lifecycle, intake, close-job) each ADD
8
+ * their own file here exactly like this one, so they stay file-orthogonal and
9
+ * mergeable in parallel (WORK-CONTRACT task-quality / `to-tasks` §3).
10
+ *
11
+ * It is a no-op example: it emits NO files (this core task ships no capability
12
+ * workflow). Its presence + pickup by {@link loadCapabilityRegistry} is the proof
13
+ * that registration needs no shared-file edit.
14
+ */
15
+
16
+ import {registerCapability} from '../install-ci-core.js';
17
+
18
+ registerCapability({
19
+ id: 'example-noop',
20
+ label: 'Example (no-op reference capability)',
21
+ emit() {
22
+ return [];
23
+ },
24
+ });
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The ISSUE-INTAKE capability emitter (PRD `runner-in-ci`, task
3
+ * `install-ci-intake-trigger-and-review-surface`; capability D: consider incoming
4
+ * issues → task/PRD, PLUS insertion point E: surface the review verdict into the
5
+ * issue thread). A SELF-REGISTERING module: it calls {@link registerCapability} at
6
+ * import time, so {@link loadCapabilityRegistry} picks it up WITHOUT any edit to a
7
+ * shared central list/switch (the file-orthogonality contract — this task and the
8
+ * sibling capability tasks stay mergeable in parallel).
9
+ *
10
+ * The workflow shape + its structural validator + the author-trust → per-outcome
11
+ * flags derivation live in `intake-trigger-template.ts`; this file is the thin
12
+ * registry-wiring shim.
13
+ */
14
+
15
+ import {registerCapability} from '../install-ci-core.js';
16
+ import {
17
+ INTAKE_TRIGGER_CAPABILITY_ID,
18
+ INTAKE_TRIGGER_CAPABILITY_LABEL,
19
+ INTAKE_TRIGGER_WORKFLOW_PATH,
20
+ generateIntakeWorkflow,
21
+ } from '../intake-trigger-template.js';
22
+
23
+ registerCapability({
24
+ id: INTAKE_TRIGGER_CAPABILITY_ID,
25
+ label: INTAKE_TRIGGER_CAPABILITY_LABEL,
26
+ emit(config) {
27
+ return [
28
+ {
29
+ path: INTAKE_TRIGGER_WORKFLOW_PATH,
30
+ content: generateIntakeWorkflow(config),
31
+ },
32
+ ];
33
+ },
34
+ });
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The VERIFY capability emitter (prd
3
+ * `land-time-reverify-and-parallel-merge-ceiling`, task
4
+ * `install-ci-tier1-branch-protection`; Story 11 — Tier-1 GitHub ceiling).
5
+ * A SELF-REGISTERING module: it calls {@link registerCapability} at import
6
+ * time, so {@link loadCapabilityRegistry} picks it up WITHOUT any edit to a
7
+ * shared central list/switch (the file-orthogonality contract).
8
+ *
9
+ * The workflow shape + the shared {@link VERIFY_CHECK_CONTEXT} constant the
10
+ * branch-protection step also reads live in `verify-workflow-template.ts`; this
11
+ * file is the thin registry-wiring shim.
12
+ */
13
+
14
+ import {registerCapability} from '../install-ci-core.js';
15
+ import {
16
+ VERIFY_CAPABILITY_ID,
17
+ VERIFY_CAPABILITY_LABEL,
18
+ VERIFY_WORKFLOW_PATH,
19
+ generateVerifyWorkflow,
20
+ } from '../verify-workflow-template.js';
21
+
22
+ registerCapability({
23
+ id: VERIFY_CAPABILITY_ID,
24
+ label: VERIFY_CAPABILITY_LABEL,
25
+ emit(config) {
26
+ return [
27
+ {
28
+ path: VERIFY_WORKFLOW_PATH,
29
+ content: generateVerifyWorkflow(config),
30
+ },
31
+ ];
32
+ },
33
+ });