@usine/engine 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/LICENSE +661 -21
  2. package/README.md +9 -6
  3. package/dist/cycle-budget/cycle-budget.d.ts +8 -2
  4. package/dist/cycle-budget/cycle-budget.d.ts.map +1 -1
  5. package/dist/cycle-budget/cycle-budget.js +46 -5
  6. package/dist/cycle-budget/cycle-budget.js.map +1 -1
  7. package/dist/cycle-budget/model.d.ts +4 -0
  8. package/dist/cycle-budget/model.d.ts.map +1 -1
  9. package/dist/cycle-budget/model.js +3 -0
  10. package/dist/cycle-budget/model.js.map +1 -1
  11. package/dist/database/local-sqlite.d.ts +4 -3
  12. package/dist/database/local-sqlite.d.ts.map +1 -1
  13. package/dist/database/local-sqlite.js +11 -7
  14. package/dist/database/local-sqlite.js.map +1 -1
  15. package/dist/database/schema.d.ts +121 -0
  16. package/dist/database/schema.d.ts.map +1 -1
  17. package/dist/database/schema.js +23 -0
  18. package/dist/database/schema.js.map +1 -1
  19. package/dist/engine/checkout-recovery.d.ts +28 -18
  20. package/dist/engine/checkout-recovery.d.ts.map +1 -1
  21. package/dist/engine/checkout-recovery.js +100 -43
  22. package/dist/engine/checkout-recovery.js.map +1 -1
  23. package/dist/engine/engine.d.ts +20 -8
  24. package/dist/engine/engine.d.ts.map +1 -1
  25. package/dist/engine/engine.js +26 -9
  26. package/dist/engine/engine.js.map +1 -1
  27. package/dist/engine/error.d.ts +1 -1
  28. package/dist/engine/error.js +1 -1
  29. package/dist/engine/error.js.map +1 -1
  30. package/dist/engine/lifecycle.d.ts +3 -1
  31. package/dist/engine/lifecycle.d.ts.map +1 -1
  32. package/dist/engine/lifecycle.js +13 -3
  33. package/dist/engine/lifecycle.js.map +1 -1
  34. package/dist/engine/run-driver.d.ts +21 -7
  35. package/dist/engine/run-driver.d.ts.map +1 -1
  36. package/dist/engine/run-driver.js +118 -32
  37. package/dist/engine/run-driver.js.map +1 -1
  38. package/dist/engine/submission.d.ts.map +1 -1
  39. package/dist/engine/submission.js +3 -2
  40. package/dist/engine/submission.js.map +1 -1
  41. package/dist/engine/unconfirmed-stops.d.ts +27 -0
  42. package/dist/engine/unconfirmed-stops.d.ts.map +1 -0
  43. package/dist/engine/unconfirmed-stops.js +26 -0
  44. package/dist/engine/unconfirmed-stops.js.map +1 -0
  45. package/dist/item-projection/item-projection.d.ts +3 -1
  46. package/dist/item-projection/item-projection.d.ts.map +1 -1
  47. package/dist/item-projection/item-projection.js +20 -9
  48. package/dist/item-projection/item-projection.js.map +1 -1
  49. package/dist/run-reader/run-reader.d.ts +6 -1
  50. package/dist/run-reader/run-reader.d.ts.map +1 -1
  51. package/dist/run-reader/run-reader.js +2 -0
  52. package/dist/run-reader/run-reader.js.map +1 -1
  53. package/dist/step-executor.d.ts +30 -11
  54. package/dist/step-executor.d.ts.map +1 -1
  55. package/dist/step-executor.js.map +1 -1
  56. package/dist/store/codec.d.ts +38 -4
  57. package/dist/store/codec.d.ts.map +1 -1
  58. package/dist/store/codec.js +9 -2
  59. package/dist/store/codec.js.map +1 -1
  60. package/dist/store/leftovers.d.ts +1 -1
  61. package/dist/store/leftovers.js +2 -2
  62. package/dist/store/leftovers.js.map +1 -1
  63. package/dist/store/queries.d.ts +45 -3
  64. package/dist/store/queries.d.ts.map +1 -1
  65. package/dist/store/queries.js +59 -6
  66. package/dist/store/queries.js.map +1 -1
  67. package/dist/store/store.d.ts +22 -7
  68. package/dist/store/store.d.ts.map +1 -1
  69. package/dist/store/store.js +32 -3
  70. package/dist/store/store.js.map +1 -1
  71. package/drizzle/20261024162954_cycle_ask_closures/migration.sql +10 -0
  72. package/drizzle/20261024162954_cycle_ask_closures/snapshot.json +1948 -0
  73. package/drizzle/20261027104206_attempt_out_of_memory/migration.sql +1 -0
  74. package/drizzle/20261027104206_attempt_out_of_memory/snapshot.json +1958 -0
  75. package/drizzle/20261027191944_failure_resolution/migration.sql +1 -0
  76. package/drizzle/20261027191944_failure_resolution/snapshot.json +1968 -0
  77. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,37 @@
1
- import { AttemptId } from "@usine/core/attempt";
1
+ import { AttemptId, type StopReason } from "@usine/core/attempt";
2
2
  import type { AttemptRecovery } from "@usine/core/attempt/salvage";
3
+ import { WorkerName } from "@usine/core/worker";
3
4
  import { Effect, Option, Result, Schema } from "effect";
4
5
  import type { WorkerLease } from "../step-executor.ts";
6
+ import type { SalvageCandidate } from "../store/store.ts";
5
7
  declare const ParentStopUnconfirmedError_base: Schema.Class<ParentStopUnconfirmedError, Schema.TaggedStruct<"ParentStopUnconfirmedError", {
6
8
  readonly attemptId: Schema.brand<Schema.NonEmptyString, "AttemptId">;
9
+ readonly worker: Schema.brand<Schema.String, "WorkerName">;
7
10
  readonly cause: Schema.Defect;
8
11
  }>, import("effect/Cause").YieldableError>;
9
12
  /**
10
- * An error for an Attempt whose parent task couldn't be confirmed stopped. Its checkout and
11
- * Worker slot stay kept, and the Run's next Attempt doesn't start.
13
+ * An error for an Attempt whose parent task couldn't be confirmed stopped. Its slot of `worker`,
14
+ * and any checkout startup kept, stay kept, and the Run's next Attempt doesn't start.
12
15
  */
13
16
  declare class ParentStopUnconfirmedError extends ParentStopUnconfirmedError_base {
14
17
  }
18
+ /** Returns `map` without `key`. */
19
+ export declare const without: <K, V>(map: ReadonlyMap<K, V>, key: K) => ReadonlyMap<K, V>;
15
20
  /**
16
- * Creates the checkout recovery steps that `RunDriver` uses at startup and on reattach.
21
+ * Creates the checkout recovery steps that `RunDriver` uses at startup, on reattach, and on cancel.
17
22
  *
18
23
  * `atStartup` reconciles the checkouts left on Workers through `StepExecutor.recover`. It keeps
19
24
  * the checkout, and occupies a Worker slot through `StepExecutor.occupy` (#177), for an open
20
25
  * Attempt whose parent task is live or unreadable and for a closed Attempt whose parent task
21
26
  * isn't confirmed stopped. `acquired` hands a kept checkout and slot to the reattaching
22
- * execution. `reconcile` reconciles a kept checkout that the Run closes without that hand-off
23
- * (#180), and releases the slot once the parent task is confirmed stopped.
27
+ * execution. `hold` keeps the slot of an Attempt whose parent task may still run after a cancel
28
+ * or a failure (#475, #512). `reconcile` reconciles a kept checkout that the Run closes without
29
+ * that hand-off (#180), and releases the slot once the parent task is confirmed stopped.
24
30
  */
25
31
  export declare const checkoutRecoveryFor: (store: {
26
32
  readonly approve: (runId: import("@usine/core/run").RunId, approval: import("@usine/core/event").Event, source: import("@usine/core/run/approval").ApprovalSource) => Effect.Effect<boolean, import("./error.ts").RunStoreError>;
27
33
  readonly appendTranscript: (direction: import("@usine/core/attempt/channel").Direction, envelope: import("@usine/core/attempt/channel").Envelope) => Effect.Effect<void, import("./error.ts").RunStoreError>;
28
- readonly beginAttempt: (runId: import("@usine/core/run").RunId, worker: import("@usine/core/worker").WorkerName, live: Option.Option<AttemptId>) => Effect.Effect<import("../store/store.ts").AttemptStarted | import("../store/store.ts").AttemptRecoveryFailed | import("../store/store.ts").RunClosed, import("./error.ts").RunStoreError>;
34
+ readonly beginAttempt: (runId: import("@usine/core/run").RunId, worker: WorkerName, live: Option.Option<AttemptId>) => Effect.Effect<import("../store/store.ts").AttemptStarted | import("../store/store.ts").AttemptRecoveryFailed | import("../store/store.ts").RunClosed, import("./error.ts").RunStoreError>;
29
35
  readonly cancel: (runId: import("@usine/core/run").RunId) => Effect.Effect<import("../store/store.ts").CancelOutcome, import("./error.ts").RunStoreError>;
30
36
  readonly claimQueued: (submission: import("./submission.ts").Submission, runId: import("@usine/core/run").RunId) => Effect.Effect<Option.Option<import("@usine/core/run").RunId>, import("./error.ts").RunStoreError>;
31
37
  readonly finishAttempt: (attempt: import("@usine/core/attempt").Attempt, result: Result.Result<import("@usine/core/step/result").StepResult, import("@usine/core/attempt/failure").AttemptFailure>) => Effect.Effect<import("./lifecycle.ts").FinishDecision, import("./error.ts").RunStoreError>;
@@ -36,12 +42,13 @@ export declare const checkoutRecoveryFor: (store: {
36
42
  readonly recordAndClaim: (submission: import("./submission.ts").Submission, requestedRunId: import("@usine/core/run").RunId) => Effect.Effect<import("../store/store.ts").Claim, import("./error.ts").RunStoreError>;
37
43
  readonly recordSalvage: (attemptId: AttemptId, salvage: import("@usine/core/attempt/salvage").AttemptSalvage) => Effect.Effect<void, import("./error.ts").RunStoreError>;
38
44
  readonly recordComments: (attemptId: AttemptId, comments: ReadonlyArray<import("@usine/core/step/result").Comment>) => Effect.Effect<void, import("./error.ts").RunStoreError>;
45
+ readonly recordOutOfMemory: (attemptId: AttemptId, kills: import("@usine/core/attempt").ContainerOutOfMemoryKills) => Effect.Effect<void, import("./error.ts").RunStoreError>;
39
46
  readonly attemptWindows: (attemptId: AttemptId) => Effect.Effect<import("@usine/core/attempt").AttemptWindows, import("./error.ts").RunStoreError>;
40
- readonly salvageCandidates: Effect.Effect<ReadonlyArray<AttemptRecovery>, import("./error.ts").RunStoreError>;
41
- readonly salvageCandidate: (attemptId: AttemptId) => Effect.Effect<Option.Option<AttemptRecovery>, import("./error.ts").RunStoreError>;
42
- readonly discardLeftovers: (worker: import("@usine/core/worker").WorkerName) => Effect.Effect<number, import("./error.ts").RunStoreError>;
43
- readonly openAttempts: (worker: import("@usine/core/worker").WorkerName) => Effect.Effect<number, import("./error.ts").RunStoreError>;
44
- readonly resolveFailure: (runId: import("@usine/core/run").RunId, attemptId: AttemptId) => Effect.Effect<boolean, import("./error.ts").RunStoreError>;
47
+ readonly salvageCandidates: Effect.Effect<ReadonlyArray<SalvageCandidate>, import("./error.ts").RunStoreError>;
48
+ readonly salvageCandidate: (attemptId: AttemptId) => Effect.Effect<Option.Option<SalvageCandidate>, import("./error.ts").RunStoreError>;
49
+ readonly discardLeftovers: (worker: WorkerName) => Effect.Effect<ReadonlyArray<AttemptId>, import("./error.ts").RunStoreError>;
50
+ readonly openAttempts: (worker: WorkerName) => Effect.Effect<number, import("./error.ts").RunStoreError>;
51
+ readonly resolveFailure: (runId: import("@usine/core/run").RunId, attemptId: AttemptId, operator: Option.Option<import("@usine/core/operator").OperatorLogin>) => Effect.Effect<boolean, import("./error.ts").RunStoreError>;
45
52
  readonly retry: (runId: import("@usine/core/run").RunId, request?: import("./retry.ts").RetryRequest) => Effect.Effect<boolean, import("./error.ts").RunStoreError>;
46
53
  readonly runAgain: (runId: import("@usine/core/run").RunId, request: import("./run-again.ts").RunAgainRequest) => Effect.Effect<import("./run-again.ts").RunAgainResult, import("./error.ts").RunStoreError>;
47
54
  readonly revoke: (loop: import("@usine/core/loop").LoopName, itemKey: import("@usine/core/item").ItemKey) => Effect.Effect<ReadonlyArray<import("@usine/core/run").RunId>, import("./error.ts").RunStoreError>;
@@ -50,20 +57,23 @@ export declare const checkoutRecoveryFor: (store: {
50
57
  readonly submission: (runId: import("@usine/core/run").RunId) => Effect.Effect<import("./submission.ts").Submission, import("./error.ts").RunStoreError>;
51
58
  readonly transcript: (query: import("../transcript.ts").TranscriptQuery) => Effect.Effect<ReadonlyArray<import("../transcript.ts").TranscriptEntry>, import("./error.ts").RunStoreError>;
52
59
  }, executor: {
53
- readonly workers: Effect.Effect<ReadonlyArray<import("@usine/core/worker").WorkerName>>;
60
+ readonly workers: Effect.Effect<ReadonlyArray<WorkerName>>;
54
61
  readonly isLive: (attemptId: AttemptId) => Effect.Effect<boolean, import("@usine/core/attempt/failure").AttemptFailure>;
55
62
  readonly outcome: (attemptId: AttemptId) => Effect.Effect<Option.Option<Result.Result<import("@usine/core/step/result").StepResult, import("@usine/core/attempt/failure").AttemptFailure>>, import("@usine/core/attempt/failure").AttemptFailure>;
56
63
  readonly recover: <E>(attempt: AttemptRecovery, record: import("@usine/core/attempt/salvage").RecoverySink<E>) => Effect.Effect<void, E | import("@usine/core/attempt/failure").AttemptFailure>;
57
- readonly interrupt: (attemptId: AttemptId) => Effect.Effect<void, import("@usine/core/attempt/failure").AttemptFailure>;
64
+ readonly interrupt: (attemptId: AttemptId, reason: StopReason) => Effect.Effect<void, import("@usine/core/attempt/failure").AttemptFailure>;
58
65
  readonly intervene: (attemptId: AttemptId, intervention: import("@usine/core/attempt/channel").Intervention) => Effect.Effect<void, import("@usine/core/attempt/failure").AttemptFailure>;
59
- readonly reserve: (submission: import("./submission.ts").Submission, worker: Option.Option<import("@usine/core/worker").WorkerName>) => Effect.Effect<WorkerLease, import("@usine/core/attempt/failure").AttemptFailure>;
60
- readonly occupy: (worker: import("@usine/core/worker").WorkerName) => Effect.Effect<WorkerLease>;
66
+ readonly reserve: (runId: import("@usine/core/run").RunId, submission: import("./submission.ts").Submission, worker: Option.Option<WorkerName>) => Effect.Effect<WorkerLease, import("@usine/core/attempt/failure").AttemptFailure>;
67
+ readonly occupy: (worker: WorkerName, attemptId: AttemptId) => Effect.Effect<WorkerLease>;
68
+ readonly sweep: Effect.Effect<void>;
69
+ readonly discard: (worker: WorkerName, attempts: ReadonlyArray<AttemptId>) => Effect.Effect<void>;
61
70
  readonly execute: (execution: import("../step-executor.ts").StepExecution, io: import("../step-executor.ts").ExecutionSink) => Effect.Effect<import("@usine/core/step/result").StepResult, import("@usine/core/attempt/failure").AttemptFailure>;
62
71
  }) => Effect.Effect<{
63
- readonly atStartup: () => Effect.Effect<(string & import("effect/Brand").Brand<"AttemptId">)[], import("./error.ts").EnginePersistenceError | import("./error.ts").RunNotFoundError | import("./error.ts").RunOperationRejectedError | import("./error.ts").RunRetryBlockedError, never>;
72
+ readonly atStartup: () => Effect.Effect<SalvageCandidate[], import("./error.ts").EnginePersistenceError | import("./error.ts").RunNotFoundError | import("./error.ts").RunOperationRejectedError | import("./error.ts").RunRetryBlockedError, never>;
64
73
  readonly reattachSlot: (attemptId: string & import("effect/Brand").Brand<"AttemptId">) => Effect.Effect<Option.Option<WorkerLease>, never, never>;
65
74
  readonly acquired: (attemptId: string & import("effect/Brand").Brand<"AttemptId">) => Effect.Effect<void, never, never>;
66
- readonly reconcile: (attemptId: string & import("effect/Brand").Brand<"AttemptId">) => Effect.Effect<void, ParentStopUnconfirmedError, never>;
75
+ readonly hold: (attemptId: string & import("effect/Brand").Brand<"AttemptId">, lease: WorkerLease) => Effect.Effect<void, never, never>;
76
+ readonly reconcile: (attemptId: string & import("effect/Brand").Brand<"AttemptId">, reason: "cancel" | "failed" | "startup") => Effect.Effect<void, ParentStopUnconfirmedError, never>;
67
77
  }, never, never>;
68
78
  export {};
69
79
  //# sourceMappingURL=checkout-recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-recovery.d.ts","sourceRoot":"","sources":["../../src/engine/checkout-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAwB,MAAM,EAAE,MAAM,EAAO,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,qBAAqB,CAAC;;;;;AAGrE;;;GAGG;AACH,cAAM,0BAA2B,SAAQ,+BAKvC;CAAG;AAWL;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAyO9B,CAAC"}
1
+ {"version":3,"file":"checkout-recovery.d.ts","sourceRoot":"","sources":["../../src/engine/checkout-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAwB,MAAM,EAAE,MAAM,EAAO,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACnF,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;;;;;;AAEpE;;;GAGG;AACH,cAAM,0BAA2B,SAAQ,+BAMvC;CAAG;AAEL,mCAAmC;AACnC,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,KAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAI9E,CAAC;AAQF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAwT9B,CAAC"}
@@ -1,31 +1,35 @@
1
1
  import { AttemptId } from "@usine/core/attempt";
2
+ import { WorkerName } from "@usine/core/worker";
2
3
  import { Array as EffectArray, Effect, Option, Ref, Result, Schema } from "effect";
3
4
  /**
4
- * An error for an Attempt whose parent task couldn't be confirmed stopped. Its checkout and
5
- * Worker slot stay kept, and the Run's next Attempt doesn't start.
5
+ * An error for an Attempt whose parent task couldn't be confirmed stopped. Its slot of `worker`,
6
+ * and any checkout startup kept, stay kept, and the Run's next Attempt doesn't start.
6
7
  */
7
8
  class ParentStopUnconfirmedError extends Schema.TaggedError("@usine/engine/internal/ParentStopUnconfirmedError")("ParentStopUnconfirmedError", {
8
9
  attemptId: AttemptId,
10
+ worker: WorkerName,
9
11
  cause: Schema.Defect(),
10
12
  }) {
11
13
  }
12
- const without = (leases, attemptId) => {
13
- const remaining = new Map(leases);
14
- remaining.delete(attemptId);
14
+ /** Returns `map` without `key`. */
15
+ export const without = (map, key) => {
16
+ const remaining = new Map(map);
17
+ remaining.delete(key);
15
18
  return remaining;
16
19
  };
17
20
  /**
18
- * Creates the checkout recovery steps that `RunDriver` uses at startup and on reattach.
21
+ * Creates the checkout recovery steps that `RunDriver` uses at startup, on reattach, and on cancel.
19
22
  *
20
23
  * `atStartup` reconciles the checkouts left on Workers through `StepExecutor.recover`. It keeps
21
24
  * the checkout, and occupies a Worker slot through `StepExecutor.occupy` (#177), for an open
22
25
  * Attempt whose parent task is live or unreadable and for a closed Attempt whose parent task
23
26
  * isn't confirmed stopped. `acquired` hands a kept checkout and slot to the reattaching
24
- * execution. `reconcile` reconciles a kept checkout that the Run closes without that hand-off
25
- * (#180), and releases the slot once the parent task is confirmed stopped.
27
+ * execution. `hold` keeps the slot of an Attempt whose parent task may still run after a cancel
28
+ * or a failure (#475, #512). `reconcile` reconciles a kept checkout that the Run closes without
29
+ * that hand-off (#180), and releases the slot once the parent task is confirmed stopped.
26
30
  */
27
31
  export const checkoutRecoveryFor = Effect.fn("CheckoutRecovery.for")(function* (store, executor) {
28
- // The checkouts kept at startup, by Attempt, with their occupied slots.
32
+ // The slots of Attempts whose parent task may still run, by Attempt.
29
33
  const kept = yield* Ref.make(new Map());
30
34
  /** Reconciles `attempt`'s checkout. On failure, logs an error and leaves the checkout on its Worker. */
31
35
  const recover = (attempt) => executor
@@ -41,10 +45,14 @@ export const checkoutRecoveryFor = Effect.fn("CheckoutRecovery.for")(function* (
41
45
  })), Effect.ignore);
42
46
  /**
43
47
  * Keeps `attempt`'s checkout and occupies a slot on its Worker, recording the lease in the same
44
- * uninterruptible step. The lease's `release` frees the slot at most once.
48
+ * uninterruptible step.
45
49
  */
46
50
  const keep = Effect.fn("CheckoutRecovery.keep")(function* (attempt) {
47
- yield* executor.occupy(attempt.worker).pipe(Effect.flatMap((lease) => Effect.cached(lease.release).pipe(Effect.map((release) => ({ worker: lease.worker, release })))), Effect.flatMap((lease) => Ref.update(kept, (leases) => new Map(leases).set(attempt.attemptId, lease))), Effect.uninterruptible);
51
+ yield* executor.occupy(attempt.worker, attempt.attemptId).pipe(Effect.flatMap((lease) => Effect.cached(lease.release).pipe(Effect.map((release) => ({
52
+ worker: lease.worker,
53
+ release,
54
+ checkoutKept: true,
55
+ })))), Effect.flatMap((occupied) => Ref.update(kept, (leases) => new Map(leases).set(attempt.attemptId, occupied))), Effect.uninterruptible);
48
56
  });
49
57
  /**
50
58
  * Keeps the checkout and a slot for an open Attempt whose parent task is live or whose liveness
@@ -65,21 +73,21 @@ export const checkoutRecoveryFor = Effect.fn("CheckoutRecovery.for")(function* (
65
73
  });
66
74
  /**
67
75
  * Reconciles a closed Attempt's checkout if its parent task is confirmed stopped. Otherwise
68
- * keeps the checkout and a slot, and returns the Attempt ID (#177).
76
+ * keeps the checkout and a slot, and returns the Attempt (#177).
69
77
  */
70
78
  const recoverClosed = Effect.fn("CheckoutRecovery.recoverClosed")(function* (attempt) {
71
- const fields = { attemptId: attempt.attemptId, worker: attempt.worker };
79
+ const fields = { attemptId: attempt.attemptId, runId: attempt.runId, worker: attempt.worker };
72
80
  yield* Effect.annotateCurrentSpan(fields);
73
81
  // `recover` also stops the task, but its failure doesn't distinguish an unconfirmed stop from
74
82
  // a failed salvage.
75
- const stopped = yield* executor.interrupt(attempt.attemptId).pipe(Effect.result);
83
+ const stopped = yield* executor.interrupt(attempt.attemptId, "startup").pipe(Effect.result);
76
84
  if (Result.isSuccess(stopped)) {
77
85
  yield* recover(attempt);
78
86
  return Option.none();
79
87
  }
80
- yield* Effect.logWarning("Could not confirm that the parent task of a closed Attempt stopped; its checkout and a slot of its Worker stay kept until a reconcile confirms the stop", { ...fields, errorTag: stopped.failure._tag, message: stopped.failure.message });
88
+ yield* Effect.logWarning("Could not confirm that the parent task of a closed Attempt stopped; its checkout and a slot of its Worker stay kept, and no Attempt starts on its Loop's Item, until a reconcile confirms the stop", { ...fields, errorTag: stopped.failure._tag, message: stopped.failure.message });
81
89
  yield* keep(attempt);
82
- return Option.some(attempt.attemptId);
90
+ return Option.some(attempt);
83
91
  });
84
92
  /**
85
93
  * Reconciles every persisted Attempt on a configured Worker. Returns the closed Attempts whose
@@ -104,16 +112,17 @@ export const checkoutRecoveryFor = Effect.fn("CheckoutRecovery.for")(function* (
104
112
  return EffectArray.getSomes(unstopped);
105
113
  });
106
114
  /**
107
- * Returns the slot that startup occupied for `attemptId`, or `None`. Until the execution
108
- * acquires the checkout, the slot's `release` does nothing; `reconcile` frees it.
115
+ * Returns the slot that startup occupied with the checkout it kept for `attemptId`, or `None`.
116
+ * Until the execution acquires the checkout, the slot's `release` does nothing; `reconcile`
117
+ * frees it.
109
118
  */
110
119
  const reattachSlot = Effect.fn("CheckoutRecovery.reattachSlot")(function* (attemptId) {
111
- const occupied = Option.fromUndefinedOr((yield* Ref.get(kept)).get(attemptId));
112
- return Option.map(occupied, (lease) => ({
113
- worker: lease.worker,
114
- release: Ref.get(kept).pipe(Effect.flatMap((leases) => leases.has(attemptId)
115
- ? Effect.logInfo("The slot startup occupied stays kept with the checkout no execution acquired, until the Attempt's parent task is confirmed stopped", { attemptId, worker: lease.worker })
116
- : lease.release)),
120
+ const occupied = Option.filter(Option.fromUndefinedOr((yield* Ref.get(kept)).get(attemptId)), ({ checkoutKept }) => checkoutKept);
121
+ return Option.map(occupied, (entry) => ({
122
+ worker: entry.worker,
123
+ release: Ref.get(kept).pipe(Effect.flatMap((leases) => leases.get(attemptId) === entry
124
+ ? Effect.logInfo("The slot startup occupied stays kept with the checkout no execution acquired, until the Attempt's parent task is confirmed stopped", { attemptId, worker: entry.worker })
125
+ : entry.release)),
117
126
  }));
118
127
  });
119
128
  /**
@@ -121,25 +130,65 @@ export const checkoutRecoveryFor = Effect.fn("CheckoutRecovery.for")(function* (
121
130
  * the Attempt ends. Does nothing for other Attempts.
122
131
  */
123
132
  const acquired = Effect.fn("CheckoutRecovery.acquired")(function* (attemptId) {
124
- const handedOver = yield* Ref.modify(kept, (leases) => [
125
- leases.has(attemptId),
126
- without(leases, attemptId),
127
- ]);
133
+ const handedOver = yield* Ref.modify(kept, (leases) => leases.get(attemptId)?.checkoutKept === true
134
+ ? [true, without(leases, attemptId)]
135
+ : [false, leases]);
128
136
  if (handedOver)
129
137
  yield* Effect.logInfo("The reattached Attempt's execution acquired the checkout startup kept; its executor releases the checkout from here, and its Run the slot once the Attempt ends", { attemptId });
130
138
  });
131
139
  /**
132
- * Reconciles the kept checkout of `attemptId` after its parent task is confirmed stopped. Fails
133
- * with `ParentStopUnconfirmedError`, leaving the checkout, if the stop isn't confirmed.
140
+ * Keeps `lease` as the slot of `attemptId`, an Attempt whose parent task may still run, until
141
+ * `reconcile` confirms that the task stopped. If the Attempt already has a slot here, releases
142
+ * `lease` instead.
134
143
  */
135
- const recoverKept = Effect.fn("CheckoutRecovery.recoverKept")(function* (attemptId) {
136
- // The parent task must stop before the reconcile or the next Attempt. `recover` also stops
137
- // it, but its failure doesn't distinguish an unconfirmed stop from a failed salvage.
138
- const stopped = yield* executor.interrupt(attemptId).pipe(Effect.result);
139
- if (Result.isFailure(stopped)) {
140
- yield* Effect.logWarning("Could not confirm that the parent task of an Attempt its Run does not reattach stopped; its checkout and its Worker's slot stay, and the Run starts no next Attempt until the stop is confirmed", { attemptId, errorTag: stopped.failure._tag, message: stopped.failure.message });
141
- return yield* new ParentStopUnconfirmedError({ attemptId, cause: stopped.failure });
144
+ const hold = Effect.fn("CheckoutRecovery.hold")(function* (attemptId, lease) {
145
+ const fields = { attemptId, worker: lease.worker };
146
+ yield* Effect.annotateCurrentSpan(fields);
147
+ const release = yield* Effect.cached(lease.release);
148
+ const held = yield* Ref.modify(kept, (leases) => leases.has(attemptId)
149
+ ? [false, leases]
150
+ : [
151
+ true,
152
+ new Map(leases).set(attemptId, {
153
+ worker: lease.worker,
154
+ release,
155
+ checkoutKept: false,
156
+ }),
157
+ ]);
158
+ if (held) {
159
+ yield* Effect.logInfo("The Attempt keeps its Run's slot until its parent task is confirmed stopped", fields);
160
+ return;
142
161
  }
162
+ yield* Effect.logDebug("The Attempt already has a slot kept until its parent task is confirmed stopped; releasing its Run's lease", fields);
163
+ yield* release;
164
+ }, Effect.uninterruptible);
165
+ /**
166
+ * Stops the parent task of `attemptId` for `reason`. Fails with `ParentStopUnconfirmedError` if
167
+ * the stop isn't confirmed.
168
+ */
169
+ const confirmStop = Effect.fn("CheckoutRecovery.confirmStop")(function* (attemptId, occupied, reason) {
170
+ const fields = {
171
+ attemptId,
172
+ worker: occupied.worker,
173
+ checkoutKept: occupied.checkoutKept,
174
+ reason,
175
+ };
176
+ yield* Effect.annotateCurrentSpan(fields);
177
+ const stopped = yield* executor.interrupt(attemptId, reason).pipe(Effect.result);
178
+ if (Result.isSuccess(stopped))
179
+ return;
180
+ const failure = { ...fields, errorTag: stopped.failure._tag, message: stopped.failure.message };
181
+ yield* occupied.checkoutKept
182
+ ? Effect.logWarning("Could not confirm that the parent task of an Attempt its Run does not reattach stopped; its checkout and its Worker's slot stay, and the Run starts no next Attempt until the stop is confirmed", failure)
183
+ : Effect.logWarning("Could not confirm that the parent task of a closed Attempt stopped; its Worker's slot stays taken, and no Attempt starts on its Loop's Item, until a reconcile confirms the stop", failure);
184
+ return yield* new ParentStopUnconfirmedError({
185
+ attemptId,
186
+ worker: occupied.worker,
187
+ cause: stopped.failure,
188
+ });
189
+ });
190
+ /** Reconciles the checkout startup kept for `attemptId`, whose parent task is confirmed stopped. */
191
+ const recoverKept = Effect.fn("CheckoutRecovery.recoverKept")(function* (attemptId) {
143
192
  const found = yield* store.salvageCandidate(attemptId).pipe(Effect.result);
144
193
  if (Result.isFailure(found)) {
145
194
  yield* Effect.logError("Could not read the Attempt whose checkout startup kept; the checkout stays until the next startup", { attemptId, errorTag: found.failure._tag });
@@ -161,21 +210,29 @@ export const checkoutRecoveryFor = Effect.fn("CheckoutRecovery.for")(function* (
161
210
  yield* Effect.logInfo("Reconciling the checkout startup kept for an Attempt that was not reattached", fields);
162
211
  yield* recover(attempt);
163
212
  });
164
- const reconcile = Effect.fn("CheckoutRecovery.reconcile")(function* (attemptId) {
165
- yield* Effect.annotateCurrentSpan({ attemptId });
213
+ /**
214
+ * Stops the parent task of `attemptId` for `reason` if a slot is kept for it, then reconciles a
215
+ * checkout startup kept and releases the slot. Fails with `ParentStopUnconfirmedError` and keeps
216
+ * both if the stop isn't confirmed.
217
+ */
218
+ const reconcile = Effect.fn("CheckoutRecovery.reconcile")(function* (attemptId, reason) {
219
+ yield* Effect.annotateCurrentSpan({ attemptId, reason });
166
220
  const occupied = (yield* Ref.get(kept)).get(attemptId);
167
221
  if (occupied === undefined) {
168
- yield* Effect.logDebug("No checkout startup kept for the Attempt awaits reconciliation", {
222
+ yield* Effect.logDebug("No slot kept for the Attempt awaits its parent task's stop", {
169
223
  attemptId,
170
224
  });
171
225
  return;
172
226
  }
173
- yield* recoverKept(attemptId);
227
+ // The parent task must stop before the reconcile, the next Attempt, or the slot's release.
228
+ yield* confirmStop(attemptId, occupied, reason);
229
+ if (occupied.checkoutKept)
230
+ yield* recoverKept(attemptId);
174
231
  // Removed only after reconciling, so a cancel during the reconcile reconciles again and the
175
232
  // slot stays taken while the parent task can still run (#177).
176
233
  yield* Ref.update(kept, (leases) => without(leases, attemptId)).pipe(Effect.andThen(occupied.release), Effect.uninterruptible);
177
- yield* Effect.logInfo("Released the slot startup occupied for an Attempt whose parent task is confirmed stopped", { attemptId, worker: occupied.worker });
234
+ yield* Effect.logInfo("Released the slot kept for an Attempt whose parent task is confirmed stopped", { attemptId, worker: occupied.worker, checkoutKept: occupied.checkoutKept });
178
235
  });
179
- return { atStartup, reattachSlot, acquired, reconcile };
236
+ return { atStartup, reattachSlot, acquired, hold, reconcile };
180
237
  });
181
238
  //# sourceMappingURL=checkout-recovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-recovery.js","sourceRoot":"","sources":["../../src/engine/checkout-recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout-recovery.js","sourceRoot":"","sources":["../../src/engine/checkout-recovery.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@ import { AttemptId } from "@usine/core/attempt";
3
3
  import { Intervention } from "@usine/core/attempt/channel";
4
4
  import { ItemKey } from "@usine/core/item";
5
5
  import { LoopName } from "@usine/core/loop";
6
+ import type { OperatorLogin } from "@usine/core/operator";
6
7
  import { RunId } from "@usine/core/run";
7
8
  import { ApprovalSource } from "@usine/core/run/approval";
8
9
  import type { WorkerName } from "@usine/core/worker";
9
- import { Context, Crypto, type Duration, Effect, Layer } from "effect";
10
+ import { Context, Crypto, type Duration, Effect, Layer, Option } from "effect";
10
11
  import { RunDatabase } from "../database/database.ts";
11
12
  import { LeftoversDiscardRejectedError, type RunEngineError } from "./error.ts";
12
13
  import type { RunSnapshot } from "../run-reader/model.ts";
@@ -23,6 +24,7 @@ import { CursorStore } from "../cursor/cursor.ts";
23
24
  import { LoopControl } from "../loop-control/loop-control.ts";
24
25
  import { CycleBudgets } from "../cycle-budget/cycle-budget.ts";
25
26
  import { BoardMoves } from "../board-moves/board-moves.ts";
27
+ import { UnconfirmedStops } from "./unconfirmed-stops.ts";
26
28
  /** The interval between periodic reconciles, which restart open Runs whose fiber stopped. */
27
29
  export declare const ReconcileInterval: Context.Reference<Duration.Input>;
28
30
  declare const RunEngine_base: Context.ServiceClass<RunEngine, "@usine/engine/RunEngine", {
@@ -30,12 +32,18 @@ declare const RunEngine_base: Context.ServiceClass<RunEngine, "@usine/engine/Run
30
32
  readonly drain: () => Effect.Effect<void>;
31
33
  /** Records the approval Event and its source, and opens the Run's approval gate. A repeated approval keeps the first source. */
32
34
  readonly approve: (runId: RunId, approval: Event, source: ApprovalSource) => Effect.Effect<void, RunEngineError>;
33
- /** Cancels an open Run and interrupts its active Attempt; does nothing for a closed Run. */
35
+ /**
36
+ * Cancels an open Run and interrupts its active Attempt; does nothing for a closed Run. If the
37
+ * Attempt's parent task can't be confirmed stopped, fails with `AttemptCancellationError`, and
38
+ * until a reconcile confirms the stop, the Attempt keeps its Worker slot (#475) and no Run of
39
+ * the Loop on the Item starts an Attempt (#523).
40
+ */
34
41
  readonly cancel: (runId: RunId) => Effect.Effect<void, RunEngineError>;
35
42
  /**
36
- * Stops reconciling the Attempts recorded on `worker`, leaving their files in place, and
37
- * returns the number of Attempts marked. Fails with `LeftoversDiscardRejectedError` if
38
- * `worker` is in `StepExecutor.workers`.
43
+ * Stops reconciling the Attempts recorded on `worker`, then removes with
44
+ * `StepExecutor.discard` what they left outside their checkouts, and returns the number of
45
+ * Attempts marked. Leaves their checkouts in place. Fails with
46
+ * `LeftoversDiscardRejectedError` if `worker` is in `StepExecutor.workers`.
39
47
  */
40
48
  readonly discardLeftovers: (worker: WorkerName) => Effect.Effect<number, RunEngineError | LeftoversDiscardRejectedError>;
41
49
  /** Returns the Run's state, effective task and Agent, Step result, and Attempt history. */
@@ -44,14 +52,17 @@ declare const RunEngine_base: Context.ServiceClass<RunEngine, "@usine/engine/Run
44
52
  readonly intervene: (runId: RunId, attemptId: AttemptId, intervention: Intervention) => Effect.Effect<void, RunEngineError>;
45
53
  /**
46
54
  * Starts a fiber for every open Run without one, except Runs waiting for approval, and opens the
47
- * queued Events that no closed Run continued. Runs at startup and every `ReconcileInterval`.
55
+ * queued Events that no closed Run continued, and retries the parent task stops that a cancel,
56
+ * a failed Attempt, or startup couldn't confirm. A Run whose Loop and Item have an unconfirmed
57
+ * stop starts no Attempt until a reconcile confirms it. Runs at startup and every
58
+ * `ReconcileInterval`.
48
59
  */
49
60
  readonly reconcile: () => Effect.Effect<void, RunEngineError>;
50
61
  /**
51
62
  * Marks the current failed Attempt as resolved without changing its outcome. If the Attempt
52
63
  * stopped with a question or blocker, the Loop evaluates the Item's queued Events again.
53
64
  */
54
- readonly resolveFailure: (runId: RunId, attemptId: AttemptId) => Effect.Effect<void, RunEngineError>;
65
+ readonly resolveFailure: (runId: RunId, attemptId: AttemptId, operator: Option.Option<OperatorLogin>) => Effect.Effect<void, RunEngineError>;
55
66
  /**
56
67
  * Requests another Attempt for a failed Run with its existing Event, applying the request's
57
68
  * task and Agent if set. The Attempt records the request as its start reason.
@@ -79,10 +90,11 @@ export declare class RunEngine extends RunEngine_base {
79
90
  * Returns the engine layers on `database`, which stores all durable Run state. Requires `Crypto`
80
91
  * for Run IDs, `StepExecutor` for Workers, and `TriggerCondition` to re-check queued Events.
81
92
  */
82
- export declare const layerWithDatabase: <DatabaseError, DatabaseRequirements>(database: Layer.Layer<RunDatabase, DatabaseError, DatabaseRequirements>) => Layer.Layer<BoardMoves | CursorStore | CycleBudgets | ItemProjectionReader | ItemProjectionWriter | LoopControl | RepositoryLabelProjectionReader | RepositoryLabelProjectionWriter | RunEngine | RunReader, RunEngineError | DatabaseError, Crypto.Crypto | StepExecutor | TriggerCondition | DatabaseRequirements>;
93
+ export declare const layerWithDatabase: <DatabaseError, DatabaseRequirements>(database: Layer.Layer<RunDatabase, DatabaseError, DatabaseRequirements>) => Layer.Layer<BoardMoves | CursorStore | CycleBudgets | ItemProjectionReader | ItemProjectionWriter | LoopControl | RepositoryLabelProjectionReader | RepositoryLabelProjectionWriter | RunEngine | RunReader | UnconfirmedStops, RunEngineError | DatabaseError, Crypto.Crypto | StepExecutor | TriggerCondition | DatabaseRequirements>;
83
94
  export { Submission, Claimed, Queued, Suppressed, Ignored, CycleBlocked, IgnoreReason, SubmissionResult, } from "./submission.ts";
84
95
  export { RunAgainRequest, RunAgainResult } from "./run-again.ts";
85
96
  export { RetryRequest } from "./retry.ts";
86
97
  export { RunEngineShutdown } from "./shutdown.ts";
98
+ export { UnconfirmedStop, UnconfirmedStops } from "./unconfirmed-stops.ts";
87
99
  export { RunNotFoundError, RunOperationRejectedError, RunRetryBlockedError, EnginePersistenceError, AttemptCancellationError, RunInterventionRejectedError, LeftoversDiscardRejectedError, RunStoreError, RunEngineError, } from "./error.ts";
88
100
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}