@kitman-sh/software-engineering 0.10.61 → 0.10.62

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.
package/dist/bundle.js CHANGED
@@ -21275,6 +21275,7 @@ var shepherd_default = defineLoop({
21275
21275
  let stalls = 0;
21276
21276
  let unreviewed;
21277
21277
  let notCarried;
21278
+ let behind = false;
21278
21279
  const done = (status, reason) => ({ status, reason, fixRounds, replies });
21279
21280
  const runOnRunner = (step, cycle, head, checks) => gen2(function* () {
21280
21281
  const verification = `pipeline-${step}:${cycle}`;
@@ -21387,7 +21388,8 @@ var shepherd_default = defineLoop({
21387
21388
  });
21388
21389
  if (mergeable.type === commented.event)
21389
21390
  continue;
21390
- if (mergeable.payload.mergeable === false) {
21391
+ if (mergeable.payload.mergeable === false || behind) {
21392
+ behind = false;
21391
21393
  const synced = yield* syncBase(`sync:${cycle}`, { agent: "implementer", target });
21392
21394
  if (synced.status === "conflict")
21393
21395
  return done("needs_you", `Merging ${target} in conflicts on ${synced.files.join(", ")}: ${synced.reason}`);
@@ -21493,6 +21495,8 @@ var shepherd_default = defineLoop({
21493
21495
  changeRequestId,
21494
21496
  head: pipeline.head
21495
21497
  });
21498
+ if (merged.status === "conflict")
21499
+ behind = true;
21496
21500
  if (merged.status !== "merged")
21497
21501
  continue;
21498
21502
  yield* writeBack("write-back", { milestone: "merged" });
@@ -29396,4 +29400,4 @@ var runKit = (config, identity, packages) => {
29396
29400
  runMain2(program.pipe(flatMap3((code) => sync2(() => process.exit(code)))));
29397
29401
  };
29398
29402
  // .kitman-build-entry.ts
29399
- runKit(kitman_config_default, { name: "@kitman-sh/software-engineering", version: "0.10.61" }, []);
29403
+ runKit(kitman_config_default, { name: "@kitman-sh/software-engineering", version: "0.10.62" }, []);
@@ -3187,7 +3187,7 @@
3187
3187
  "carried": [
3188
3188
  {
3189
3189
  "name": "@kitman-sh/software-engineering",
3190
- "version": "0.10.61",
3190
+ "version": "0.10.62",
3191
3191
  "setup": "2a237548a69b0cd53ec3be7f687cfa8c2128335b3a655d34e185f2abce6a3c37",
3192
3192
  "loops": [
3193
3193
  "build",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitman-sh/software-engineering",
3
- "version": "0.10.61",
3
+ "version": "0.10.62",
4
4
  "description": "Everything for building software: Loops, their Agents, the skills they use and the Ponytail plugin.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -17,12 +17,12 @@
17
17
  "tsconfig.json"
18
18
  ],
19
19
  "dependencies": {
20
- "@kitman-sh/sdk": "0.10.61",
20
+ "@kitman-sh/sdk": "0.10.62",
21
21
  "effect": "4.1.2"
22
22
  },
23
23
  "kitman": {
24
24
  "bundle": "dist/bundle.js",
25
- "digest": "04c1ea2cf8f5fb3c9ff75b46bc1a380c89ad196eba20069253932b516df39b84",
25
+ "digest": "06bb59464e917a4c122b8587e1d0c70f0b1dbda3db6cec33d74cc3e5b21ffed1",
26
26
  "protocolVersion": 5,
27
27
  "declarations": "dist/declarations.json",
28
28
  "setup": {
package/src/shepherd.ts CHANGED
@@ -187,6 +187,8 @@ export default defineLoop({
187
187
 
188
188
  /** Why an approval of the head is still needed after a catch-up merge, for a person who is left to give it. */
189
189
  let notCarried: string | undefined
190
+ // The last merge did not go in as the ChangeRequest is: its target moved on, or it conflicts.
191
+ let behind = false
190
192
 
191
193
  const done = (status: Output['status'], reason: string): Output => ({ status, reason, fixRounds, replies })
192
194
 
@@ -339,7 +341,9 @@ export default defineLoop({
339
341
 
340
342
  if (mergeable.type === commented.event) continue
341
343
 
342
- if (mergeable.payload.mergeable === false) {
344
+ if (mergeable.payload.mergeable === false || behind) {
345
+ behind = false
346
+
343
347
  const synced = yield* syncBase(`sync:${cycle}`, { agent: 'implementer', target })
344
348
 
345
349
  if (synced.status === 'conflict')
@@ -500,6 +504,9 @@ export default defineLoop({
500
504
  head: pipeline.head
501
505
  })
502
506
 
507
+ // Its target moved on, with no Event to say so, or it conflicts: merge the target in, as for a not-mergeable one.
508
+ if (merged.status === 'conflict') behind = true
509
+
503
510
  if (merged.status !== 'merged') continue
504
511
  yield* writeBack('write-back', { milestone: 'merged' })
505
512