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.
@@ -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;AAO3E,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"}
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":"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"}
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":"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"}
1
+ {"version":3,"file":"ResumeQueueDrainer.js","sourceRoot":"","sources":["../../src/monitoring/ResumeQueueDrainer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "1.3.559",
3
+ "version": "1.3.560",
4
4
  "description": "Coherence infrastructure for self-evolving AI agents — on the Claude Code or Codex subscription you already have.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "./builtin-manifest.schema.json",
3
3
  "schemaVersion": 1,
4
- "generatedAt": "2026-06-14T07:47:35.286Z",
5
- "instarVersion": "1.3.559",
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.