@on-par/factory-cli 0.9.8-next.9 → 0.9.8

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 (104) hide show
  1. package/dist/cli/agent-job.d.ts +29 -0
  2. package/dist/cli/agent-job.d.ts.map +1 -0
  3. package/dist/cli/agent-job.js +63 -0
  4. package/dist/cli/agent-job.js.map +1 -0
  5. package/dist/cli/doctor-harness.d.ts +11 -0
  6. package/dist/cli/doctor-harness.d.ts.map +1 -1
  7. package/dist/cli/doctor-harness.js +43 -1
  8. package/dist/cli/doctor-harness.js.map +1 -1
  9. package/dist/cli/doctor-opencode-probe.d.ts +22 -0
  10. package/dist/cli/doctor-opencode-probe.d.ts.map +1 -0
  11. package/dist/cli/doctor-opencode-probe.js +110 -0
  12. package/dist/cli/doctor-opencode-probe.js.map +1 -0
  13. package/dist/cli/doctor.d.ts +30 -8
  14. package/dist/cli/doctor.d.ts.map +1 -1
  15. package/dist/cli/doctor.js +114 -44
  16. package/dist/cli/doctor.js.map +1 -1
  17. package/dist/cli/first-run.d.ts +3 -1
  18. package/dist/cli/first-run.d.ts.map +1 -1
  19. package/dist/cli/first-run.js +5 -2
  20. package/dist/cli/first-run.js.map +1 -1
  21. package/dist/cli/github-stub.js +1 -1
  22. package/dist/cli/github-stub.js.map +1 -1
  23. package/dist/cli/harness-check.d.ts +27 -0
  24. package/dist/cli/harness-check.d.ts.map +1 -0
  25. package/dist/cli/harness-check.js +58 -0
  26. package/dist/cli/harness-check.js.map +1 -0
  27. package/dist/cli/help-groups.d.ts.map +1 -1
  28. package/dist/cli/help-groups.js +2 -1
  29. package/dist/cli/help-groups.js.map +1 -1
  30. package/dist/cli/host-slot.d.ts +4 -0
  31. package/dist/cli/host-slot.d.ts.map +1 -0
  32. package/dist/cli/host-slot.js +8 -0
  33. package/dist/cli/host-slot.js.map +1 -0
  34. package/dist/cli/index.d.ts +21 -18
  35. package/dist/cli/index.d.ts.map +1 -1
  36. package/dist/cli/index.js +66 -61
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/cli/program-advanced.d.ts.map +1 -1
  39. package/dist/cli/program-advanced.js +19 -0
  40. package/dist/cli/program-advanced.js.map +1 -1
  41. package/dist/cli/program-run-work.js +2 -2
  42. package/dist/cli/program-run-work.js.map +1 -1
  43. package/dist/cli/program-setup.d.ts.map +1 -1
  44. package/dist/cli/program-setup.js +10 -1
  45. package/dist/cli/program-setup.js.map +1 -1
  46. package/dist/cli/queue-add-json.d.ts +3 -1
  47. package/dist/cli/queue-add-json.d.ts.map +1 -1
  48. package/dist/cli/queue-add-json.js +1 -0
  49. package/dist/cli/queue-add-json.js.map +1 -1
  50. package/dist/cli/queue-output.d.ts +9 -0
  51. package/dist/cli/queue-output.d.ts.map +1 -0
  52. package/dist/cli/queue-output.js +38 -0
  53. package/dist/cli/queue-output.js.map +1 -0
  54. package/dist/cli/queue-startup.d.ts +8 -0
  55. package/dist/cli/queue-startup.d.ts.map +1 -0
  56. package/dist/cli/queue-startup.js +27 -0
  57. package/dist/cli/queue-startup.js.map +1 -0
  58. package/dist/cli/run-lane.d.ts +11 -1
  59. package/dist/cli/run-lane.d.ts.map +1 -1
  60. package/dist/cli/run-lane.js +27 -2
  61. package/dist/cli/run-lane.js.map +1 -1
  62. package/dist/cli/run.d.ts +1 -0
  63. package/dist/cli/run.d.ts.map +1 -1
  64. package/dist/cli/run.js +17 -2
  65. package/dist/cli/run.js.map +1 -1
  66. package/dist/cli/self-update-apply.d.ts.map +1 -1
  67. package/dist/cli/self-update-apply.js +24 -2
  68. package/dist/cli/self-update-apply.js.map +1 -1
  69. package/dist/cli/self-update.d.ts +4 -0
  70. package/dist/cli/self-update.d.ts.map +1 -1
  71. package/dist/cli/self-update.js +1 -1
  72. package/dist/cli/self-update.js.map +1 -1
  73. package/dist/cli/ship.d.ts.map +1 -1
  74. package/dist/cli/ship.js +21 -10
  75. package/dist/cli/ship.js.map +1 -1
  76. package/dist/cli/status-host-slots.d.ts +4 -0
  77. package/dist/cli/status-host-slots.d.ts.map +1 -0
  78. package/dist/cli/status-host-slots.js +17 -0
  79. package/dist/cli/status-host-slots.js.map +1 -0
  80. package/dist/cli/status.d.ts +5 -0
  81. package/dist/cli/status.d.ts.map +1 -1
  82. package/dist/cli/status.js +16 -5
  83. package/dist/cli/status.js.map +1 -1
  84. package/dist/cli/stop-sentinel.d.ts +4 -0
  85. package/dist/cli/stop-sentinel.d.ts.map +1 -1
  86. package/dist/cli/stop-sentinel.js +11 -0
  87. package/dist/cli/stop-sentinel.js.map +1 -1
  88. package/dist/cli/supervise.d.ts +5 -0
  89. package/dist/cli/supervise.d.ts.map +1 -1
  90. package/dist/cli/supervise.js +1 -0
  91. package/dist/cli/supervise.js.map +1 -1
  92. package/dist/cli/triage-open-prs.d.ts +10 -0
  93. package/dist/cli/triage-open-prs.d.ts.map +1 -0
  94. package/dist/cli/triage-open-prs.js +38 -0
  95. package/dist/cli/triage-open-prs.js.map +1 -0
  96. package/dist/cli/update-state.d.ts +2 -0
  97. package/dist/cli/update-state.d.ts.map +1 -1
  98. package/dist/cli/update-state.js +14 -0
  99. package/dist/cli/update-state.js.map +1 -1
  100. package/dist/cli/worktree-reap.d.ts +31 -0
  101. package/dist/cli/worktree-reap.d.ts.map +1 -0
  102. package/dist/cli/worktree-reap.js +72 -0
  103. package/dist/cli/worktree-reap.js.map +1 -0
  104. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"program-advanced.d.ts","sourceRoot":"","sources":["../../src/cli/program-advanced.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG3D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CA8LzG"}
1
+ {"version":3,"file":"program-advanced.d.ts","sourceRoot":"","sources":["../../src/cli/program-advanced.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG3D,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAiNzG"}
@@ -1,5 +1,6 @@
1
1
  // packages/cli/src/cli/program-advanced.ts — registers the Advanced / experimental help-group commands (#2793)
2
2
  import { DEFAULT_FACTORYD_PORT } from '@on-par/factory-core/internal';
3
+ import { AgentJobUsageError, cmdAgentJob } from './agent-job.js';
3
4
  import { BRANCH_PREFIX_MATCH_OPTION_DESCRIPTION } from './branch-prefix.js';
4
5
  import { DaemonCtlError } from './daemon.js';
5
6
  import { cmdSelfUpdateApply } from './self-update-apply.js';
@@ -135,5 +136,23 @@ export function registerAdvancedCommands(program, handlers, deps) {
135
136
  .option('--force', 'Remove worktrees and branches even when they have uncommitted changes or unpushed commits')
136
137
  .option('--branch-prefix <prefix>', BRANCH_PREFIX_MATCH_OPTION_DESCRIPTION)
137
138
  .action(handlers.cmdReset);
139
+ program
140
+ .command('agent-job')
141
+ .description('Run an ad-hoc rescue or steward command while holding a host agent job lease (host.maxAgentJobs, default 1); waits for a free lease and releases it when the command ends')
142
+ .argument('<command...>', 'Command and arguments to run, after --')
143
+ .option('--kind <kind>', 'rescue or steward', 'rescue')
144
+ .option('--repo <slug>', 'owner/repo recorded on the lease')
145
+ .option('--issue <n>', 'Issue number recorded on the lease')
146
+ .action(async (command, opts) => {
147
+ try {
148
+ process.exitCode = await cmdAgentJob(command, opts);
149
+ }
150
+ catch (err) {
151
+ if (!(err instanceof AgentJobUsageError))
152
+ throw err;
153
+ process.stderr.write(`${err.message}\n`);
154
+ process.exitCode = 2;
155
+ }
156
+ });
138
157
  }
139
158
  //# sourceMappingURL=program-advanced.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program-advanced.js","sourceRoot":"","sources":["../../src/cli/program-advanced.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAG/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,UAAU,wBAAwB,CAAC,OAAgB,EAAE,QAAyB,EAAE,IAAa;IACjG,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oEAAoE,CAAC,CAAC;IACrF,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,oFAAoF,CAAC;SACjG,MAAM,CAAC,eAAe,EAAE,qCAAqC,EAAE,yBAAyB,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,mCAAmC,EAAE,gBAAgB,CAAC;SAChF,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;QACxD,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACL,MAAM;SACH,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4FAA4F,CAAC;SACzG,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;SACxE,MAAM,CAAC,kBAAkB,EAAE,wCAAwC,CAAC;SACpE,MAAM,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,UAAU,CAAC;SAC7E,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,OAAO,CAAC;SACpF,MAAM,CAAC,sBAAsB,EAAE,oCAAoC,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,CAAC;SACxD,MAAM,CAAC,2BAA2B,EAAE,oCAAoC,EAAE,OAAO,CAAC;SAClF,MAAM,CACL,KAAK,EAAE,IAQN,EAAE,EAAE;QACH,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC,CACF,CAAC;IACJ,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iFAAiF,CAAC;SAC9F,MAAM,CAAC,aAAa,EAAE,wBAAwB,EAAE,uBAAuB,CAAC;SACxE,MAAM,CAAC,eAAe,EAAE,iCAAiC,EAAE,yBAAyB,CAAC;SACrF,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,sBAAsB,EAAE,uCAAuC,EAAE,UAAU,CAAC;SACnF,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,WAAW,CAAC;SACpE,MAAM,CAAC,gBAAgB,EAAE,2CAA2C,EAAE,QAAQ,CAAC;SAC/E,MAAM,CAAC,sBAAsB,EAAE,oCAAoC,EAAE,MAAM,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;SACrE,MAAM,CACL,KAAK,EAAE,IASN,EAAE,EAAE;QACH,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,6BAA6B,CAAC;SACtC,WAAW,CAAC,6FAA6F,CAAC;SAC1G,MAAM,CAAC,eAAe,EAAE,2DAA2D,CAAC;SACpF,MAAM,CAAC,iBAAiB,EAAE,gEAAgE,CAAC;SAC3F,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CACV,4GAA4G,CAC7G;SACA,MAAM,CAAC,gBAAgB,EAAE,sEAAsE,CAAC;SAChG,MAAM,CAAC,gBAAgB,EAAE,0EAA0E,CAAC;SACpG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,6FAA6F,CAAC;SAC1G,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oEAAoE,CAAC,CAAC;IACrF,SAAS;SACN,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,kFAAkF,CAAC;SAC/F,MAAM,CAAC,YAAY,EAAE,sCAAsC,qBAAqB,GAAG,CAAC;SACpF,MAAM,CAAC,mBAAmB,EAAE,2DAA2D,CAAC;SACxF,MAAM,CACL,sBAAsB,EACtB,+HAA+H,CAChI;SACA,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,CAAC,IAAqF,EAAE,EAAE,CAChG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC3B,CAAC;IACJ,MAAM,SAAS,GAAG,CAAI,EAAoB,EAAE,EAAE,CAC5C,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC1B,IAAI,GAAG,YAAY,cAAc;YAAE,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1F,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IACL,SAAS;SACN,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wFAAwF,CAAC;SACrG,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,SAAS;SACN,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,QAAQ,EAAE,yDAAyD,CAAC;SAC3E,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACrH,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;SACtC,MAAM,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;SAC/D,MAAM,CAAC,CAAC,IAA0C,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtH,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,4FAA4F,CAAC;SACzG,MAAM,CAAC,SAAS,EAAE,+DAA+D,CAAC;SAClF,MAAM,CACL,gBAAgB,EAChB,uGAAuG,CACxG;SACA,MAAM,CAAC,WAAW,EAAE,2EAA2E,CAAC;SAChG,MAAM,CAAC,SAAS,EAAE,6CAA6C,CAAC;SAChE,MAAM,CAAC,cAAc,EAAE,+EAA+E,CAAC;SACvG,MAAM,CAAC,QAAQ,EAAE,uCAAuC,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,yEAAyE,CAAC;SACzG,MAAM,CACL,KAAK,EAAE,IAQN,EAAE,EAAE;QACH,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,8DAA8D,EAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CACtC,kBAAkB,CAChB,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EACtF,IAAI,CAAC,UAAU,CAChB,CACF,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YACrB,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,qDAAqD,EAAE,CAAC,CAAC,CAAC;QAC5F,OAAO,CAAC,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/F,CAAC,CACF,CAAC;IAEJ,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,uCAAuC,CAAC,CAAC;IACrG,WAAW;SACR,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,iGAAiG,CAAC;SAC9G,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC;SAC9E,MAAM,CAAC,gBAAgB,EAAE,mEAAmE,CAAC;SAC7F,MAAM,CAAC,0BAA0B,EAAE,sCAAsC,CAAC;SAC1E,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAElC,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CACV,uTAAuT,CACxT;SACA,MAAM,CACL,WAAW,EACX,6HAA6H,CAC9H;SACA,MAAM,CAAC,SAAS,EAAE,2FAA2F,CAAC;SAC9G,MAAM,CAAC,0BAA0B,EAAE,sCAAsC,CAAC;SAC1E,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"program-advanced.js","sourceRoot":"","sources":["../../src/cli/program-advanced.ts"],"names":[],"mappings":"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"}
@@ -64,8 +64,8 @@ export function registerRunWorkCommands(program, handlers) {
64
64
  .option('--local-queue', 'Read .factory/queue instead of claiming issues from GitHub Issues')
65
65
  .option('--auto-merge', 'Merge eligible PRs autonomously, overriding .factory/config.yaml and FACTORY_MERGE')
66
66
  .option('--no-auto-merge', 'Never merge autonomously, overriding .factory/config.yaml and FACTORY_MERGE')
67
- .option('--pr-classifier', 'Hold PRs whose review floor is B or C for a human (applies no-auto-merge), overriding .factory/config.json and FACTORY_PR_CLASSIFIER')
68
- .option('--no-pr-classifier', 'Never run the PR classifier gate, overriding .factory/config.json and FACTORY_PR_CLASSIFIER')
67
+ .option('--pr-classifier', 'Hold PRs whose review floor is B or C for a human (applies no-auto-merge), overriding the repo config (.factory/config.yaml) and FACTORY_PR_CLASSIFIER')
68
+ .option('--no-pr-classifier', 'Never run the PR classifier gate, overriding the repo config (.factory/config.yaml) and FACTORY_PR_CLASSIFIER')
69
69
  .option('--usage-watch', 'Enforce the usage gate for this run, overriding .factory/config.yaml and FACTORY_USAGE_WATCH')
70
70
  .option('--no-usage-watch', 'Skip the usage gate for this run, overriding .factory/config.yaml and FACTORY_USAGE_WATCH')
71
71
  .option('--usage-threshold <fraction>', "Override .factory/config.yaml and FACTORY_STOP_AT for this run's usage threshold")
@@ -1 +1 @@
1
- {"version":3,"file":"program-run-work.js","sourceRoot":"","sources":["../../src/cli/program-run-work.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program-run-work.js","sourceRoot":"","sources":["../../src/cli/program-run-work.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAGhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sCAAsC,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAG9G,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,QAAyB;IACjF,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CACV,4GAA4G,CAC7G;SACA,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,eAAe,EAAE,gEAAgE,CAAC;SACzF,MAAM,CAAC,gBAAgB,EAAE,sEAAsE,CAAC;SAChG,MAAM,CAAC,cAAc,EAAE,4DAA4D,CAAC;SACpF,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,kGAAkG,CAAC;SAC/G,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,eAAe,EAAE,gEAAgE,CAAC;SACzF,MAAM,CAAC,gBAAgB,EAAE,sEAAsE,CAAC;SAChG,MAAM,CAAC,cAAc,EAAE,4DAA4D,CAAC;SACpF,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;SACpE,MAAM,CACL,gBAAgB,EAChB,iGAAiG,CAClG;SACA,MAAM,CACL,oBAAoB,EACpB,iRAAiR,CAClR;SACA,MAAM,CACL,sBAAsB,EACtB,qJAAqJ,CACtJ;SACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,0FAA0F,CAAC;SACvG,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;SAClE,MAAM,CAAC,kBAAkB,EAAE,+BAA+B,CAAC;SAC3D,MAAM,CAAC,eAAe,EAAE,gEAAgE,CAAC;SACzF,MAAM,CAAC,gBAAgB,EAAE,sEAAsE,CAAC;SAChG,MAAM,CAAC,cAAc,EAAE,4DAA4D,CAAC;SACpF,MAAM,CACL,mBAAmB,EACnB,8IAA8I,CAC/I;SACA,MAAM,CACL,mBAAmB,EACnB,4JAA4J,CAC7J;SACA,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CACV,0HAA0H,CAC3H;SACA,MAAM,CAAC,0BAA0B,EAAE,sCAAsC,CAAC;SAC1E,MAAM,CACL,eAAe,EACf,8IAA8I,CAC/I;SACA,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CACV,iDAAiD,oBAAoB,iDAAiD,CACvH;SACA,MAAM,CAAC,0BAA0B,EAAE,sCAAsC,CAAC;SAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CACV,iHAAiH,CAClH;SACA,MAAM,CAAC,eAAe,EAAE,mEAAmE,CAAC;SAC5F,MAAM,CAAC,cAAc,EAAE,oFAAoF,CAAC;SAC5G,MAAM,CAAC,iBAAiB,EAAE,6EAA6E,CAAC;SACxG,MAAM,CACL,iBAAiB,EACjB,wJAAwJ,CACzJ;SACA,MAAM,CACL,oBAAoB,EACpB,+GAA+G,CAChH;SACA,MAAM,CACL,eAAe,EACf,8FAA8F,CAC/F;SACA,MAAM,CACL,kBAAkB,EAClB,2FAA2F,CAC5F;SACA,MAAM,CACL,8BAA8B,EAC9B,kFAAkF,CACnF;SACA,MAAM,CAAC,wBAAwB,EAAE,gFAAgF,CAAC;SAClH,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;SACpE,MAAM,CACL,CAAC,IAOA,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAC5B,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,mFAAmF,CAAC;SAChG,MAAM,CAAC,OAAO,EAAE,gCAAgC,CAAC;SACjD,MAAM,CAAC,eAAe,EAAE,mEAAmE,CAAC;SAC5F,MAAM,CAAC,cAAc,EAAE,oFAAoF,CAAC;SAC5G,MAAM,CAAC,iBAAiB,EAAE,6EAA6E,CAAC;SACxG,MAAM,CACL,eAAe,EACf,8FAA8F,CAC/F;SACA,MAAM,CACL,kBAAkB,EAClB,2FAA2F,CAC5F;SACA,MAAM,CACL,8BAA8B,EAC9B,oFAAoF,CACrF;SACA,MAAM,CAAC,wBAAwB,EAAE,gFAAgF,CAAC;SAClH,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,sDAAsD,CAAC;SACnE,MAAM,CAAC,QAAQ,EAAE,8EAA8E,CAAC;SAChG,MAAM,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhE,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CACV,sIAAsI,CACvI;SACA,MAAM,CAAC,QAAQ,EAAE,8EAA8E,CAAC;SAChG,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,CAAC;SAC3E,MAAM,CAAC,CAAC,KAAyB,EAAE,IAAuC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACrH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"program-setup.d.ts","sourceRoot":"","sources":["../../src/cli/program-setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAyDvF"}
1
+ {"version":3,"file":"program-setup.d.ts","sourceRoot":"","sources":["../../src/cli/program-setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,CAqEvF"}
@@ -4,6 +4,7 @@ export function registerSetupCommands(program, handlers) {
4
4
  .command('init')
5
5
  .description('Set up .factory/ in this repo (config, constitution, queue file, .gitignore) and check model reachability')
6
6
  .option('--force', 'Overwrite an existing .factory config, constitution, and .gitignore')
7
+ .option('-y, --yes', 'Accept defaults without prompting (init never prompts; accepted for scripts and CI)')
7
8
  .action((opts) => handlers.cmdInit(opts));
8
9
  program
9
10
  .command('migrate')
@@ -25,11 +26,19 @@ export function registerSetupCommands(program, handlers) {
25
26
  .description('List models with their tiers, cost per 1M tokens, and availability')
26
27
  .option('--doctor', 'Probe provider CLIs and env keys; report per-model reachability')
27
28
  .action(handlers.cmdModels);
29
+ const harnessCmd = program
30
+ .command('harness')
31
+ .description('Check a harness declared under harnesses: in .factory/config');
32
+ harnessCmd
33
+ .command('check <id>')
34
+ .description('Run the harness contract kit against a declared harness; exits 0 only when every case passes (spends model tokens)')
35
+ .option('--model <id>', 'Registry model id to run (default: the first models.registry entry on that harness)')
36
+ .action((id, opts) => handlers.cmdHarnessCheck(id, opts));
28
37
  program
29
38
  .command('doctor')
30
39
  .description('Check your environment (git, agent install and sign-in, gh auth, GitHub token, npm, sandbox, .factory/)')
31
40
  .option('--reconcile', 'Reap stale port leases, dead-run worktrees, stale issue claims, orphan sf-job-*/factory.managed containers, and orphan factory-* sbx VMs')
32
- .option('--probe-inference', 'Also send one real prompt with claude -p on the host and in the sandbox to verify Claude auth (uses quota)')
41
+ .option('--probe-inference', 'Also send one real prompt with claude -p (host and sandbox) and opencode run to verify Claude and OpenCode auth (uses quota)')
33
42
  .action((opts) => handlers.cmdDoctor(opts));
34
43
  }
35
44
  //# sourceMappingURL=program-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program-setup.js","sourceRoot":"","sources":["../../src/cli/program-setup.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAK1F,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,QAAyB;IAC/E,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,2GAA2G,CAC5G;SACA,MAAM,CAAC,SAAS,EAAE,qEAAqE,CAAC;SACxF,MAAM,CAAC,CAAC,IAAyB,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEjE,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,iIAAiI,CAClI;SACA,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CACL,WAAW,EACX,uGAAuG,CACxG;SACA,MAAM,CAAC,CAAC,IAA4C,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvF,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,6FAA6F,CAAC;SAC1G,MAAM,CACL,kBAAkB,EAClB,yHAAyH,CAC1H;SACA,MAAM,CAAC,QAAQ,EAAE,kDAAkD,CAAC;SACpE,MAAM,CAAC,YAAY,EAAE,8DAA8D,CAAC;SACpF,MAAM,CACL,kBAAkB,EAClB,yHAAyH,CAC1H;SACA,MAAM,CAAC,SAAS,EAAE,0EAA0E,CAAC;SAC7F,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,UAAU,EAAE,iEAAiE,CAAC;SACrF,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE9B,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,yGAAyG,CAC1G;SACA,MAAM,CACL,aAAa,EACb,0IAA0I,CAC3I;SACA,MAAM,CACL,mBAAmB,EACnB,4GAA4G,CAC7G;SACA,MAAM,CAAC,CAAC,IAAuD,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"program-setup.js","sourceRoot":"","sources":["../../src/cli/program-setup.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAK1F,MAAM,UAAU,qBAAqB,CAAC,OAAgB,EAAE,QAAyB;IAC/E,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,2GAA2G,CAC5G;SACA,MAAM,CAAC,SAAS,EAAE,qEAAqE,CAAC;SACxF,MAAM,CAAC,WAAW,EAAE,qFAAqF,CAAC;SAC1G,MAAM,CAAC,CAAC,IAAwC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhF,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,iIAAiI,CAClI;SACA,MAAM,CAAC,WAAW,EAAE,uCAAuC,CAAC;SAC5D,MAAM,CACL,WAAW,EACX,uGAAuG,CACxG;SACA,MAAM,CAAC,CAAC,IAA4C,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvF,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,6FAA6F,CAAC;SAC1G,MAAM,CACL,kBAAkB,EAClB,yHAAyH,CAC1H;SACA,MAAM,CAAC,QAAQ,EAAE,kDAAkD,CAAC;SACpE,MAAM,CAAC,YAAY,EAAE,8DAA8D,CAAC;SACpF,MAAM,CACL,kBAAkB,EAClB,yHAAyH,CAC1H;SACA,MAAM,CAAC,SAAS,EAAE,0EAA0E,CAAC;SAC7F,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,UAAU,EAAE,iEAAiE,CAAC;SACrF,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,OAAO;SACvB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,8DAA8D,CAAC,CAAC;IAC/E,UAAU;SACP,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CACV,oHAAoH,CACrH;SACA,MAAM,CAAC,cAAc,EAAE,qFAAqF,CAAC;SAC7G,MAAM,CAAC,CAAC,EAAU,EAAE,IAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAExF,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CACV,yGAAyG,CAC1G;SACA,MAAM,CACL,aAAa,EACb,0IAA0I,CAC3I;SACA,MAAM,CACL,mBAAmB,EACnB,8HAA8H,CAC/H;SACA,MAAM,CAAC,CAAC,IAAuD,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { EnqueueOutcome, EnqueueResult } from '@on-par/factory-core/internal';
1
+ import type { EnqueueOutcome, EnqueueResult, OrderCollision } from '@on-par/factory-core/internal';
2
2
  /** One issue in `factory queue add --json` (#2275). */
3
3
  export interface QueueAddIssueJson {
4
4
  number: number;
@@ -8,6 +8,8 @@ export interface QueueAddIssueJson {
8
8
  labelsAdded: string[];
9
9
  /** Set only when outcome === 'failed'. */
10
10
  detail?: string;
11
+ /** Set only when this placement bumped past an order held without factory:queued (#2988). */
12
+ collision?: OrderCollision;
11
13
  }
12
14
  /** `factory queue add --json` payload (#2275). Additive changes only; bump schemaVersion on a breaking change. */
13
15
  export interface QueueAddJson {
@@ -1 +1 @@
1
- {"version":3,"file":"queue-add-json.d.ts","sourceRoot":"","sources":["../../src/cli/queue-add-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnF,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,kHAAkH;AAClH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,mCAAmC;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,oEAAoE;IACpE,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,YAAY,CAqB/F"}
1
+ {"version":3,"file":"queue-add-json.d.ts","sourceRoot":"","sources":["../../src/cli/queue-add-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEnG,uDAAuD;AACvD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,0FAA0F;IAC1F,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B;AAED,kHAAkH;AAClH,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,mCAAmC;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,oEAAoE;IACpE,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,YAAY,CAsB/F"}
@@ -10,6 +10,7 @@ export function buildQueueAddJson(lane, results) {
10
10
  order: failed ? null : (r.position ?? null),
11
11
  labelsAdded: failed ? [] : [...(r.labelsAdded ?? [])],
12
12
  ...(failed ? { detail: r.detail ?? '' } : {}),
13
+ ...(!failed && r.collision ? { collision: r.collision } : {}),
13
14
  };
14
15
  });
15
16
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"queue-add-json.js","sourceRoot":"","sources":["../../src/cli/queue-add-json.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAiC;IAC/E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAqB,EAAE;QAClD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,KAAK;YACf,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;YAC3C,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;QAChD,MAAM,EAAE,WAAW;QACnB,IAAI;QACJ,MAAM;QACN,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"queue-add-json.js","sourceRoot":"","sources":["../../src/cli/queue-add-json.ts"],"names":[],"mappings":"AA4BA,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAiC;IAC/E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAqB,EAAE;QAClD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,KAAK;YACf,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;YAC3C,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;QAChD,MAAM,EAAE,WAAW;QACnB,IAAI;QACJ,MAAM;QACN,aAAa,EAAE,CAAC,GAAG,OAAO,CAAC;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { EnqueueResult, OrderCollision, UnparkJson } from '@on-par/factory-core/internal';
2
+ export interface QueueOutputLine {
3
+ stream: 'out' | 'err';
4
+ text: string;
5
+ }
6
+ export declare function formatOrderCollision(issue: number, collision: OrderCollision, position: number): string;
7
+ export declare function renderQueueAddLines(lane: string, results: readonly EnqueueResult[]): QueueOutputLine[];
8
+ export declare function renderUnparkLines(result: UnparkJson): string[];
9
+ //# sourceMappingURL=queue-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-output.d.ts","sourceRoot":"","sources":["../../src/cli/queue-output.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE/F,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,eAAe,EAAE,CAqBtG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAM9D"}
@@ -0,0 +1,38 @@
1
+ // packages/cli/src/cli/queue-output.ts — text rendering for `factory queue add` and `factory unpark`, incl. order collisions (#2988).
2
+ import { styleText } from 'node:util';
3
+ export function formatOrderCollision(issue, collision, position) {
4
+ const holders = collision.heldBy.map((n) => `#${n}`).join(', ');
5
+ return `#${issue} would collide with factory:order:${collision.order} held by ${holders} — bumped to position ${position}`;
6
+ }
7
+ export function renderQueueAddLines(lane, results) {
8
+ const lines = [];
9
+ for (const r of results) {
10
+ if (r.outcome === 'queued') {
11
+ lines.push({
12
+ stream: 'out',
13
+ text: styleText('green', `#${r.issue} queued → lane ${lane}, position ${r.position}`),
14
+ });
15
+ if (r.collision && r.position !== undefined) {
16
+ lines.push({
17
+ stream: 'out',
18
+ text: styleText('yellow', formatOrderCollision(r.issue, r.collision, r.position)),
19
+ });
20
+ }
21
+ }
22
+ else if (r.outcome === 'already-queued') {
23
+ lines.push({ stream: 'out', text: `#${r.issue} already queued — skipped` });
24
+ }
25
+ else {
26
+ lines.push({ stream: 'err', text: styleText('red', `#${r.issue} failed — ${r.detail}`) });
27
+ }
28
+ }
29
+ return lines;
30
+ }
31
+ export function renderUnparkLines(result) {
32
+ const lines = [styleText('green', `#${result.issue} unparked → lane ${result.lane}, position ${result.order}`)];
33
+ if (result.collision) {
34
+ lines.push(styleText('yellow', formatOrderCollision(result.issue, result.collision, result.order)));
35
+ }
36
+ return lines;
37
+ }
38
+ //# sourceMappingURL=queue-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-output.js","sourceRoot":"","sources":["../../src/cli/queue-output.ts"],"names":[],"mappings":"AAAA,sIAAsI;AAEtI,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAStC,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,SAAyB,EAAE,QAAgB;IAC7F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,IAAI,KAAK,qCAAqC,SAAS,CAAC,KAAK,YAAY,OAAO,yBAAyB,QAAQ,EAAE,CAAC;AAC7H,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAiC;IACjF,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC;gBACT,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,kBAAkB,IAAI,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;aACtF,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC;oBACT,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;iBAClF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,2BAA2B,EAAE,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAkB;IAClD,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,MAAM,CAAC,KAAK,oBAAoB,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Octokit } from '@octokit/rest';
2
+ import { type getFactoryPaths, type QueueDiagnostic } from '@on-par/factory-core';
3
+ export declare function warnQueueDiagnostics(diagnostics: QueueDiagnostic[]): void;
4
+ /** Startup / queue-reconcile stale lane-claim sweep (#3065). Never throws — a failure is a
5
+ * warn, never a reason to abort the command. `getOctokit` returns undefined when there is no
6
+ * GitHub token, which skips the sweep. */
7
+ export declare function sweepLaneClaims(paths: ReturnType<typeof getFactoryPaths>, ghRepo: string, getOctokit: () => Octokit | undefined): Promise<void>;
8
+ //# sourceMappingURL=queue-startup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-startup.d.ts","sourceRoot":"","sources":["../../src/cli/queue-startup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAiB,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGjG,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,IAAI,CAIzE;AAED;;2CAE2C;AAC3C,wBAAsB,eAAe,CACnC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,OAAO,GAAG,SAAS,GACpC,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,27 @@
1
+ import { styleText } from 'node:util';
2
+ import { LaneFileGuard } from '@on-par/factory-core';
3
+ import { createGithubLaneClaimStalenessProbe, logEvent, resolveBranchPrefix } from '@on-par/factory-core/internal';
4
+ export function warnQueueDiagnostics(diagnostics) {
5
+ for (const d of diagnostics) {
6
+ console.error(styleText('yellow', `factory: queue ${d.message} — skipped`));
7
+ }
8
+ }
9
+ /** Startup / queue-reconcile stale lane-claim sweep (#3065). Never throws — a failure is a
10
+ * warn, never a reason to abort the command. `getOctokit` returns undefined when there is no
11
+ * GitHub token, which skips the sweep. */
12
+ export async function sweepLaneClaims(paths, ghRepo, getOctokit) {
13
+ try {
14
+ const octokit = getOctokit();
15
+ if (!octokit)
16
+ return;
17
+ await new LaneFileGuard(paths.laneFiles).sweepStale({
18
+ repo: ghRepo,
19
+ isStale: createGithubLaneClaimStalenessProbe({ octokit, branchPrefix: resolveBranchPrefix() }),
20
+ log: (type, msg) => logEvent(paths.events, type, 'all', msg),
21
+ });
22
+ }
23
+ catch (err) {
24
+ logEvent(paths.events, 'warn', 'all', `lane claim sweep failed: ${err?.message ?? String(err)}`);
25
+ }
26
+ }
27
+ //# sourceMappingURL=queue-startup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-startup.js","sourceRoot":"","sources":["../../src/cli/queue-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAItC,OAAO,EAAE,aAAa,EAA8C,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,mCAAmC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEnH,MAAM,UAAU,oBAAoB,CAAC,WAA8B;IACjE,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;2CAE2C;AAC3C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAyC,EACzC,MAAc,EACd,UAAqC;IAErC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC;YAClD,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,mCAAmC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,EAAE,CAAC;YAC9F,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,4BAA4B,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;AACH,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { LanePausedPayload, getFactoryPaths, RunOutcome } from '@on-par/factory-core';
2
2
  import { logEvent } from '@on-par/factory-core/internal';
3
- import type { QueueClaim, QueueReleaseOutcome } from '@on-par/factory-core/internal';
3
+ import type { LoadGuardDecision, QueueClaim, QueueReleaseOutcome } from '@on-par/factory-core/internal';
4
4
  import { type BaseHoldDecision } from './base-hold.js';
5
5
  import { waitForMerge } from './land.js';
6
6
  export type RunLaneDeps = {
@@ -40,12 +40,22 @@ export type RunLaneDeps = {
40
40
  * lane moves on. Defaults to a no-op so injected-deps callers and tests are unaffected;
41
41
  * cmdRun wires it to sweepBetweenLaneIssues. */
42
42
  sweepFinished?: (issue: number) => Promise<void>;
43
+ /** Issues in flight on any lane of this run — shared across every lane of one run; an issue is in
44
+ * it from start to settle so no lane's sweep reaps it (#2964). */
45
+ activeIssues?: Set<number>;
43
46
  /** Number of issues still claimable on this lane's remote queue (#1222). Absent for
44
47
  * static local lanes, whose pending list is the whole truth. */
45
48
  countRemaining?: () => Promise<number>;
46
49
  /** Base-hold claim gate (#2349): consulted before every remote claim; 'hold' stops the lane
47
50
  * without claiming. Absent = always claim (local lanes, injected-deps callers, tests). */
48
51
  baseHoldGate?: () => Promise<BaseHoldDecision>;
52
+ /** Host load guard (#3048): consulted before every remote claim, after the base-hold gate; 'hold'
53
+ * waits retryMs and re-checks. Absent = always claim (local lanes, injected-deps callers, tests). */
54
+ loadGuard?: () => LoadGuardDecision;
55
+ /** Injectable for tests. Default: setTimeout-based sleep. */
56
+ sleep?: (ms: number) => Promise<void>;
57
+ /** Injectable clock for the logged retry time. Default: () => new Date(). */
58
+ now?: () => Date;
49
59
  };
50
60
  export declare function renderLanePausedComment(payload: LanePausedPayload): string;
51
61
  export declare function runLane(lane: string, issues: number[], repoRoot: string, ghRepo: string, paths: ReturnType<typeof getFactoryPaths>, deps?: RunLaneDeps): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"run-lane.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAKzC,MAAM,MAAM,WAAW,GAAG;IACxB;;uCAEmC;IACnC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;mGAC+F;IAC/F,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,CACL,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,EAC9F,GAAG,CAAC,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;KAC3C,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,YAAY,CAAC;IAChC,uGAAuG;IACvG,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,OAAO,QAAQ,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E;8FAC0F;IAC1F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD;2EACuE;IACvE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD;;qDAEiD;IACjD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD;qEACiE;IACjE,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC;+FAC2F;IAC3F,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChD,CAAC;AA0BF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAU1E;AAED,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAwQf"}
1
+ {"version":3,"file":"run-lane.d.ts","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  // packages/cli/src/cli/run-lane.ts — the lane loop, moved out of index.ts (#2800)
2
2
  import { existsSync } from 'node:fs';
3
3
  import { parkReasonFor } from '@on-par/factory-core';
4
- import { logEvent } from '@on-par/factory-core/internal';
4
+ import { formatLoadHold, logEvent } from '@on-par/factory-core/internal';
5
5
  import { writeBaseHold } from './base-hold.js';
6
6
  import { waitForMerge } from './land.js';
7
7
  import { AwaitingReviewError } from './land-pr.js';
@@ -39,7 +39,7 @@ export function renderLanePausedComment(payload) {
39
39
  ].join('\n\n');
40
40
  }
41
41
  export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {}) {
42
- const { ship = shipIssue, waitMerge = waitForMerge, recordStackMerge = async () => { }, pathExists = existsSync, emitEvent = logEvent, claimNext = async () => null, releaseIssue = async () => { }, heartbeat, reapWorktree = async () => { }, sweepFinished = async () => { }, countRemaining, baseHoldGate, laneBreakerThreshold = 0, commentIssue = async () => { }, } = deps;
42
+ const { ship = shipIssue, waitMerge = waitForMerge, recordStackMerge = async () => { }, pathExists = existsSync, emitEvent = logEvent, claimNext = async () => null, releaseIssue = async () => { }, heartbeat, reapWorktree = async () => { }, sweepFinished = async () => { }, activeIssues = new Set(), countRemaining, baseHoldGate, loadGuard, sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)), now = () => new Date(), laneBreakerThreshold = 0, commentIssue = async () => { }, } = deps;
43
43
  let streak = null;
44
44
  let merged = 0;
45
45
  let awaitingReview = 0;
@@ -66,9 +66,29 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
66
66
  // Every terminal outcome releases the claim, then gives finished worktrees a GC pass before
67
67
  // the lane moves on (#1757). The pass is fail-closed and must never change lane flow.
68
68
  const settle = async (issue, outcome) => {
69
+ // Drop the in-flight mark first so this lane's own finished worktree stays reapable.
70
+ activeIssues.delete(issue);
69
71
  await releaseIssue(issue, outcome);
70
72
  await sweepFinished(issue).catch(() => { });
71
73
  };
74
+ const decide = (guard) => {
75
+ try {
76
+ return guard();
77
+ }
78
+ catch {
79
+ return { kind: 'claim' };
80
+ }
81
+ };
82
+ const holdForLoad = async (guard) => {
83
+ for (let d = decide(guard); d.kind === 'hold'; d = decide(guard)) {
84
+ const retryAt = new Date(now().getTime() + d.retryMs);
85
+ emitEvent(paths.events, 'warn', lane, formatLoadHold(lane, d, retryAt), { lane });
86
+ await sleep(d.retryMs);
87
+ if (pathExists(paths.stop))
88
+ return 'stopped';
89
+ }
90
+ return 'claim';
91
+ };
72
92
  for (let i = 0;; i++) {
73
93
  if (i >= pending.length) {
74
94
  // A persisted base hold on the unchanged origin/main SHA means the base is still broken
@@ -78,6 +98,8 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
78
98
  emitEvent(paths.events, 'warn', lane, `lane '${lane}' not claiming: base hold on ${gate.hold.baseSha.slice(0, 8)} (${gate.hold.failingChecks.join(', ')}) — origin/main unchanged and its CI is not green`, { lane });
79
99
  return;
80
100
  }
101
+ if (loadGuard && (await holdForLoad(loadGuard)) === 'stopped')
102
+ break;
81
103
  const claimed = await claimNext();
82
104
  if (claimed === null)
83
105
  break;
@@ -85,8 +107,10 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
85
107
  pending.push(claimed);
86
108
  }
87
109
  const { issue, decision } = pending[i];
110
+ activeIssues.add(issue);
88
111
  if (pathExists(paths.stop)) {
89
112
  emitEvent(paths.events, 'stopped', issue, 'STOP file present', { lane });
113
+ activeIssues.delete(issue);
90
114
  await releaseIssue(issue, 'queued');
91
115
  return;
92
116
  }
@@ -195,6 +219,7 @@ export async function runLane(lane, issues, repoRoot, ghRepo, paths, deps = {})
195
219
  baseSha: err.baseSha,
196
220
  };
197
221
  emitEvent(paths.events, 'lane-paused', lane, `lane '${lane}' paused: #${issue} failed only on checkers that also fail on base ${err.baseSha.slice(0, 8)} (${err.failingChecks.join(', ')}); #${issue} released to queued`, { lane, lanePaused: payload });
222
+ activeIssues.delete(issue);
198
223
  return;
199
224
  }
200
225
  const reason = parkReasonFor(err);
@@ -1 +1 @@
1
- {"version":3,"file":"run-lane.js","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGzD,OAAO,EAAyB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AA8ChD;;mDAEmD;AACnD,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5C;;8DAE8D;AAC9D,KAAK,UAAU,aAAa,CAC1B,KAAa,EACb,SAA4D,EAC5D,IAAsB;IAEtB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnC,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC1B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA0B;IAChE,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM;QACzC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACzD,CAAC,CAAC,eAAe,CAAC;IACpB,OAAO;QACL,SAAS,OAAO,CAAC,IAAI,gCAAgC,OAAO,CAAC,UAAU,+FAA+F;QACtK,0BAA0B,MAAM,EAAE;QAClC,6GAA6G,OAAO,CAAC,IAAI,IAAI;QAC7H,wBAAwB,OAAO,CAAC,SAAS,IAAI;KAC9C,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAY,EACZ,MAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,KAAyC,EACzC,IAAI,GAAgB,EAAE;IAEtB,MAAM,EACJ,IAAI,GAAG,SAAS,EAChB,SAAS,GAAG,YAAY,EACxB,gBAAgB,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,EACjC,UAAU,GAAG,UAAU,EACvB,SAAS,GAAG,QAAQ,EACpB,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,EAC5B,YAAY,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,EAC7B,SAAS,EACT,YAAY,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,EAC7B,aAAa,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,EAC9B,cAAc,EACd,YAAY,EACZ,oBAAoB,GAAG,CAAC,EACxB,YAAY,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,GAC9B,GAAG,IAAI,CAAC;IACT,IAAI,MAAM,GAA6F,IAAI,CAAC;IAC5G,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,UAAU,GAAG,CAAC,KAAa,EAAc,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,OAAO,GAAiB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,yFAAyF;IACzF,sFAAsF;IACtF,oCAAoC;IACpC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAa,EAAmB,EAAE;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,KAAK,GAAG,CAAC,MAAM,cAAc,EAAE,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,4FAA4F;IAC5F,sFAAsF;IACtF,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,OAA4B,EAAiB,EAAE;QAClF,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnC,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,wFAAwF;YACxF,yFAAyF;YACzF,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,KAAK,CAAC,GAAqB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3G,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,IAAI,EACJ,SAAS,IAAI,gCAAgC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD,EACpK,EAAE,IAAI,EAAE,CACT,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,IAAI;gBAAE,MAAM;YAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,QAAQ,EACR,KAAK,EACL,UAAU,KAAK,YAAY,QAAQ,CAAC,MAAM,YAAY,IAAI,iBAAiB,MAAM,cAAc,CAAC,CAAC,CAAC,qBAAqB,EACvH,EAAE,IAAI,EAAE,CACT,CAAC;YACF,sFAAsF;YACtF,kDAAkD;YAClD,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,IAAI,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,YAAY,GAA2B,EAAE,CAAC;YAChD,MAAM,MAAM,GACV,QAAQ,CAAC,IAAI,KAAK,OAAO;gBACvB,CAAC,CAAC,QAAQ,CAAC,MAAM;gBACjB,CAAC,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CACzC,IAAI,CACF,KAAK,EACL,EAAE,EACF;oBACE,QAAQ;oBACR,MAAM;oBACN,KAAK;oBACL,IAAI;oBACJ,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;wBACf,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;oBACzB,CAAC;iBACF,CACF,CACF,CAAC;YACR,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC;YACnC,IAAI,OAAO,EAAE,KAAK,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC7F,mFAAmF;gBACnF,oCAAoC;gBACpC,cAAc,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,0FAA0F;gBAC1F,MAAM,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CACzC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAC1E,CAAC;gBACF,MAAM,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1D,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,MAAM,EACN,KAAK,EACL,SAAS,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,oCAAoC,WAAW,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EACvG,EAAE,IAAI,EAAE,CACT,CACF,CAAC;gBACF,MAAM,EAAE,CAAC;gBACT,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnE,SAAS;YACX,CAAC;YACD,MAAM,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/F,MAAM,EAAE,CAAC;YACT,MAAM,GAAG,IAAI,CAAC;YACd,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,EAAE,aAAa,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,WAAW,EAAE,CAAC;YAC5G,IAAI,GAAG,YAAY,mBAAmB,EAAE,CAAC;gBACvC,0EAA0E;gBAC1E,0EAA0E;gBAC1E,cAAc,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5E,SAAS;YACX,CAAC;YACD,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;gBACrC,2EAA2E;gBAC3E,OAAO,EAAE,CAAC;gBACV,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;gBACxC,yEAAyE;gBACzE,gFAAgF;gBAChF,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,KAAK,MAAM,CAAC,IAAI,KAAK;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBACnD,UAAU,EAAE,CAAC;gBACb,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,iBAAiB,EACjB,KAAK,EACL,SAAS,IAAI,qBAAqB,KAAK,CAAC,MAAM,gCAAgC,KAAK,EAAE,EACrF,EAAE,IAAI,EAAE,CACT,CAAC;gBACF,MAAM,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,GAAG,YAAY,yBAAyB,EAAE,CAAC;gBAC7C,+EAA+E;gBAC/E,sEAAsE;gBACtE,MAAM,GAAG,IAAI,CAAC;gBACd,uEAAuE;gBACvE,IAAI,CAAC,GAAG,CAAC,cAAc;oBAAE,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACnE,MAAM,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC9B,gFAAgF;gBAChF,kDAAkD;gBAClD,IAAI,CAAC;oBACH,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE;wBAC5B,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,GAAG,CAAC,OAAO;wBACpB,aAAa,EAAE,GAAG,CAAC,aAAa;wBAChC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBAChC,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,MAAM,OAAO,GAAsB;oBACjC,IAAI;oBACJ,SAAS,EAAE,GAAG,CAAC,gBAAgB,IAAI,EAAE;oBACrC,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,UAAU,EAAE,KAAK;oBACjB,WAAW,EAAE,KAAK;oBAClB,KAAK,EAAE,aAAa;oBACpB,OAAO,EAAE,GAAG,CAAC,OAAO;iBACrB,CAAC;gBACF,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,aAAa,EACb,IAAI,EACJ,SAAS,IAAI,cAAc,KAAK,mDAAmD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,qBAAqB,EAC5K,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAC9B,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,8EAA8E;YAC9E,gFAAgF;YAChF,4EAA4E;YAC5E,iFAAiF;YACjF,4FAA4F;YAC5F,MAAM,SAAS,GAAG,GAAG,YAAY,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9G,MAAM,MAAM,GAAG,GAAG,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,SAAS;gBAAE,MAAM,GAAG,IAAI,CAAC;iBACzB,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,EAAE,CAAC;;gBAC7D,MAAM,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAChF,MAAM,OAAO,GAAG,oBAAoB,GAAG,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,oBAAoB,CAAC;YACpG,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,QAAQ,EACR,KAAK,EACL,UAAU,KAAK,YAAY,MAAM,MAC/B,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAC,CAAC,SAAS,IAAI,cAClE,KAAK,MAAM,cAAc,CAAC,CAAC,CAAC,qBAAqB,EACjD,EAAE,IAAI,EAAE,CACT,CAAC;YACF,kFAAkF;YAClF,8EAA8E;YAC9E,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC;YACT,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBACpF,MAAM,OAAO,GAAsB;oBACjC,IAAI;oBACJ,SAAS,EAAE,aAAa;oBACxB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC5D,UAAU;oBACV,WAAW,EAAE,KAAK;iBACnB,CAAC;gBACF,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,aAAa,EACb,IAAI,EACJ,SAAS,IAAI,cAAc,OAAO,CAAC,UAAU,SAAS,OAAO,CAAC,WAAW,4CAA4C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,GAAG,EAC/K,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAC9B,CAAC;gBACF,mGAAmG;gBACnG,MAAM,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC1F,OAAO;YACT,CAAC;YACD,SAAS;QACX,CAAC;IACH,CAAC;IACD,SAAS,CACP,KAAK,CAAC,MAAM,EACZ,WAAW,EACX,IAAI,EACJ,kBAAkB,MAAM,YAAY,cAAc,qBAAqB,OAAO,aAAa,UAAU,gBAAgB,MAAM,UAAU,EACrI,EAAE,IAAI,EAAE,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"run-lane.js","sourceRoot":"","sources":["../../src/cli/run-lane.ts"],"names":[],"mappings":"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"}
package/dist/cli/run.d.ts CHANGED
@@ -24,6 +24,7 @@ export interface RunRuntime {
24
24
  branchPrefixOrExit: (raw: string | undefined) => string;
25
25
  withRepoRunLock: typeof withRepoRunLock;
26
26
  runAutoWorktreeGc: (repoRoot: string, paths: ReturnType<typeof getFactoryPaths>, ghRepo: string, eventScope: string | number) => Promise<void>;
27
+ sweepStaleLaneClaims: (paths: ReturnType<typeof getFactoryPaths>, ghRepo: string) => Promise<void>;
27
28
  planRunLanes: typeof planRunLanes;
28
29
  preflightQueuedIssue: typeof preflightQueuedIssue;
29
30
  createQueuePreflightOps: typeof createQueuePreflightOps;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAIL,eAAe,EAShB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmBzG,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EAEZ,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EAChB,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,6GAA6G;AAC7G,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,QAAQ,CACrB,IAAI,CAAC,OAAO,EAAE,0BAA0B,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,2BAA2B,CAAC,CAChH,CAAC;IACF,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,CAAC,CAAC,CAAC;IACjE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,kBAAkB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IACxD,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,iBAAiB,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,KACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,oBAAoB,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAC/D,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,kBAAkB,EAAE,CAClB,IAAI,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3E,SAAS,EAAE,QAAQ,GAAG,UAAU,KAC7B,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,qBAAqB,CAAC;IACpD,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;IAC/C,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,sBAAsB,EAAE,OAAO,sBAAsB,CAAC;IACtD,6BAA6B,EAAE,CAC7B,MAAM,EAAE,YAAY,EAAE,EACtB,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,iBAAiB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,iBAAiB,EAAE,CACjB,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,EAAE,OAAO,YAAY,CAAC;CACnC;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8P5E"}
package/dist/cli/run.js CHANGED
@@ -3,7 +3,7 @@ import { randomUUID } from 'node:crypto';
3
3
  import { existsSync, readFileSync } from 'node:fs';
4
4
  import { styleText } from 'node:util';
5
5
  import { applyRepoConfig, clearProxyState, computeHealthKpis, getFactoryPaths, provisionLaneContainer, readEvents, resolveCodexDisabled, resolveEffectiveBuildRoute, resolveEnvironmentProxy, resolveLaneBreakerThreshold, resolveMergePolicy, resolveSizeGateMode, } from '@on-par/factory-core';
6
- import { createDockerEngine, createGithubQueue, createOctokitGreenPrClient, createOctokitQueueClient, logEvent, recordSliceMerged, resolveLocalOnly, resolveRunUsageHarness, slugify, withAdmissionGuard, } from '@on-par/factory-core/internal';
6
+ import { createDockerEngine, createGithubQueue, createOctokitGreenPrClient, createOctokitQueueClient, evaluateLoadGuard, logEvent, readHostLoad, recordSliceMerged, resolveHostLoadGuard, resolveLocalOnly, resolveRunUsageHarness, slugify, withAdmissionGuard, } from '@on-par/factory-core/internal';
7
7
  import { admissionStateReaderFor } from './admission.js';
8
8
  import { createBaseHoldGate, formatBaseHoldCleared } from './base-hold.js';
9
9
  import { keychainPreflightError } from './doctor.js';
@@ -33,6 +33,7 @@ export async function cmdRun(opts, rt) {
33
33
  throw new Error(keychainErr);
34
34
  }
35
35
  await rt.runAutoWorktreeGc(repoRoot, paths, ghRepo, 'all');
36
+ await rt.sweepStaleLaneClaims(paths, ghRepo);
36
37
  const { lanes, diagnostics } = await rt.planRunLanes({
37
38
  localQueue: opts.localQueue === true,
38
39
  readLocalQueue: () => (existsSync(paths.queue) ? readFileSync(paths.queue, 'utf-8') : null),
@@ -55,10 +56,16 @@ export async function cmdRun(opts, rt) {
55
56
  logEvent(paths.events, 'queue_admission_conflict', String(issue), line);
56
57
  },
57
58
  }),
59
+ onOrderConflict: ({ lane, position, issues }) => {
60
+ const line = `lane ${lane}: issues ${issues.map((n) => `#${n}`).join(', ')} share factory:order:${position}; skipped | repair: give each a unique order label`;
61
+ console.error(styleText('yellow', `factory: ${line}`));
62
+ logEvent(paths.events, 'queue_order_conflict', issues.join(','), line, { lane });
63
+ },
58
64
  });
59
65
  },
60
66
  });
61
67
  rt.warnQueueDiagnostics(diagnostics);
68
+ const loadGuardPolicy = resolveHostLoadGuard(factoryConfig);
62
69
  let knobs;
63
70
  let laneBreakerThreshold;
64
71
  try {
@@ -129,6 +136,8 @@ export async function cmdRun(opts, rt) {
129
136
  try {
130
137
  // Run lanes in parallel
131
138
  const pids = [];
139
+ // Issues in flight on any lane of this run; every lane's between-issues sweep protects them (#2964).
140
+ const inFlightIssues = new Set();
132
141
  for (const planned of lanes) {
133
142
  logEvent(paths.events, 'lane-start', '-', `lane '${planned.lane}' started${planned.issues.length ? ` (${planned.issues.length} issues)` : ''}`, { lane: planned.lane });
134
143
  if (containerEngine) {
@@ -143,6 +152,8 @@ export async function cmdRun(opts, rt) {
143
152
  pids.push(runLane(planned.lane, planned.issues, repoRoot, ghRepo, paths, {
144
153
  ...planned.deps,
145
154
  laneBreakerThreshold,
155
+ activeIssues: inFlightIssues,
156
+ loadGuard: opts.localQueue === true ? undefined : () => evaluateLoadGuard(loadGuardPolicy, readHostLoad()),
146
157
  baseHoldGate: opts.localQueue === true
147
158
  ? undefined
148
159
  : createBaseHoldGate({
@@ -162,7 +173,11 @@ export async function cmdRun(opts, rt) {
162
173
  await rt.getOctokit().rest.issues.createComment({ owner, repo: repoName, issue_number: issue, body });
163
174
  },
164
175
  ship: (issue, o, c) => shipIssue(issue, { ...o, branchPrefix, prClassifier: opts.prClassifier }, c),
165
- sweepFinished: (issue) => rt.sweepBetweenLaneIssues(issue, planned.lane, repoRoot, ghRepo, paths).then(() => { }),
176
+ sweepFinished: (issue) => rt
177
+ .sweepBetweenLaneIssues(issue, planned.lane, repoRoot, ghRepo, paths, {
178
+ protectedIssues: () => inFlightIssues,
179
+ })
180
+ .then(() => { }),
166
181
  reapWorktree: (issue) => rt.reapParkedLaneWorktree(issue, repoRoot, ghRepo, paths, opts.branchPrefix === undefined ? undefined : branchPrefix),
167
182
  recordStackMerge: (issue, prNumber) => recordSliceMerged({ octokit: rt.getOctokit(), repo: ghRepo, issue, prNumber }).then(() => { }),
168
183
  waitMerge: (issue, branch, root, gh, p, d = {}) => waitForMerge(issue, branch, root, gh, p, { ...d, mergeOverrides: { auto: opts.autoMerge } }),