dorfl 0.1.0 → 0.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 (324) hide show
  1. package/dist/advance-ci-template.d.ts +3 -3
  2. package/dist/advance-ci-template.js +1 -1
  3. package/dist/advance-ci-template.js.map +1 -1
  4. package/dist/advance-classify.d.ts +5 -5
  5. package/dist/advance-classify.d.ts.map +1 -1
  6. package/dist/advance-classify.js +4 -4
  7. package/dist/advance-drivers.d.ts +7 -7
  8. package/dist/advance-drivers.d.ts.map +1 -1
  9. package/dist/advance-drivers.js +5 -5
  10. package/dist/advance-drivers.js.map +1 -1
  11. package/dist/advance-isolated.d.ts +3 -3
  12. package/dist/advance-isolated.d.ts.map +1 -1
  13. package/dist/advance-isolated.js +1 -1
  14. package/dist/advance-lifecycle-template.d.ts +2 -2
  15. package/dist/advance-lifecycle-template.js +9 -9
  16. package/dist/advance-lifecycle-template.js.map +1 -1
  17. package/dist/advance-loop-driver.d.ts +3 -3
  18. package/dist/advance-loop-driver.d.ts.map +1 -1
  19. package/dist/advance-loop-driver.js +1 -1
  20. package/dist/advance-treeless-publish.d.ts +1 -1
  21. package/dist/advance.d.ts +11 -11
  22. package/dist/advance.d.ts.map +1 -1
  23. package/dist/advance.js +21 -21
  24. package/dist/advance.js.map +1 -1
  25. package/dist/advancing-lock.d.ts +1 -1
  26. package/dist/advancing-lock.js +5 -5
  27. package/dist/apply-decide.d.ts +2 -2
  28. package/dist/apply-decide.js +2 -2
  29. package/dist/apply-merge-action.d.ts +4 -4
  30. package/dist/apply-merge-action.js +2 -2
  31. package/dist/apply-persist.d.ts +5 -5
  32. package/dist/apply-persist.d.ts.map +1 -1
  33. package/dist/apply-persist.js +7 -7
  34. package/dist/apply-persist.js.map +1 -1
  35. package/dist/buildable-body.d.ts +14 -14
  36. package/dist/buildable-body.js +9 -9
  37. package/dist/claim-cas.d.ts +3 -3
  38. package/dist/claim-cas.js +1 -1
  39. package/dist/claim-cas.js.map +1 -1
  40. package/dist/cli.d.ts.map +1 -1
  41. package/dist/cli.js +83 -77
  42. package/dist/cli.js.map +1 -1
  43. package/dist/close-job-template.d.ts +3 -3
  44. package/dist/close-job-template.js +8 -8
  45. package/dist/close-job.d.ts +8 -8
  46. package/dist/close-job.js +25 -25
  47. package/dist/close-job.js.map +1 -1
  48. package/dist/complete.d.ts +3 -3
  49. package/dist/complete.js +8 -8
  50. package/dist/complete.js.map +1 -1
  51. package/dist/concurrency.d.ts +1 -1
  52. package/dist/concurrency.js +1 -1
  53. package/dist/config.d.ts +32 -32
  54. package/dist/config.js +5 -5
  55. package/dist/config.js.map +1 -1
  56. package/dist/continue-branch.d.ts +1 -1
  57. package/dist/continue-branch.js +1 -1
  58. package/dist/cwd-section.js +1 -1
  59. package/dist/cwd-section.js.map +1 -1
  60. package/dist/decision-engine.d.ts +2 -2
  61. package/dist/do-autopick.d.ts +6 -6
  62. package/dist/do-autopick.d.ts.map +1 -1
  63. package/dist/do-autopick.js +5 -5
  64. package/dist/do-autopick.js.map +1 -1
  65. package/dist/do-config.d.ts +3 -3
  66. package/dist/do-config.js +3 -3
  67. package/dist/do-config.js.map +1 -1
  68. package/dist/do-remote-auto.d.ts +2 -2
  69. package/dist/do-remote-auto.js +1 -1
  70. package/dist/do.d.ts +25 -25
  71. package/dist/do.d.ts.map +1 -1
  72. package/dist/do.js +22 -22
  73. package/dist/do.js.map +1 -1
  74. package/dist/drop-source.d.ts +2 -2
  75. package/dist/env-config.js +8 -8
  76. package/dist/env-config.js.map +1 -1
  77. package/dist/format.js +3 -3
  78. package/dist/format.js.map +1 -1
  79. package/dist/frontmatter.d.ts +33 -39
  80. package/dist/frontmatter.d.ts.map +1 -1
  81. package/dist/frontmatter.js +18 -31
  82. package/dist/frontmatter.js.map +1 -1
  83. package/dist/install-ci-branch-protection.d.ts +1 -1
  84. package/dist/install-ci-branch-protection.js +1 -1
  85. package/dist/install-ci-capabilities/advance-lifecycle.d.ts +1 -1
  86. package/dist/install-ci-capabilities/advance-lifecycle.js +1 -1
  87. package/dist/install-ci-capabilities/close-job.d.ts +1 -1
  88. package/dist/install-ci-capabilities/close-job.js +1 -1
  89. package/dist/install-ci-capabilities/example-noop.d.ts +1 -1
  90. package/dist/install-ci-capabilities/example-noop.js +1 -1
  91. package/dist/install-ci-capabilities/intake.d.ts +2 -2
  92. package/dist/install-ci-capabilities/intake.js +2 -2
  93. package/dist/install-ci-capabilities/verify.d.ts +1 -1
  94. package/dist/install-ci-capabilities/verify.js +1 -1
  95. package/dist/install-ci-core.d.ts +3 -3
  96. package/dist/install-ci-core.js +2 -2
  97. package/dist/install-ci-core.js.map +1 -1
  98. package/dist/install-ci-github.d.ts +1 -1
  99. package/dist/install-ci-github.js +1 -1
  100. package/dist/install-ci.d.ts +1 -1
  101. package/dist/install-ci.js +4 -4
  102. package/dist/install-ci.js.map +1 -1
  103. package/dist/intake-event.d.ts +6 -6
  104. package/dist/intake-event.js +6 -6
  105. package/dist/intake-marker.d.ts +3 -3
  106. package/dist/intake-marker.d.ts.map +1 -1
  107. package/dist/intake-triage.d.ts +1 -1
  108. package/dist/intake-triage.js +2 -2
  109. package/dist/intake-trigger-template.d.ts +8 -8
  110. package/dist/intake-trigger-template.d.ts.map +1 -1
  111. package/dist/intake-trigger-template.js +16 -16
  112. package/dist/intake-trigger-template.js.map +1 -1
  113. package/dist/intake.d.ts +50 -50
  114. package/dist/intake.d.ts.map +1 -1
  115. package/dist/intake.js +70 -70
  116. package/dist/intake.js.map +1 -1
  117. package/dist/integration-core.d.ts +17 -17
  118. package/dist/integration-core.js +17 -17
  119. package/dist/integration-core.js.map +1 -1
  120. package/dist/isolation.d.ts +3 -3
  121. package/dist/issue-provider.d.ts +4 -4
  122. package/dist/issue-provider.js +1 -1
  123. package/dist/item-lock.d.ts +21 -21
  124. package/dist/item-lock.d.ts.map +1 -1
  125. package/dist/item-lock.js +16 -16
  126. package/dist/item-path.d.ts +2 -2
  127. package/dist/item-path.js +2 -2
  128. package/dist/ledger-lint.d.ts +9 -9
  129. package/dist/ledger-lint.js +9 -9
  130. package/dist/ledger-read.d.ts +57 -57
  131. package/dist/ledger-read.d.ts.map +1 -1
  132. package/dist/ledger-read.js +24 -24
  133. package/dist/ledger-read.js.map +1 -1
  134. package/dist/ledger-write.d.ts +2 -2
  135. package/dist/ledger-write.js +1 -1
  136. package/dist/lifecycle-gather.d.ts +1 -1
  137. package/dist/lifecycle-gather.js +16 -16
  138. package/dist/lifecycle-gather.js.map +1 -1
  139. package/dist/lifecycle-pools.d.ts +4 -4
  140. package/dist/lifecycle-pools.js +1 -1
  141. package/dist/merge-question-surfacer.d.ts +3 -3
  142. package/dist/merge-question-surfacer.js +2 -2
  143. package/dist/merge-question-surfacer.js.map +1 -1
  144. package/dist/mint-adr.js +4 -4
  145. package/dist/mirror-pool-scan.d.ts +2 -2
  146. package/dist/mirror-pool-scan.js +3 -3
  147. package/dist/mirror-pool-scan.js.map +1 -1
  148. package/dist/needs-attention.d.ts +13 -13
  149. package/dist/needs-attention.d.ts.map +1 -1
  150. package/dist/needs-attention.js +11 -11
  151. package/dist/needs-attention.js.map +1 -1
  152. package/dist/orphan-sidecar.d.ts +2 -2
  153. package/dist/placement.d.ts +6 -6
  154. package/dist/placement.js +2 -2
  155. package/dist/prd-to-spec.d.ts +15 -1
  156. package/dist/prd-to-spec.d.ts.map +1 -1
  157. package/dist/prd-to-spec.js +36 -14
  158. package/dist/prd-to-spec.js.map +1 -1
  159. package/dist/prompt.d.ts +24 -24
  160. package/dist/prompt.d.ts.map +1 -1
  161. package/dist/prompt.js +29 -31
  162. package/dist/prompt.js.map +1 -1
  163. package/dist/protocol/CLAIM-PROTOCOL.md +4 -4
  164. package/dist/protocol/REVIEW-PROTOCOL.md +1 -1
  165. package/dist/protocol/TASKING-PROTOCOL.md +12 -12
  166. package/dist/protocol/WORK-CONTRACT.md +39 -39
  167. package/dist/protocol/spec-template.md +1 -1
  168. package/dist/protocol/task-template.md +3 -3
  169. package/dist/readiness.d.ts +1 -1
  170. package/dist/recover-isolated.js +1 -1
  171. package/dist/repo-config.js +12 -12
  172. package/dist/repo-config.js.map +1 -1
  173. package/dist/review-gate.d.ts +3 -3
  174. package/dist/review-gate.d.ts.map +1 -1
  175. package/dist/review-gate.js +11 -10
  176. package/dist/review-gate.js.map +1 -1
  177. package/dist/review-verdict.d.ts +2 -2
  178. package/dist/review-verdict.d.ts.map +1 -1
  179. package/dist/review-verdict.js +1 -1
  180. package/dist/run.d.ts +1 -1
  181. package/dist/run.js +5 -5
  182. package/dist/run.js.map +1 -1
  183. package/dist/scan.d.ts +10 -10
  184. package/dist/scan.d.ts.map +1 -1
  185. package/dist/scan.js +8 -8
  186. package/dist/scan.js.map +1 -1
  187. package/dist/select-order.d.ts +1 -1
  188. package/dist/select-priority.d.ts +12 -12
  189. package/dist/select-priority.d.ts.map +1 -1
  190. package/dist/select-priority.js +5 -5
  191. package/dist/select-priority.js.map +1 -1
  192. package/dist/sidecar.d.ts +2 -2
  193. package/dist/sidecar.js +2 -2
  194. package/dist/sidecar.js.map +1 -1
  195. package/dist/slug-namespace.d.ts +1 -1
  196. package/dist/slug-namespace.js +3 -3
  197. package/dist/slug-namespace.js.map +1 -1
  198. package/dist/spec-complete.js +2 -2
  199. package/dist/spec-complete.js.map +1 -1
  200. package/dist/start.d.ts +1 -1
  201. package/dist/start.js +3 -3
  202. package/dist/start.js.map +1 -1
  203. package/dist/status.d.ts +3 -3
  204. package/dist/status.js +4 -4
  205. package/dist/status.js.map +1 -1
  206. package/dist/surface-gate.d.ts +2 -2
  207. package/dist/surface-gate.d.ts.map +1 -1
  208. package/dist/surface-persist.d.ts +2 -2
  209. package/dist/surface-persist.d.ts.map +1 -1
  210. package/dist/tasker-review-loop.d.ts +8 -8
  211. package/dist/tasker-review-loop.d.ts.map +1 -1
  212. package/dist/tasker-review-loop.js +8 -8
  213. package/dist/tasker-review-loop.js.map +1 -1
  214. package/dist/tasking-eligibility.d.ts +21 -21
  215. package/dist/tasking-eligibility.d.ts.map +1 -1
  216. package/dist/tasking-eligibility.js +10 -10
  217. package/dist/tasking-lock.d.ts +8 -8
  218. package/dist/tasking-lock.d.ts.map +1 -1
  219. package/dist/tasking-lock.js +20 -21
  220. package/dist/tasking-lock.js.map +1 -1
  221. package/dist/tasking.d.ts +33 -33
  222. package/dist/tasking.d.ts.map +1 -1
  223. package/dist/tasking.js +89 -88
  224. package/dist/tasking.js.map +1 -1
  225. package/dist/triage-gate.d.ts +1 -1
  226. package/dist/triage-persist.d.ts +5 -5
  227. package/dist/triage-persist.js +15 -15
  228. package/dist/triage-persist.js.map +1 -1
  229. package/dist/verify-workflow-template.d.ts +1 -1
  230. package/dist/verify-workflow-template.js +2 -2
  231. package/dist/work-layout.d.ts +9 -7
  232. package/dist/work-layout.d.ts.map +1 -1
  233. package/dist/work-layout.js +9 -7
  234. package/dist/work-layout.js.map +1 -1
  235. package/dist/workspace.d.ts +1 -1
  236. package/package.json +1 -1
  237. package/src/advance-ci-template.ts +4 -4
  238. package/src/advance-classify.ts +5 -5
  239. package/src/advance-drivers.ts +10 -10
  240. package/src/advance-isolated.ts +3 -3
  241. package/src/advance-lifecycle-template.ts +9 -9
  242. package/src/advance-loop-driver.ts +3 -3
  243. package/src/advance-treeless-publish.ts +1 -1
  244. package/src/advance.ts +30 -30
  245. package/src/advancing-lock.ts +6 -6
  246. package/src/apply-decide.ts +2 -2
  247. package/src/apply-merge-action.ts +5 -5
  248. package/src/apply-persist.ts +8 -8
  249. package/src/buildable-body.ts +14 -14
  250. package/src/claim-cas.ts +4 -4
  251. package/src/cli.ts +94 -84
  252. package/src/close-job-template.ts +8 -8
  253. package/src/close-job.ts +26 -26
  254. package/src/complete.ts +11 -11
  255. package/src/concurrency.ts +1 -1
  256. package/src/config.ts +37 -37
  257. package/src/continue-branch.ts +1 -1
  258. package/src/cwd-section.ts +1 -1
  259. package/src/decision-engine.ts +3 -3
  260. package/src/do-autopick.ts +9 -9
  261. package/src/do-config.ts +6 -6
  262. package/src/do-remote-auto.ts +2 -2
  263. package/src/do.ts +49 -49
  264. package/src/drop-source.ts +2 -2
  265. package/src/env-config.ts +8 -8
  266. package/src/format.ts +3 -3
  267. package/src/frontmatter.ts +42 -60
  268. package/src/install-ci-branch-protection.ts +1 -1
  269. package/src/install-ci-capabilities/advance-lifecycle.ts +1 -1
  270. package/src/install-ci-capabilities/close-job.ts +1 -1
  271. package/src/install-ci-capabilities/example-noop.ts +1 -1
  272. package/src/install-ci-capabilities/intake.ts +2 -2
  273. package/src/install-ci-capabilities/verify.ts +1 -1
  274. package/src/install-ci-core.ts +4 -4
  275. package/src/install-ci-github.ts +1 -1
  276. package/src/install-ci.ts +4 -4
  277. package/src/intake-event.ts +6 -6
  278. package/src/intake-marker.ts +3 -3
  279. package/src/intake-triage.ts +2 -2
  280. package/src/intake-trigger-template.ts +17 -17
  281. package/src/intake.ts +97 -97
  282. package/src/integration-core.ts +35 -35
  283. package/src/isolation.ts +3 -3
  284. package/src/issue-provider.ts +4 -4
  285. package/src/item-lock.ts +21 -21
  286. package/src/item-path.ts +2 -2
  287. package/src/ledger-lint.ts +9 -9
  288. package/src/ledger-read.ts +81 -81
  289. package/src/ledger-write.ts +3 -3
  290. package/src/lifecycle-gather.ts +16 -16
  291. package/src/lifecycle-pools.ts +4 -4
  292. package/src/merge-question-surfacer.ts +4 -4
  293. package/src/mint-adr.ts +4 -4
  294. package/src/mirror-pool-scan.ts +5 -5
  295. package/src/needs-attention.ts +22 -22
  296. package/src/orphan-sidecar.ts +2 -2
  297. package/src/placement.ts +6 -6
  298. package/src/prd-to-spec.ts +51 -15
  299. package/src/prompt.ts +33 -35
  300. package/src/readiness.ts +1 -1
  301. package/src/recover-isolated.ts +1 -1
  302. package/src/repo-config.ts +12 -12
  303. package/src/review-gate.ts +12 -11
  304. package/src/review-verdict.ts +2 -2
  305. package/src/run.ts +6 -6
  306. package/src/scan.ts +15 -15
  307. package/src/select-order.ts +1 -1
  308. package/src/select-priority.ts +13 -13
  309. package/src/sidecar.ts +3 -3
  310. package/src/slug-namespace.ts +3 -3
  311. package/src/spec-complete.ts +2 -2
  312. package/src/start.ts +4 -4
  313. package/src/status.ts +7 -7
  314. package/src/surface-gate.ts +2 -2
  315. package/src/surface-persist.ts +2 -2
  316. package/src/tasker-review-loop.ts +15 -15
  317. package/src/tasking-eligibility.ts +21 -21
  318. package/src/tasking-lock.ts +27 -28
  319. package/src/tasking.ts +124 -123
  320. package/src/triage-gate.ts +1 -1
  321. package/src/triage-persist.ts +16 -16
  322. package/src/verify-workflow-template.ts +2 -2
  323. package/src/work-layout.ts +9 -7
  324. package/src/workspace.ts +1 -1
@@ -132,6 +132,14 @@ export interface ResyncedDoc {
132
132
  dest: string;
133
133
  /** True when the target already had byte-identical content (a no-op copy). */
134
134
  unchanged: boolean;
135
+ /**
136
+ * True when the doc's SOURCE could not be resolved (the package/dev copy is
137
+ * missing), so NOTHING was copied to `dest`. A skipped doc is NEVER counted as
138
+ * a change (it must not bump `VERSION` — the latent bug this field guards) and
139
+ * is surfaced LOUDLY by the caller. Distinct from `unchanged` (which means the
140
+ * source WAS resolved and matched the dest byte-for-byte).
141
+ */
142
+ skipped: boolean;
135
143
  }
136
144
  /** What the protocol re-sync did (or would do). */
137
145
  export interface ResyncResult {
@@ -147,11 +155,17 @@ export interface ResyncResult {
147
155
  * (`skills/setup/protocol/`) copy — NEVER the target repo's own (old) copy. This
148
156
  * is how the migrated repo picks up the new `spec` contract before its data is
149
157
  * converted. Idempotent: a doc already byte-identical is reported `unchanged`.
158
+ * A doc whose SOURCE cannot be resolved is reported `skipped` (NOT copied, NEVER
159
+ * a VERSION-bump) rather than silently bumping VERSION with nothing copied.
150
160
  *
151
- * `dryRun` reports what WOULD be copied without writing.
161
+ * `dryRun` reports what WOULD be copied without writing. `resolveDoc` overrides
162
+ * how a doc's source path is resolved (defaults to {@link resolveProtocolDoc});
163
+ * it exists so a test can force a non-resolvable source (a path that does not
164
+ * exist) to exercise the skip path.
152
165
  */
153
166
  export declare function resyncProtocol(repoPath: string, options?: {
154
167
  dryRun?: boolean;
168
+ resolveDoc?: (name: string) => string;
155
169
  }): ResyncResult;
156
170
  /** One folder the move relocated (or would relocate). */
157
171
  export interface FolderMove {
@@ -1 +1 @@
1
- {"version":3,"file":"prd-to-spec.d.ts","sourceRoot":"","sources":["../src/prd-to-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prd-to-spec.d.ts","sourceRoot":"","sources":["../src/prd-to-spec.ts"],"names":[],"mappings":"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"}
@@ -131,36 +131,58 @@ export function checkQuiescence(repoPath, migration = MIGRATION, env = undefined
131
131
  * (`skills/setup/protocol/`) copy — NEVER the target repo's own (old) copy. This
132
132
  * is how the migrated repo picks up the new `spec` contract before its data is
133
133
  * converted. Idempotent: a doc already byte-identical is reported `unchanged`.
134
+ * A doc whose SOURCE cannot be resolved is reported `skipped` (NOT copied, NEVER
135
+ * a VERSION-bump) rather than silently bumping VERSION with nothing copied.
134
136
  *
135
- * `dryRun` reports what WOULD be copied without writing.
137
+ * `dryRun` reports what WOULD be copied without writing. `resolveDoc` overrides
138
+ * how a doc's source path is resolved (defaults to {@link resolveProtocolDoc});
139
+ * it exists so a test can force a non-resolvable source (a path that does not
140
+ * exist) to exercise the skip path.
136
141
  */
137
142
  export function resyncProtocol(repoPath, options = {}) {
138
143
  const protocolDir = join(repoPath, WORK_ROOT, 'protocol');
144
+ const resolveDoc = options.resolveDoc ?? ((name) => resolveProtocolDoc(name));
139
145
  const docs = [];
140
146
  for (const name of PROTOCOL_DOCS) {
141
147
  // Resolve the SOURCE (package/dev), never the target's adopted copy.
142
- const source = resolveProtocolDoc(name, undefined);
148
+ const source = resolveDoc(name);
143
149
  const destAbs = join(protocolDir, name);
144
150
  const destRel = relative(repoPath, destAbs);
145
- let unchanged = false;
146
- if (existsSync(source) && existsSync(destAbs)) {
147
- unchanged =
148
- readFileSync(source, 'utf8') === readFileSync(destAbs, 'utf8');
151
+ const sourceExists = existsSync(source);
152
+ if (!sourceExists) {
153
+ // The source doc could not be resolved: copy NOTHING and record the doc as
154
+ // SKIPPED (never a change). This is the latent-bug fix: a non-resolvable
155
+ // source must not count as `changed` and bump `VERSION` while copying no
156
+ // file. `unchanged: false` here is honest (the dest was not made to match a
157
+ // source), but `skipped: true` keeps it OUT of the VERSION-bump tally.
158
+ docs.push({ name, dest: destRel, unchanged: false, skipped: true });
159
+ continue;
149
160
  }
150
- if (!options.dryRun && existsSync(source)) {
161
+ // Source resolved: a doc is CHANGED (VERSION-bump-worthy) only when the dest
162
+ // is absent OR its content differs from the source. An identical dest is a
163
+ // no-op copy (`unchanged`), so an already-synced re-run stays a true no-op.
164
+ const unchanged = existsSync(destAbs) &&
165
+ readFileSync(source, 'utf8') === readFileSync(destAbs, 'utf8');
166
+ if (!options.dryRun) {
151
167
  mkdirSync(dirname(destAbs), { recursive: true });
152
168
  copyFileSync(source, destAbs);
153
169
  }
154
- docs.push({ name, dest: destRel, unchanged });
170
+ docs.push({ name, dest: destRel, unchanged, skipped: false });
155
171
  }
156
172
  const versionAbs = join(protocolDir, 'VERSION');
157
173
  const versionRel = relative(repoPath, versionAbs);
158
- // Bump VERSION only when a doc actually CHANGED (or VERSION is absent). A
159
- // re-run on an already-synced repo must stay a true no-op otherwise the
160
- // (always-fresh) `synced-at` timestamp would dirty the tree on every idempotent
161
- // re-run.
162
- const anyDocChanged = docs.some((d) => !d.unchanged);
163
- if (!options.dryRun && (anyDocChanged || !existsSync(versionAbs))) {
174
+ // Bump VERSION only when a doc was ACTUALLY COPIED with new content, or when
175
+ // VERSION is absent AND at least one doc was genuinely synced (copied). A
176
+ // SKIPPED doc (unresolvable source, nothing copied) is NEVER a change
177
+ // counting it would bump VERSION without copying a single doc (the latent bug),
178
+ // and the write-when-absent fallback must ALSO require a real copy so an
179
+ // all-skipped resync leaves no VERSION behind. A re-run on an already-synced
180
+ // repo must stay a true no-op — otherwise the (always-fresh) `synced-at`
181
+ // timestamp would dirty the tree on every idempotent re-run.
182
+ const anyDocChanged = docs.some((d) => !d.unchanged && !d.skipped);
183
+ const anyDocSynced = docs.some((d) => !d.skipped);
184
+ if (!options.dryRun &&
185
+ (anyDocChanged || (anyDocSynced && !existsSync(versionAbs)))) {
164
186
  mkdirSync(dirname(versionAbs), { recursive: true });
165
187
  const today = new Date().toISOString().slice(0, 10);
166
188
  writeFileSync(versionAbs, [
@@ -1 +1 @@
1
- {"version":3,"file":"prd-to-spec.js","sourceRoot":"","sources":["../src/prd-to-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prd-to-spec.js","sourceRoot":"","sources":["../src/prd-to-spec.ts"],"names":[],"mappings":"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"}
package/dist/prompt.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Builds the prompt the runner hands to `agentCmd`: a small CONSTANT wrapper
3
- * (only the `<slug>` / source-prd path vary) around the claimed task's own
3
+ * (only the `<slug>` / source-spec path vary) around the claimed task's own
4
4
  * `## Prompt` section. This is dual-use — the SAME assembly the autonomous
5
5
  * runner feeds `agentCmd` and the human `dorfl prompt [<slug>]` command.
6
6
  *
7
7
  * The wrapper is NOT hardcoded here: it is read VERBATIM from the work-contract
8
8
  * (`skills/setup/protocol/CLAIM-PROTOCOL.md` → "The prompt handed to the work agent"),
9
9
  * so the emitted text can never silently diverge from the canonical contract.
10
- * We only substitute the per-task placeholders (`<slug>`, `<prd>`).
10
+ * We only substitute the per-task placeholders (`<slug>`, `<spec>`).
11
11
  *
12
12
  * The wrapper draws the git boundary IN-BAND — the spawned agent does NO git ops
13
13
  * on the repo (no commit/push, no moving `work/` files); the RUNNER owns every
@@ -54,7 +54,7 @@ export declare function resolveProtocolDoc(name: string, cwd?: string, override?
54
54
  /**
55
55
  * Pull the canonical wrapper TEMPLATE out of CLAIM-PROTOCOL.md: the first fenced
56
56
  * code block following the "The prompt handed to the work agent" heading. The
57
- * returned text still contains the `<slug>` / `<prd>` placeholders verbatim — it
57
+ * returned text still contains the `<slug>` / `<spec>` placeholders verbatim — it
58
58
  * is the single source of truth for the wrapper.
59
59
  */
60
60
  export declare function extractCanonicalWrapperTemplate(protocol: string): string;
@@ -72,21 +72,21 @@ export declare function extractCanonicalWrapperTemplate(protocol: string): strin
72
72
  *
73
73
  * Pure string transform; runs AFTER `extractCanonicalWrapperTemplate` (a pure
74
74
  * verbatim extractor stays a pure verbatim extractor) and BEFORE the
75
- * `<slug>`/`<prd>` substitution.
75
+ * `<slug>`/`<spec>` substitution.
76
76
  */
77
77
  export declare function applyPromptGuidance(template: string, nudges?: {
78
78
  testFirst?: boolean;
79
79
  }): string;
80
80
  /**
81
- * The constant wrapper, parameterised only by the task slug, its source prd
81
+ * The constant wrapper, parameterised only by the task slug, its source spec
82
82
  * slug, and (optionally) the resolved {@link PromptGuidance} nudges. Read
83
83
  * verbatim from the work-contract and substituted — never a divergent hardcoded
84
- * copy. `prd` may be `undefined` when the task has no `prd:` field. When
84
+ * copy. `spec` may be `undefined` when the task has no `spec:` field. When
85
85
  * `promptGuidance` is omitted (or every member resolves false) the output is
86
86
  * BYTE-IDENTICAL to today's wrapper (the ELSE-branch of every conditional is
87
87
  * the historic text).
88
88
  */
89
- export declare function wrapper(slug: string, prd: string | undefined, options?: {
89
+ export declare function wrapper(slug: string, spec: string | undefined, options?: {
90
90
  protocolPath?: string;
91
91
  cwd?: string;
92
92
  promptGuidance?: {
@@ -172,7 +172,7 @@ export declare function resolveContinueContext(options: {
172
172
  */
173
173
  export declare function buildContinueBlock(slug: string, ctx: ContinueContext): string;
174
174
  /**
175
- * Build the full prompt: the canonical wrapper for `slug` (with its source prd
175
+ * Build the full prompt: the canonical wrapper for `slug` (with its source spec
176
176
  * substituted) followed by the task's own `## Prompt` body, appended verbatim.
177
177
  *
178
178
  * In CONTINUE-mode (a {@link ContinueContext} is supplied), a CONTINUE block is
@@ -181,7 +181,7 @@ export declare function buildContinueBlock(slug: string, ctx: ContinueContext):
181
181
  * handoff note(s). In FRESH-START mode (no context, the common case) the output
182
182
  * is BYTE-IDENTICAL to the canonical wrapper + task prompt — no CONTINUE block.
183
183
  */
184
- export declare function buildAgentPrompt(slug: string, prd: string | undefined, taskPrompt: string, options?: {
184
+ export declare function buildAgentPrompt(slug: string, spec: string | undefined, taskPrompt: string, options?: {
185
185
  protocolPath?: string;
186
186
  cwd?: string;
187
187
  continueContext?: ContinueContext;
@@ -203,8 +203,8 @@ export interface ResolvedTask {
203
203
  path: string;
204
204
  /** The folder the task was resolved from (in-progress wins over tasks-ready). */
205
205
  folder: TaskFolder;
206
- /** The task's source prd slug (frontmatter `prd:`), if any. */
207
- prd: string | undefined;
206
+ /** The task's source SPEC slug (frontmatter `spec:`), if any. */
207
+ spec: string | undefined;
208
208
  /** The extracted `## Prompt` body. */
209
209
  taskPrompt: string;
210
210
  }
@@ -234,7 +234,7 @@ export declare class PromptError extends Error {
234
234
  /**
235
235
  * The CONTINUE-only gate that lets {@link resolveTask} reach a task that has
236
236
  * already been done-moved into `work/done/` — story 5 of the `ledger-integrity`
237
- * prd (defect 3). A continue/re-claim can legitimately land on a branch whose
237
+ * spec (defect 3). A continue/re-claim can legitimately land on a branch whose
238
238
  * task was ALREADY moved to `done/` (the green-but-unpushed STRAND state), and
239
239
  * onboard must find it; but a `done/` task is folder-indistinguishable between
240
240
  * two states and re-onboarding a genuinely-finished one would RE-RUN it. So
@@ -273,7 +273,7 @@ export interface ContinueResolutionGate {
273
273
  }
274
274
  /**
275
275
  * Extra knobs for {@link resolveTask} beyond the continue gate. Today the only
276
- * member is `allowBacklog` (prd
276
+ * member is `allowBacklog` (spec
277
277
  * `do-allow-backlog-drive-staged-tasks-without-promotion`): the operator's
278
278
  * EXPLICIT `do … --allow-backlog`, which widens resolution to also search
279
279
  * `tasks-backlog` (staging) at LOWEST priority. Default off (omitted) \u21d2 the
@@ -290,7 +290,7 @@ export interface ResolveTaskOptions {
290
290
  }
291
291
  /**
292
292
  * Resolve a task's file: prefer `work/in-progress/<slug>.md`, fall back to
293
- * `work/tasks/ready/<slug>.md` (the pool). Returns the parsed prd + extracted
293
+ * `work/tasks/ready/<slug>.md` (the pool). Returns the parsed spec + extracted
294
294
  * `## Prompt` body. Throws {@link PromptError} when neither file exists or it has
295
295
  * no prompt body.
296
296
  *
@@ -304,11 +304,11 @@ export interface ResolveTaskOptions {
304
304
  * the only addition, and it is gated. With no gate (a fresh claim) the behaviour
305
305
  * is byte-identical to the original `['in-progress','tasks-ready']`-only resolution.
306
306
  *
307
- * `--allow-backlog` (prd `do-allow-backlog-drive-staged-tasks-without-promotion`):
307
+ * `--allow-backlog` (spec `do-allow-backlog-drive-staged-tasks-without-promotion`):
308
308
  * when {@link ResolveTaskOptions.allowBacklog} is set, `tasks-backlog` (the staging
309
309
  * folder) is appended at the LOWEST priority — after `tasks-ready`, so a slug
310
310
  * present in BOTH the pool and staging resolves to the READY copy (the same-slug
311
- * precedence the prd's decision 5 fixes). Default off ⇒ byte-identical to today
311
+ * precedence the spec's decision 5 fixes). Default off ⇒ byte-identical to today
312
312
  * (no autonomous path sets it; staging stays unreachable to `run`/auto-pick).
313
313
  */
314
314
  export declare function resolveTask(cwd: string, slug: string, continueGate?: ContinueResolutionGate, options?: ResolveTaskOptions): ResolvedTask;
@@ -324,30 +324,30 @@ export declare function inferSlugFromBranch(cwd: string, env?: NodeJS.ProcessEnv
324
324
  */
325
325
  /**
326
326
  * Resolve the EFFECTIVE `promptGuidance` for an item by walking the precedence
327
- * chain (highest → lowest): the per-task frontmatter override, the per-prd
328
- * frontmatter override (only when the task carries a `prd:`), then the
327
+ * chain (highest → lowest): the per-task frontmatter override, the per-spec
328
+ * frontmatter override (only when the task carries a `spec:`), then the
329
329
  * already-resolved repo policy. Each nudge member resolves independently — a
330
330
  * task's `promptGuidance.testFirst` override never bleeds into a sibling
331
331
  * member — mirroring the `humanOnly`/`autoBuild` per-item override shape.
332
332
  *
333
- * A task may carry the override even when it has NO `prd:` (a self-contained
333
+ * A task may carry the override even when it has NO `spec:` (a self-contained
334
334
  * chore), by symmetry with `humanOnly` at the item level; `specFrontmatter`
335
335
  * is then simply absent and the chain reads task ⇒ repo.
336
336
  */
337
337
  export declare function resolveItemPromptGuidance(repoResolved: PromptGuidance, taskFrontmatter?: Frontmatter, specFrontmatter?: Frontmatter): PromptGuidance;
338
338
  /**
339
- * Locate a prd's file on disk: prefer `work/prds/ready/<slug>.md` (the
340
- * auto-slice pool), then fall back to `work/prds/tasked/<slug>.md` (tasked,
339
+ * Locate a spec's file on disk: prefer `work/specs/ready/<slug>.md` (the
340
+ * auto-slice pool), then fall back to `work/specs/tasked/<slug>.md` (tasked,
341
341
  * resting). Returns `undefined` when neither exists — the caller treats that
342
- * as "no prd-level override available" and the precedence chain falls
343
- * through to the repo policy (a missing prd is NOT an error at this seam;
342
+ * as "no spec-level override available" and the precedence chain falls
343
+ * through to the repo policy (a missing spec is NOT an error at this seam;
344
344
  * the per-item override is OPTIONAL by design).
345
345
  */
346
346
  export declare function findSpecPath(cwd: string, specSlug: string): string | undefined;
347
347
  /**
348
348
  * The convenience seam every caller of {@link buildAgentPrompt} reuses to
349
349
  * resolve the per-item override: load the task frontmatter from its file +
350
- * (when the task carries `prd:`) the prd frontmatter, then walk
350
+ * (when the task carries `spec:`) the spec frontmatter, then walk
351
351
  * {@link resolveItemPromptGuidance}. Pure-ish (reads at most two files);
352
352
  * returns the repo policy verbatim when neither item layer overrides anything.
353
353
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
package/dist/prompt.js CHANGED
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Builds the prompt the runner hands to `agentCmd`: a small CONSTANT wrapper
3
- * (only the `<slug>` / source-prd path vary) around the claimed task's own
3
+ * (only the `<slug>` / source-spec path vary) around the claimed task's own
4
4
  * `## Prompt` section. This is dual-use — the SAME assembly the autonomous
5
5
  * runner feeds `agentCmd` and the human `dorfl prompt [<slug>]` command.
6
6
  *
7
7
  * The wrapper is NOT hardcoded here: it is read VERBATIM from the work-contract
8
8
  * (`skills/setup/protocol/CLAIM-PROTOCOL.md` → "The prompt handed to the work agent"),
9
9
  * so the emitted text can never silently diverge from the canonical contract.
10
- * We only substitute the per-task placeholders (`<slug>`, `<prd>`).
10
+ * We only substitute the per-task placeholders (`<slug>`, `<spec>`).
11
11
  *
12
12
  * The wrapper draws the git boundary IN-BAND — the spawned agent does NO git ops
13
13
  * on the repo (no commit/push, no moving `work/` files); the RUNNER owns every
@@ -112,7 +112,7 @@ export function resolveProtocolDoc(name, cwd, override) {
112
112
  /**
113
113
  * Pull the canonical wrapper TEMPLATE out of CLAIM-PROTOCOL.md: the first fenced
114
114
  * code block following the "The prompt handed to the work agent" heading. The
115
- * returned text still contains the `<slug>` / `<prd>` placeholders verbatim — it
115
+ * returned text still contains the `<slug>` / `<spec>` placeholders verbatim — it
116
116
  * is the single source of truth for the wrapper.
117
117
  */
118
118
  export function extractCanonicalWrapperTemplate(protocol) {
@@ -174,7 +174,7 @@ export function extractCanonicalWrapperTemplate(protocol) {
174
174
  *
175
175
  * Pure string transform; runs AFTER `extractCanonicalWrapperTemplate` (a pure
176
176
  * verbatim extractor stays a pure verbatim extractor) and BEFORE the
177
- * `<slug>`/`<prd>` substitution.
177
+ * `<slug>`/`<spec>` substitution.
178
178
  */
179
179
  export function applyPromptGuidance(template, nudges = {}) {
180
180
  const values = {
@@ -186,20 +186,20 @@ export function applyPromptGuidance(template, nudges = {}) {
186
186
  });
187
187
  }
188
188
  /**
189
- * The constant wrapper, parameterised only by the task slug, its source prd
189
+ * The constant wrapper, parameterised only by the task slug, its source spec
190
190
  * slug, and (optionally) the resolved {@link PromptGuidance} nudges. Read
191
191
  * verbatim from the work-contract and substituted — never a divergent hardcoded
192
- * copy. `prd` may be `undefined` when the task has no `prd:` field. When
192
+ * copy. `spec` may be `undefined` when the task has no `spec:` field. When
193
193
  * `promptGuidance` is omitted (or every member resolves false) the output is
194
194
  * BYTE-IDENTICAL to today's wrapper (the ELSE-branch of every conditional is
195
195
  * the historic text).
196
196
  */
197
- export function wrapper(slug, prd, options = {}) {
197
+ export function wrapper(slug, spec, options = {}) {
198
198
  const protocolPath = resolveProtocolDoc('CLAIM-PROTOCOL.md', options.cwd, options.protocolPath);
199
199
  const protocol = readFileSync(protocolPath, 'utf8');
200
200
  const template = extractCanonicalWrapperTemplate(protocol);
201
201
  const resolved = applyPromptGuidance(template, options.promptGuidance);
202
- return resolved.replace(/<slug>/g, slug).replace(/<prd>/g, prd ?? '<prd>');
202
+ return resolved.replace(/<slug>/g, slug).replace(/<spec>/g, spec ?? '<spec>');
203
203
  }
204
204
  /** The heading prefix the requeue handoff notes are appended under. */
205
205
  const REQUEUE_HEADING_PREFIX = '## Requeue';
@@ -303,7 +303,7 @@ export function buildContinueBlock(slug, ctx) {
303
303
  return lines.join('\n').trim();
304
304
  }
305
305
  /**
306
- * Build the full prompt: the canonical wrapper for `slug` (with its source prd
306
+ * Build the full prompt: the canonical wrapper for `slug` (with its source spec
307
307
  * substituted) followed by the task's own `## Prompt` body, appended verbatim.
308
308
  *
309
309
  * In CONTINUE-mode (a {@link ContinueContext} is supplied), a CONTINUE block is
@@ -312,8 +312,8 @@ export function buildContinueBlock(slug, ctx) {
312
312
  * handoff note(s). In FRESH-START mode (no context, the common case) the output
313
313
  * is BYTE-IDENTICAL to the canonical wrapper + task prompt — no CONTINUE block.
314
314
  */
315
- export function buildAgentPrompt(slug, prd, taskPrompt, options = {}) {
316
- const head = wrapper(slug, prd, options);
315
+ export function buildAgentPrompt(slug, spec, taskPrompt, options = {}) {
316
+ const head = wrapper(slug, spec, options);
317
317
  if (options.continueContext) {
318
318
  const block = buildContinueBlock(slug, options.continueContext);
319
319
  return `${head}\n\n${block}\n\n${taskPrompt}\n`;
@@ -342,7 +342,7 @@ function isStrandedDoneTip(gate) {
342
342
  }
343
343
  /**
344
344
  * Resolve a task's file: prefer `work/in-progress/<slug>.md`, fall back to
345
- * `work/tasks/ready/<slug>.md` (the pool). Returns the parsed prd + extracted
345
+ * `work/tasks/ready/<slug>.md` (the pool). Returns the parsed spec + extracted
346
346
  * `## Prompt` body. Throws {@link PromptError} when neither file exists or it has
347
347
  * no prompt body.
348
348
  *
@@ -356,11 +356,11 @@ function isStrandedDoneTip(gate) {
356
356
  * the only addition, and it is gated. With no gate (a fresh claim) the behaviour
357
357
  * is byte-identical to the original `['in-progress','tasks-ready']`-only resolution.
358
358
  *
359
- * `--allow-backlog` (prd `do-allow-backlog-drive-staged-tasks-without-promotion`):
359
+ * `--allow-backlog` (spec `do-allow-backlog-drive-staged-tasks-without-promotion`):
360
360
  * when {@link ResolveTaskOptions.allowBacklog} is set, `tasks-backlog` (the staging
361
361
  * folder) is appended at the LOWEST priority — after `tasks-ready`, so a slug
362
362
  * present in BOTH the pool and staging resolves to the READY copy (the same-slug
363
- * precedence the prd's decision 5 fixes). Default off ⇒ byte-identical to today
363
+ * precedence the spec's decision 5 fixes). Default off ⇒ byte-identical to today
364
364
  * (no autonomous path sets it; staging stays unreachable to `run`/auto-pick).
365
365
  */
366
366
  export function resolveTask(cwd, slug, continueGate, options) {
@@ -388,11 +388,10 @@ export function resolveTask(cwd, slug, continueGate, options) {
388
388
  throw new PromptError(`task '${slug}' (${workFolderRel(folder)}/${slug}.md) has no '## Prompt' section`);
389
389
  }
390
390
  const fm = parseFrontmatter(content);
391
- // MIGRATE step (prd `prd-to-spec-vocabulary-cutover-and-migration-command`):
392
- // read the parent-spec pointer off the new `fm.spec` field (populated beside
393
- // `fm.prd` by the expand task). The `ResolvedTask.prd` field name is left
394
- // unchanged (a struct-field rename is out of this batch's scope).
395
- return { slug, path, folder, prd: fm.spec, taskPrompt };
391
+ // Read the parent-spec pointer off `fm.spec` (populated from the canonical
392
+ // `spec:` key) into the `spec`-only `ResolvedTask` (spec
393
+ // `prd-to-spec-vocabulary-cutover-and-migration-command`).
394
+ return { slug, path, folder, spec: fm.spec, taskPrompt };
396
395
  }
397
396
  const searched = order.map((f) => `${workFolderRel(f)}/`).join(', ');
398
397
  throw new PromptError(`no task '${slug}' found in ${searched}`);
@@ -416,13 +415,13 @@ export function inferSlugFromBranch(cwd, env) {
416
415
  */
417
416
  /**
418
417
  * Resolve the EFFECTIVE `promptGuidance` for an item by walking the precedence
419
- * chain (highest → lowest): the per-task frontmatter override, the per-prd
420
- * frontmatter override (only when the task carries a `prd:`), then the
418
+ * chain (highest → lowest): the per-task frontmatter override, the per-spec
419
+ * frontmatter override (only when the task carries a `spec:`), then the
421
420
  * already-resolved repo policy. Each nudge member resolves independently — a
422
421
  * task's `promptGuidance.testFirst` override never bleeds into a sibling
423
422
  * member — mirroring the `humanOnly`/`autoBuild` per-item override shape.
424
423
  *
425
- * A task may carry the override even when it has NO `prd:` (a self-contained
424
+ * A task may carry the override even when it has NO `spec:` (a self-contained
426
425
  * chore), by symmetry with `humanOnly` at the item level; `specFrontmatter`
427
426
  * is then simply absent and the chain reads task ⇒ repo.
428
427
  */
@@ -434,11 +433,11 @@ export function resolveItemPromptGuidance(repoResolved, taskFrontmatter, specFro
434
433
  };
435
434
  }
436
435
  /**
437
- * Locate a prd's file on disk: prefer `work/prds/ready/<slug>.md` (the
438
- * auto-slice pool), then fall back to `work/prds/tasked/<slug>.md` (tasked,
436
+ * Locate a spec's file on disk: prefer `work/specs/ready/<slug>.md` (the
437
+ * auto-slice pool), then fall back to `work/specs/tasked/<slug>.md` (tasked,
439
438
  * resting). Returns `undefined` when neither exists — the caller treats that
440
- * as "no prd-level override available" and the precedence chain falls
441
- * through to the repo policy (a missing prd is NOT an error at this seam;
439
+ * as "no spec-level override available" and the precedence chain falls
440
+ * through to the repo policy (a missing spec is NOT an error at this seam;
442
441
  * the per-item override is OPTIONAL by design).
443
442
  */
444
443
  export function findSpecPath(cwd, specSlug) {
@@ -456,15 +455,14 @@ export function findSpecPath(cwd, specSlug) {
456
455
  /**
457
456
  * The convenience seam every caller of {@link buildAgentPrompt} reuses to
458
457
  * resolve the per-item override: load the task frontmatter from its file +
459
- * (when the task carries `prd:`) the prd frontmatter, then walk
458
+ * (when the task carries `spec:`) the spec frontmatter, then walk
460
459
  * {@link resolveItemPromptGuidance}. Pure-ish (reads at most two files);
461
460
  * returns the repo policy verbatim when neither item layer overrides anything.
462
461
  */
463
462
  export function resolvePromptGuidanceForItem(options) {
464
463
  const taskFm = parseFrontmatter(options.taskContent);
465
464
  let specFm;
466
- // MIGRATE step (prd `prd-to-spec-vocabulary-cutover-and-migration-command`):
467
- // read the parent-spec pointer off `fm.spec` (populated beside `fm.prd`).
465
+ // Read the parent-spec pointer off `fm.spec` (populated from the `spec:` key).
468
466
  if (taskFm.spec !== undefined) {
469
467
  const specPath = findSpecPath(options.cwd, taskFm.spec);
470
468
  if (specPath !== undefined) {
@@ -480,7 +478,7 @@ export function renderPrompt(options) {
480
478
  'usage: dorfl prompt [<slug>]');
481
479
  }
482
480
  const task = resolveTask(options.cwd, slug);
483
- // Per-item override layer: a task or prd may pin `promptGuidance.testFirst`
481
+ // Per-item override layer: a task or spec may pin `promptGuidance.testFirst`
484
482
  // in its frontmatter, superseding the resolved repo policy for THIS item.
485
483
  // We ALWAYS walk the resolver (even when no repo policy was threaded), so a
486
484
  // task can opt IN to the strengthened nudge even on a repo whose default is
@@ -490,7 +488,7 @@ export function renderPrompt(options) {
490
488
  repoResolved: { testFirst: options.promptGuidance?.testFirst === true },
491
489
  taskContent: readFileSync(task.path, 'utf8'),
492
490
  });
493
- return buildAgentPrompt(task.slug, task.prd, task.taskPrompt, {
491
+ return buildAgentPrompt(task.slug, task.spec, task.taskPrompt, {
494
492
  protocolPath: options.protocolPath,
495
493
  cwd: options.cwd,
496
494
  promptGuidance: resolvedGuidance,