@cotal-ai/manager 0.33.3 → 0.33.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/manager.d.ts CHANGED
@@ -484,19 +484,9 @@ export declare class Manager {
484
484
  private leaseInfo?;
485
485
  private leaseRevision?;
486
486
  private leaseTimer?;
487
- /** When this instance last knew the key's TTL had been REFRESHED: a successful acquire or renew, or
488
- * a re-read showing the revision moved past the one we held (our write landed, only its ack was
489
- * lost). The gap since then is the only thing bounding how long we may keep serving with no answer
490
- * at all, so it must track the last TTL-refreshing WRITE and not the last successful observation.
491
- * A re-read at the same revision is deliberately NOT a refresh: it proves the key exists at that
492
- * instant, while the key still expires when the last landed write said it would.
493
- *
494
- * MONOTONIC (`performance.now`), not wall clock, because it is only ever read as an ELAPSED time.
495
- * `Date.now` steps on an NTP correction or a suspend/resume, and a backward step would shorten the
496
- * measured gap and let this instance serve past the TTL with no proof it still holds the key. The
497
- * initial value is `-Infinity` so "never refreshed" reads as an infinite gap and fails closed,
498
- * rather than as a small one at process start when a monotonic clock is still near zero. */
499
- private leaseConfirmedAt;
487
+ /** What the last renew tick learned about this instance's key. Only a CHANGE of state is printed
488
+ * (see {@link noteLease}), so an outage of hours is one line going in and one line coming out. */
489
+ private leaseState;
500
490
  /** A renew is in flight. The tick must not start a second one: both would read the same cached
501
491
  * revision, so whichever lands second CASes against a sequence the first already moved. */
502
492
  private leaseRenewInFlight;
@@ -609,15 +599,13 @@ export declare class Manager {
609
599
  private fileDigest;
610
600
  private fileDigestOrEmpty;
611
601
  private resumeEntry;
612
- /** Tear down every managed agent's footprint the shared teardown for EVERY manager-exit path (#159
613
- * B2): graceful {@link stop} AND the fail-closed lease-loss exit ({@link renewLease}). A manager exit is
602
+ /** Tear down every managed agent's footprint on a graceful {@link stop} (#159 B2). A manager exit is
614
603
  * a mass agent-exit, and without this its agents' footprints (creds files + `dm_`/`dlv_` durables + ACL
615
604
  * rows) would orphan exactly as the per-agent exit path prevents. Hard-stop each child (an exit has no
616
605
  * time for the graceful grace window) and AWAIT its deprovision — bounded per agent (`withTimeout`) and
617
606
  * best-effort (`allSettled` + a loud log), so one slow/failed teardown can neither hang nor abort exit.
618
607
  * The creds file is dropped even if the broker teardown fails (see {@link deprovision}). Deliberately
619
- * touches NEITHER the lease NOR the endpoints — the caller owns those (and lease loss must NOT release
620
- * the key, which may now belong to a replacement holder). */
608
+ * touches NEITHER the lease NOR the endpoints — the caller owns those. */
621
609
  private teardownManagedAgents;
622
610
  private stopRetainedAgentsOnExit;
623
611
  stop(): Promise<void>;
@@ -630,11 +618,8 @@ export declare class Manager {
630
618
  * deadline — on every `cotal ps`, `stop` and `attach` in that space, for good. A manager that is
631
619
  * shutting down is the one participant that KNOWS it is going away, so it says so.
632
620
  *
633
- * ONLY THE GRACEFUL PATH. `failClosedOnLeaseLoss` deliberately does not come here: a lost lease
634
- * means this instance may already have been superseded, and the successor persists the SAME
635
- * instanceId, so deregistering there could delete a live successor's registration. The delete is
636
- * additionally revision-pinned inside {@link deregisterServiceInstance}, so even that race removes
637
- * nothing — this is the second fence, not the only one.
621
+ * The delete is revision-pinned inside {@link deregisterServiceInstance}, so a successor that
622
+ * persists the SAME instanceId and has already re-registered loses nothing to a slow stop here.
638
623
  *
639
624
  * Best-effort and LOUD, matching every other teardown step: a broker that is already gone must not
640
625
  * turn a stop into a failure, but a registration that survives a stop is the exact defect this
@@ -644,64 +629,37 @@ export declare class Manager {
644
629
  */
645
630
  private deregisterServiceOnStop;
646
631
  /** Stop the v0.4 service-endpoint serve loop (drain subscriptions, await in-flight handlers)
647
- * and drop its dedicated connection. Best-effort by design both exit paths (graceful stop,
648
- * lease-loss fail-close) must complete their remaining teardown even if the broker is gone. */
632
+ * and drop its dedicated connection. Best-effort so a graceful stop completes its remaining
633
+ * teardown even when the broker is gone. */
649
634
  private stopServiceServe;
650
- /** Refresh THIS instance's liveness lease before the bucket TTL expires it.
651
- *
652
- * A FAILED RENEW IS NOT A LOST LEASE, and the difference is the whole shape of this method. The CAS
653
- * renew throws for reasons that prove entirely different things, and one of them proves nothing at
654
- * all: a request that gets NO ANSWER within its deadline does not establish that the write failed,
655
- * that the key expired, or that anyone else took it. It may even have LANDED, with only the
656
- * acknowledgement lost. Terminating on it kills a healthy manager and takes its agents with it.
635
+ /** Keep this instance's liveness key fresh, and NEVER end the process over it.
657
636
  *
658
- * So the renew failing is a question, not a verdict, and the verdict comes from RE-READING the key
659
- * ({@link CotalEndpoint.readOwnManagerLease}, which separates "it is gone" from "I could not find
660
- * out"). We fail closed on PROOF the key is absent, or it is present and holds someone else — and
661
- * otherwise keep serving, adopting whatever revision the broker actually has.
637
+ * A renew that throws is a question, not a verdict: the request may have timed out with the write
638
+ * landed and only its acknowledgement lost, the key may have expired during a stall, or a same-id
639
+ * process may hold it. The verdict comes from RE-READING the key ({@link reconcileLease}), and each
640
+ * answer has one response, none of which is exiting:
641
+ * - `held`: adopt the broker's revision and carry on.
642
+ * - `gone`: the key expired or was released while this process was still here, so put it back. The
643
+ * create is atomic, so a same-id process that got there first shows up as `taken` next tick.
644
+ * - `taken`: a different process holds this instance's key. Say so, once, and keep serving. The
645
+ * registration takeover is what fences a superseded serve family at the broker, and which of the
646
+ * two processes goes is the operator's call, not this one's.
647
+ * - `unknown`: the broker could not be asked. Keep serving and ask again next tick, for as long as it
648
+ * takes. A manager that cannot reach its broker gains nothing by ending itself, and the seats it
649
+ * holds lose everything (a pty child dies with its parent).
662
650
  *
663
- * WHEN NO ANSWER IS AVAILABLE AT ALL, the bound is time, not attempts: past one whole TTL with no
664
- * renew that LANDED, the key may have expired and been re-acquired, so this instance can no longer
665
- * claim to hold it and fails closed on that ground, said plainly. A re-read answering "still yours,
666
- * same revision" IS an answer and we keep serving on it, but it did not touch the key, so it buys
667
- * no time — reading a key is not refreshing it. Inside the TTL the budget affords another
668
- * renew-and-re-read pair ({@link MANAGER_LEASE_RENEW_MS}), which is what makes waiting safe.
669
- *
670
- * FAILING CLOSED IS FOR THIS INSTANCE ONLY: stop serving + tear down OUR managed agents + exit, so a
671
- * stalled instance can't keep double-processing under a key a same-id restart may re-acquire. Keyed
672
- * per instance, so it NEVER frees or touches a sibling manager's key and NEVER freezes the space
673
- * (security pin 6) — the sibling keeps serving. We do NOT re-acquire (a same-id restart may already
674
- * be live) and do NOT release the key (it may be the restart's). */
651
+ * This replaces a fail-close that ended the process one tick past the lease TTL with no answer, which
652
+ * on a live mesh turned a ten-second broker or KV outage into a manager outage that lasted until an
653
+ * operator noticed. */
675
654
  private renewLease;
655
+ /** Print `what` only when the lease state CHANGES. The renew ticks every few seconds, so a long
656
+ * outage would otherwise print the same line thousands of times; an operator needs the line going
657
+ * in and the line coming out, with the instance and the space on both. */
658
+ private noteLease;
676
659
  /** What the broker actually says about THIS instance's lease key, right now. `unknown` is a first-class
677
660
  * answer and never collapses into `gone`: not being able to look is not the same fact as looking and
678
- * finding nothing, and only the latter may end a manager. */
661
+ * finding nothing. */
679
662
  private reconcileLease;
680
- /**
681
- * Release ownership of every managed agent WITHOUT stopping it and WITHOUT deprovisioning its
682
- * footprint — the child disposition for an exit this instance did not choose.
683
- *
684
- * WHY THIS IS NOT {@link teardownManagedAgents}. Losing the argument about who may SERVE a space
685
- * is not a finding about whether these agents should die. The two were one act on the lease-loss
686
- * path, so a supervisor that could not reach the broker for a lease TTL killed every seat it held
687
- * and revoked their credentials. That is the wrong conclusion drawn from a connectivity fact, and
688
- * on a live mesh it is reached over a timeout the very next retry would have cleared.
689
- *
690
- * WHAT IT LEAVES BEHIND, AND WHY THAT IS SAFE. Each agent is marked `suppressCleanup` before it
691
- * leaves the map, so no later call site in this process can select it for deprovision, and its
692
- * credential, durables and broker footprint outlive us. That is EXACTLY the state an abrupt death
693
- * leaves (SIGKILL, OOM, power loss), which the next manager's static reconcile sweep already
694
- * recovers by terminalizing an active slot with no live managed owner. The difference is that
695
- * this one is announced.
696
- *
697
- * WHAT IT DOES NOT CLAIM. Detaching does not make a child outlive the process. A `node-pty` child
698
- * dies when its spawning process exits, measured, and no manager-side policy changes that; only a
699
- * runtime whose child is owned elsewhere (tmux/herdr/cmux) actually survives. This method removes
700
- * the manager's DELIBERATE kill and revoke, which is the half the manager controls.
701
- */
702
- private detachManagedAgents;
703
- /** Stop serving and end this process, naming what was PROVED rather than what merely failed. */
704
- private failClosedOnLeaseLoss;
705
663
  private opFinalizeResume;
706
664
  private opCommitResume;
707
665
  private opResumePreserved;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAA4E,YAAY,EAAwD,eAAe,EAAY,WAAW,EAAa,MAAM,gBAAgB,CAAC;AACtO,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AA2C5B,OAAO,EAsCL,KAAK,YAAY,EAGjB,KAAK,QAAQ,EAEd,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAgB,MAAM,yBAAyB,CAAC;AAoB5E;;;;;;;sDAOsD;AACtD,eAAO,MAAM,oBAAoB,QAAS,CAAC;AA8D3C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;iGAE6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;4GAIwG;IACxG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;4GAEwG;IACxG,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;6FAMyF;IACzF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;+FAK2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;oDAEgD;IAChD,eAAe,CAAC,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,OAAO,gBAAgB,EAAE,mBAAmB,CAAC;QACrD,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE;YACV,UAAU,EAAE,QAAQ,CAAC;YACrB,QAAQ,EAAE,QAAQ,CAAC;YACnB,KAAK,EAAE,QAAQ,CAAC;YAChB,UAAU,EAAE,QAAQ,CAAC;YACrB,aAAa,EAAE,QAAQ,CAAC;SACzB,CAAC;QACF,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,YAAY,CAAC;QACzB,kBAAkB,EAAE,CAAC,IAAI,EAAE;YAAE,QAAQ,EAAE,QAAQ,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KACxI,CAAC;CACH;AAED,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,CAAC;AAE5E;;;0CAG0C;AAC1C,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,cAAc,GACd,eAAe,GACf,oBAAoB,GACpB,qBAAqB,GACrB,8BAA8B,CAAC;AAanC,MAAM,MAAM,qBAAqB,GAI7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChH;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,qBAAqB,CAAC;IAChC,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EACF;YAAE,IAAI,EAAE,SAAS,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,GAC1E;YAAE,IAAI,EAAE,UAAU,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,cAAc,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7I,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gGAAgG;QAChG,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,+EAA+E;QAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,qGAAqG;QACrG,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;KACvC,CAAC;IACF,gGAAgG;IAChG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,yBAAyB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;IAClD,SAAS,EAAE,sBAAsB,CAAC;IAClC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;IAChC,SAAS,EAAE,sBAAsB,CAAC;IAClC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,qGAAqG;IACrG,gBAAgB,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;0GAC0G;AAC1G,MAAM,WAAW,cAAc;IAC7B;;0GAEsG;IACtG,IAAI,EAAE,MAAM,CAAC;IACb,8GAA8G;IAC9G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;gEAC4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;mFAE+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;yGACqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC;;mEAE+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;4GAEwG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;uDAEmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;qEAEiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;kEAG8D;IAC9D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;iGAC6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;sDAGkD;IAClD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;iGAE6F;IAC7F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAiFD;2EAC2E;AAC3E,MAAM,WAAW,UAAU;IACzB;;;yGAGqG;IACrG,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzK,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;2FACuF;IACvF,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE;;;mFAG+E;IAC/E,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9G;;;;iFAI6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;sGAGsG;AACtG,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED;;;;kGAIkG;AAClG,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACrD,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B1D;AAqCD,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C;sFACkF;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,wGAAwG;IACxG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC;kDAC8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D;gGAC4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C;gGAC4F;IAC5F,OAAO,CAAC,OAAO,CAAgB;IAC/B;;;;;;2DAMuD;IACvD,OAAO,CAAC,QAAQ,CAAmP;IACnQ;;;;;kGAK8F;IAC9F,OAAO,CAAC,cAAc,CAAoC;IAC1D;;;;sGAIkG;IAClG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD;;sDAEkD;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D;;;;;4GAKwG;IACxG,OAAO,CAAC,iBAAiB,CAAU;IACnC;;yGAEqG;IACrG,OAAO,CAAC,oBAAoB,CAAY;IACxC;;;;oFAIgF;IAChF,OAAO,CAAC,YAAY,CAAC,CAAyG;IAC9H;;;;;;uGAMmG;IACnG,OAAO,CAAC,UAAU,CAAC,CAAwG;IAC3H;;;;oGAIgG;IAChG,OAAO,CAAC,kBAAkB,CAAC,CAAW;IACtC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC;;mGAE+F;IAC/F,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C;;0FAEsF;IACtF,OAAO,CAAC,iBAAiB,CAAC,CAAyC;IACnE;wGACoG;IACpG,OAAO,CAAC,oBAAoB,CAAC,CAAiC;IAC9D;;;sFAGkF;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE;;;mGAG+F;IAC/F,OAAO,CAAC,qBAAqB,CAAC,CAAW;IACzC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC;;;oGAGgG;IAChG,OAAO,CAAC,eAAe,CAAsC;IAC7D;;;8EAG0E;IAC1E,OAAO,CAAC,iBAAiB,CAAS;IAClC;sGACkG;IAClG,OAAO,CAAC,UAAU,CAA8B;IAChD,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C;mGAC+F;IAC/F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD;;;;;;qGAMiG;IACjG,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,EAAE,CAAiB;IAC3B;+FAC2F;IAC3F,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB;;gDAE4C;IAC5C,OAAO,CAAC,kBAAkB,CAAwB;IAClD;4GACwG;IACxG,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAkC;IACpD,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAiC;IACpD;uGACmG;IACnG,OAAO,CAAC,UAAU,CAAsB;IACxC;gGAC4F;IAC5F,OAAO,CAAC,kBAAkB,CAAS;IACnC,6FAA6F;IAC7F,OAAO,CAAC,cAAc,CAAC,CAAiC;IACxD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAAC,CAAmC;IAC3D,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,oBAAoB,CAAgC;IAC5D,OAAO,CAAC,eAAe,CAAyG;IAChI,OAAO,CAAC,qBAAqB,CAAC,CAAyB;IACvD,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,OAAO,CAAC,UAAU,CAAC,CAA+B;IAClD,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,wBAAwB,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAiD;gBAEtE,IAAI,EAAE,cAAc;IAwChC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,uDAAuD;IACvD,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,OAAO,CAAC,YAAY;IAYd,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0K5B;;;;;mGAK+F;YACjF,gBAAgB;IAqI9B;;;;;;;;;;;;uGAYmG;IACnG,OAAO,CAAC,sBAAsB;IAsB9B;kGAC8F;IAC9F,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,gBAAgB;IAQxB;wEACoE;IACpE,OAAO,CAAC,gBAAgB;YAOV,mBAAmB;IAKjC,OAAO,CAAC,gBAAgB;IAKxB;qFACiF;IACjF,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA4BxE,OAAO,CAAC,4BAA4B;YAKtB,cAAc;IAkD5B;iEAC6D;IAC7D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuBrE;yFACqF;IACrF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAyB1C;uFACmF;IAC7E,aAAa,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;YAQnE,eAAe;YA+Bf,eAAe;IAa7B,OAAO,CAAC,uBAAuB;IAsD/B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,WAAW;IA8DnB;;;;;;+EAM2E;YAC7D,qBAAqB;YAgBrB,wBAAwB;IAqBhC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B;;;;;;;;;;;;;;;;;OAiBG;YACW,uBAAuB;IAoBrC;;iDAE6C;YAC/B,gBAAgB;IAQ9B;;;;;;;;;;;;;;;;;;4BAkBwB;YACV,UAAU;IAiDxB;;+EAE2E;IAC3E,OAAO,CAAC,SAAS;IAMjB;;2BAEuB;YACT,cAAc;YAmBd,gBAAgB;YA+ChB,cAAc;YA8Bd,iBAAiB;YAkCjB,iBAAiB;IAwB/B;;;;;;;kGAO8F;IAC9F,OAAO,CAAC,YAAY;IAapB;;;wFAGoF;YACtE,UAAU;IAYxB;;;;;;;;;;4EAUwE;YAC1D,YAAY;IAgB1B;;;;iFAI6E;YAC/D,cAAc;IAO5B;;;;;;;;;;;;;;;;;;;;;;;;;;gEA0B4D;IAC5D,OAAO,CAAC,kBAAkB;YAyFZ,sBAAsB;IAkCpC;;;;;;;;mGAQ+F;IAC/F,OAAO,CAAC,cAAc;IAWtB;;;yFAGqF;IACrF,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAiD5B;;;;6DAIyD;IACzD,OAAO,CAAC,UAAU;IAclB;;;;;;;;;;;gHAW4G;IAC5G,OAAO,CAAC,UAAU;IAYlB;;;;;;;;kGAQ8F;IAC9F,OAAO,CAAC,kBAAkB;IAiC1B;;;;;;;uBAOmB;YACL,kBAAkB;IAkHhC;;;;uGAImG;IACnG;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,QAAQ;IAqChB;;;;;;;;;;;mDAW+C;YACjC,WAAW;IAezB,sFAAsF;YACxE,gBAAgB;IAsE9B;;;gEAG4D;YAC9C,iBAAiB;IAqB/B,qGAAqG;YACvF,eAAe;IAgH7B;;;;;;;;qFAQiF;YACnE,iBAAiB;IAiB/B;;;6BAGyB;IACzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,uBAAuB;IAM/B;wGACoG;IACpG,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,kBAAkB;YAIZ,wBAAwB;IAetC;;;2EAGuE;YACzD,kBAAkB;YAQlB,qBAAqB;IAwBnC;;sGAEkG;IAClG,OAAO,CAAC,qBAAqB;IA+D7B;uGACmG;IACnG,OAAO,CAAC,WAAW;IAkBnB;;;+FAG2F;IAC3F,OAAO,CAAC,SAAS;IAIjB;;;gCAG4B;IAC5B,OAAO,CAAC,eAAe;IAMvB;;;kFAG8E;IAC9E,OAAO,CAAC,SAAS;IAIjB;;;;;;;;;+BAS2B;IAC3B,OAAO,CAAC,UAAU;IAKlB;;8DAE0D;IACpD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAItD;;;;0EAIsE;IAChE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IASzE,kFAAkF;IAClF,OAAO,CAAC,OAAO;IAoDf;;;;;uDAKmD;YACrC,gBAAgB;IAO9B;gGAC4F;IAC5F,OAAO,CAAC,cAAc;IAItB;;yGAEqG;YACvF,QAAQ;IAiDtB;;;;;;0GAMsG;YACxF,aAAa;IAiB3B;;;;;;;;;;wGAUoG;YACtF,QAAQ;IAqDtB;;;;;+DAK2D;IACrD,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;YAUrF,gBAAgB;IA0hB9B;;kFAE8E;IACxE,eAAe,CACnB,SAAS,EAAE,sBAAsB,GAChC,OAAO,CAAC,mBAAmB,CAAC;IAyE/B;oGACgG;YAClF,yBAAyB;IA0JvC;4EACwE;YAC1D,oBAAoB;YAgJpB,oBAAoB;IAiGlC,OAAO,CAAC,qBAAqB;IAI7B;;6GAEyG;IACzG,OAAO,CAAC,mBAAmB;IAe3B;;;;;;;;;;;;qGAYiG;YACnF,cAAc;IAyG5B;;sBAEkB;IAClB,OAAO,CAAC,IAAI;IAaZ;;;;;kGAK8F;IAC9F,OAAO,CAAC,SAAS;IAcjB;0GACsG;IACtG,OAAO,CAAC,YAAY;YAMN,MAAM;IAOpB;;;;yDAIqD;YACvC,WAAW;IAMzB;uDACmD;IACnD,OAAO,CAAC,iBAAiB;IAOzB;;;iGAG6F;IAC7F,OAAO,CAAC,mBAAmB;IAQ3B;;;qGAGiG;YACnF,qBAAqB;IAoBnC;;;;oGAIgG;YAClF,yBAAyB;IAiBvC;;;kGAG8F;YAChF,uBAAuB;IAgBrC,4EAA4E;IAC5E,OAAO,CAAC,iBAAiB;IASzB;;;;;;;;;8DAS0D;YAC5C,0BAA0B;IAmCxC;;;;;;;;;;;;kEAY8D;YAChD,sBAAsB;IA4NpC;;;;;;;wGAOoG;YACtF,sBAAsB;IA8BpC;;;;;;;;qCAQiC;YACnB,eAAe;IA2C7B,uEAAuE;YACzD,cAAc;IAO5B;;;;;;;;;6CASyC;YAC3B,yBAAyB;IA2BvC;;;;;;;;;;;kFAW8E;YAChE,iBAAiB;IAiF/B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,yBAAyB;IA6FjC;;yGAEqG;YACvF,gBAAgB;IAW9B;;;;;;;+EAO2E;YAC7D,kBAAkB;IA+BhC;;;;;;;iDAO6C;YAC/B,gBAAgB;IA+B9B;;;;uEAImE;IACnE,OAAO,CAAC,gBAAgB;IAaxB;;;;;;;;;;;;;;;;;;;;;;;;;oFAyBgF;YAClE,4BAA4B;IAU1C;;;;;0EAKsE;YACxD,cAAc;IAuL5B;;iGAE6F;IAC7F,OAAO,CAAC,mBAAmB;IAM3B;;;;;;;;;;iDAU6C;YAC/B,qBAAqB;IAYnC;;;;;sGAKkG;YACpF,eAAe;IAiB7B;;;;;;wDAMoD;YACtC,qBAAqB;IAqCnC;;;;;8EAK0E;YAC5D,sBAAsB;IAoDpC;;;;;;;;yEAQqE;YACvD,yBAAyB;IAiEvC;;;;;oGAKgG;IAChG,OAAO,CAAC,0BAA0B;IAiBlC;;;;uGAImG;YACrF,eAAe;IAuB7B;;;gCAG4B;YACd,OAAO;IAgBrB;;;;;;;;4GAQwG;IACxG,OAAO,CAAC,eAAe;IA8DvB;;;;;;;;;;;;;;;;;;;;;;6FAsByF;IACzF,OAAO,CAAC,eAAe;IAgBvB;;;;uGAImG;YACrF,gBAAgB;IAkC9B;;;;;;2GAMuG;YACzF,uBAAuB;IAmCrC,wFAAwF;IACxF;gGAC4F;IAC5F,OAAO,CAAC,IAAI;CAyCb"}
package/dist/manager.js CHANGED
@@ -4,7 +4,7 @@ import { hostname } from "node:os";
4
4
  import { connect, credsAuthenticator } from "@nats-io/transport-node";
5
5
  import { existsSync, lstatSync, readFileSync, rmSync } from "node:fs";
6
6
  import { join, dirname, resolve } from "node:path";
7
- import { CotalEndpoint, DEFAULT_SERVER, DEV_OWNER, MANAGER_LEASE_TTL_MS, MANAGER_LEASE_RENEW_MS, STANDING_RENEWABLE_TTL_SEC, agentFilePath, clearSpaceHistory, connectorServers, spawnEnvAllow, deprovisionAgent, firstFreeName, spawnNameError, idFromCreds, inspectCredHealth, loadAgentFile, loadCotalConfig, mintCreds, mintLifecycleUid, mkSecretDir, newIdentity, actionContext, parsePrincipalKey, parseShareSelection, principalKey, probeConnect, provisionAgent, provisionAgentDurables, registry, resolveAuthProvider, saveAgentFile, subjectMatches, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE, epRequestSubject, epCallerReplyFilter, parseEpSubject, controlServiceSubject, eventChannelPrincipal, } from "@cotal-ai/core";
7
+ import { CotalEndpoint, DEFAULT_SERVER, DEV_OWNER, MANAGER_LEASE_RENEW_MS, STANDING_RENEWABLE_TTL_SEC, agentFilePath, clearSpaceHistory, connectorServers, spawnEnvAllow, deprovisionAgent, firstFreeName, spawnNameError, idFromCreds, inspectCredHealth, loadAgentFile, loadCotalConfig, mintCreds, mintLifecycleUid, mkSecretDir, newIdentity, actionContext, parsePrincipalKey, parseShareSelection, principalKey, probeConnect, provisionAgent, provisionAgentDurables, registry, resolveAuthProvider, saveAgentFile, subjectMatches, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE, epRequestSubject, epCallerReplyFilter, parseEpSubject, controlServiceSubject, eventChannelPrincipal, } from "@cotal-ai/core";
8
8
  import { agentAuthState, agentCredsDir, agentLifecycleSecretFilePaths, agentSecretFilePaths, agentSecretKeyForFile, authDir, connectorInstallHint, DEFAULT_CONNECTOR, defaultAgentType, DELIVERY_CREDS_KEY, findCotalRoot, getSpaceAuth, hasUserAuthState, loadManagerInstanceIdentity, loadMeshes, manifestExtensionNames, materializeFromManifest, materializeSecretToFile, MEMBERSHIP_RW_CREDS_KEY, mergeLaunchOptions, remintDaemonCreds, resolveOnPath, saveManagerInstanceIdentity, SYSTEM_CREDS_FILES, userAuthStateDir, workspaceSecretStore, writeRenewalRecord } from "@cotal-ai/workspace";
9
9
  import { createRuntime, } from "./runtime/index.js";
10
10
  import { AttachEndpoint } from "./attach-endpoint.js";
@@ -338,19 +338,9 @@ export class Manager {
338
338
  leaseInfo;
339
339
  leaseRevision;
340
340
  leaseTimer;
341
- /** When this instance last knew the key's TTL had been REFRESHED: a successful acquire or renew, or
342
- * a re-read showing the revision moved past the one we held (our write landed, only its ack was
343
- * lost). The gap since then is the only thing bounding how long we may keep serving with no answer
344
- * at all, so it must track the last TTL-refreshing WRITE and not the last successful observation.
345
- * A re-read at the same revision is deliberately NOT a refresh: it proves the key exists at that
346
- * instant, while the key still expires when the last landed write said it would.
347
- *
348
- * MONOTONIC (`performance.now`), not wall clock, because it is only ever read as an ELAPSED time.
349
- * `Date.now` steps on an NTP correction or a suspend/resume, and a backward step would shorten the
350
- * measured gap and let this instance serve past the TTL with no proof it still holds the key. The
351
- * initial value is `-Infinity` so "never refreshed" reads as an infinite gap and fails closed,
352
- * rather than as a small one at process start when a monotonic clock is still near zero. */
353
- leaseConfirmedAt = Number.NEGATIVE_INFINITY;
341
+ /** What the last renew tick learned about this instance's key. Only a CHANGE of state is printed
342
+ * (see {@link noteLease}), so an outage of hours is one line going in and one line coming out. */
343
+ leaseState = "held";
354
344
  /** A renew is in flight. The tick must not start a second one: both would read the same cached
355
345
  * revision, so whichever lands second CASes against a sequence the first already moved. */
356
346
  leaseRenewInFlight = false;
@@ -562,11 +552,11 @@ export class Manager {
562
552
  // second workspace root) has a distinct id ⇒ a distinct key ⇒ it coexists; the create THROWS only
563
553
  // when the SAME instance id is already live (a same-root double-start, or a restart racing the
564
554
  // crashed predecessor's not-yet-expired key), and we REFUSE loud. A crashed holder's key auto-expires
565
- // (bucket TTL). Losing this key later stops THIS instance only, never the space (security pin 6).
555
+ // (bucket TTL). Losing the key LATER never ends this process: the renew loop puts it back or keeps
556
+ // retrying ({@link renewLease}).
566
557
  this.leaseInfo = { holder: this.ep.ref().id, instanceId: this.managerInstanceId, runtime: this.runtime.kind, root: resolve(this.workspaceRoot), pid: process.pid };
567
558
  try {
568
559
  this.leaseRevision = await this.ep.acquireManagerLease(this.leaseInfo);
569
- this.leaseConfirmedAt = performance.now();
570
560
  }
571
561
  catch (e) {
572
562
  // Our OWN instance id already holds a live key ⇒ refuse. Anything else (e.g. a KV/JS error) is a
@@ -1173,15 +1163,13 @@ export class Manager {
1173
1163
  startedAt: new Date(a.startedAt).toISOString(),
1174
1164
  };
1175
1165
  }
1176
- /** Tear down every managed agent's footprint the shared teardown for EVERY manager-exit path (#159
1177
- * B2): graceful {@link stop} AND the fail-closed lease-loss exit ({@link renewLease}). A manager exit is
1166
+ /** Tear down every managed agent's footprint on a graceful {@link stop} (#159 B2). A manager exit is
1178
1167
  * a mass agent-exit, and without this its agents' footprints (creds files + `dm_`/`dlv_` durables + ACL
1179
1168
  * rows) would orphan exactly as the per-agent exit path prevents. Hard-stop each child (an exit has no
1180
1169
  * time for the graceful grace window) and AWAIT its deprovision — bounded per agent (`withTimeout`) and
1181
1170
  * best-effort (`allSettled` + a loud log), so one slow/failed teardown can neither hang nor abort exit.
1182
1171
  * The creds file is dropped even if the broker teardown fails (see {@link deprovision}). Deliberately
1183
- * touches NEITHER the lease NOR the endpoints — the caller owns those (and lease loss must NOT release
1184
- * the key, which may now belong to a replacement holder). */
1172
+ * touches NEITHER the lease NOR the endpoints — the caller owns those. */
1185
1173
  async teardownManagedAgents() {
1186
1174
  const managed = [...this.agents.values()];
1187
1175
  for (const a of managed) {
@@ -1254,11 +1242,8 @@ export class Manager {
1254
1242
  * deadline — on every `cotal ps`, `stop` and `attach` in that space, for good. A manager that is
1255
1243
  * shutting down is the one participant that KNOWS it is going away, so it says so.
1256
1244
  *
1257
- * ONLY THE GRACEFUL PATH. `failClosedOnLeaseLoss` deliberately does not come here: a lost lease
1258
- * means this instance may already have been superseded, and the successor persists the SAME
1259
- * instanceId, so deregistering there could delete a live successor's registration. The delete is
1260
- * additionally revision-pinned inside {@link deregisterServiceInstance}, so even that race removes
1261
- * nothing — this is the second fence, not the only one.
1245
+ * The delete is revision-pinned inside {@link deregisterServiceInstance}, so a successor that
1246
+ * persists the SAME instanceId and has already re-registered loses nothing to a slow stop here.
1262
1247
  *
1263
1248
  * Best-effort and LOUD, matching every other teardown step: a broker that is already gone must not
1264
1249
  * turn a stop into a failure, but a registration that survives a stop is the exact defect this
@@ -1284,8 +1269,8 @@ export class Manager {
1284
1269
  }
1285
1270
  }
1286
1271
  /** Stop the v0.4 service-endpoint serve loop (drain subscriptions, await in-flight handlers)
1287
- * and drop its dedicated connection. Best-effort by design both exit paths (graceful stop,
1288
- * lease-loss fail-close) must complete their remaining teardown even if the broker is gone. */
1272
+ * and drop its dedicated connection. Best-effort so a graceful stop completes its remaining
1273
+ * teardown even when the broker is gone. */
1289
1274
  async stopServiceServe() {
1290
1275
  const s = this.serviceServe;
1291
1276
  if (!s)
@@ -1305,35 +1290,29 @@ export class Manager {
1305
1290
  catch { /* best effort */ }
1306
1291
  }
1307
1292
  }
1308
- /** Refresh THIS instance's liveness lease before the bucket TTL expires it.
1309
- *
1310
- * A FAILED RENEW IS NOT A LOST LEASE, and the difference is the whole shape of this method. The CAS
1311
- * renew throws for reasons that prove entirely different things, and one of them proves nothing at
1312
- * all: a request that gets NO ANSWER within its deadline does not establish that the write failed,
1313
- * that the key expired, or that anyone else took it. It may even have LANDED, with only the
1314
- * acknowledgement lost. Terminating on it kills a healthy manager and takes its agents with it.
1315
- *
1316
- * So the renew failing is a question, not a verdict, and the verdict comes from RE-READING the key
1317
- * ({@link CotalEndpoint.readOwnManagerLease}, which separates "it is gone" from "I could not find
1318
- * out"). We fail closed on PROOF — the key is absent, or it is present and holds someone else — and
1319
- * otherwise keep serving, adopting whatever revision the broker actually has.
1293
+ /** Keep this instance's liveness key fresh, and NEVER end the process over it.
1320
1294
  *
1321
- * WHEN NO ANSWER IS AVAILABLE AT ALL, the bound is time, not attempts: past one whole TTL with no
1322
- * renew that LANDED, the key may have expired and been re-acquired, so this instance can no longer
1323
- * claim to hold it and fails closed on that ground, said plainly. A re-read answering "still yours,
1324
- * same revision" IS an answer and we keep serving on it, but it did not touch the key, so it buys
1325
- * no time reading a key is not refreshing it. Inside the TTL the budget affords another
1326
- * renew-and-re-read pair ({@link MANAGER_LEASE_RENEW_MS}), which is what makes waiting safe.
1295
+ * A renew that throws is a question, not a verdict: the request may have timed out with the write
1296
+ * landed and only its acknowledgement lost, the key may have expired during a stall, or a same-id
1297
+ * process may hold it. The verdict comes from RE-READING the key ({@link reconcileLease}), and each
1298
+ * answer has one response, none of which is exiting:
1299
+ * - `held`: adopt the broker's revision and carry on.
1300
+ * - `gone`: the key expired or was released while this process was still here, so put it back. The
1301
+ * create is atomic, so a same-id process that got there first shows up as `taken` next tick.
1302
+ * - `taken`: a different process holds this instance's key. Say so, once, and keep serving. The
1303
+ * registration takeover is what fences a superseded serve family at the broker, and which of the
1304
+ * two processes goes is the operator's call, not this one's.
1305
+ * - `unknown`: the broker could not be asked. Keep serving and ask again next tick, for as long as it
1306
+ * takes. A manager that cannot reach its broker gains nothing by ending itself, and the seats it
1307
+ * holds lose everything (a pty child dies with its parent).
1327
1308
  *
1328
- * FAILING CLOSED IS FOR THIS INSTANCE ONLY: stop serving + tear down OUR managed agents + exit, so a
1329
- * stalled instance can't keep double-processing under a key a same-id restart may re-acquire. Keyed
1330
- * per instance, so it NEVER frees or touches a sibling manager's key and NEVER freezes the space
1331
- * (security pin 6) — the sibling keeps serving. We do NOT re-acquire (a same-id restart may already
1332
- * be live) and do NOT release the key (it may be the restart's). */
1309
+ * This replaces a fail-close that ended the process one tick past the lease TTL with no answer, which
1310
+ * on a live mesh turned a ten-second broker or KV outage into a manager outage that lasted until an
1311
+ * operator noticed. */
1333
1312
  async renewLease() {
1334
1313
  // A renew that runs long must not be overlapped by the next tick: both would CAS against the same
1335
1314
  // cached revision, so whichever lands second is refused over a sequence the first legitimately
1336
- // moved a conflict this instance manufactured itself.
1315
+ // moved, a conflict this instance manufactured itself.
1337
1316
  if (this.leaseRenewInFlight)
1338
1317
  return;
1339
1318
  this.leaseRenewInFlight = true;
@@ -1342,52 +1321,59 @@ export class Manager {
1342
1321
  return;
1343
1322
  try {
1344
1323
  this.leaseRevision = await this.ep.renewManagerLease(this.leaseInfo, this.leaseRevision);
1345
- this.leaseConfirmedAt = performance.now();
1324
+ this.noteLease("held", `renews its liveness lease again (revision ${this.leaseRevision})`);
1346
1325
  return;
1347
1326
  }
1348
1327
  catch (renewError) {
1349
1328
  const why = renewError.message;
1350
1329
  const verdict = await this.reconcileLease();
1351
- if (verdict.kind === "held") {
1352
- // WHETHER THIS REFILLS THE BUDGET TURNS ON ONE THING: did our write land? It did, with only
1353
- // its acknowledgement lost, exactly when the stored revision has moved past the one we hold.
1354
- // That write is what restarted the key's TTL, so only it may reset the clock below.
1355
- //
1356
- // A re-read at the SAME revision proves the key exists AT THAT INSTANT and nothing more. Our
1357
- // write did not land, the TTL was not restarted, and the key still expires when the last
1358
- // landed write said it would. Resetting the clock here would measure the budget from the last
1359
- // OBSERVATION rather than from the last TTL-refreshing write, and the budget would then
1360
- // outlive the key: a streak of same-revision re-reads keeps refilling it, and if reads then
1361
- // stop answering too, this instance goes on serving for a further whole TTL after the key has
1362
- // actually expired and a same-id restart has taken it. Serving on a key we can still SEE is
1363
- // right; buying more time to serve on a key we cannot see is not.
1364
- const landed = verdict.revision > this.leaseRevision;
1365
- this.leaseRevision = verdict.revision;
1366
- if (landed)
1367
- this.leaseConfirmedAt = performance.now();
1368
- console.error(`! manager instance ${this.managerInstanceId} could not renew its liveness lease for space "${this.space}" (${why}) - the key is still ours at revision ${verdict.revision}${landed ? ", and that renew had in fact landed" : ", though this renew did not land, so the key's TTL was not restarted"}, so this instance keeps serving`);
1369
- return;
1370
- }
1371
- if (verdict.kind === "unknown") {
1372
- const since = performance.now() - this.leaseConfirmedAt;
1373
- if (since < MANAGER_LEASE_TTL_MS) {
1374
- console.error(`! manager instance ${this.managerInstanceId} could not renew its liveness lease for space "${this.space}" (${why}) and could not re-read it either (${verdict.why}) - that proves nothing about the key, and its lease was last refreshed ${Math.round(since)}ms ago, so this instance keeps serving and will retry`);
1330
+ switch (verdict.kind) {
1331
+ case "held":
1332
+ // The re-read is the broker's truth about the revision: adopt it, whether our write landed
1333
+ // with its acknowledgement lost (revision moved) or never landed (revision unchanged).
1334
+ this.leaseRevision = verdict.revision;
1335
+ this.noteLease("held-unrenewed", `could not renew its liveness lease (${why}) but the key is still its own at revision ${verdict.revision}; serving, retrying`);
1336
+ return;
1337
+ case "gone": {
1338
+ // The key being gone is a fact before the re-acquire is attempted, so a successful
1339
+ // re-acquire is a change of state (gone to held) and prints, every time it happens.
1340
+ const before = this.leaseState;
1341
+ this.leaseState = "gone";
1342
+ try {
1343
+ this.leaseRevision = await this.ep.acquireManagerLease(this.leaseInfo);
1344
+ this.noteLease("held", `found its liveness lease key gone (renew: ${why}) and re-acquired it at revision ${this.leaseRevision}`);
1345
+ }
1346
+ catch (e) {
1347
+ this.leaseState = before;
1348
+ this.noteLease("gone", `found its liveness lease key gone (renew: ${why}) and could not re-acquire it yet (${e.message}); serving, retrying`);
1349
+ }
1375
1350
  return;
1376
1351
  }
1377
- return await this.failClosedOnLeaseLoss(`its lease key ${Number.isFinite(since) ? `has not been refreshed for ${Math.round(since)}ms, longer than the ${MANAGER_LEASE_TTL_MS}ms lease TTL` : "was never refreshed"}, so this instance can no longer prove it holds it (renew: ${why}; re-read: ${verdict.why})`);
1352
+ case "taken":
1353
+ this.noteLease("taken", `finds its liveness lease key held by ${verdict.by}, not by this process (renew: ${why}); serving, retrying. Two processes claim manager instance ${this.managerInstanceId}: stop one of them`);
1354
+ return;
1355
+ case "unknown":
1356
+ this.noteLease("unknown", `could not renew its liveness lease (${why}) or re-read it (${verdict.why}); serving, retrying until the broker answers`);
1357
+ return;
1378
1358
  }
1379
- return await this.failClosedOnLeaseLoss(verdict.kind === "gone"
1380
- ? `its lease key is GONE from the bucket - expired or released (renew: ${why})`
1381
- : `its lease key is now held by ${verdict.by} and not by this process (renew: ${why})`);
1382
1359
  }
1383
1360
  }
1384
1361
  finally {
1385
1362
  this.leaseRenewInFlight = false;
1386
1363
  }
1387
1364
  }
1365
+ /** Print `what` only when the lease state CHANGES. The renew ticks every few seconds, so a long
1366
+ * outage would otherwise print the same line thousands of times; an operator needs the line going
1367
+ * in and the line coming out, with the instance and the space on both. */
1368
+ noteLease(state, what) {
1369
+ if (state === this.leaseState)
1370
+ return;
1371
+ this.leaseState = state;
1372
+ console.error(`${state === "held" ? "✓" : "!"} manager instance ${this.managerInstanceId} ${what} (space "${this.space}")`);
1373
+ }
1388
1374
  /** What the broker actually says about THIS instance's lease key, right now. `unknown` is a first-class
1389
1375
  * answer and never collapses into `gone`: not being able to look is not the same fact as looking and
1390
- * finding nothing, and only the latter may end a manager. */
1376
+ * finding nothing. */
1391
1377
  async reconcileLease() {
1392
1378
  let current;
1393
1379
  try {
@@ -1404,74 +1390,6 @@ export class Manager {
1404
1390
  return { kind: "taken", by: `pid ${current.info.pid} (${current.info.runtime}, root ${current.info.root})` };
1405
1391
  return { kind: "held", revision: current.revision };
1406
1392
  }
1407
- /**
1408
- * Release ownership of every managed agent WITHOUT stopping it and WITHOUT deprovisioning its
1409
- * footprint — the child disposition for an exit this instance did not choose.
1410
- *
1411
- * WHY THIS IS NOT {@link teardownManagedAgents}. Losing the argument about who may SERVE a space
1412
- * is not a finding about whether these agents should die. The two were one act on the lease-loss
1413
- * path, so a supervisor that could not reach the broker for a lease TTL killed every seat it held
1414
- * and revoked their credentials. That is the wrong conclusion drawn from a connectivity fact, and
1415
- * on a live mesh it is reached over a timeout the very next retry would have cleared.
1416
- *
1417
- * WHAT IT LEAVES BEHIND, AND WHY THAT IS SAFE. Each agent is marked `suppressCleanup` before it
1418
- * leaves the map, so no later call site in this process can select it for deprovision, and its
1419
- * credential, durables and broker footprint outlive us. That is EXACTLY the state an abrupt death
1420
- * leaves (SIGKILL, OOM, power loss), which the next manager's static reconcile sweep already
1421
- * recovers by terminalizing an active slot with no live managed owner. The difference is that
1422
- * this one is announced.
1423
- *
1424
- * WHAT IT DOES NOT CLAIM. Detaching does not make a child outlive the process. A `node-pty` child
1425
- * dies when its spawning process exits, measured, and no manager-side policy changes that; only a
1426
- * runtime whose child is owned elsewhere (tmux/herdr/cmux) actually survives. This method removes
1427
- * the manager's DELIBERATE kill and revoke, which is the half the manager controls.
1428
- */
1429
- detachManagedAgents(reason) {
1430
- const managed = [...this.agents.values()];
1431
- for (const a of managed) {
1432
- // Set BEFORE the map delete: the flag is what every deprovision call site filters on, and an
1433
- // agent that left the map without it is one a concurrent path could still select.
1434
- a.suppressCleanup = true;
1435
- this.agents.delete(a.name);
1436
- }
1437
- if (managed.length === 0)
1438
- return;
1439
- const seats = managed.map((a) => `${a.name} (${a.id}${a.handle.pid !== undefined ? `, pid ${a.handle.pid}` : ""})`).join(", ");
1440
- console.error(`! manager instance ${this.managerInstanceId} detached ${managed.length} managed agent(s) - ${reason}\n` +
1441
- ` Left running and NOT stopped by this manager; their credentials and durables are RETAINED, not revoked: ${seats}\n` +
1442
- ` A child owned by this process (the pty runtime) still dies with it; a child owned elsewhere (tmux/herdr/cmux) keeps running.\n` +
1443
- ` NEXT: start a manager for space "${this.space}" - its reconcile sweep recovers any seat whose child did not survive.`);
1444
- }
1445
- /** Stop serving and end this process, naming what was PROVED rather than what merely failed. */
1446
- async failClosedOnLeaseLoss(proof) {
1447
- console.error(`! manager instance ${this.managerInstanceId} lost its liveness lease for space "${this.space}": ${proof} - shutting down THIS instance (its serving only; siblings keep the space)`);
1448
- if (this.leaseTimer)
1449
- clearInterval(this.leaseTimer);
1450
- // DETACH rather than tear down — but ONLY from the active state. A cut that has committed and
1451
- // not finalized still has an inventory the successor will replay, and children left running
1452
- // would be spawned a SECOND time under the same identities; that window keeps the retained stop
1453
- // (which stops the child but does not deprovision it). Do NOT release the lease key (it may
1454
- // belong to the replacement holder). Best-effort, like ep/attach.
1455
- try {
1456
- if (this.maintenanceState === "active" && !this.resumeRequired)
1457
- this.detachManagedAgents(`lease loss: ${proof}`);
1458
- else
1459
- await this.stopRetainedAgentsOnExit();
1460
- }
1461
- catch { /* best effort */ }
1462
- await this.stopServiceServe();
1463
- await this.stopGoalWriter();
1464
- await this.stopSessionPlane();
1465
- try {
1466
- await this.ep.stop();
1467
- }
1468
- catch { /* best effort */ }
1469
- try {
1470
- await this.attach.stop();
1471
- }
1472
- catch { /* best effort */ }
1473
- process.exit(1);
1474
- }
1475
1393
  async opFinalizeResume(rawArgs) {
1476
1394
  {
1477
1395
  let args;