@cotal-ai/delivery 0.72.1 → 0.76.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.
@@ -7,13 +7,6 @@ import type { HostedContextInputs, HostedServiceHandle } from "@cotal-ai/workspa
7
7
  * the key — the key is per-space — so a hosted store must be keyed with the builder; the flat kind
8
8
  * is the pre-P7 key and putting there leaves this daemon reading an empty location. */
9
9
  export { DELIVERY_CREDS_KIND, deliveryCredsKey };
10
- type CredsSource = {
11
- store: SecretStore;
12
- key: string;
13
- where: string;
14
- injected: boolean;
15
- identity: SecretStoreIdentity;
16
- };
17
10
  /**
18
11
  * The store identity THIS daemon will re-read on `reloadCreds`. It is the same store
19
12
  * `resolveCredsStore` returns: an injected coordinate, a `--creds` file that is
@@ -23,8 +16,12 @@ type CredsSource = {
23
16
  * Naming an ancestor via `findCotalRoot` would certify a two-root composition
24
17
  * as a same-store proof.
25
18
  */
26
- export declare function reloadStoreIdentityOf(src: Pick<CredsSource, "injected" | "identity"> & {
27
- store?: SecretStore;
19
+ export declare function reloadStoreIdentityOf(src: {
20
+ injected: true;
21
+ store: SecretStore;
22
+ } | {
23
+ injected: false;
24
+ identity: SecretStoreIdentity;
28
25
  }): SecretStoreIdentity;
29
26
  /**
30
27
  * Identity of the store a `--creds` file is reloaded from.
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,EAoBL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAsF,gBAAgB,EAAsP,MAAM,qBAAqB,CAAC;AAKpZ,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAIxG;;;;wFAIwF;AACxF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;AAEjD,KAAK,WAAW,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAExH;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,WAAW,CAAA;CAAE,GACxE,mBAAmB,CAWrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CActG;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACvD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,GAAG,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;CAChC,GAAG,IAAI,CASP;AAoJD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAkBzE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtF;AAED;gGACgG;AAChG,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyBpG"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,EAqBL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAsF,gBAAgB,EAAsP,MAAM,qBAAqB,CAAC;AAKpZ,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAIxG;;;;wFAIwF;AACxF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;AAOjD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAC/F,mBAAmB,CAErB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CActG;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACvD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,GAAG,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;CAChC,GAAG,IAAI,CASP;AAiJD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAkBzE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtF;AAED;gGACgG;AAChG,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0BpG"}
package/dist/delivery.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { existsSync, writeFileSync } from "node:fs";
2
2
  import { basename, dirname, join, resolve } from "node:path";
3
- import { CotalEndpoint, DEFAULT_SERVER, LEASE_TTL_MS, accountFromCreds, credsClaims, deliveryBucket, dialerFor, idFromCreds, isCasLoss, isPermissionDenied, isReachable, leaseKey, mintCreds, newIdentity, parseSecretStoreIdentity, sameSecretStoreIdentity, standaloneConnectOpts, startTimerWriter, } from "@cotal-ai/core";
3
+ import { CotalEndpoint, DEFAULT_SERVER, LEASE_TTL_MS, accountFromCreds, credsClaims, deliveryBucket, dialerFor, idFromCreds, injectedSecretStoreIdentity, isCasLoss, isPermissionDenied, isReachable, leaseKey, mintCreds, newIdentity, parseSecretStoreIdentity, sameSecretStoreIdentity, standaloneConnectOpts, startTimerWriter, } from "@cotal-ai/core";
4
4
  import { PermissionViolationError } from "@nats-io/transport-node";
5
5
  import { DELIVERY_CREDS_KIND, DELIVERY_PIDFILE, FsSecretStore, authDir, canonicalLocalProcessPath, canonicalRoot, deliveryCredsKey, findCotalRoot, isStoreIdFile, isWorkspaceTargetError, loadSpaceAuth, reclaimDeadPreUpgradeRecord, removePidPair, requireCotalRoot, resolveMeshTarget, segmentedKey, soleSpaceOf, spaceSegment, workspaceSecretStore, writePidPair } from "@cotal-ai/workspace";
6
6
  import { startMembership } from "./membership.js";
@@ -23,15 +23,7 @@ export { DELIVERY_CREDS_KIND, deliveryCredsKey };
23
23
  * as a same-store proof.
24
24
  */
25
25
  export function reloadStoreIdentityOf(src) {
26
- if (src.injected) {
27
- if (src.store?.identity !== undefined)
28
- return parseSecretStoreIdentity(src.store.identity);
29
- const coordinate = process.env.COTAL_SECRET_STORE;
30
- if (!coordinate)
31
- throw new Error("delivery: an injected SecretStore must declare its identity or name its coordinate in COTAL_SECRET_STORE so the manager can challenge the same authority (never a silent local-root fallback)");
32
- return { kind: "injected", coordinate };
33
- }
34
- return src.identity;
26
+ return src.injected ? injectedSecretStoreIdentity(src.store) : src.identity;
35
27
  }
36
28
  /**
37
29
  * Identity of the store a `--creds` file is reloaded from.
@@ -168,9 +160,6 @@ function resolveCredsStore(v, space, root, injected) {
168
160
  key,
169
161
  where: `secret-store key "${key}"`,
170
162
  injected: true,
171
- // Coordinate is named AFTER the cred is found. An absent key must still be
172
- // the absent-key error, never a COTAL_SECRET_STORE throw that masks it.
173
- identity: { kind: "injected", coordinate: process.env.COTAL_SECRET_STORE ?? "" },
174
163
  };
175
164
  }
176
165
  if (v.creds !== undefined) {
@@ -359,7 +348,8 @@ export async function startDeliveryService(inputs) {
359
348
  };
360
349
  }
361
350
  catch (error) {
362
- await releaseOnStartupFailure?.();
351
+ // The start-up fault is the report; a row the release left behind is the bucket TTL's to expire.
352
+ await releaseOnStartupFailure?.().catch((e) => console.error(`! ${e.message}`));
363
353
  throw error;
364
354
  }
365
355
  }
@@ -707,44 +697,53 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
707
697
  await ep.quiescePlane3();
708
698
  }
709
699
  catch { /* stop still releases the connection */ }
700
+ // `releaseDeliveryLease` swallows a delete that did not commit, so the row the broker holds
701
+ // afterwards is the verdict: while one is there, a successor is refused.
702
+ let left;
710
703
  try {
711
704
  const own = await ep.readDeliveryLeaseEntry(shard);
712
705
  if (own !== undefined && ep.ownsDeliveryLease(own.info))
713
706
  await ep.releaseDeliveryLease(shard, own.revision);
707
+ left = await ep.readDeliveryLeaseEntry(shard);
714
708
  }
715
- catch { /* broker may be gone - the bucket TTL is the crash-safe release authority */ }
716
- try {
717
- await membership?.stop();
718
- }
719
- catch { /* broker may be gone */ }
720
- try {
721
- await timerWriter?.handle.stop();
722
- }
723
- catch { /* broker may be gone */ }
724
- try {
725
- await Promise.race([timerWriter?.nc.drain(), new Promise((r) => setTimeout(r, 1000))]);
726
- }
727
- catch { /* broker may be gone */ }
728
- try {
729
- await timerWriterAttempt;
709
+ catch (e) {
710
+ throw new Error(`delivery: the lease release for shard ${shard} could not be confirmed (${e.message}); the bucket TTL expires a row left behind`, { cause: e });
730
711
  }
731
- catch { /* startup or broker fault */ }
732
- try {
733
- await ep.stop();
712
+ finally {
713
+ try {
714
+ await membership?.stop();
715
+ }
716
+ catch { /* broker may be gone */ }
717
+ try {
718
+ await timerWriter?.handle.stop();
719
+ }
720
+ catch { /* broker may be gone */ }
721
+ try {
722
+ await Promise.race([timerWriter?.nc.drain(), new Promise((r) => setTimeout(r, 1000))]);
723
+ }
724
+ catch { /* broker may be gone */ }
725
+ try {
726
+ await timerWriterAttempt;
727
+ }
728
+ catch { /* startup or broker fault */ }
729
+ try {
730
+ await ep.stop();
731
+ }
732
+ catch { /* broker may be gone */ }
734
733
  }
735
- catch { /* broker may be gone */ }
734
+ if (left !== undefined)
735
+ throw new Error(`delivery: the lease for shard ${shard} is still held by ${ep.ownsDeliveryLease(left.info) ? "this instance" : left.info.holder} after close`);
736
736
  })();
737
737
  return closePromise;
738
738
  };
739
739
  publishReleaser(close);
740
740
  stopHosted = (cause) => {
741
741
  unavailable = `delivery context stopped (code 1): ${cause}`;
742
- void close();
742
+ // A later close() returns this same promise, so its failure still reaches the host.
743
+ close().catch(() => { });
743
744
  };
744
- if (hostedStartupFailure !== undefined) {
745
- await close();
745
+ if (hostedStartupFailure !== undefined)
746
746
  throw hostedStartupFailure;
747
- }
748
747
  // A START-UP FAILURE AFTER THE ACQUIRE MUST ALSO GIVE THE SHARD BACK. Between this point and the
749
748
  // handler swap far below, a throw would otherwise propagate out of `runDelivery` with the row
750
749
  // still claiming the shard, stranding it for the bucket TTL exactly as an unhandled signal did -
@@ -835,10 +834,8 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
835
834
  throw error;
836
835
  /* CLI: the renew loop's CAS failure will exit us if the lease was lost. */
837
836
  }
838
- if (hostedStartupFailure !== undefined) {
839
- await close();
837
+ if (hostedStartupFailure !== undefined)
840
838
  throw hostedStartupFailure;
841
- }
842
839
  console.log(`✓ delivery daemon up (space ${space}${shards > 1 ? `, shard ${shard}/${shards}` : ""}) — stop with: cotal down`);
843
840
  // Broker-sourced graph membership: a SEPARATE module on its OWN connections (system-account CONNZ
844
841
  // reader + data-account feed writer), isolated from Plane-3. Fail-soft — a missing cred / start error
@@ -860,12 +857,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
860
857
  // A store read can finish after a startup health fault closed the endpoint. Dispose the feed
861
858
  // it just returned before rejecting; it did not exist when the original close ran.
862
859
  if (hostedStartupFailure !== undefined) {
863
- try {
864
- await membership?.stop();
865
- }
866
- finally {
867
- await close();
868
- }
860
+ await membership?.stop();
869
861
  throw hostedStartupFailure;
870
862
  }
871
863
  // The TIMER WRITER (SPEC 13.2): the pump that turns workflow `.schedule` requests into armed
@@ -926,7 +918,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
926
918
  const shutdown = (code, cause) => {
927
919
  if (hosted !== undefined) {
928
920
  unavailable = cause ? `delivery context stopped (code ${code}): ${cause}` : `delivery context stopped (code ${code})`;
929
- void close();
921
+ close().catch(() => { }); // as in stopHosted, the host's own close() reports it
930
922
  return;
931
923
  }
932
924
  if (stopping)
@@ -1223,7 +1215,6 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
1223
1215
  });
1224
1216
  if (hosted !== undefined && stopping) {
1225
1217
  stopLeaseWatch?.();
1226
- await close();
1227
1218
  throw hostedStartupFailure ?? new Error(unavailable ?? "delivery context stopped during startup");
1228
1219
  }
1229
1220
  startedUp = true;
@@ -1344,7 +1335,6 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
1344
1335
  }
1345
1336
  })();
1346
1337
  }, Math.max(1000, Math.floor(LEASE_TTL_MS / 2)));
1347
- // Native transport health is driven by DeliveryTransportHealth above (resident transport events).
1348
1338
  return {
1349
1339
  status: () => unavailable !== undefined ? { state: "unavailable", cause: unavailable } : { state: stopping ? "draining" : "ready" },
1350
1340
  close,
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export async function runFeedbackIntake(args) {
21
21
  process.exit(1);
22
22
  }
23
23
  const host = values.host ?? "127.0.0.1";
24
- const port = numberOpt(values.port, 8787, "port");
24
+ const port = portOpt(values.port);
25
25
  const maxBytes = numberOpt(values["max-bytes"], 64 * 1024, "max-bytes");
26
26
  const rateLimit = numberOpt(values["rate-limit"], 30, "rate-limit");
27
27
  const store = resolve(values.store ?? ".cotal/feedback/feedback.jsonl");
@@ -117,6 +117,14 @@ export async function runFeedbackIntake(args) {
117
117
  process.on("SIGTERM", () => void shutdown());
118
118
  await new Promise(() => { });
119
119
  }
120
+ function portOpt(raw) {
121
+ if (raw === undefined)
122
+ return 8787;
123
+ const port = Number(raw);
124
+ if (!/^[0-9]+$/.test(raw) || port < 1 || port > 65535)
125
+ throw new Error("--port must be a decimal port from 1 to 65535");
126
+ return port;
127
+ }
120
128
  function numberOpt(raw, fallback, name) {
121
129
  if (raw === undefined)
122
130
  return fallback;
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-intake.js","sourceRoot":"","sources":["../src/feedback-intake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback-intake.js","sourceRoot":"","sources":["../src/feedback-intake.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sys-creds.d.ts","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM/D;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;;oGAeoG;AACpG,MAAM,MAAM,cAAc,GACtB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACzE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB3E;;;;;;;;;;;;;;;;;;;;;;;sGAuBsG;AACtG,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgBrF;AAED;;;;;;gFAMgF;AAChF,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAezG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAazH;AAED;;+DAE+D;AAC/D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+FAC2F;IAC3F,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;8FAQ8F;AAC9F,wBAAsB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB9F"}
1
+ {"version":3,"file":"sys-creds.d.ts","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM9E;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;;oGAeoG;AACpG,MAAM,MAAM,cAAc,GACtB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACzE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB3E;;;;;;;;;;;;;;;;;;;;;;;sGAuBsG;AACtG,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgBrF;AAED;;;;;;gFAMgF;AAChF,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAezG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAazH;AAED;;+DAE+D;AAC/D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+FAC2F;IAC3F,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;8FAQ8F;AAC9F,wBAAsB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB9F"}
package/dist/sys-creds.js CHANGED
@@ -1,4 +1,4 @@
1
- import { credsClaims } from "@cotal-ai/core";
1
+ import { credsClaims, isAccountNkey } from "@cotal-ai/core";
2
2
  import { assertSingleSpaceBroker, authDir, connectionEvictorCredsKey, CONNECTION_EVICTOR_CREDS_KIND, membershipObserverCredsKey, MEMBERSHIP_OBSERVER_CREDS_KIND, segmentedKey, } from "@cotal-ai/workspace";
3
3
  /** The broker-wide operation `repairAdvice` would send a workstation operator to, phrased so the
4
4
  * guard's own refusal reads as a sentence when it is quoted back. */
@@ -66,9 +66,9 @@ export function repairAdvice(source, kinds) {
66
66
  * "Authorization Violation" into a line naming both accounts (design §4.3). */
67
67
  export function connzAccountOf(observerCreds) {
68
68
  for (const subject of credsClaims(observerCreds).nats?.pub?.allow ?? []) {
69
- const m = /^\$SYS\.REQ\.ACCOUNT\.(A[A-Z2-7]{55})\.CONNZ$/.exec(subject);
70
- if (m)
71
- return m[1];
69
+ const account = /^\$SYS\.REQ\.ACCOUNT\.([^.]+)\.CONNZ$/.exec(subject)?.[1];
70
+ if (isAccountNkey(account))
71
+ return account;
72
72
  }
73
73
  return undefined;
74
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sys-creds.js","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sys-creds.js","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  /**
2
- * The delivery daemon's two self-termination decisions, as PURE functions over evidence.
2
+ * The delivery daemon's lease decision, as PURE functions over evidence, and the loop-lag meter its
3
+ * broker-loss decision reads.
3
4
  *
4
- * Both decisions used to be taken inline from a wall clock, and a wall clock cannot tell "the
5
- * broker is gone" from "this process did not get scheduled". On 2026-09-05 that cost Plane-3 nine
6
- * minutes across two exits while `nats-server` had been up continuously for 7.3 days and was
7
- * listening throughout; the real condition was load 311 on 12 cores (#1318). The detector failed in
8
- * the direction of its own failure, and it did so exactly when delivery was most needed.
5
+ * The broker-loss and lease decisions used to be taken inline from a wall clock, and a wall clock
6
+ * cannot tell "the broker is gone" from "this process did not get scheduled". On 2026-09-05 that
7
+ * cost Plane-3 nine minutes across two exits while `nats-server` had been up continuously for 7.3
8
+ * days and was listening throughout; the real condition was load 311 on 12 cores (#1318). The
9
+ * detector failed in the direction of its own failure, and it did so exactly when delivery was most
10
+ * needed.
9
11
  *
10
12
  * Pulled out here for two reasons. The obvious one is that a decision expressed as a function of
11
13
  * named evidence is readable. The load-bearing one is that it becomes GRADEABLE without a broker,
@@ -13,182 +15,6 @@
13
15
  * ACCEPTING branch can be paired with a REFUSING case that differs only in the evidence, and a
14
16
  * mutation to any branch reddens a named cell rather than a timing-dependent end-to-end assertion.
15
17
  */
16
- /** How often the broker watch is scheduled. The measured gap between two firings minus this is
17
- * LOCAL SCHEDULER LAG: a fact about this process, not about the server. */
18
- export declare const PROBE_INTERVAL_MS = 2000;
19
- /** The deadline `isReachable` gives a non-websocket probe. Named here because the probe's own
20
- * budget is the yardstick that makes a late answer legible as lateness. */
21
- export declare const PROBE_BUDGET_MS = 1000;
22
- /** How far past its own budget an answer may arrive and still be believed as a statement about the
23
- * server. A probe that answers at its deadline is a normal timeout; one that answers at twice its
24
- * deadline did not have that deadline enforced against the SERVER at all. It had it enforced
25
- * against a process that was not running when it expired. Two rather than something larger because
26
- * the measured case is 2554ms on a 1000ms budget (#1318's triage), and rather than something
27
- * smaller because it must never reclassify an honest timeout on a merely busy host as starvation,
28
- * which would blunt the true-positive path this repair is required to preserve. */
29
- export declare const PROBE_LATE_FACTOR = 2;
30
- /** How often the deschedule sampler wakes during a probe. Short enough to resolve the stalls that
31
- * matter (tens of ms), long enough that the measurement is not itself a meaningful load. */
32
- export declare const PROBE_SAMPLE_MS = 25;
33
- /** How much of its promised budget the server must have been DENIED before a refusal stops counting
34
- * as evidence about the server. Ordinary Node timer jitter measures tens of milliseconds on a
35
- * perfectly healthy host, so any non-zero threshold would disqualify every honest budget-ended
36
- * refusal and leave the daemon exiting only on its backstop. A server handed more than half the
37
- * time it was promised and still refusing is refusing on its own account. */
38
- export declare const STARVED_SHARE = 0.5;
39
- /**
40
- * What a single probe actually established, given how long its answer took to arrive.
41
- *
42
- * THIS IS THE SIGNAL THAT MAKES THE DISTINCTION CHEAP AND LOCAL. `isReachable` flattens every
43
- * failure to `false`, so a starved client reads exactly like a dead server. That is the issue's
44
- * third mechanism and the one a wall clock cannot touch. But the two differ in a quantity the
45
- * daemon already has: WHEN the answer arrived relative to the deadline the probe itself set.
46
- *
47
- * • A dead port answers ECONNREFUSED in about a millisecond.
48
- * • A blackholed address answers at the budget, because the budget is what ended it.
49
- * • A starved process answers whenever it is next scheduled, which is arbitrarily later, the
50
- * triage for #1318 measured a false at 2554ms against a 1000ms budget with `nats-server` alive
51
- * and reachable immediately before and after.
52
- *
53
- * So a negative that arrives far past its own deadline is not evidence about the server. It is
54
- * evidence about this process, and it is counted as such.
55
- */
56
- export type ProbeEvidence = {
57
- counts: "positive";
58
- } | {
59
- counts: "negative";
60
- } | {
61
- counts: "starved";
62
- lateBy: number;
63
- } | {
64
- counts: "incomplete";
65
- };
66
- /**
67
- * Classify one probe result.
68
- *
69
- * `ok === undefined` is a probe that REJECTED rather than resolving: an unanswered question. It was
70
- * previously swallowed by `.catch(() => {})`, so it neither refreshed the window nor evaluated
71
- * anything, and silently aged the daemon toward an exit it had gathered no evidence for.
72
- */
73
- export declare function classifyProbe(ok: boolean | undefined, elapsedMs: number, budgetMs?: number, lateFactor?: number, descheduledDuringMs?: number): ProbeEvidence;
74
- /**
75
- * Measure how long this process spends OFF the runqueue across a span, by watching a short timer's
76
- * own lateness.
77
- *
78
- * A timer asked to fire every `sampleMs` that instead fires `sampleMs + d` later reports `d` of
79
- * delay this process could not avoid: the event loop was ready and the process was not running.
80
- * Summed across a probe. That is the part of the probe's wall-clock that the server was never
81
- * actually given, which is the difference between "the server did not answer in a second" and "a
82
- * second passed, and the server had 40ms of it".
83
- *
84
- * This measures the same underlying condition as {@link LoopLagMeter} at a finer grain and over a
85
- * bounded span, which is what lets a per-probe verdict use it. It deliberately reads only the
86
- * clock: `/proc` sampling, `getrusage`, or cgroup pressure would all be sharper, and all of them are
87
- * platform-specific in a way that would make this daemon behave differently on the hosts that most
88
- * need it. A late timer is available everywhere the daemon runs.
89
- */
90
- export declare class DescheduleSampler {
91
- private readonly sampleMs;
92
- private accumulated;
93
- private last;
94
- private timer;
95
- constructor(sampleMs?: number);
96
- start(now?: number): void;
97
- /** Stop sampling and return the total off-runqueue time observed. Charging the final partial gap
98
- * matters: under heavy starvation the single longest stall is often the one still in progress
99
- * when the probe resolves, and dropping it would undercount exactly the worst case. */
100
- stop(now?: number): number;
101
- }
102
- /**
103
- * What the daemon actually knows when it decides whether the broker is gone.
104
- *
105
- * Every field is evidence it GATHERED, never time that merely elapsed. That distinction is the
106
- * whole repair: `msSinceLastReachable` on its own accrues while no probe runs at all, so a starved
107
- * process finds its window already blown by the first callback that gets scheduled.
108
- */
109
- export interface BrokerWatchEvidence {
110
- /** Wall time since the last POSITIVE evidence of the broker: a probe that ran to completion and
111
- * said yes, or a transport (re)connect, which cannot happen without a server on the other end. */
112
- msSinceLastReachable: number;
113
- /** Measured local scheduler lag inside that window: the summed excess of each observed interval
114
- * gap over {@link PROBE_INTERVAL_MS}, PLUS the excess of each probe answer over its own deadline.
115
- * An interval that fired 30s late and a probe that answered 2554ms into a 1000ms budget are both
116
- * direct evidence that THIS PROCESS was starved, and that time must not be counted against the
117
- * broker. */
118
- starvedMs: number;
119
- /** Probes that ran to completion, answered WITHIN their own deadline, and said no, consecutively.
120
- * A probe that never ran contributes nothing; one that rejected is an unanswered question; one
121
- * whose answer arrived far past its own budget is a statement about this process. Each of those
122
- * resets this to 0, because the claim it encodes is a run of credible refusals. */
123
- completedNegatives: number;
124
- /** Whether THIS daemon's own established connection to that same broker is still open, as the
125
- * connection object reports it. A live socket to the server is positive evidence the server is
126
- * there that costs no probe and needs no scheduling, and it is exactly the signal that separates
127
- * a transport-level CLOSE from SILENCE. A side probe that cannot complete a fresh handshake while
128
- * our standing connection to the same address is open is telling us about this process's ability
129
- * to ask, not about the server. */
130
- transportConnected: boolean;
131
- /** The unstarved window the daemon is allowed to be without positive evidence. */
132
- windowMs: number;
133
- /** How many completed negatives are required before elapsed time may be believed. */
134
- requiredNegatives: number;
135
- /** HARD BACKSTOP on the STARVATION credit, applied whenever the transport is not open. A daemon
136
- * that outlives a genuinely dead broker is a WORSE defect than the one being repaired: it loops
137
- * reconnect attempts forever and nothing recovers it, whereas the reported defect costs a
138
- * restart. So measured lag can only excuse so much, and the failure direction is toward exiting.
139
- * It deliberately does not bound {@link transportConnected}, which is not an absence of evidence
140
- * at all, see {@link brokerGoneVerdict}. */
141
- backstopMs: number;
142
- }
143
- /**
144
- * The verdict, with the reason it was reached, so an operator reads WHY the daemon stayed up.
145
- *
146
- * `starved` and `insufficient-evidence` are deliberately distinct non-exits. They are the two
147
- * conditions #1318 collapsed into "broker unreachable": the first is "I could not ask", the second
148
- * is "I have not yet been told no often enough to believe it".
149
- */
150
- export type BrokerVerdict = {
151
- exit: false;
152
- reason: "reachable";
153
- } | {
154
- exit: false;
155
- reason: "starved";
156
- } | {
157
- exit: false;
158
- reason: "transport-live";
159
- } | {
160
- exit: false;
161
- reason: "insufficient-evidence";
162
- } | {
163
- exit: true;
164
- reason: "broker-gone";
165
- } | {
166
- exit: true;
167
- reason: "backstop";
168
- };
169
- /**
170
- * Decide whether the broker is GONE, from evidence alone.
171
- *
172
- * EXIT REQUIRES BOTH CONJUNCTS, and each exists because the other cannot cover its case:
173
- *
174
- * 1. `completedNegatives >= requiredNegatives`, probes that actually RAN and actually said no.
175
- * Without this, a window that expired while the process was descheduled is read as a server
176
- * failure, which is the reported defect in its purest form.
177
- * 2. `msSinceLastReachable - starvedMs > windowMs`, the UNSTARVED part of the window. Without
178
- * this, a host that schedules the daemon just often enough to fire two probes into a
179
- * momentarily-saturated loopback exits on two negatives that a healthy host would never have
180
- * produced.
181
- *
182
- * THIS IS NOT A WIDER TIMEOUT. `windowMs` is unchanged from the shipped default; what changed is
183
- * that the quantity compared against it is now evidence rather than the passage of time. A daemon
184
- * whose broker is genuinely dead produces completed negatives as fast as it is scheduled, a dead
185
- * port answers ECONNREFUSED immediately and a blackholed one answers inside the probe deadline ,
186
- * AND loses its standing connection, so the true-positive path is not delayed by this at all, which
187
- * is the property that separates a repair from a band-aid. A process so starved that it produces NO
188
- * completed probe also cannot deliver anything, and ending it would not make Plane-3 more
189
- * available; it would make the outage permanent for a stock install with no watchdog.
190
- */
191
- export declare function brokerGoneVerdict(e: BrokerWatchEvidence): BrokerVerdict;
192
18
  /** What a re-read of this shard's lease says, once a renew has failed. */
193
19
  export type LeaseReading = {
194
20
  kind: "held";
@@ -258,7 +84,7 @@ export declare class LoopLagMeter {
258
84
  /** Disjoint, sorted [start, end] intervals of measured non-running time in the current window.
259
85
  * Bounded: overlapping charges merge, and `reset` clears them on every positive. */
260
86
  private spans;
261
- constructor(intervalMs?: number);
87
+ constructor(intervalMs: number);
262
88
  /** Record a firing at `now`; returns the lag this particular gap contributed.
263
89
  *
264
90
  * WHAT THE GAP IS CHARGED AS, since this is the half that is easy to misread: the excess of the
@@ -299,7 +125,7 @@ export declare class LoopLagMeter {
299
125
  * did not have can never exceed time that passed. Overlap is removed by that bound and nothing
300
126
  * else is discarded, so the sum stays as informative as its parts allow.
301
127
  *
302
- * Load-bearing, not hygiene: `starvedMs` is SUBTRACTED from elapsed in {@link brokerGoneVerdict}.
128
+ * Load-bearing, not hygiene: `DeliveryTransportHealth` SUBTRACTS this from elapsed time.
303
129
  * Unclamped, a stall charged twice drives unstarved time negative, and NO amount of real outage
304
130
  * can then clear the evidence clause - a genuinely dead broker stops being detectable by evidence
305
131
  * and survives to the backstop instead. Measured: a 30s stall moved an exit from 44s to 62s. */
@@ -1 +1 @@
1
- {"version":3,"file":"watchdog.d.ts","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchdog.d.ts","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAa9D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAIzD;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,WAAW,CAAK;IACxB;yFACqF;IACrF,OAAO,CAAC,KAAK,CAA+B;gBACf,UAAU,EAAE,MAAM;IAE/C;;;;;;;;;;;sCAWkC;IAClC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAYzB;;;;;qEAKiE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmB,GAAG,IAAI;IAYzD;;;;;;;;;;gFAU4E;IAC5E,OAAO,CAAC,UAAU;IAclB;;;;;;;;;;;qGAWiG;IACjG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKvC,oDAAoD;IACpD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;+FAC2F;IAC3F,KAAK,IAAI,IAAI;CAKd"}
package/dist/watchdog.js CHANGED
@@ -1,11 +1,13 @@
1
1
  /**
2
- * The delivery daemon's two self-termination decisions, as PURE functions over evidence.
2
+ * The delivery daemon's lease decision, as PURE functions over evidence, and the loop-lag meter its
3
+ * broker-loss decision reads.
3
4
  *
4
- * Both decisions used to be taken inline from a wall clock, and a wall clock cannot tell "the
5
- * broker is gone" from "this process did not get scheduled". On 2026-09-05 that cost Plane-3 nine
6
- * minutes across two exits while `nats-server` had been up continuously for 7.3 days and was
7
- * listening throughout; the real condition was load 311 on 12 cores (#1318). The detector failed in
8
- * the direction of its own failure, and it did so exactly when delivery was most needed.
5
+ * The broker-loss and lease decisions used to be taken inline from a wall clock, and a wall clock
6
+ * cannot tell "the broker is gone" from "this process did not get scheduled". On 2026-09-05 that
7
+ * cost Plane-3 nine minutes across two exits while `nats-server` had been up continuously for 7.3
8
+ * days and was listening throughout; the real condition was load 311 on 12 cores (#1318). The
9
+ * detector failed in the direction of its own failure, and it did so exactly when delivery was most
10
+ * needed.
9
11
  *
10
12
  * Pulled out here for two reasons. The obvious one is that a decision expressed as a function of
11
13
  * named evidence is readable. The load-bearing one is that it becomes GRADEABLE without a broker,
@@ -13,196 +15,6 @@
13
15
  * ACCEPTING branch can be paired with a REFUSING case that differs only in the evidence, and a
14
16
  * mutation to any branch reddens a named cell rather than a timing-dependent end-to-end assertion.
15
17
  */
16
- /** How often the broker watch is scheduled. The measured gap between two firings minus this is
17
- * LOCAL SCHEDULER LAG: a fact about this process, not about the server. */
18
- export const PROBE_INTERVAL_MS = 2000;
19
- /** The deadline `isReachable` gives a non-websocket probe. Named here because the probe's own
20
- * budget is the yardstick that makes a late answer legible as lateness. */
21
- export const PROBE_BUDGET_MS = 1000;
22
- /** How far past its own budget an answer may arrive and still be believed as a statement about the
23
- * server. A probe that answers at its deadline is a normal timeout; one that answers at twice its
24
- * deadline did not have that deadline enforced against the SERVER at all. It had it enforced
25
- * against a process that was not running when it expired. Two rather than something larger because
26
- * the measured case is 2554ms on a 1000ms budget (#1318's triage), and rather than something
27
- * smaller because it must never reclassify an honest timeout on a merely busy host as starvation,
28
- * which would blunt the true-positive path this repair is required to preserve. */
29
- export const PROBE_LATE_FACTOR = 2;
30
- /** How often the deschedule sampler wakes during a probe. Short enough to resolve the stalls that
31
- * matter (tens of ms), long enough that the measurement is not itself a meaningful load. */
32
- export const PROBE_SAMPLE_MS = 25;
33
- /** How much of its promised budget the server must have been DENIED before a refusal stops counting
34
- * as evidence about the server. Ordinary Node timer jitter measures tens of milliseconds on a
35
- * perfectly healthy host, so any non-zero threshold would disqualify every honest budget-ended
36
- * refusal and leave the daemon exiting only on its backstop. A server handed more than half the
37
- * time it was promised and still refusing is refusing on its own account. */
38
- export const STARVED_SHARE = 0.5;
39
- /**
40
- * Classify one probe result.
41
- *
42
- * `ok === undefined` is a probe that REJECTED rather than resolving: an unanswered question. It was
43
- * previously swallowed by `.catch(() => {})`, so it neither refreshed the window nor evaluated
44
- * anything, and silently aged the daemon toward an exit it had gathered no evidence for.
45
- */
46
- export function classifyProbe(ok, elapsedMs, budgetMs = PROBE_BUDGET_MS, lateFactor = PROBE_LATE_FACTOR, descheduledDuringMs = 0) {
47
- if (ok === undefined)
48
- return { counts: "incomplete" };
49
- // A POSITIVE IS BELIEVED HOWEVER LATE IT IS. A slow yes still required a server to say it, so
50
- // lateness cannot turn it into anything weaker; and refusing late positives would make a starved
51
- // daemon unable to ever clear its own window, which is the defect again with the sign flipped.
52
- if (ok)
53
- return { counts: "positive" };
54
- const ceiling = budgetMs * lateFactor;
55
- // (1) THE ANSWER ARRIVED FAR PAST ITS OWN DEADLINE. The deadline was enforced against this
56
- // process, not against the server: a 1000ms budget that reports at 2554ms did not measure a
57
- // server for 2554ms, it measured a process that could not get back on the CPU to stop waiting.
58
- // This is the form the #1318 triage captured directly, and it needs no other instrumentation.
59
- if (elapsedMs > ceiling)
60
- return { counts: "starved", lateBy: elapsedMs - budgetMs };
61
- // (2) THE DEADLINE EXPIRED WITHOUT THE SERVER EVER GETTING THE BUDGET IT WAS PROMISED. A refusal
62
- // is only evidence if the server had the time to answer in. Subtracting the stretch this process
63
- // spent OFF the runqueue leaves what the server actually had, and the two cases separate cleanly:
64
- //
65
- // - a genuinely dead port answers ECONNREFUSED in about a millisecond, so `elapsed` never
66
- // reaches the budget at all and this clause does not apply. That is a prompt, honest negative
67
- // and it must stay one, or the repair would buy availability by making a dead broker
68
- // survivable, which is the failure mode worse than the defect.
69
- // - a process getting short slices of CPU issues a connect, is descheduled, and its deadline
70
- // timer fires the instant it is scheduled again. Wall-clock elapsed looks like a normal,
71
- // prompt timeout; almost none of it was time the server was given. Judged by the clock alone
72
- // this is indistinguishable from a dead server, which is exactly the confusion #1318 is about.
73
- //
74
- // THE MATERIAL-SHARE TEST IS WHAT KEEPS THIS FROM SWALLOWING EVERY REFUSAL, and it was a review
75
- // finding: requiring merely `attributable < budget` meant ANY non-zero measurement disqualified an
76
- // honest budget-ended refusal, and ordinary Node timer jitter on a healthy host measures 10-30ms.
77
- // Every blackholed probe everywhere then read as starvation, the completed-negative count could
78
- // never rise, and a genuinely dead broker would be exited only by the backstop, four times slower
79
- // than the shipped window, with the wrong reason in the log. So the server must have been denied a
80
- // MATERIAL share of its budget, not merely an instant of it. Half is the line: a server given more
81
- // than half the time it was promised and still refusing is refusing on its own account.
82
- //
83
- // Clamped to the probe's own span so a bad measurement cannot manufacture credit.
84
- const attributableMs = elapsedMs - Math.max(0, Math.min(descheduledDuringMs, elapsedMs));
85
- if (elapsedMs >= budgetMs && attributableMs < budgetMs * STARVED_SHARE) {
86
- return { counts: "starved", lateBy: elapsedMs - attributableMs };
87
- }
88
- return { counts: "negative" };
89
- }
90
- /**
91
- * Measure how long this process spends OFF the runqueue across a span, by watching a short timer's
92
- * own lateness.
93
- *
94
- * A timer asked to fire every `sampleMs` that instead fires `sampleMs + d` later reports `d` of
95
- * delay this process could not avoid: the event loop was ready and the process was not running.
96
- * Summed across a probe. That is the part of the probe's wall-clock that the server was never
97
- * actually given, which is the difference between "the server did not answer in a second" and "a
98
- * second passed, and the server had 40ms of it".
99
- *
100
- * This measures the same underlying condition as {@link LoopLagMeter} at a finer grain and over a
101
- * bounded span, which is what lets a per-probe verdict use it. It deliberately reads only the
102
- * clock: `/proc` sampling, `getrusage`, or cgroup pressure would all be sharper, and all of them are
103
- * platform-specific in a way that would make this daemon behave differently on the hosts that most
104
- * need it. A late timer is available everywhere the daemon runs.
105
- */
106
- export class DescheduleSampler {
107
- sampleMs;
108
- accumulated = 0;
109
- last = 0;
110
- timer;
111
- constructor(sampleMs = PROBE_SAMPLE_MS) {
112
- this.sampleMs = sampleMs;
113
- }
114
- start(now = Date.now()) {
115
- this.accumulated = 0;
116
- this.last = now;
117
- this.timer = setInterval(() => {
118
- const t = Date.now();
119
- this.accumulated += Math.max(0, t - this.last - this.sampleMs);
120
- this.last = t;
121
- }, this.sampleMs);
122
- // Never hold the process open for a measurement: the daemon's lifetime is decided elsewhere.
123
- this.timer.unref?.();
124
- }
125
- /** Stop sampling and return the total off-runqueue time observed. Charging the final partial gap
126
- * matters: under heavy starvation the single longest stall is often the one still in progress
127
- * when the probe resolves, and dropping it would undercount exactly the worst case. */
128
- stop(now = Date.now()) {
129
- if (this.timer !== undefined) {
130
- clearInterval(this.timer);
131
- this.timer = undefined;
132
- }
133
- this.accumulated += Math.max(0, now - this.last - this.sampleMs);
134
- return this.accumulated;
135
- }
136
- }
137
- /**
138
- * Decide whether the broker is GONE, from evidence alone.
139
- *
140
- * EXIT REQUIRES BOTH CONJUNCTS, and each exists because the other cannot cover its case:
141
- *
142
- * 1. `completedNegatives >= requiredNegatives`, probes that actually RAN and actually said no.
143
- * Without this, a window that expired while the process was descheduled is read as a server
144
- * failure, which is the reported defect in its purest form.
145
- * 2. `msSinceLastReachable - starvedMs > windowMs`, the UNSTARVED part of the window. Without
146
- * this, a host that schedules the daemon just often enough to fire two probes into a
147
- * momentarily-saturated loopback exits on two negatives that a healthy host would never have
148
- * produced.
149
- *
150
- * THIS IS NOT A WIDER TIMEOUT. `windowMs` is unchanged from the shipped default; what changed is
151
- * that the quantity compared against it is now evidence rather than the passage of time. A daemon
152
- * whose broker is genuinely dead produces completed negatives as fast as it is scheduled, a dead
153
- * port answers ECONNREFUSED immediately and a blackholed one answers inside the probe deadline ,
154
- * AND loses its standing connection, so the true-positive path is not delayed by this at all, which
155
- * is the property that separates a repair from a band-aid. A process so starved that it produces NO
156
- * completed probe also cannot deliver anything, and ending it would not make Plane-3 more
157
- * available; it would make the outage permanent for a stock install with no watchdog.
158
- */
159
- export function brokerGoneVerdict(e) {
160
- // Positive evidence inside the window outranks everything: nothing below can be true of a broker
161
- // that answered us this recently.
162
- if (e.msSinceLastReachable <= e.windowMs)
163
- return { exit: false, reason: "reachable" };
164
- // THE BACKSTOP IS ABSOLUTE, AND IT IS DECIDED FIRST because every clause below it is a reason to
165
- // keep waiting. This ordering was a review finding, and it is the difference between a bound and
166
- // a wish: two reviewers independently observed that an open transport ranked ABOVE the backstop,
167
- // which made the backstop conditional on the very signal most likely to be stale.
168
- //
169
- // `transportConnected` is not an observation of the broker. It is this client's cached socket
170
- // state, and it is only refreshed when nats.js decides the peer is gone. Under a SILENT death ,
171
- // an OOM kill, a hypervisor pause, a firewall that starts dropping rather than refusing, anything
172
- // that produces no FIN and no RST, the kernel keeps the connection ESTABLISHED and nats.js does
173
- // not notice until its own ping cycle expires. With the shipped defaults that is roughly six
174
- // minutes. Ranked above the backstop, a stale `true` suspended the exit for that entire window no
175
- // matter how much elapsed time and how many completed refusals had piled up behind it, which is
176
- // worse than the pre-fix behaviour in exactly the shape an operator would least expect.
177
- //
178
- // So the daemon is bounded unconditionally: past the backstop it exits, whatever it believes
179
- // about its socket. That is the guarantee the coupling exists for, and a guarantee that any
180
- // single stale flag can defer is not one.
181
- if (e.msSinceLastReachable > e.backstopMs)
182
- return { exit: true, reason: "backstop" };
183
- // AN OPEN TRANSPORT IS ONGOING POSITIVE EVIDENCE, NOT AN EXCUSE FOR ITS ABSENCE, so inside the
184
- // backstop it still outranks the starvation and evidence clauses below. This daemon's own
185
- // connection to that same broker is up; it is serving on it; its lease renews across it. A fresh
186
- // side-probe that cannot complete a handshake to an address we are CURRENTLY CONNECTED TO is a
187
- // statement about this process's ability to open a new socket, not about the server.
188
- //
189
- // Inside the backstop this is still the strongest thing the daemon knows: when the broker really
190
- // dies the flag goes false, the client detects the loss, the endpoint's status watcher turns it
191
- // into `transport: connected=false`, and every clause below is live again from that instant. What
192
- // the flag CANNOT do any more is defer the exit indefinitely while it is stale, because the bound
193
- // above it has already been decided.
194
- if (e.transportConnected)
195
- return { exit: false, reason: "transport-live" };
196
- // "I could not ask." Credit the lag this process MEASURED on itself before reading the clock as a
197
- // statement about the server.
198
- const unstarvedMs = e.msSinceLastReachable - e.starvedMs;
199
- if (unstarvedMs <= e.windowMs)
200
- return { exit: false, reason: "starved" };
201
- // "I asked and was told no", but not yet often enough to be a verdict.
202
- if (e.completedNegatives < e.requiredNegatives)
203
- return { exit: false, reason: "insufficient-evidence" };
204
- return { exit: true, reason: "broker-gone" };
205
- }
206
18
  /**
207
19
  * Turn a lease reading into an action.
208
20
  *
@@ -226,8 +38,8 @@ export function leaseAction(reading) {
226
38
  case "gone": return "reacquire";
227
39
  // A different process holds this shard. Exit so the holder stays single.
228
40
  case "taken": return "exit";
229
- // Could not ask. An unanswerable question is not a negative answer; the broker watch above owns
230
- // the "the server is gone" decision, and it decides on evidence.
41
+ // Could not ask. An unanswerable question is not a negative answer; `DeliveryTransportHealth`
42
+ // owns the "the server is gone" decision, and it decides on evidence.
231
43
  case "unknown": return "keep-serving";
232
44
  }
233
45
  }
@@ -271,7 +83,7 @@ export class LoopLagMeter {
271
83
  /** Disjoint, sorted [start, end] intervals of measured non-running time in the current window.
272
84
  * Bounded: overlapping charges merge, and `reset` clears them on every positive. */
273
85
  spans = [];
274
- constructor(intervalMs = PROBE_INTERVAL_MS) {
86
+ constructor(intervalMs) {
275
87
  this.intervalMs = intervalMs;
276
88
  }
277
89
  /** Record a firing at `now`; returns the lag this particular gap contributed.
@@ -352,7 +164,7 @@ export class LoopLagMeter {
352
164
  * did not have can never exceed time that passed. Overlap is removed by that bound and nothing
353
165
  * else is discarded, so the sum stays as informative as its parts allow.
354
166
  *
355
- * Load-bearing, not hygiene: `starvedMs` is SUBTRACTED from elapsed in {@link brokerGoneVerdict}.
167
+ * Load-bearing, not hygiene: `DeliveryTransportHealth` SUBTRACTS this from elapsed time.
356
168
  * Unclamped, a stall charged twice drives unstarved time negative, and NO amount of real outage
357
169
  * can then clear the evidence clause - a genuinely dead broker stops being detectable by evidence
358
170
  * and survives to the backstop instead. Measured: a 30s stall moved an exit from 44s to 62s. */
@@ -1 +1 @@
1
- {"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cotal-ai/delivery",
3
3
  "description": "Cotal delivery daemon: the server-side Plane-3 durable backstop (fan-out writer + trusted reader + membership/ACL authority), a scoped least-privilege NATS client co-located with the broker.",
4
- "version": "0.72.1",
4
+ "version": "0.76.0",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
7
7
  "type": "git",
@@ -18,8 +18,8 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "@cotal-ai/core": "0.72.1",
22
- "@cotal-ai/workspace": "0.72.1",
21
+ "@cotal-ai/core": "0.76.0",
22
+ "@cotal-ai/workspace": "0.76.0",
23
23
  "@nats-io/jetstream": "^3.4.0"
24
24
  },
25
25
  "files": [