instar 1.3.559 → 1.3.560
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +40 -4
- package/dist/commands/server.js.map +1 -1
- package/dist/core/WorkEvidence.d.ts +13 -0
- package/dist/core/WorkEvidence.d.ts.map +1 -1
- package/dist/core/WorkEvidence.js +13 -0
- package/dist/core/WorkEvidence.js.map +1 -1
- package/dist/monitoring/ResumeQueueDrainer.d.ts +9 -0
- package/dist/monitoring/ResumeQueueDrainer.d.ts.map +1 -1
- package/dist/monitoring/ResumeQueueDrainer.js +14 -0
- package/dist/monitoring/ResumeQueueDrainer.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.560.md +57 -0
- package/upgrades/side-effects/resume-idle-autonomous-on-reap.md +146 -0
|
@@ -22,6 +22,19 @@
|
|
|
22
22
|
export declare const STRONG_WORK_EVIDENCE: readonly ["build-or-autonomous-active", "active-subagent", "pending-injection", "open-commitment", "structural-long-work", "uncommitted-worktree-work"];
|
|
23
23
|
export declare const WEAK_WORK_EVIDENCE: readonly ["active-process", "main-process-active", "recent-user-message", "relay-lease"];
|
|
24
24
|
export declare const MARKER_WORK_EVIDENCE: readonly ["unverified-under-pressure"];
|
|
25
|
+
/**
|
|
26
|
+
* The reap-reason tag for an age-limit recycle whose topic still has an ACTIVE
|
|
27
|
+
* autonomous run (spec: docs/specs/resume-idle-autonomous-on-reap.md). An
|
|
28
|
+
* age-limit reap fires precisely when an autonomous session is idle between
|
|
29
|
+
* turns, so its process-based work evidence is empty by construction — yet the
|
|
30
|
+
* run is genuinely in-flight in the topic's autonomous-run state file. The
|
|
31
|
+
* sessionReaped wiring supplies the TRUE missing signal (`build-or-autonomous-active`)
|
|
32
|
+
* from the one vantage that can observe the run (the topic id + the state file)
|
|
33
|
+
* and tags the candidate's reason with this constant. The drainer reads the tag
|
|
34
|
+
* to perform the drain-time liveness re-check. The natural home for this
|
|
35
|
+
* evidence-vocabulary string is here (imported by server.ts + ResumeQueueDrainer.ts).
|
|
36
|
+
*/
|
|
37
|
+
export declare const AGE_LIMIT_ACTIVE_RUN_REASON = "age-limit (active autonomous run)";
|
|
25
38
|
export type StrongWorkEvidence = (typeof STRONG_WORK_EVIDENCE)[number];
|
|
26
39
|
export type WeakWorkEvidence = (typeof WEAK_WORK_EVIDENCE)[number];
|
|
27
40
|
export type MarkerWorkEvidence = (typeof MARKER_WORK_EVIDENCE)[number];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkEvidence.d.ts","sourceRoot":"","sources":["../../src/core/WorkEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,oBAAoB,yJAavB,CAAC;AAEX,eAAO,MAAM,kBAAkB,0FAKrB,CAAC;AAEX,eAAO,MAAM,oBAAoB,wCAAyC,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAY1F;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAYpE;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE9D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAE9E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAI1F"}
|
|
1
|
+
{"version":3,"file":"WorkEvidence.d.ts","sourceRoot":"","sources":["../../src/core/WorkEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,eAAO,MAAM,oBAAoB,yJAavB,CAAC;AAEX,eAAO,MAAM,kBAAkB,0FAKrB,CAAC;AAEX,eAAO,MAAM,oBAAoB,wCAAyC,CAAC;AAE3E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,sCAAsC,CAAC;AAE/E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAY1F;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAYpE;AAED,gDAAgD;AAChD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE9D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAE9E;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAI1F"}
|
|
@@ -40,6 +40,19 @@ export const WEAK_WORK_EVIDENCE = [
|
|
|
40
40
|
'relay-lease',
|
|
41
41
|
];
|
|
42
42
|
export const MARKER_WORK_EVIDENCE = ['unverified-under-pressure'];
|
|
43
|
+
/**
|
|
44
|
+
* The reap-reason tag for an age-limit recycle whose topic still has an ACTIVE
|
|
45
|
+
* autonomous run (spec: docs/specs/resume-idle-autonomous-on-reap.md). An
|
|
46
|
+
* age-limit reap fires precisely when an autonomous session is idle between
|
|
47
|
+
* turns, so its process-based work evidence is empty by construction — yet the
|
|
48
|
+
* run is genuinely in-flight in the topic's autonomous-run state file. The
|
|
49
|
+
* sessionReaped wiring supplies the TRUE missing signal (`build-or-autonomous-active`)
|
|
50
|
+
* from the one vantage that can observe the run (the topic id + the state file)
|
|
51
|
+
* and tags the candidate's reason with this constant. The drainer reads the tag
|
|
52
|
+
* to perform the drain-time liveness re-check. The natural home for this
|
|
53
|
+
* evidence-vocabulary string is here (imported by server.ts + ResumeQueueDrainer.ts).
|
|
54
|
+
*/
|
|
55
|
+
export const AGE_LIMIT_ACTIVE_RUN_REASON = 'age-limit (active autonomous run)';
|
|
43
56
|
const ALL_EVIDENCE = new Set([
|
|
44
57
|
...STRONG_WORK_EVIDENCE,
|
|
45
58
|
...WEAK_WORK_EVIDENCE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkEvidence.js","sourceRoot":"","sources":["../../src/core/WorkEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,4BAA4B;IAC5B,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,sBAAsB;IACtB,8EAA8E;IAC9E,oEAAoE;IACpE,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,iFAAiF;IACjF,2BAA2B;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,gBAAgB;IAChB,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,2BAA2B,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkEvidence.js","sourceRoot":"","sources":["../../src/core/WorkEvidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,4BAA4B;IAC5B,iBAAiB;IACjB,mBAAmB;IACnB,iBAAiB;IACjB,sBAAsB;IACtB,8EAA8E;IAC9E,oEAAoE;IACpE,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,iFAAiF;IACjF,2BAA2B;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,gBAAgB;IAChB,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,2BAA2B,CAAU,CAAC;AAE3E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAO/E,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,GAAG,oBAAoB;IACvB,GAAG,kBAAkB;IACrB,GAAG,oBAAoB;CACxB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACtE,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClE,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACnC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,GAAG,CAAC,IAAI,CAAC,CAAqB,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,SAAS,CAAC,QAA2B;IACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAA2B;IACxD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA2B;IACtD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAyB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAA2B,EAAE,UAAmB;IAC/E,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -56,6 +56,15 @@ export interface ResumeQueueDrainerDeps {
|
|
|
56
56
|
topicBindingMatches: (topicId: number, cwd: string) => boolean;
|
|
57
57
|
/** An operator stop instruction recorded for the topic since the entry queued. */
|
|
58
58
|
operatorStopSince: (topicId: number, sinceIso: string) => boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Resume-idle-autonomous fix (spec: resume-idle-autonomous-on-reap.md):
|
|
61
|
+
* OPTIONAL drain-time liveness re-check for an entry admitted because its topic
|
|
62
|
+
* had an active autonomous run at age-limit-reap time. Returns `false` when the
|
|
63
|
+
* run is NO LONGER active (completed OR its window elapsed between enqueue and
|
|
64
|
+
* drain) → the entry invalidates `autonomous-run-finished`, never a spawn.
|
|
65
|
+
* Absent (undefined) ⇒ today's behavior (no extra check) — back-compat.
|
|
66
|
+
*/
|
|
67
|
+
autonomousRunFinished?: (topicId: number, reason: string) => boolean;
|
|
59
68
|
/** Jobs: exists, not disabled, not CrashLoopPauser-paused, not run since queuedAt. */
|
|
60
69
|
jobCheck: (slug: string, queuedAtIso: string) => {
|
|
61
70
|
ok: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResumeQueueDrainer.d.ts","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ResumeQueueDrainer.d.ts","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
* `would-resume` (once per entry) and nothing spawns; TTL expiries do not
|
|
39
39
|
* raise attention (a fleet of observe-only queues must not page anyone).
|
|
40
40
|
*/
|
|
41
|
+
import { AGE_LIMIT_ACTIVE_RUN_REASON } from '../core/WorkEvidence.js';
|
|
41
42
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
42
43
|
const JOB_SLUG_RE = /^[a-z0-9-]+$/;
|
|
43
44
|
const PRIORITY_CLASSES = new Set(['interactive', 'job', 'other']);
|
|
@@ -342,6 +343,19 @@ export class ResumeQueueDrainer {
|
|
|
342
343
|
return 'binding-mismatch';
|
|
343
344
|
if (this.safeBool(() => this.deps.operatorStopSince(topicId, sinceIso), true))
|
|
344
345
|
return 'operator-stop';
|
|
346
|
+
// Resume-idle-autonomous fix (spec: resume-idle-autonomous-on-reap.md): for an
|
|
347
|
+
// entry admitted via the age-limit-active-run path, re-verify the run is STILL
|
|
348
|
+
// live immediately before the spawn. If it completed or its window elapsed since
|
|
349
|
+
// enqueue, invalidate (never a spawn) — closing the window-elapsed/completed-by-
|
|
350
|
+
// drain subset of the stale-marker residual structurally, without spending a
|
|
351
|
+
// resurrection slot to discover it. A throwing/absent dep resolves to the SAFE
|
|
352
|
+
// side (NOT finished ⇒ no extra invalidation) so this is strictly additive: it
|
|
353
|
+
// can only ADD an invalidation, never wrongly drop a legitimate revival.
|
|
354
|
+
if (entry.reason === AGE_LIMIT_ACTIVE_RUN_REASON &&
|
|
355
|
+
this.deps.autonomousRunFinished &&
|
|
356
|
+
this.safeBool(() => this.deps.autonomousRunFinished(topicId, entry.reason), false)) {
|
|
357
|
+
return 'autonomous-run-finished';
|
|
358
|
+
}
|
|
345
359
|
}
|
|
346
360
|
else if (entry.jobSlug) {
|
|
347
361
|
const check = this.safeVal(() => this.deps.jobCheck(entry.jobSlug, sinceIso), { ok: false, why: 'job-check-failed' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResumeQueueDrainer.js","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAIH,MAAM,OAAO,GAAG,iEAAiE,CAAC;AAClF,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AA6DlE,MAAM,CAAC,MAAM,6BAA6B,GAA6B;IACrE,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,CAAC;IACpB,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,EAAE;IACtB,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,CAAC,GAAG,MAAM;IAC5B,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACZ,IAAI,CAAyB;IAC7B,GAAG,CAA2B;IAC9B,GAAG,CAAe;IAC3B,KAAK,GAA0B,IAAI,CAAC;IACpC,OAAO,GAAG,KAAK,CAAC;IAChB,SAAS,GAAG,CAAC,CAAC;IACd,mBAAmB,GAAG,CAAC,CAAC;IACxB,gBAAgB,GAAG,CAAC,CAAC;IACrB,aAAa,GAAG,EAAE,CAAC;IAC3B,sDAAsD;IAC9C,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAE1C,YAAY,IAA4B,EAAE,GAAuC;QAC/E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,6BAA6B,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqJ,CAAC,CAAC,CAAC;QACtL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM;QAOJ,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB;YAC/C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAC3G,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,aAAa;SAC/B,CAAC;IACJ,CAAC;IAEO,aAAa,GAAkB,IAAI,CAAC;IAE5C;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,IAAkC;QAK3C,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,KAAK,CAAC,SAAS,EAAE,CAAC;YAElB,IAAI,KAAK,CAAC,UAAU,EAAE;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC7E,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAEnE,qCAAqC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,IAAI,KAAK,QAAQ;gBAAE,IAAI,CAAC,SAAS,EAAE,CAAC;;gBACnC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAExB,kEAAkE;YAClE,sEAAsE;YACtE,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,eAAe,CACvB,aAAa,EACb,GAAG,OAAO,CAAC,MAAM,+DAA+D;oBAChF,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,oDAAoD,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,oEAAoE,CACrE,CAAC;YACJ,CAAC;YAED,0BAA0B;YAC1B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YACrD,CAAC;YAED,0CAA0C;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC,CAAC;YAC1D,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBACnF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3C,CAAC;YACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YAC1B,CAAC;YAED,0EAA0E;YAC1E,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,KAAK;iBACpB,cAAc,EAAE;iBAChB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAE5D,yEAAyE;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBAC5D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,kBAAkB,OAAO,GAAG,CAAC,CAAC;gBAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5C,CAAC;YAED,mFAAmF;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,eAAe,OAAO,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC1E,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;YAC5C,CAAC;YAED,sEAAsE;YACtE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACd,KAAK,EAAE,eAAe;oBACtB,EAAE,EAAE,SAAS,CAAC,EAAE;oBAChB,WAAW,EAAE,OAAO,CAAC,IAAI;oBACzB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpG,CAAC,CAAC;YACL,CAAC;YAED,4EAA4E;YAC5E,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC1C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACrC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7G,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAChD,CAAC;YAED,oCAAoC;YACpC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;YACtE,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;oBAC9B,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5F,CAAC;qBAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBAC7D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzB,aAAa,GAAG,6BAA6B,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBACN,WAAW,GAAG,EAAE,CAAC,CAAC,wDAAwD;oBAC5E,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,uEAAuE;oBACvE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC;oBAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnE,CAAC;YAED,wEAAwE;YACxE,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,WAAW,KAAK,IAAI,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;gBACjD,QAAQ,GAAG,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC1E,IAAI,CAAC,QAAQ,IAAI,WAAW,KAAK,EAAE;oBAAE,aAAa,GAAG,uCAAuC,CAAC;YAC/F,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAC5C,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC;oBACH,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;gBAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;gBACvD,2EAA2E;gBAC3E,2EAA2E;gBAC3E,+EAA+E;gBAC/E,6EAA6E;gBAC7E,+EAA+E;gBAC/E,2EAA2E;gBAC3E,6EAA6E;gBAC7E,6DAA6D;gBAC7D,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC;wBAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBACjD,MAAM,CAAC,CAAC,gLAAgL,CAAC,CAAC;gBAC5L,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7G,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAED,yBAAyB;YACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACrE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAC9G,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;gBAC3E,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE;oBACvC,QAAQ;oBACR,aAAa,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE;iBAC5D,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,CAAC;gBAC1E,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACpG,IAAI,CAAC,IAAI,CAAC,eAAe,CACvB,SAAS,EACT,iCAAiC,IAAI,CAAC,GAAG,CAAC,gBAAgB,uCAAuC;oBACjG,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,+DAA+D,CAClG,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,UAAU,CAAC,CAAC,sCAAsC;QAC3D,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,aAAsB;QACtC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,YAAY,CAAC;QACvF,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBAAE,OAAO,OAAO,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;YACtE,8DAA8D;YAC9D,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBAAE,OAAO,aAAa,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAAE,OAAO,qBAAqB,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAC1E,kBAAkB,CAAC,KAAuB;QAChD,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,OAAO,mBAAmB,CAAC;QACpF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;YAAE,OAAO,oBAAoB,CAAC;QAC5E,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,iBAAiB,CAAC;QAChF,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;YAAE,OAAO,eAAe,CAAC;QACvD,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC;YACpF,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iFAAiF;IACzE,eAAe,CAAC,KAAuB;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,uDAAuD;QACxF,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;gBAAE,OAAO,qBAAqB,CAAC;YACpG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,YAAqB,CAAC,CAAC;YAChG,IAAI,OAAO,KAAK,YAAY;gBAAE,OAAO,uBAAuB,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,OAAO;gBAAE,OAAO,mBAAmB,CAAC;YACvE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;gBAAE,OAAO,uBAAuB,CAAC;YACtG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;gBAAE,OAAO,kBAAkB,CAAC;YAC9G,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC;gBAAE,OAAO,eAAe,CAAC;QACxG,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACvH,IAAI,CAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,KAAK,CAAC,GAAG,IAAI,aAAa,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC;QACvF,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACjG,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACjE,QAAQ,CAAC,EAAiB,EAAE,QAAiB;QACnD,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,wEAAwE;YACxE,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,OAAO,CAAO,EAAW,EAAE,QAAW;QAC5C,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,iEAAiE;YACjE,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,WAAmB;QAC1C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,yEAAyE;YACzE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,KAAuB;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAI,GACR,gGAAgG;YAChG,qFAAqF;YACrF,KAAK,MAAM,0CAA0C,QAAQ,IAAI,iBAAiB,IAAI;YACtF,iGAAiG;YACjG,uEAAuE,CAAC;QAC1E,8EAA8E;QAC9E,0EAA0E;QAC1E,4EAA4E;QAC5E,mCAAmC;QACnC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;YAC7D,IAAI,SAAS,GACX,uFAAuF;gBACvF,oFAAoF;gBACpF,4DAA4D,CAAC;YAC/D,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;gBAC9D,SAAS;oBACP,yFAAyF;wBACzF,kDAAkD,CAAC;YACvD,CAAC;YACD,OAAO,GAAG,SAAS,OAAO,IAAI,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,KAAuB;QAEvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,KAAK,CAAC;gBAC5B,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAC5B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACpE,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU;wBAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAC/C,CAAC,CAAC;aACH,CAAC,CAAC;YACH,IAAI,OAAO,IAAI,IAAI;gBAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC7C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAuB,EAAE,GAAW;QAC1D,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAAE,OAAO;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,CACvB,aAAa,EACb,uBAAuB,KAAK,CAAC,WAAW,iBAAiB,GAAG,uCAAuC,CACpG,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,KAAuB,EAAE,GAAW,EAAE,MAAc;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAAE,OAAO;QACvC,IAAI,CAAC,IAAI,CAAC,eAAe,CACvB,SAAS,EACT,qBAAqB,KAAK,CAAC,WAAW,UAAU,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;YACtF,4DAA4D,CAC7D,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"ResumeQueueDrainer.js","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-14T09:02:12.574Z",
|
|
5
|
+
"instarVersion": "1.3.560",
|
|
6
6
|
"entryCount": 201,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
PR #1155 fixed the misleading NOTICE for an age-limit recycle of an active
|
|
9
|
+
autonomous run ("recycled, no work lost, I'll pick it back up on my next turn").
|
|
10
|
+
This change closes the behavioral gap behind that notice: the run now actually
|
|
11
|
+
comes back on its own, instead of waiting for the next message.
|
|
12
|
+
|
|
13
|
+
A long autonomous run periodically hits its per-session lifetime cap and gets
|
|
14
|
+
recycled. That age-limit reap fires precisely when the session is IDLE between
|
|
15
|
+
turns — so the Mid-Work Resume Queue saw no in-flight work evidence and never
|
|
16
|
+
queued the run for revival. If the operator was away, the run sat dead until they
|
|
17
|
+
sent a message. Now, when an age-limit reap targets a topic that still has an
|
|
18
|
+
ACTIVE autonomous run, the live run itself counts as the work evidence: the reap
|
|
19
|
+
is admitted to the resume queue and revived through the SAME one-at-a-time,
|
|
20
|
+
quota-gated, resurrection-capped machinery as any other revival.
|
|
21
|
+
|
|
22
|
+
It stays safe by construction: a double-spawn is caught by the existing
|
|
23
|
+
live-session / resume-uuid drain-time checks (a message-revive that beat the queue
|
|
24
|
+
wins, ZERO second spawn); a run that keeps getting reaped-and-revived hits the
|
|
25
|
+
resurrection cap and gives up loudly with one aggregated notice; a run that has
|
|
26
|
+
since finished (or whose window elapsed) is invalidated at drain time, never
|
|
27
|
+
re-spawned. The resume queue runs LIVE on a development agent and stays
|
|
28
|
+
observe-only on the fleet.
|
|
29
|
+
|
|
30
|
+
## What to Tell Your User
|
|
31
|
+
|
|
32
|
+
If you kick off a long autonomous run and walk away: when the session hits its
|
|
33
|
+
per-session lifetime cap and gets recycled, the run now revives itself
|
|
34
|
+
automatically instead of sitting idle until you next message it. You no longer
|
|
35
|
+
have to send a "you still there?" nudge to wake a recycled run back up. Nothing
|
|
36
|
+
double-runs, and a run that has genuinely finished is left alone.
|
|
37
|
+
|
|
38
|
+
## Summary of New Capabilities
|
|
39
|
+
|
|
40
|
+
- An age-limit recycle of a topic with an active autonomous run is now admitted to
|
|
41
|
+
the Mid-Work Resume Queue and auto-revived (the live run is the evidence).
|
|
42
|
+
- A drain-time liveness re-check invalidates an entry whose run finished or whose
|
|
43
|
+
window elapsed between enqueue and drain (never a wasted respawn).
|
|
44
|
+
- The resume queue resolves live-on-dev (dryRun:false) / observe-only-on-fleet,
|
|
45
|
+
with an explicit operator override still winning.
|
|
46
|
+
|
|
47
|
+
## Evidence
|
|
48
|
+
|
|
49
|
+
- `tests/unit/resume-idle-autonomous.test.ts` — admission both sides, guard
|
|
50
|
+
short-circuit (non-age-limit / null-topic / fail-open), dryRun-gate resolution
|
|
51
|
+
(dev/fleet/explicit), drain-time re-check both sides + back-compat + throwing-dep.
|
|
52
|
+
- `tests/integration/resume-idle-autonomous-wiring.test.ts` — real-helper
|
|
53
|
+
delegation, double-spawn lens (live-session + uuid-stale), lease lens,
|
|
54
|
+
revival-loop lens (resurrection cap fires exactly once).
|
|
55
|
+
- `tests/e2e/resume-idle-autonomous-lifecycle.test.ts` — feature alive on dev
|
|
56
|
+
(dryRun:false), enters-and-revives-once + no double spawn, fleet observe-only.
|
|
57
|
+
- `npx tsc --noEmit` clean; lint clean; docs-coverage check passed.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Side-Effects Review — Resume an idle autonomous run after an age-limit reap
|
|
2
|
+
|
|
3
|
+
**Slug:** `resume-idle-autonomous-on-reap`
|
|
4
|
+
**Date:** `2026-06-14`
|
|
5
|
+
**Author:** `echo`
|
|
6
|
+
**Spec:** `docs/specs/resume-idle-autonomous-on-reap.md` (converged + approved)
|
|
7
|
+
**ELI16 companion:** `docs/specs/resume-idle-autonomous-on-reap.eli16.md`
|
|
8
|
+
**Second-pass reviewer:** required (this change makes the resume queue produce
|
|
9
|
+
REAL respawns on a dev agent — a Guard/authority surface). Reviewer concurred.
|
|
10
|
+
|
|
11
|
+
## Summary of the change
|
|
12
|
+
|
|
13
|
+
The Mid-Work Resume Queue revives a reaped session only when the reap carried
|
|
14
|
+
mid-work evidence. An **age-limit** reap fires precisely when an autonomous
|
|
15
|
+
session is IDLE between turns (the idle gate requires an idle prompt + no
|
|
16
|
+
non-baseline child processes), so its work evidence is empty by construction —
|
|
17
|
+
and the run is never queued for revival. An away-operator's autonomous run then
|
|
18
|
+
sits dead until the next inbound message.
|
|
19
|
+
|
|
20
|
+
The fix: when an `age-limit` reap targets a topic that still has an ACTIVE
|
|
21
|
+
autonomous run (`autonomousRunRemainingForTopic(stateDir, topicId) != null`),
|
|
22
|
+
the `sessionReaped` wiring appends the TRUE `build-or-autonomous-active` strong
|
|
23
|
+
signal to the candidate's evidence and tags the reason
|
|
24
|
+
`age-limit (active autonomous run)`. The entry then flows through the EXISTING
|
|
25
|
+
one-at-a-time, quota-gated, resurrection-capped, lease-gated machinery — no new
|
|
26
|
+
respawn path. A drain-time liveness re-check invalidates the entry
|
|
27
|
+
(`autonomous-run-finished`, never a spawn) if the run finished or its window
|
|
28
|
+
elapsed between enqueue and drain. The resume queue resolves **live-on-dev**
|
|
29
|
+
(`dryRun:false`) and stays observe-only on the fleet.
|
|
30
|
+
|
|
31
|
+
Files touched:
|
|
32
|
+
|
|
33
|
+
- `src/core/WorkEvidence.ts` — new exported constant
|
|
34
|
+
`AGE_LIMIT_ACTIVE_RUN_REASON = 'age-limit (active autonomous run)'` (the
|
|
35
|
+
evidence-vocabulary home; imported by server.ts + ResumeQueueDrainer.ts).
|
|
36
|
+
- `src/commands/server.ts` —
|
|
37
|
+
(1) the resume-queue `dryRun` config resolves
|
|
38
|
+
`rqCfg.dryRun ?? !resolveDevAgentGate(undefined, config)` (live-on-dev) at the
|
|
39
|
+
single consumption site (config + boot log line);
|
|
40
|
+
(2) the `sessionReaped` candidate construction appends
|
|
41
|
+
`build-or-autonomous-active` + the reason tag when `reason === 'age-limit'` &&
|
|
42
|
+
`topicId != null` && `autonomousRunRemainingForTopic(...) != null` (inside the
|
|
43
|
+
existing enqueue try/catch);
|
|
44
|
+
(3) the ResumeQueueDrainer deps gain `autonomousRunFinished: (topicId) =>
|
|
45
|
+
autonomousRunRemainingForTopic(config.stateDir, topicId) == null`.
|
|
46
|
+
- `src/monitoring/ResumeQueueDrainer.ts` — new OPTIONAL injected dep
|
|
47
|
+
`autonomousRunFinished?: (topicId, reason) => boolean` + a `validateReality`
|
|
48
|
+
re-check that returns `autonomous-run-finished` for an entry tagged with the
|
|
49
|
+
age-limit-active-run reason whose run is no longer active. Absent dep ⇒ today's
|
|
50
|
+
behavior (back-compat).
|
|
51
|
+
- `tests/unit/resume-idle-autonomous.test.ts` — new (15 tests): admission both
|
|
52
|
+
sides, guard short-circuit, fail-open, dryRun-gate resolution (dev/fleet/explicit),
|
|
53
|
+
drain-time re-check both sides + back-compat + throwing-dep.
|
|
54
|
+
- `tests/integration/resume-idle-autonomous-wiring.test.ts` — new (8 tests):
|
|
55
|
+
wiring integrity (real helper delegation), double-spawn lens (live-session +
|
|
56
|
+
uuid-stale), lease lens, revival-loop lens (resurrection cap fires once).
|
|
57
|
+
- `tests/e2e/resume-idle-autonomous-lifecycle.test.ts` — new (4 tests): feature
|
|
58
|
+
is alive on dev (dryRun:false through the real AgentServer), enters-and-revives-
|
|
59
|
+
once + no double spawn, fleet observe-only (dryRun:true, would-resume, no spawn).
|
|
60
|
+
|
|
61
|
+
## Decision-point inventory
|
|
62
|
+
|
|
63
|
+
- **`sessionReaped` candidate construction (server.ts)** — **modify** — the
|
|
64
|
+
wiring layer that OFFERS a reap to the queue. The fix adds a TRUE evidence
|
|
65
|
+
signal at a SECOND origination site DOWNSTREAM of the SessionManager chokepoint;
|
|
66
|
+
`considerEnqueue` re-clamps via `clampWorkEvidence` and the token is a valid
|
|
67
|
+
`STRONG_WORK_EVIDENCE` member, so the enum invariant holds. Authority unchanged:
|
|
68
|
+
the queue's eligibility/cap/lease gates still decide.
|
|
69
|
+
- **`ResumeQueueDrainer.validateReality`** — **modify** — adds one reality check
|
|
70
|
+
(a detector). Strictly additive: it can only ADD an invalidation, never wrongly
|
|
71
|
+
drop a legitimate revival (a throwing/absent dep resolves to NOT-finished, the
|
|
72
|
+
SAFE side).
|
|
73
|
+
- **resume-queue `dryRun` resolution** — **modify** — flips the queue from
|
|
74
|
+
observe-only to LIVE on a dev agent. This is the authority change (real respawns
|
|
75
|
+
+ real quota spend on Echo). An explicit operator `monitoring.resumeQueue.dryRun`
|
|
76
|
+
still wins; the keys stay CODE-defaulted (no ConfigDefaults write) so the fleet
|
|
77
|
+
flip is preserved.
|
|
78
|
+
- **`AGE_LIMIT_ACTIVE_RUN_REASON`** — **new** — a code-internal string constant;
|
|
79
|
+
no external/published surface; reversible by changing one string.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 1. Over-block (a gate refuses legitimate work)
|
|
84
|
+
|
|
85
|
+
The drain-time re-check can only ADD an `autonomous-run-finished` invalidation,
|
|
86
|
+
and only for an entry whose run genuinely returned `null` (completed or window
|
|
87
|
+
elapsed) — exactly the case the spec wants NOT revived. A throwing/absent
|
|
88
|
+
`autonomousRunFinished` resolves to NOT-finished, so a transient state-read error
|
|
89
|
+
never blocks a legitimate revival. No over-block on the kill path: the augmentation
|
|
90
|
+
sits inside the existing enqueue try/catch and a throw fails toward no-injection
|
|
91
|
+
(status-quo no-revive), never toward endangering the reap.
|
|
92
|
+
|
|
93
|
+
## 2. Under-block (a gate lets through what it should stop)
|
|
94
|
+
|
|
95
|
+
Double-spawn is the #1 lens: an age-limit entry is an ordinary topic-bound entry
|
|
96
|
+
once admitted, so `validateReality`'s `live-session-exists` + `resume-uuid-stale`
|
|
97
|
+
catches catch a message-revive that happened between enqueue and drain (named
|
|
98
|
+
tests in the integration tier — both ZERO respawn). The resurrection cap reads
|
|
99
|
+
`tombstoneFor(stableKey)` (derived purely from topicId), never `workEvidence`, so
|
|
100
|
+
the injected evidence CANNOT reset or evade the cap (named test). Only the literal
|
|
101
|
+
`age-limit` reason is augmented — watchdog-stuck/idle-zombie/context-wedge/AUP-wedge
|
|
102
|
+
and moved-topic reaps stay excluded.
|
|
103
|
+
|
|
104
|
+
## 3. Reversibility
|
|
105
|
+
|
|
106
|
+
`dryRun` flips back to observe-only by setting `monitoring.resumeQueue.dryRun: true`
|
|
107
|
+
(or via the fleet default). The reason tag + evidence injection is a one-string +
|
|
108
|
+
one-evidence-name change. The drainer dep is OPTIONAL — removing it restores prior
|
|
109
|
+
behavior. NOTE: flipping `dryRun` back does NOT un-spend quota already burned by a
|
|
110
|
+
respawn that already fired — see Frontloaded Decision D1 (classified NON-cheap,
|
|
111
|
+
accepted under the named live phase).
|
|
112
|
+
|
|
113
|
+
## 4. Blast radius / interactions
|
|
114
|
+
|
|
115
|
+
The augmentation runs ONLY on `age-limit` reaps (the cold-path
|
|
116
|
+
`autonomousRunRemainingForTopic` read is behind the `reason === 'age-limit'`
|
|
117
|
+
short-circuit), so every other reap pays zero added cost. It reads the LOCAL
|
|
118
|
+
autonomous-run state file (same vantage that admitted the entry). Coupling risk
|
|
119
|
+
(D2): if a future maintainer narrows `build-or-autonomous-active` to mean strictly
|
|
120
|
+
"a live child build process", this reuse silently breaks — flagged here.
|
|
121
|
+
|
|
122
|
+
## 5. Multi-machine (Phase-C) posture
|
|
123
|
+
|
|
124
|
+
Machine-local by design: the resume queue is per-machine (single-writer lock), the
|
|
125
|
+
age-limit reap is observed on the machine the session ran on, and only the
|
|
126
|
+
lease-holder drains it (`validateReality` returns `topic-owner-elsewhere` otherwise
|
|
127
|
+
— named test). A run MOVED to another machine reaches the queue as `topic moved …`
|
|
128
|
+
(already `eligible:false`), not `age-limit`, so it is never double-revived.
|
|
129
|
+
|
|
130
|
+
## 6. Migration parity
|
|
131
|
+
|
|
132
|
+
NONE required — and that is correct. The `dryRun` resolution is a CODE default read
|
|
133
|
+
at server boot, not a persisted `.instar/config.json` field, so existing agents pick
|
|
134
|
+
it up on their next restart after update. A `migrateConfig` entry would freeze
|
|
135
|
+
`dryRun` to disk and break the later fleet flip — the resume-queue keys must stay
|
|
136
|
+
un-frozen in ConfigDefaults. No CLAUDE.md template change (internal plumbing, no new
|
|
137
|
+
route or user-facing capability).
|
|
138
|
+
|
|
139
|
+
## 7. Signal vs. authority
|
|
140
|
+
|
|
141
|
+
The injected `build-or-autonomous-active` is a TRUE assertion about the world
|
|
142
|
+
(the run is genuinely in-flight per the un-elapsed state file), supplied from the
|
|
143
|
+
one vantage that can observe it — the opposite of lying to a classifier. The
|
|
144
|
+
drain-time re-check is a detector that feeds the existing invalidation authority;
|
|
145
|
+
it never spawns. The only authority change is the `dryRun` flip, which is bounded
|
|
146
|
+
by the existing one-at-a-time / calm-ticks / quota / lease / resurrection-cap gates.
|