@miller-tech/uap 1.161.24 → 1.162.1

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.
@@ -69,6 +69,7 @@ export interface EpicControllerConfig {
69
69
  attempt: number;
70
70
  priorSummaries: string[];
71
71
  lastFailure?: string;
72
+ contract?: string;
72
73
  }) => Promise<EpicRunResult>;
73
74
  /**
74
75
  * Confirm an epic actually meets its acceptance criteria (gate/judge). When
@@ -76,6 +77,21 @@ export interface EpicControllerConfig {
76
77
  * treated as "not accepted" so the controller retries rather than wedging.
77
78
  */
78
79
  checkAcceptance?: (epic: Epic, result: EpicRunResult) => boolean | Promise<boolean>;
80
+ /**
81
+ * P1 contract-first: return the frozen shared contract (module APIs, the
82
+ * CONFIG shape, event names, the verify contract) that ALL epics must conform
83
+ * to — VERBATIM, not a lossy summary. Injected into every epic's ctx.contract
84
+ * so fresh-context epics agree on ONE contract instead of each re-inventing it
85
+ * (the octopus CONFIG/`Audio` divergence). Null until it exists. Fail-soft.
86
+ */
87
+ readContract?: () => string | null;
88
+ /**
89
+ * P1 contract-lint: after an epic delivers AND passes acceptance, verify its
90
+ * output CONFORMS to the shared contract. A NON-EMPTY violations list fails
91
+ * the epic so it re-runs with the violations fed back — catching divergence at
92
+ * the epic boundary. Fail-soft: a throw is treated as no violations.
93
+ */
94
+ contractLint?: (epic: Epic, result: EpicRunResult, contract: string) => string[] | Promise<string[]>;
79
95
  /** Max fresh-session attempts per epic before it is declared failed. Default 3. */
80
96
  maxAttemptsPerEpic?: number;
81
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"epic-controller.d.ts","sourceRoot":"","sources":["../../src/delivery/epic-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD;sEACsE;AACtE,MAAM,MAAM,IAAI,GAAG,aAAa,CAAC;AAEjC,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;6EACyE;IACzE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B;gEAC4D;IAC5D,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;;;OAKG;IACH,OAAO,EAAE,CACP,IAAI,EAAE,IAAI,EACV,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KACrE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACpF,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACpD;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9E;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/F;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;;;;;;;OAOG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAID;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA0N1F"}
1
+ {"version":3,"file":"epic-controller.d.ts","sourceRoot":"","sources":["../../src/delivery/epic-controller.ts"],"names":[],"mappings":"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"}
@@ -103,10 +103,21 @@ export async function runEpics(config) {
103
103
  while (attempts < maxAttempts && !accepted) {
104
104
  attempts++;
105
105
  process.env.UAP_EPIC_PRIOR_CHANGES = priorEpicChanged || anyAttemptChanged ? '1' : '0';
106
+ // P1: carry the frozen shared contract VERBATIM into the fresh session so
107
+ // this epic conforms to the same module APIs / CONFIG shape as the others.
108
+ // Fail-soft like every other injected seam.
109
+ let contract;
110
+ try {
111
+ contract = config.readContract?.() ?? undefined;
112
+ }
113
+ catch {
114
+ contract = undefined;
115
+ }
106
116
  const result = await config.runEpic(epic, {
107
117
  attempt: attempts,
108
118
  priorSummaries: [...priorSummaries],
109
119
  lastFailure,
120
+ contract,
110
121
  });
111
122
  if (result.changedTree)
112
123
  anyAttemptChanged = true;
@@ -123,6 +134,21 @@ export async function runEpics(config) {
123
134
  ok = false; // fail-soft: unverifiable ⇒ not accepted ⇒ retry
124
135
  }
125
136
  }
137
+ // P1 contract-lint: even an accepted epic must CONFORM to the shared
138
+ // contract, or the assembled whole won't integrate. Violations fail
139
+ // the epic so it re-runs against the contract.
140
+ if (ok && contract && config.contractLint) {
141
+ try {
142
+ const violations = await config.contractLint(epic, result, contract);
143
+ if (violations.length > 0) {
144
+ ok = false;
145
+ result.summary += ` [contract violations: ${violations.slice(0, 5).join('; ')}]`;
146
+ }
147
+ }
148
+ catch {
149
+ /* fail-soft: a broken linter never blocks a real delivery */
150
+ }
151
+ }
126
152
  accepted = ok;
127
153
  }
128
154
  if (!accepted) {
@@ -1 +1 @@
1
- {"version":3,"file":"epic-controller.js","sourceRoot":"","sources":["../../src/delivery/epic-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epic-controller.js","sourceRoot":"","sources":["../../src/delivery/epic-controller.ts"],"names":[],"mappings":"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"}
@@ -105,6 +105,14 @@ export interface EpicMissionDeps {
105
105
  }) => void;
106
106
  /** Currently locked contract files (read view, refreshed per use). */
107
107
  lockedContracts: () => string[];
108
+ /**
109
+ * P1: read the CONTENTS of the currently-locked contract files, concatenated,
110
+ * for verbatim injection into every later epic's prompt. The existing
111
+ * mechanism only names the locked paths and relies on the model to read them;
112
+ * injecting the actual signatures is what stops fresh-context epics from
113
+ * re-inventing a divergent CONFIG shape / module API. Null when none locked.
114
+ */
115
+ readContractFiles?: () => string | null;
108
116
  /** Lock an accepted contracts epic's files; returns what was newly locked. */
109
117
  lockContracts: (files: string[]) => string[];
110
118
  /** Epic-controller tuning (caller resolves env). */
@@ -1 +1 @@
1
- {"version":3,"file":"epic-mission.d.ts","sourceRoot":"","sources":["../../src/delivery/epic-mission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epic-mission.d.ts","sourceRoot":"","sources":["../../src/delivery/epic-mission.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB;+EAC2E;IAC3E,SAAS,EAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1C;kFAC8E;IAC9E,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACzD;;;;OAIG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1D,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B;sEACkE;IAClE,eAAe,EAAE,CACf,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,EAAE,EACrB,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,sEAAsE;IACtE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;;;;;OAKG;IACH,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7F,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACjE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACnF,yEAAyE;IACzE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;IACpF,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC;gFAC4E;IAC5E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAC/C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,sEAAsE;IACtE,eAAe,EAAE,MAAM,MAAM,EAAE,CAAC;IAChC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,8EAA8E;IAC9E,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7C,oDAAoD;IACpD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED;;;;;GAKG;AACH;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CA0CtF;AAED;;;;;;;;GAQG;AAEH,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA8RnF"}
@@ -160,6 +160,8 @@ export async function runEpicMission(deps) {
160
160
  initialPriorSummaries: deps.initialPriorSummaries,
161
161
  initialDone: deps.initialDone,
162
162
  onProgress: deps.persistCompleted,
163
+ // P1: carry the locked contract files' CONTENTS verbatim into every epic.
164
+ ...(deps.readContractFiles ? { readContract: deps.readContractFiles } : {}),
163
165
  // Re-decompose a failed epic into sub-epics. Fires on context-budget
164
166
  // exhaustion (rail auto-size) and, under splitOnAnyFailure, on any
165
167
  // exhausted-attempts failure (auto-escalation). Always provided so the
@@ -254,8 +256,15 @@ export async function runEpicMission(deps) {
254
256
  : fillsScaffold
255
257
  ? '\n\nThis is a FILL epic: the skeleton already exists with correct signatures. IMPLEMENT the stub bodies (todo!()/NotImplementedError/TODO throws) — do NOT change any existing signature, rename anything, or restructure modules. When you finish, no stub markers should remain in the files this epic fills.'
256
258
  : '';
259
+ // P1: inject the locked contracts VERBATIM (signatures, CONFIG shape) so a
260
+ // fresh-context epic builds against the EXACT shared surface rather than
261
+ // re-inventing a divergent one. Skipped for the contracts epic itself
262
+ // (it is authoring them) and capped so the prompt stays bounded.
263
+ const contractBody = !epic.contracts && ctx.contract
264
+ ? `\n\nSHARED CONTRACT — the locked contract files, VERBATIM. Build against these EXACT names, shapes and signatures; do NOT invent different ones:\n${ctx.contract.slice(0, 6000)}`
265
+ : '';
257
266
  const scoped = `OVERALL MISSION (context): ${deps.instruction.slice(0, 300)}\n\n` +
258
- `EPIC — ${epic.title}:\n${epic.goal}${priors}${retry}${contractsNote}${scaffoldNote}\n\n` +
267
+ `EPIC — ${epic.title}:\n${epic.goal}${priors}${retry}${contractsNote}${scaffoldNote}${contractBody}\n\n` +
259
268
  'Deliver ONLY this epic. All gates must pass at the end.';
260
269
  note(`▶ epic ${epic.id} (attempt ${ctx.attempt}): ${epic.title}`);
261
270
  // Grade the epic's DELIVERABLE, not the process prompt: the scoped
@@ -1 +1 @@
1
- {"version":3,"file":"epic-mission.js","sourceRoot":"","sources":["../../src/delivery/epic-mission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epic-mission.js","sourceRoot":"","sources":["../../src/delivery/epic-mission.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miller-tech/uap",
3
- "version": "1.161.24",
3
+ "version": "1.162.1",
4
4
  "description": "Autonomous AI agent memory system with CLAUDE.md protocol enforcement",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -73,8 +73,12 @@ def _autoroute_enabled() -> bool:
73
73
 
74
74
 
75
75
  def decide(out: dict, tool: str, args: dict, autoroute_on: bool, seen_files: set,
76
- replay_on: bool = True) -> dict:
77
- """Pure decision: what message to show, whether to spawn, and the intent."""
76
+ replay_on: bool = True, deliver_inflight: bool = False) -> dict:
77
+ """Pure decision: what message to show, whether to spawn, and the intent.
78
+
79
+ P0 single-flight: when `deliver_inflight` is true (a live, non-wedged
80
+ `uap deliver` already holds the project lock), never spawn a duplicate —
81
+ the intent is still recorded so the running mission can pick it up."""
78
82
  reason = out.get("reason", "")
79
83
  route = out.get("route")
80
84
  hint = out.get("deliverHint") or ""
@@ -161,12 +165,16 @@ def decide(out: dict, tool: str, args: dict, autoroute_on: bool, seen_files: set
161
165
  # fall back to the model-spawn autoroute (UAP_DELIVER_PENDING_REPLAY=off).
162
166
  unseen = bool(dedup_key and dedup_key not in seen_files)
163
167
  replay = bool(replayable and replay_on and unseen)
164
- spawn = bool(autoroute_on and not replay and hint and unseen)
168
+ # P0 single-flight: a live, non-wedged deliver already owns this project —
169
+ # do NOT spawn another (the pile-up of stuck duplicate runs came from here).
170
+ spawn = bool(autoroute_on and not replay and hint and unseen and not deliver_inflight)
165
171
  message = reason
166
172
  if replay:
167
173
  message = reason + " [intent recorded to .uap/pending-deliver.jsonl — auto-applying to disk via deterministic `uap deliver --pending` replay]"
168
174
  elif spawn:
169
175
  message = reason + " [auto-routed to `uap deliver` — running in the background]"
176
+ elif deliver_inflight and hint and unseen:
177
+ message = reason + " [a `uap deliver` run is already in progress for this project — NOT spawning a duplicate; intent recorded to .uap/pending-deliver.jsonl for it to pick up]"
170
178
  elif dedup_key and dedup_key in seen_files and (replayable or autoroute_on):
171
179
  message = reason + " [already auto-routed/applied for this change — see .uap/autoroute.log / pending-deliver.jsonl]"
172
180
  elif file_path:
@@ -224,6 +232,40 @@ def _pid_alive(pid: int) -> bool:
224
232
  return False
225
233
 
226
234
 
235
+ def _deliver_wedge_timeout() -> int:
236
+ raw = os.environ.get("UAP_DELIVER_WEDGE_TIMEOUT")
237
+ try:
238
+ if raw is not None:
239
+ v = int(float(raw))
240
+ if v > 0:
241
+ return v
242
+ except Exception:
243
+ pass
244
+ return 600
245
+
246
+
247
+ def _deliver_inflight(root: Path) -> bool:
248
+ """True when a `uap deliver` run already holds the project lock and is NOT
249
+ wedged (P0 single-flight). Shared contract with src/cli/deliver.ts:
250
+ `.uap/deliver.lock` first field = holder PID; `.uap/deliver.heartbeat` =
251
+ unix-epoch seconds refreshed each turn. A live holder with a fresh (or
252
+ missing/starting) heartbeat is inflight; a live holder whose heartbeat is
253
+ older than the wedge timeout is treated as dead so autoroute may proceed."""
254
+ try:
255
+ pid = int((root / UAP_DIR / "deliver.lock").read_text().split("|")[0].strip())
256
+ except Exception:
257
+ return False
258
+ if not _pid_alive(pid):
259
+ return False
260
+ try:
261
+ hb = int((root / UAP_DIR / "deliver.heartbeat").read_text().strip())
262
+ if (int(time.time()) - hb) > _deliver_wedge_timeout():
263
+ return False # wedged holder — not really inflight
264
+ except Exception:
265
+ pass # no/unreadable heartbeat -> a live PID counts as inflight
266
+ return True
267
+
268
+
227
269
  def _acquire_slot(root: Path) -> bool:
228
270
  """One in-flight autoroute deliver per repo: a lockfile holding the child
229
271
  pid. Stale locks (dead pid) are reclaimed. Best-effort; failure = no slot."""
@@ -398,7 +440,8 @@ def main() -> None:
398
440
  args = {}
399
441
 
400
442
  root = Path(ns.root)
401
- d = decide(out, ns.tool, args, _autoroute_enabled(), _load_seen(root), _replay_enabled())
443
+ d = decide(out, ns.tool, args, _autoroute_enabled(), _load_seen(root), _replay_enabled(),
444
+ _deliver_inflight(root))
402
445
 
403
446
  if d["intent"] is not None:
404
447
  try:
@@ -232,5 +232,58 @@ class CoherentMissionRouteTest(unittest.TestCase):
232
232
  self.assertEqual(mod._recover_mission(Path(td)), "")
233
233
 
234
234
 
235
+ class DeliverSingleFlightTest(unittest.TestCase):
236
+ """P0: autoroute must NOT spawn a duplicate when a live deliver is inflight."""
237
+
238
+ def _root(self) -> Path:
239
+ d = tempfile.mkdtemp()
240
+ (Path(d) / ".uap").mkdir(parents=True, exist_ok=True)
241
+ return Path(d)
242
+
243
+ def test_no_lock_is_not_inflight(self):
244
+ self.assertFalse(mod._deliver_inflight(self._root()))
245
+
246
+ def test_live_lock_fresh_heartbeat_is_inflight(self):
247
+ import time
248
+ r = self._root()
249
+ (r / ".uap" / "deliver.lock").write_text(f"{os.getppid()}|now") # live foreign pid
250
+ (r / ".uap" / "deliver.heartbeat").write_text(str(int(time.time())))
251
+ self.assertTrue(mod._deliver_inflight(r))
252
+
253
+ def test_live_lock_missing_heartbeat_is_inflight(self):
254
+ # Documented branch: a live holder with NO heartbeat yet (just starting
255
+ # up) counts as inflight so a duplicate is not spawned during startup.
256
+ r = self._root()
257
+ (r / ".uap" / "deliver.lock").write_text(f"{os.getppid()}|now") # no heartbeat file
258
+ self.assertTrue(mod._deliver_inflight(r))
259
+
260
+ def test_live_lock_corrupt_heartbeat_is_inflight(self):
261
+ # A non-integer heartbeat is unreadable -> fall through to live-PID = inflight.
262
+ r = self._root()
263
+ (r / ".uap" / "deliver.lock").write_text(f"{os.getppid()}|now")
264
+ (r / ".uap" / "deliver.heartbeat").write_text("not-a-number")
265
+ self.assertTrue(mod._deliver_inflight(r))
266
+
267
+ def test_live_lock_stale_heartbeat_is_not_inflight(self):
268
+ import time
269
+ r = self._root()
270
+ (r / ".uap" / "deliver.lock").write_text(f"{os.getppid()}|now")
271
+ (r / ".uap" / "deliver.heartbeat").write_text(str(int(time.time()) - 700)) # wedged
272
+ self.assertFalse(mod._deliver_inflight(r))
273
+
274
+ def test_dead_pid_lock_is_not_inflight(self):
275
+ r = self._root()
276
+ (r / ".uap" / "deliver.lock").write_text("2147483646|old") # not a live pid
277
+ self.assertFalse(mod._deliver_inflight(r))
278
+
279
+ def test_decide_suppresses_spawn_when_inflight(self):
280
+ # replay_on=False forces the model-spawn path; inflight must still block it.
281
+ spawned = mod.decide(BLOCK_OUT, "Write", ARGS, True, set(), False, False)
282
+ self.assertTrue(spawned["spawn"])
283
+ held = mod.decide(BLOCK_OUT, "Write", ARGS, True, set(), False, True)
284
+ self.assertFalse(held["spawn"])
285
+ self.assertIn("already in progress", held["message"])
286
+
287
+
235
288
  if __name__ == "__main__":
236
289
  unittest.main()