@khoavu882/doflow 2.0.0-beta.3 → 2.0.0-beta.4

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 (167) hide show
  1. package/bin/doflow.js +2 -2
  2. package/core/.claude-plugin/plugin.json +1 -1
  3. package/core/.codex-plugin/plugin.json +1 -1
  4. package/core/.plugin/plugin.json +1 -1
  5. package/core/registry/storage.json +87 -83
  6. package/core/registry/verification.json +1 -1
  7. package/core/shared/scripts/doflow/bash/render-puml.sh +2 -2
  8. package/core/shared/skills/do-execute-plan/references/scaffold.md +2 -2
  9. package/package.json +4 -2
  10. package/src/adapters/antigravity/{index.ts → index.js} +60 -60
  11. package/src/adapters/claude/{index.ts → index.js} +48 -48
  12. package/src/adapters/claude/{mcp.ts → mcp.js} +16 -16
  13. package/src/adapters/codex/{agents.ts → agents.js} +24 -24
  14. package/src/adapters/codex/{config.ts → config.js} +49 -49
  15. package/src/adapters/codex/{hooks.ts → hooks.js} +23 -23
  16. package/src/adapters/codex/{index.ts → index.js} +98 -98
  17. package/src/adapters/codex/{mcp.ts → mcp.js} +38 -38
  18. package/src/adapters/codex/{native-projection.ts → native-projection.js} +5 -5
  19. package/src/adapters/copilot/{index.ts → index.js} +42 -42
  20. package/src/adapters/{copy-tree.ts → copy-tree.js} +70 -70
  21. package/src/adapters/gemini/{hooks.ts → hooks.js} +24 -24
  22. package/src/adapters/gemini/{index.ts → index.js} +41 -41
  23. package/src/adapters/{hook-commands.ts → hook-commands.js} +8 -8
  24. package/src/adapters/{index.ts → index.js} +13 -13
  25. package/src/adapters/kiro/{index.ts → index.js} +34 -34
  26. package/src/adapters/{mcp-entries.ts → mcp-entries.js} +55 -55
  27. package/src/adapters/opencode/{index.ts → index.js} +52 -52
  28. package/src/adapters/pi/{index.ts → index.js} +30 -30
  29. package/src/adapters/pi/{json-members.ts → json-members.js} +23 -23
  30. package/src/adapters/pi/{mcp.ts → mcp.js} +70 -70
  31. package/src/adapters/{resolve-source.ts → resolve-source.js} +1 -1
  32. package/src/cli/commands/{install.ts → install.js} +24 -24
  33. package/src/cli/commands/{list-backups.ts → list-backups.js} +4 -4
  34. package/src/cli/commands/{reconcile.ts → reconcile.js} +19 -19
  35. package/src/cli/commands/{remove.ts → remove.js} +10 -10
  36. package/src/cli/commands/{rollback.ts → rollback.js} +17 -17
  37. package/src/cli/commands/{self-update.ts → self-update.js} +3 -3
  38. package/src/cli/commands/{status.ts → status.js} +24 -24
  39. package/src/cli/commands/{tools.ts → tools.js} +16 -16
  40. package/src/cli/commands/{update.ts → update.js} +19 -19
  41. package/src/cli/{index.ts → index.js} +26 -26
  42. package/src/cli/{runtime-commands.ts → runtime-commands.js} +48 -48
  43. package/src/cli/{shared.ts → shared.js} +40 -40
  44. package/src/helper/{bash-helper.ts → bash-helper.js} +7 -7
  45. package/src/helper/{git.ts → git.js} +2 -2
  46. package/src/helper/{guardrails.ts → guardrails.js} +10 -10
  47. package/src/helper/{harness-paths.ts → harness-paths.js} +24 -24
  48. package/src/helper/{marker-merge.ts → marker-merge.js} +4 -4
  49. package/src/helper/{prompt.ts → prompt.js} +5 -5
  50. package/src/helper/{repo-root.ts → repo-root.js} +2 -2
  51. package/src/helper/{settings-merge.ts → settings-merge.js} +27 -27
  52. package/src/helper/{settings-scope.ts → settings-scope.js} +3 -3
  53. package/src/helper/{toml.ts → toml.js} +48 -48
  54. package/src/install/{backup-set.ts → backup-set.js} +16 -16
  55. package/src/install/{backup.ts → backup.js} +65 -65
  56. package/src/install/{context.ts → context.js} +15 -15
  57. package/src/install/{manifest.ts → manifest.js} +27 -27
  58. package/src/install/{mcp.ts → mcp.js} +30 -30
  59. package/src/install/{paths.ts → paths.js} +15 -15
  60. package/src/install/{targets.ts → targets.js} +10 -10
  61. package/src/install/{tool-lifecycle.ts → tool-lifecycle.js} +20 -20
  62. package/src/lifecycle/{bash-availability.ts → bash-availability.js} +1 -1
  63. package/src/lifecycle/{index.ts → index.js} +140 -140
  64. package/src/lifecycle/{mcp-index.ts → mcp-index.js} +1 -1
  65. package/src/lifecycle/{policies.ts → policies.js} +11 -11
  66. package/src/lifecycle/{view.ts → view.js} +28 -28
  67. package/src/registry/{index.ts → index.js} +60 -60
  68. package/src/release/build-package.js +91 -0
  69. package/src/release/changelog-section.js +70 -0
  70. package/src/release/{sync-plugin-versions.ts → sync-plugin-versions.js} +4 -4
  71. package/src/runtime/advice/{cli.ts → cli.js} +31 -31
  72. package/src/runtime/advice/{client.ts → client.js} +44 -44
  73. package/src/runtime/advice/{config.ts → config.js} +16 -16
  74. package/src/runtime/advice/{doctor.ts → doctor.js} +32 -32
  75. package/src/runtime/advice/{endpoint-guard.ts → endpoint-guard.js} +20 -20
  76. package/src/runtime/advice/{kinds.ts → kinds.js} +16 -16
  77. package/src/runtime/advice/providers/{ollama-systemone.ts → ollama-systemone.js} +21 -21
  78. package/src/runtime/advice/{record.ts → record.js} +19 -19
  79. package/src/runtime/advice/{registry.ts → registry.js} +16 -16
  80. package/src/runtime/advice/{strength.ts → strength.js} +7 -7
  81. package/src/runtime/{brief-tools.ts → brief-tools.js} +50 -50
  82. package/src/runtime/{c4-project.ts → c4-project.js} +27 -27
  83. package/src/runtime/{capability-router.ts → capability-router.js} +39 -39
  84. package/src/runtime/{checkouts.ts → checkouts.js} +21 -21
  85. package/src/runtime/{claims.ts → claims.js} +30 -30
  86. package/src/runtime/{cli-result.ts → cli-result.js} +4 -4
  87. package/src/runtime/{cli.ts → cli.js} +37 -37
  88. package/src/runtime/{command-detect.ts → command-detect.js} +47 -47
  89. package/src/runtime/{context-pack.ts → context-pack.js} +20 -20
  90. package/src/runtime/{decision-register.ts → decision-register.js} +67 -67
  91. package/src/runtime/{evidence-ledger.ts → evidence-ledger.js} +25 -25
  92. package/src/runtime/failure/{capture.ts → capture.js} +29 -29
  93. package/src/runtime/failure/{classifier.ts → classifier.js} +4 -4
  94. package/src/runtime/failure/{cli.ts → cli.js} +30 -30
  95. package/src/runtime/failure/{home.ts → home.js} +6 -6
  96. package/src/runtime/failure/{store.ts → store.js} +32 -32
  97. package/src/runtime/{feature-resolve.ts → feature-resolve.js} +6 -6
  98. package/src/runtime/{freshness.ts → freshness.js} +15 -15
  99. package/src/runtime/{health.ts → health.js} +72 -72
  100. package/src/runtime/{history-compactor.ts → history-compactor.js} +25 -25
  101. package/src/runtime/{implementation-gate.ts → implementation-gate.js} +30 -30
  102. package/src/runtime/inventory/{coverage.ts → coverage.js} +10 -10
  103. package/src/runtime/inventory/{identity.ts → identity.js} +2 -2
  104. package/src/runtime/inventory/{index.ts → index.js} +36 -36
  105. package/src/runtime/inventory/{precedence.ts → precedence.js} +2 -2
  106. package/src/runtime/inventory/{read-scopes.ts → read-scopes.js} +9 -9
  107. package/src/runtime/inventory/{siblings.ts → siblings.js} +15 -15
  108. package/src/runtime/knowledge/{chunker.ts → chunker.js} +12 -12
  109. package/src/runtime/knowledge/{hybrid.ts → hybrid.js} +17 -17
  110. package/src/runtime/knowledge/{index-store.ts → index-store.js} +23 -23
  111. package/src/runtime/knowledge/{retrieval.ts → retrieval.js} +27 -27
  112. package/src/runtime/{leak-scan.ts → leak-scan.js} +12 -12
  113. package/src/runtime/lifecycle/{cli.ts → cli.js} +32 -32
  114. package/src/runtime/lifecycle/{event-store.ts → event-store.js} +48 -48
  115. package/src/runtime/lifecycle/{fold.ts → fold.js} +41 -41
  116. package/src/runtime/lifecycle/{followup.ts → followup.js} +54 -54
  117. package/src/runtime/lifecycle/{goal.ts → goal.js} +50 -50
  118. package/src/runtime/lifecycle/{intent-writer.ts → intent-writer.js} +5 -5
  119. package/src/runtime/lifecycle/{overview.ts → overview.js} +47 -47
  120. package/src/runtime/lifecycle/{release.ts → release.js} +29 -29
  121. package/src/runtime/lifecycle/{report-store.ts → report-store.js} +25 -25
  122. package/src/runtime/lifecycle/{retention.ts → retention.js} +37 -37
  123. package/src/runtime/lifecycle/{root.ts → root.js} +9 -9
  124. package/src/runtime/lifecycle/{status.ts → status.js} +64 -64
  125. package/src/runtime/lifecycle/{store-upkeep.ts → store-upkeep.js} +46 -46
  126. package/src/runtime/{locator-resolve.ts → locator-resolve.js} +7 -7
  127. package/src/runtime/{mask.ts → mask.js} +22 -22
  128. package/src/runtime/{mcp-consultations.ts → mcp-consultations.js} +54 -54
  129. package/src/runtime/{mcp-reach.ts → mcp-reach.js} +24 -24
  130. package/src/runtime/{model-router.ts → model-router.js} +20 -20
  131. package/src/runtime/{outcome.ts → outcome.js} +27 -27
  132. package/src/runtime/{reach.ts → reach.js} +21 -21
  133. package/src/runtime/{readiness-record.ts → readiness-record.js} +12 -12
  134. package/src/runtime/{readiness.ts → readiness.js} +35 -35
  135. package/src/runtime/{recovery.ts → recovery.js} +15 -15
  136. package/src/runtime/{research-request.ts → research-request.js} +34 -34
  137. package/src/runtime/{retrieval-plan.ts → retrieval-plan.js} +40 -40
  138. package/src/runtime/scaffold/{artifacts.ts → artifacts.js} +19 -19
  139. package/src/runtime/scaffold/{fingerprint.ts → fingerprint.js} +3 -3
  140. package/src/runtime/scaffold/{generate.ts → generate.js} +109 -109
  141. package/src/runtime/scaffold/{languages.ts → languages.js} +34 -34
  142. package/src/runtime/storage/{cli.ts → cli.js} +9 -9
  143. package/src/runtime/storage/{engine.ts → engine.js} +37 -37
  144. package/src/runtime/storage/{registry.ts → registry.js} +19 -19
  145. package/src/runtime/storage/{roots.ts → roots.js} +8 -8
  146. package/src/runtime/storage/{rules.ts → rules.js} +26 -26
  147. package/src/runtime/storage/{upkeep.ts → upkeep.js} +35 -35
  148. package/src/runtime/storage/{work-status.ts → work-status.js} +39 -39
  149. package/src/runtime/{task-attempts.ts → task-attempts.js} +61 -61
  150. package/src/runtime/{task-classifier.ts → task-classifier.js} +34 -34
  151. package/src/runtime/{task-scope.ts → task-scope.js} +13 -13
  152. package/src/runtime/{task-state.ts → task-state.js} +15 -15
  153. package/src/runtime/trace/{indicators.ts → indicators.js} +22 -22
  154. package/src/runtime/trace/{ledger.ts → ledger.js} +42 -42
  155. package/src/runtime/trace/{render.ts → render.js} +7 -7
  156. package/src/runtime/trace/{views.ts → views.js} +40 -40
  157. package/src/runtime/verification/{contract-runner.ts → contract-runner.js} +23 -23
  158. package/src/runtime/verification/{engine.ts → engine.js} +143 -143
  159. package/src/runtime/verification/{registry.ts → registry.js} +6 -6
  160. package/src/runtime/verification/{scope-bound.ts → scope-bound.js} +50 -50
  161. package/src/runtime/verification/{test-selection.ts → test-selection.js} +28 -28
  162. package/src/runtime/{workflow-engine.ts → workflow-engine.js} +50 -50
  163. package/src/runtime/{workflow-orchestrator.ts → workflow-orchestrator.js} +91 -91
  164. package/src/runtime/{worktree.ts → worktree.js} +31 -31
  165. package/src/state/{index.ts → index.js} +26 -26
  166. package/src/state/{lockfile.ts → lockfile.js} +20 -20
  167. package/src/state/{run-lock.ts → run-lock.js} +44 -44
package/bin/doflow.js CHANGED
@@ -31,7 +31,7 @@ if (typeof nodeModule.enableCompileCache === 'function') {
31
31
  // error thrown while it loads is recorded under the command name `unknown`.
32
32
  let cli = null;
33
33
  try {
34
- const { captureError } = require('../src/runtime/failure/capture.ts');
34
+ const { captureError } = require('../src/runtime/failure/capture.js');
35
35
  process.on('uncaughtExceptionMonitor', (error) => {
36
36
  try {
37
37
  const argv = process.argv.slice(2);
@@ -40,5 +40,5 @@ try {
40
40
  } catch { /* best-effort */ }
41
41
  });
42
42
  } catch { /* best-effort */ }
43
- cli = require('../src/cli/index.ts');
43
+ cli = require('../src/cli/index.js');
44
44
  cli.main(process.argv.slice(2));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doflow",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "Reusable engineering workflows, quality gates, and specialist guidance for Claude Code.",
5
5
  "author": {
6
6
  "name": "DoFlow"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doflow",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "Reusable engineering workflows, quality gates, and specialist guidance for Codex.",
5
5
  "author": {
6
6
  "name": "DoFlow",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doflow",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "Reusable engineering workflows, quality gates, and specialist guidance for GitHub Copilot CLI.",
5
5
  "author": {
6
6
  "name": "DoFlow",
@@ -71,7 +71,7 @@
71
71
  "verb"
72
72
  ],
73
73
  "writers": [
74
- "src/runtime/verification/contract-runner.ts"
74
+ "src/runtime/verification/contract-runner.js"
75
75
  ]
76
76
  },
77
77
  {
@@ -89,7 +89,7 @@
89
89
  "verb"
90
90
  ],
91
91
  "writers": [
92
- "src/runtime/task-state.ts"
92
+ "src/runtime/task-state.js"
93
93
  ]
94
94
  },
95
95
  {
@@ -107,8 +107,8 @@
107
107
  "verb"
108
108
  ],
109
109
  "writers": [
110
- "src/runtime/readiness-record.ts",
111
- "src/runtime/task-state.ts"
110
+ "src/runtime/readiness-record.js",
111
+ "src/runtime/task-state.js"
112
112
  ]
113
113
  },
114
114
  {
@@ -126,7 +126,7 @@
126
126
  "verb"
127
127
  ],
128
128
  "writers": [
129
- "src/runtime/task-state.ts"
129
+ "src/runtime/task-state.js"
130
130
  ]
131
131
  },
132
132
  {
@@ -144,7 +144,7 @@
144
144
  "verb"
145
145
  ],
146
146
  "writers": [
147
- "src/runtime/outcome.ts"
147
+ "src/runtime/outcome.js"
148
148
  ]
149
149
  },
150
150
  {
@@ -162,7 +162,7 @@
162
162
  "verb"
163
163
  ],
164
164
  "writers": [
165
- "src/runtime/retrieval-plan.ts"
165
+ "src/runtime/retrieval-plan.js"
166
166
  ]
167
167
  },
168
168
  {
@@ -180,7 +180,7 @@
180
180
  "verb"
181
181
  ],
182
182
  "writers": [
183
- "src/runtime/task-state.ts"
183
+ "src/runtime/task-state.js"
184
184
  ]
185
185
  },
186
186
  {
@@ -198,8 +198,8 @@
198
198
  "verb"
199
199
  ],
200
200
  "writers": [
201
- "src/runtime/task-state.ts",
202
- "src/runtime/workflow-orchestrator.ts"
201
+ "src/runtime/task-state.js",
202
+ "src/runtime/workflow-orchestrator.js"
203
203
  ]
204
204
  },
205
205
  {
@@ -218,7 +218,7 @@
218
218
  ],
219
219
  "writers": [
220
220
  "core/shared/scripts/doflow/bin/doflow-run",
221
- "src/runtime/trace/ledger.ts"
221
+ "src/runtime/trace/ledger.js"
222
222
  ]
223
223
  },
224
224
  {
@@ -237,7 +237,7 @@
237
237
  ],
238
238
  "writers": [
239
239
  "core/shared/scripts/doflow/bin/doflow-run",
240
- "src/runtime/trace/ledger.ts"
240
+ "src/runtime/trace/ledger.js"
241
241
  ]
242
242
  },
243
243
  {
@@ -255,7 +255,7 @@
255
255
  "verb"
256
256
  ],
257
257
  "writers": [
258
- "src/runtime/advice/record.ts"
258
+ "src/runtime/advice/record.js"
259
259
  ]
260
260
  },
261
261
  {
@@ -273,7 +273,7 @@
273
273
  "verb"
274
274
  ],
275
275
  "writers": [
276
- "src/runtime/advice/record.ts"
276
+ "src/runtime/advice/record.js"
277
277
  ]
278
278
  },
279
279
  {
@@ -291,7 +291,7 @@
291
291
  "install"
292
292
  ],
293
293
  "writers": [
294
- "src/state/index.ts"
294
+ "src/state/index.js"
295
295
  ]
296
296
  },
297
297
  {
@@ -309,7 +309,7 @@
309
309
  "install"
310
310
  ],
311
311
  "writers": [
312
- "src/state/index.ts"
312
+ "src/state/index.js"
313
313
  ]
314
314
  },
315
315
  {
@@ -328,7 +328,7 @@
328
328
  "verb"
329
329
  ],
330
330
  "writers": [
331
- "src/runtime/lifecycle/event-store.ts"
331
+ "src/runtime/lifecycle/event-store.js"
332
332
  ]
333
333
  },
334
334
  {
@@ -347,8 +347,8 @@
347
347
  "verb"
348
348
  ],
349
349
  "writers": [
350
- "src/runtime/lifecycle/report-store.ts",
351
- "src/runtime/storage/engine.ts"
350
+ "src/runtime/lifecycle/report-store.js",
351
+ "src/runtime/storage/engine.js"
352
352
  ]
353
353
  },
354
354
  {
@@ -427,10 +427,10 @@
427
427
  "protect": null,
428
428
  "moments": [],
429
429
  "writers": [
430
- "src/install/backup.ts"
430
+ "src/install/backup.js"
431
431
  ],
432
432
  "source": {
433
- "file": "src/install/backup.ts",
433
+ "file": "src/install/backup.js",
434
434
  "pattern": "DEFAULT_BACKUP_RETENTION = {value}"
435
435
  }
436
436
  },
@@ -448,10 +448,10 @@
448
448
  "protect": null,
449
449
  "moments": [],
450
450
  "writers": [
451
- "src/install/backup.ts"
451
+ "src/install/backup.js"
452
452
  ],
453
453
  "source": {
454
- "file": "src/install/backup.ts",
454
+ "file": "src/install/backup.js",
455
455
  "pattern": "DEFAULT_BACKUP_RETENTION = {value}"
456
456
  }
457
457
  },
@@ -522,12 +522,12 @@
522
522
  "core/harnesses/shared/hooks/policies/capture-failure.sh",
523
523
  "core/harnesses/shared/hooks/stream-hook-runner.js",
524
524
  "core/shared/scripts/doflow/bin/doflow-run",
525
- "src/runtime/failure/capture.ts",
526
- "src/runtime/failure/cli.ts",
527
- "src/runtime/failure/store.ts"
525
+ "src/runtime/failure/capture.js",
526
+ "src/runtime/failure/cli.js",
527
+ "src/runtime/failure/store.js"
528
528
  ],
529
529
  "source": {
530
- "file": "src/runtime/failure/capture.ts",
530
+ "file": "src/runtime/failure/capture.js",
531
531
  "pattern": "KEEP_ROTATED = {value}"
532
532
  }
533
533
  },
@@ -544,10 +544,10 @@
544
544
  "protect": null,
545
545
  "moments": [],
546
546
  "writers": [
547
- "src/state/index.ts"
547
+ "src/state/index.js"
548
548
  ],
549
549
  "source": {
550
- "file": "src/state/index.ts",
550
+ "file": "src/state/index.js",
551
551
  "pattern": "LEDGER_FILE"
552
552
  }
553
553
  },
@@ -564,10 +564,10 @@
564
564
  "protect": null,
565
565
  "moments": [],
566
566
  "writers": [
567
- "src/state/index.ts"
567
+ "src/state/index.js"
568
568
  ],
569
569
  "source": {
570
- "file": "src/state/index.ts",
570
+ "file": "src/state/index.js",
571
571
  "pattern": "LEDGER_FILE"
572
572
  }
573
573
  },
@@ -584,10 +584,10 @@
584
584
  "protect": null,
585
585
  "moments": [],
586
586
  "writers": [
587
- "src/runtime/lifecycle/store-upkeep.ts"
587
+ "src/runtime/lifecycle/store-upkeep.js"
588
588
  ],
589
589
  "source": {
590
- "file": "src/runtime/lifecycle/store-upkeep.ts",
590
+ "file": "src/runtime/lifecycle/store-upkeep.js",
591
591
  "pattern": "MIGRATING_PREFIX"
592
592
  }
593
593
  },
@@ -605,11 +605,11 @@
605
605
  "protect": null,
606
606
  "moments": [],
607
607
  "writers": [
608
- "src/runtime/storage/engine.ts",
609
- "src/runtime/task-state.ts"
608
+ "src/runtime/storage/engine.js",
609
+ "src/runtime/task-state.js"
610
610
  ],
611
611
  "source": {
612
- "file": "src/runtime/task-state.ts",
612
+ "file": "src/runtime/task-state.js",
613
613
  "pattern": "LOCK_STALE_MS = 10_000"
614
614
  }
615
615
  },
@@ -626,14 +626,14 @@
626
626
  "protect": null,
627
627
  "moments": [],
628
628
  "writers": [
629
- "src/adapters/antigravity/index.ts",
630
- "src/adapters/copy-tree.ts",
631
- "src/install/manifest.ts",
632
- "src/lifecycle/index.ts",
633
- "src/state/index.ts"
629
+ "src/adapters/antigravity/index.js",
630
+ "src/adapters/copy-tree.js",
631
+ "src/install/manifest.js",
632
+ "src/lifecycle/index.js",
633
+ "src/state/index.js"
634
634
  ],
635
635
  "source": {
636
- "file": "src/lifecycle/index.ts",
636
+ "file": "src/lifecycle/index.js",
637
637
  "pattern": "MCP_INDEX.md"
638
638
  }
639
639
  },
@@ -650,14 +650,14 @@
650
650
  "protect": null,
651
651
  "moments": [],
652
652
  "writers": [
653
- "src/adapters/antigravity/index.ts",
654
- "src/adapters/copy-tree.ts",
655
- "src/install/manifest.ts",
656
- "src/lifecycle/index.ts",
657
- "src/state/index.ts"
653
+ "src/adapters/antigravity/index.js",
654
+ "src/adapters/copy-tree.js",
655
+ "src/install/manifest.js",
656
+ "src/lifecycle/index.js",
657
+ "src/state/index.js"
658
658
  ],
659
659
  "source": {
660
- "file": "src/lifecycle/index.ts",
660
+ "file": "src/lifecycle/index.js",
661
661
  "pattern": "MCP_INDEX.md"
662
662
  }
663
663
  },
@@ -674,10 +674,10 @@
674
674
  "protect": null,
675
675
  "moments": [],
676
676
  "writers": [
677
- "src/runtime/knowledge/index-store.ts"
677
+ "src/runtime/knowledge/index-store.js"
678
678
  ],
679
679
  "source": {
680
- "file": "src/runtime/knowledge/index-store.ts",
680
+ "file": "src/runtime/knowledge/index-store.js",
681
681
  "pattern": "sha256"
682
682
  }
683
683
  },
@@ -694,10 +694,10 @@
694
694
  "protect": null,
695
695
  "moments": [],
696
696
  "writers": [
697
- "src/runtime/knowledge/index-store.ts"
697
+ "src/runtime/knowledge/index-store.js"
698
698
  ],
699
699
  "source": {
700
- "file": "src/runtime/knowledge/index-store.ts",
700
+ "file": "src/runtime/knowledge/index-store.js",
701
701
  "pattern": "sha256"
702
702
  }
703
703
  },
@@ -714,10 +714,10 @@
714
714
  "protect": null,
715
715
  "moments": [],
716
716
  "writers": [
717
- "src/runtime/worktree.ts"
717
+ "src/runtime/worktree.js"
718
718
  ],
719
719
  "source": {
720
- "file": "src/runtime/worktree.ts",
720
+ "file": "src/runtime/worktree.js",
721
721
  "pattern": "worktree"
722
722
  }
723
723
  },
@@ -734,7 +734,7 @@
734
734
  "protect": null,
735
735
  "moments": [],
736
736
  "writers": [
737
- "src/runtime/advice/config.ts"
737
+ "src/runtime/advice/config.js"
738
738
  ],
739
739
  "source": {
740
740
  "file": "core/harnesses/shared/hooks/policies/lib.sh",
@@ -754,7 +754,7 @@
754
754
  "protect": null,
755
755
  "moments": [],
756
756
  "writers": [
757
- "src/runtime/advice/config.ts"
757
+ "src/runtime/advice/config.js"
758
758
  ],
759
759
  "source": {
760
760
  "file": "core/harnesses/shared/hooks/policies/lib.sh",
@@ -776,7 +776,7 @@
776
776
  "uninstall"
777
777
  ],
778
778
  "writers": [
779
- "src/runtime/storage/upkeep.ts"
779
+ "src/runtime/storage/upkeep.js"
780
780
  ]
781
781
  },
782
782
  {
@@ -794,7 +794,7 @@
794
794
  "uninstall"
795
795
  ],
796
796
  "writers": [
797
- "src/runtime/storage/upkeep.ts"
797
+ "src/runtime/storage/upkeep.js"
798
798
  ]
799
799
  },
800
800
  {
@@ -812,7 +812,7 @@
812
812
  "uninstall"
813
813
  ],
814
814
  "writers": [
815
- "src/runtime/storage/upkeep.ts"
815
+ "src/runtime/storage/upkeep.js"
816
816
  ]
817
817
  },
818
818
  {
@@ -830,7 +830,7 @@
830
830
  "uninstall"
831
831
  ],
832
832
  "writers": [
833
- "src/runtime/storage/upkeep.ts"
833
+ "src/runtime/storage/upkeep.js"
834
834
  ]
835
835
  },
836
836
  {
@@ -848,7 +848,7 @@
848
848
  "uninstall"
849
849
  ],
850
850
  "writers": [
851
- "src/runtime/storage/upkeep.ts"
851
+ "src/runtime/storage/upkeep.js"
852
852
  ]
853
853
  },
854
854
  {
@@ -866,7 +866,7 @@
866
866
  "uninstall"
867
867
  ],
868
868
  "writers": [
869
- "src/runtime/storage/upkeep.ts"
869
+ "src/runtime/storage/upkeep.js"
870
870
  ]
871
871
  },
872
872
  {
@@ -884,7 +884,7 @@
884
884
  "uninstall"
885
885
  ],
886
886
  "writers": [
887
- "src/runtime/storage/upkeep.ts"
887
+ "src/runtime/storage/upkeep.js"
888
888
  ]
889
889
  },
890
890
  {
@@ -902,7 +902,7 @@
902
902
  "uninstall"
903
903
  ],
904
904
  "writers": [
905
- "src/runtime/storage/upkeep.ts"
905
+ "src/runtime/storage/upkeep.js"
906
906
  ]
907
907
  },
908
908
  {
@@ -920,7 +920,7 @@
920
920
  "uninstall"
921
921
  ],
922
922
  "writers": [
923
- "src/runtime/storage/upkeep.ts"
923
+ "src/runtime/storage/upkeep.js"
924
924
  ]
925
925
  },
926
926
  {
@@ -938,7 +938,7 @@
938
938
  "uninstall"
939
939
  ],
940
940
  "writers": [
941
- "src/state/run-lock.ts"
941
+ "src/state/run-lock.js"
942
942
  ]
943
943
  },
944
944
  {
@@ -956,7 +956,7 @@
956
956
  "uninstall"
957
957
  ],
958
958
  "writers": [
959
- "src/state/run-lock.ts"
959
+ "src/state/run-lock.js"
960
960
  ]
961
961
  }
962
962
  ],
@@ -990,67 +990,71 @@
990
990
  "reason": "agent context file (AGENTS.md or CLAUDE.md) managed block, owned by the install ledger"
991
991
  },
992
992
  {
993
- "file": "src/adapters/claude/index.ts",
993
+ "file": "src/adapters/claude/index.js",
994
994
  "reason": "harness configuration/projection owned by the install ledger"
995
995
  },
996
996
  {
997
- "file": "src/adapters/codex/config.ts",
997
+ "file": "src/adapters/codex/config.js",
998
998
  "reason": "harness configuration/projection owned by the install ledger"
999
999
  },
1000
1000
  {
1001
- "file": "src/adapters/codex/hooks.ts",
1001
+ "file": "src/adapters/codex/hooks.js",
1002
1002
  "reason": "harness configuration/projection owned by the install ledger"
1003
1003
  },
1004
1004
  {
1005
- "file": "src/adapters/copilot/index.ts",
1005
+ "file": "src/adapters/copilot/index.js",
1006
1006
  "reason": "harness configuration/projection owned by the install ledger"
1007
1007
  },
1008
1008
  {
1009
- "file": "src/adapters/gemini/hooks.ts",
1009
+ "file": "src/adapters/gemini/hooks.js",
1010
1010
  "reason": "harness configuration/projection owned by the install ledger"
1011
1011
  },
1012
1012
  {
1013
- "file": "src/adapters/gemini/index.ts",
1013
+ "file": "src/adapters/gemini/index.js",
1014
1014
  "reason": "harness configuration/projection owned by the install ledger"
1015
1015
  },
1016
1016
  {
1017
- "file": "src/adapters/mcp-entries.ts",
1017
+ "file": "src/adapters/mcp-entries.js",
1018
1018
  "reason": "harness configuration/projection owned by the install ledger"
1019
1019
  },
1020
1020
  {
1021
- "file": "src/adapters/opencode/index.ts",
1021
+ "file": "src/adapters/opencode/index.js",
1022
1022
  "reason": "harness configuration/projection owned by the install ledger"
1023
1023
  },
1024
1024
  {
1025
- "file": "src/adapters/pi/index.ts",
1025
+ "file": "src/adapters/pi/index.js",
1026
1026
  "reason": "harness configuration/projection owned by the install ledger"
1027
1027
  },
1028
1028
  {
1029
- "file": "src/adapters/pi/mcp.ts",
1029
+ "file": "src/adapters/pi/mcp.js",
1030
1030
  "reason": "harness configuration/projection owned by the install ledger"
1031
1031
  },
1032
1032
  {
1033
- "file": "src/helper/marker-merge.ts",
1033
+ "file": "src/helper/marker-merge.js",
1034
1034
  "reason": "harness instruction file managed block (CLAUDE.md, AGENTS.md, GEMINI.md), owned by the install ledger"
1035
1035
  },
1036
1036
  {
1037
- "file": "src/release/sync-plugin-versions.ts",
1037
+ "file": "src/release/sync-plugin-versions.js",
1038
1038
  "reason": "maintainer release tool: rewrites the repo plugin manifests (no DoFlow root)"
1039
1039
  },
1040
1040
  {
1041
- "file": "src/runtime/decision-register.ts",
1041
+ "file": "src/release/build-package.js",
1042
+ "reason": "maintainer release tool: writes the staged npm package directory (no DoFlow root)"
1043
+ },
1044
+ {
1045
+ "file": "src/runtime/decision-register.js",
1042
1046
  "reason": "agent-docs deliverable (decisions register of a feature)"
1043
1047
  },
1044
1048
  {
1045
- "file": "src/runtime/history-compactor.ts",
1049
+ "file": "src/runtime/history-compactor.js",
1046
1050
  "reason": "agent-docs deliverable (decisions/history archive and artifact stub)"
1047
1051
  },
1048
1052
  {
1049
- "file": "src/runtime/lifecycle/intent-writer.ts",
1053
+ "file": "src/runtime/lifecycle/intent-writer.js",
1050
1054
  "reason": "agent-docs deliverable (agent-docs/intent/*.md)"
1051
1055
  },
1052
1056
  {
1053
- "file": "src/runtime/scaffold/generate.ts",
1057
+ "file": "src/runtime/scaffold/generate.js",
1054
1058
  "reason": "agent-docs deliverable (scaffold files and manifest)"
1055
1059
  }
1056
1060
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "description": "Verification check tiers, their fixed ordering, and which tiers each risk level requires. Plain JSON, matching capabilities.json and routes.json. Consumed by src/runtime/verification/engine.ts.",
3
+ "description": "Verification check tiers, their fixed ordering, and which tiers each risk level requires. Plain JSON, matching capabilities.json and routes.json. Consumed by src/runtime/verification/engine.js.",
4
4
  "policy": {
5
5
  "defaultRiskLevel": "MEDIUM",
6
6
  "emptyContractStatus": "INCONCLUSIVE",
@@ -72,8 +72,8 @@ feature_dir=$(printf '%s' "$resolved_json" | jq -r '.feature_dir // empty')
72
72
  # The projector lives in the JS runtime, not beside the helpers: G12 keeps this repo to one runtime
73
73
  # implementation, and Python in core/ is how a shadow tree grew the first time, one individually
74
74
  # defensible module at a time. render-audit.sh already shells out to node for the same reason.
75
- PROJECTOR="$repo_root/src/runtime/c4-project.ts"
76
- [ -f "$PROJECTOR" ] || PROJECTOR="${DOFLOW_CONFIG_DIR:-$HOME/.doflow}/runtime/src/runtime/c4-project.ts"
75
+ PROJECTOR="$repo_root/src/runtime/c4-project.js"
76
+ [ -f "$PROJECTOR" ] || PROJECTOR="${DOFLOW_CONFIG_DIR:-$HOME/.doflow}/runtime/src/runtime/c4-project.js"
77
77
  design_rel=$(printf '%s' "$resolved_json" | jq -r '.design // empty')
78
78
  [ -n "$feature_slug" ] || note "no-active-feature"
79
79
  [ -n "$feature_dir" ] || note "resolver-missing-feature-dir"
@@ -56,7 +56,7 @@ Two rules deserve their reasoning, because both are easy to "improve" into a def
56
56
  | | Part 1 — in-scope | Part 2 — external dependency |
57
57
  |---|---|---|
58
58
  | Input | `requirement.md`, `design.md`, `plan.md` | a `depends-on:` value with no owning task |
59
- | Produced by | `src/runtime/scaffold/generate.ts`, deterministically | this file's algorithm, executed by you |
59
+ | Produced by | `src/runtime/scaffold/generate.js`, deterministically | this file's algorithm, executed by you |
60
60
  | Lands in | `scaffold/src/`, `scaffold/test/`, `scaffold/MANIFEST.md` | `scaffold/contracts/<service>/` |
61
61
  | Answers | what shape does my own plan imply | what shape must I code against at the boundary |
62
62
 
@@ -391,7 +391,7 @@ this Part; `scaffold/contracts/<service>/` is the only place any of it may write
391
391
  ## Constraints (carried from the design — do not relax these)
392
392
 
393
393
  The first applies to both Parts. Every other constraint here is Part 2's, and its bare step numbers
394
- are Part 2's steps — Part 1's equivalents are enforced by `src/runtime/scaffold/generate.ts` and its guard
394
+ are Part 2's steps — Part 1's equivalents are enforced by `src/runtime/scaffold/generate.js` and its guard
395
395
  rather than restated as prose.
396
396
 
397
397
  - Never write outside `agent-docs/doflow/<slug>/scaffold/` — not into the source tree, and not
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@khoavu882/doflow",
3
- "version": "2.0.0-beta.3",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "DoFlow config installer — npx CLI for the registry-driven multi-harness install/update/remove lifecycle",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -31,9 +31,11 @@
31
31
  "scripts": {
32
32
  "test": "node --test \"test/**/*.test.js\"",
33
33
  "typecheck": "npx -y -p typescript@5.7.2 tsc -p tsconfig.json",
34
+ "build:package": "node src/release/build-package.js .pack",
34
35
  "bench": "node bench/runner.js",
35
36
  "drift": "node scripts/check-format-drift.js",
36
- "version": "node src/release/sync-plugin-versions.ts && git add core/.codex-plugin/plugin.json core/.claude-plugin/plugin.json core/.plugin/plugin.json"
37
+ "release-notes": "node src/release/changelog-section.js",
38
+ "version": "node src/release/sync-plugin-versions.js && git add core/.codex-plugin/plugin.json core/.claude-plugin/plugin.json core/.plugin/plugin.json"
37
39
  },
38
40
  "files": [
39
41
  "bin/",