gestalt-mobile 0.36.1 → 0.36.2

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.
@@ -1608,6 +1608,13 @@ export class AutopilotCoordinator {
1608
1608
  }
1609
1609
  wakeForExecutorChange(sessionId, executor) {
1610
1610
  const processes = executor.ownedProcesses;
1611
+ const state = this.deps.store.find(sessionId);
1612
+ const plan = this.deps.plan(sessionId)?.plan ?? null;
1613
+ const activity = this.deps.activity(sessionId);
1614
+ // Persisting a newly recovered executor identity is bookkeeping, not the
1615
+ // completion edge an executorChanged lease is waiting for. Keep the lease
1616
+ // parked while that canonical executor is still authoritatively active.
1617
+ const executorSettled = !state || !this.authoritativeExecutorActive(state, plan, activity ?? null);
1611
1618
  const conditions = [
1612
1619
  ...(processes.some((process) => process.state === 'exited-awaiting-result')
1613
1620
  ? ['processExited', 'processResultAvailable']
@@ -1615,7 +1622,7 @@ export class AutopilotCoordinator {
1615
1622
  ...(processes.some((process) => process.state === 'terminated-for-budget')
1616
1623
  ? ['processLimitBreached']
1617
1624
  : []),
1618
- 'executorChanged',
1625
+ ...(executorSettled ? ['executorChanged'] : []),
1619
1626
  ];
1620
1627
  return conditions.some((condition) => this.semanticEvent(sessionId, condition));
1621
1628
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gestalt-mobile",
3
- "version": "0.36.1",
3
+ "version": "0.36.2",
4
4
  "description": "Mobile-first web relay for durable Codex development sessions",
5
5
  "keywords": [
6
6
  "codex",