oh-my-codex 0.21.39 → 0.21.40

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.
@@ -7,10 +7,11 @@ export interface ProcessIdentity {
7
7
  birth: string;
8
8
  cmdline_hash?: string;
9
9
  }
10
- /** Raw observation from a native process-identity provider. No comparison logic. */
10
+ /** Raw process observation; Linux also supplies cmdline for managed-daemon classification. */
11
11
  export type ProcessObservation = {
12
12
  kind: 'identity';
13
13
  identity: ProcessIdentity;
14
+ cmdline?: string;
14
15
  } | {
15
16
  kind: 'gone';
16
17
  } | {
@@ -66,7 +67,7 @@ export interface SessionPointerContext {
66
67
  sessionPath: string;
67
68
  lockPath: string;
68
69
  }
69
- export type SessionPointerStatus = 'absent' | 'usable' | 'stale-dead' | 'identity-indeterminate' | 'malformed' | 'foreign-cwd';
70
+ export type SessionPointerStatus = 'absent' | 'usable' | 'non-runtime-owner' | 'stale-dead' | 'identity-indeterminate' | 'malformed' | 'foreign-cwd';
70
71
  export interface SessionPointerReadResult {
71
72
  status: SessionPointerStatus;
72
73
  state?: SessionState;
@@ -82,7 +83,7 @@ interface SessionOwnerFileIdentity {
82
83
  export declare function sessionOwnerFileIdentityMatches(frozenPath: SessionOwnerFileIdentity, openedHandle: SessionOwnerFileIdentity, platform?: NodeJS.Platform): boolean;
83
84
  export type SessionPointerTransactionOperation = 'pointer-context-resolve' | 'state-dir-create' | 'lock-acquire' | 'lock-owner-publish' | 'pointer-read' | 'pointer-classify' | 'pointer-temp-write' | 'pointer-fsync' | 'pointer-rename' | 'owner-conflict' | 'precommit-cleanup' | 'lock-release';
84
85
  type AttemptedStateRootSource = StateRootSource | 'unresolved';
85
- type UnusableSessionPointerStatus = 'malformed' | 'foreign-cwd' | 'identity-indeterminate';
86
+ type UnusableSessionPointerStatus = 'malformed' | 'foreign-cwd' | 'identity-indeterminate' | 'non-runtime-owner';
86
87
  export type SessionPointerCleanupPhase = 'remove-owner-temp' | 'inspect-unpublished-lock' | 'remove-unpublished-lock' | 'remove-pointer-temp' | 'token-check' | 'rename' | 'remove-release-owner' | 'remove-release-dir';
87
88
  export interface SessionPointerSecondaryFailure {
88
89
  operation: 'precommit-cleanup' | 'lock-release';
@@ -280,7 +281,7 @@ export interface SessionPointerLockRecovery extends SessionPointerLockInspection
280
281
  reason: string;
281
282
  quarantinePath?: string;
282
283
  }
283
- export type SessionPointerRecoveryStatus = 'absent' | 'recovered' | 'usable' | 'reused' | 'identity-indeterminate' | 'malformed' | 'foreign-cwd' | 'foreign-root' | 'lock-unavailable' | 'race' | 'collision' | 'recovery-required' | 'io-error';
284
+ export type SessionPointerRecoveryStatus = 'absent' | 'recovered' | 'usable' | 'non-runtime-owner' | 'reused' | 'identity-indeterminate' | 'malformed' | 'foreign-cwd' | 'foreign-root' | 'lock-unavailable' | 'race' | 'collision' | 'recovery-required' | 'io-error';
284
285
  export interface SessionPointerRecovery {
285
286
  status: SessionPointerRecoveryStatus;
286
287
  pointerPath: string;
@@ -324,7 +325,7 @@ export declare function isSessionStateUsable(state: SessionState, cwd: string, o
324
325
  * SAME snapshot themselves; this evaluates only pid/start-tick evidence so a
325
326
  * single immutable snapshot can drive both decisions.
326
327
  */
327
- export declare function classifySessionStateLiveness(state: SessionState): 'usable' | 'stale-dead' | 'identity-indeterminate';
328
+ export declare function classifySessionStateLiveness(state: SessionState): 'usable' | 'non-runtime-owner' | 'stale-dead' | 'identity-indeterminate';
328
329
  /** Read and classify only context.sessionPath; no alternate root is consulted. */
329
330
  export declare function readSessionPointer(context: SessionPointerContext): Promise<SessionPointerReadResult>;
330
331
  export declare function readSessionStateFromContext(context: SessionPointerContext): Promise<SessionState | null>;
@@ -337,7 +338,7 @@ export declare function inspectSessionPointerLock(cwd: string): Promise<SessionP
337
338
  /** Explicitly quarantine only a dead lock by moving its entire directory incarnation. */
338
339
  export declare function recoverSessionPointerLock(cwd: string): Promise<SessionPointerLockRecovery>;
339
340
  /**
340
- * Explicitly quarantine one authoritative, positively dead selected pointer.
341
+ * Explicitly quarantine one authoritative, positively dead or managed-daemon selected pointer.
341
342
  * The canonical pointer lock serializes the final classification and move with
342
343
  * SessionStart/SessionEnd, while the no-replace archive preserves exact bytes.
343
344
  */
@@ -364,8 +365,8 @@ export declare function readNativeSessionOwnerEvidence(cwd: string, nativeSessio
364
365
  export declare function readNativeSessionOwner(cwd: string, nativeSessionId: string): Promise<SessionState | null>;
365
366
  /**
366
367
  * Reconcile native SessionStart only when the selected pointer is absent, stale,
367
- * or already belongs to that native session. A different live native ID is
368
- * authoritative owner evidence and must never be replaced.
368
+ * or already belongs to that native session. A different live native ID or a live
369
+ * managed daemon is authoritative owner evidence and must never be replaced.
369
370
  */
370
371
  export declare function reconcileNativeSessionStart(cwd: string, nativeSessionId: string, options?: SessionStartOptions): Promise<SessionState>;
371
372
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/hooks/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/hooks/session.ts"],"names":[],"mappings":"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"}
@@ -366,6 +366,7 @@ function observeLinuxProcess(pid) {
366
366
  birth: String(identity.startTicks),
367
367
  ...(cmdlineHash ? { cmdline_hash: cmdlineHash } : {}),
368
368
  },
369
+ ...(identity.cmdline ? { cmdline: identity.cmdline } : {}),
369
370
  };
370
371
  }
371
372
  let statContent;
@@ -487,7 +488,7 @@ export function isSessionStale(state, options = {}) {
487
488
  observeProcess,
488
489
  };
489
490
  const classification = classifySessionProcess(state, dependencies);
490
- if (classification === 'usable')
491
+ if (classification === 'usable' || classification === 'non-runtime-owner')
491
492
  return false;
492
493
  if (classification === 'stale-dead')
493
494
  return true;
@@ -581,6 +582,39 @@ function recordedIdentityForState(state, runtimePlatform) {
581
582
  }
582
583
  return null;
583
584
  }
585
+ function isManagedCodexDaemonCommand(cmdline) {
586
+ const args = normalizeCmdline(cmdline)?.split(' ') ?? [];
587
+ return args.length >= 3
588
+ && basename(args[0]) === 'codex'
589
+ && args[1] === 'app-server'
590
+ && args.includes('--managed-daemon');
591
+ }
592
+ function isVerifiedManagedCodexDaemonOwner(state, recorded) {
593
+ if (recorded.platform !== 'linux' || !recorded.cmdline_hash || !state.pid_cmdline)
594
+ return false;
595
+ const recordedCmdlineHash = hashCmdline(state.pid_cmdline);
596
+ return recordedCmdlineHash !== undefined
597
+ && recordedCmdlineHash === recorded.cmdline_hash
598
+ && isManagedCodexDaemonCommand(state.pid_cmdline);
599
+ }
600
+ function isVerifiedManagedCodexDaemonObservation(pid, platform, observation) {
601
+ if (platform !== 'linux'
602
+ || observation?.kind !== 'identity'
603
+ || observation.identity.platform !== 'linux'
604
+ || !isValidProcessIdentity(observation.identity)
605
+ || !observation.cmdline)
606
+ return false;
607
+ return isVerifiedManagedCodexDaemonOwner({
608
+ session_id: 'managed-codex-daemon-candidate',
609
+ started_at: '',
610
+ cwd: '',
611
+ pid,
612
+ platform,
613
+ identity_schema_version: 2,
614
+ process_identity: observation.identity,
615
+ pid_cmdline: observation.cmdline,
616
+ }, observation.identity);
617
+ }
584
618
  /**
585
619
  * A state with no recorded identity is indeterminate unless the pid is positively dead.
586
620
  *
@@ -689,7 +723,7 @@ export function isSessionStateUsable(state, cwd, options = {}) {
689
723
  function isValidStartTicks(value) {
690
724
  return typeof value === 'number' && Number.isInteger(value) && value >= 0;
691
725
  }
692
- function classifySessionProcess(state, dependencies) {
726
+ function classifySessionProcess(state, dependencies, classifyManagedDaemonOwner = true) {
693
727
  const hasPidMetadata = Number.isInteger(state.pid) && state.pid > 0;
694
728
  const hasIdentityMetadata = typeof state.pid_start_ticks === 'number'
695
729
  || typeof state.pid_cmdline === 'string'
@@ -707,7 +741,10 @@ function classifySessionProcess(state, dependencies) {
707
741
  return probeIdentitylessProcess(state.pid, dependencies);
708
742
  const classification = classifyRecordedIdentity(recorded, runtimePlatform, dependencies, state.pid);
709
743
  switch (classification.status) {
710
- case 'match': return 'usable';
744
+ case 'match':
745
+ return classifyManagedDaemonOwner && isVerifiedManagedCodexDaemonOwner(state, recorded)
746
+ ? 'non-runtime-owner'
747
+ : 'usable';
711
748
  case 'gone':
712
749
  case 'birth-mismatch': return 'stale-dead';
713
750
  case 'identity-unavailable': return 'identity-indeterminate';
@@ -742,7 +779,8 @@ function classifyParsedSessionPointer(context, value, raw) {
742
779
  }
743
780
  if (state.identity_schema_version === 2 && state.process_identity === undefined)
744
781
  return { status: 'malformed', raw, state };
745
- const processStatus = classifySessionProcess(state, transactionDependencies);
782
+ const isCanonicalSessionPointer = context.sessionPath === join(context.baseStateDir, SESSION_FILE);
783
+ const processStatus = classifySessionProcess(state, transactionDependencies, isCanonicalSessionPointer);
746
784
  return { status: processStatus, state, raw };
747
785
  }
748
786
  /** Read and classify only context.sessionPath; no alternate root is consulted. */
@@ -851,6 +889,19 @@ function preserveExistingLaunchLineageToken(existing, state) {
851
889
  ? { ...state, launch_lineage_token: existing.launch_lineage_token }
852
890
  : state;
853
891
  }
892
+ function preserveExistingProcessOwner(existing, state) {
893
+ const { pid: _pid, platform: nextPlatform, identity_schema_version: _identitySchemaVersion, process_identity: _processIdentity, pid_start_ticks: _pidStartTicks, pid_cmdline: _pidCmdline, ...metadata } = state;
894
+ const platform = existing.platform ?? nextPlatform;
895
+ return {
896
+ ...metadata,
897
+ pid: existing.pid,
898
+ ...(platform ? { platform } : {}),
899
+ ...(existing.identity_schema_version !== undefined ? { identity_schema_version: existing.identity_schema_version } : {}),
900
+ ...(existing.process_identity !== undefined ? { process_identity: existing.process_identity } : {}),
901
+ ...(existing.pid_start_ticks !== undefined ? { pid_start_ticks: existing.pid_start_ticks } : {}),
902
+ ...(existing.pid_cmdline !== undefined ? { pid_cmdline: existing.pid_cmdline } : {}),
903
+ };
904
+ }
854
905
  function normalizeNonempty(value) {
855
906
  return typeof value === 'string' && value.trim() ? value.trim() : undefined;
856
907
  }
@@ -858,10 +909,15 @@ function resolvePid(options) {
858
909
  return Number.isInteger(options.pid) && options.pid && options.pid > 0 ? options.pid : process.pid;
859
910
  }
860
911
  function sessionIdentityFor(pid, platform) {
912
+ return sessionProcessObservationFor(pid, platform)?.identity ?? null;
913
+ }
914
+ function sessionProcessObservationFor(pid, platform) {
861
915
  try {
862
916
  const observation = transactionDependencies.observeProcess(pid, platform);
863
- return observation.kind === 'identity' && isValidProcessIdentity(observation.identity) && observation.identity.platform === platform
864
- ? observation.identity
917
+ return observation.kind === 'identity'
918
+ && isValidProcessIdentity(observation.identity)
919
+ && observation.identity.platform === platform
920
+ ? observation
865
921
  : null;
866
922
  }
867
923
  catch {
@@ -1493,10 +1549,15 @@ function classifySessionProcessForRecovery(state) {
1493
1549
  return 'dead';
1494
1550
  if (classification.status === 'birth-mismatch')
1495
1551
  return 'reused';
1496
- if (classification.status === 'match')
1497
- return 'usable';
1552
+ if (classification.status === 'match') {
1553
+ return isVerifiedManagedCodexDaemonOwner(state, recorded) ? 'non-runtime-owner' : 'usable';
1554
+ }
1498
1555
  return 'identity-indeterminate';
1499
1556
  }
1557
+ function isRecoverablePointerClassification(pointerStatus, processStatus) {
1558
+ return pointerStatus === 'stale-dead' && processStatus === 'dead'
1559
+ || pointerStatus === 'non-runtime-owner' && processStatus === 'non-runtime-owner';
1560
+ }
1500
1561
  function pointerRecoveryRefusal(context, status, reason, sessionId) {
1501
1562
  return {
1502
1563
  status,
@@ -1508,7 +1569,7 @@ function pointerRecoveryRefusal(context, status, reason, sessionId) {
1508
1569
  };
1509
1570
  }
1510
1571
  /**
1511
- * Explicitly quarantine one authoritative, positively dead selected pointer.
1572
+ * Explicitly quarantine one authoritative, positively dead or managed-daemon selected pointer.
1512
1573
  * The canonical pointer lock serializes the final classification and move with
1513
1574
  * SessionStart/SessionEnd, while the no-replace archive preserves exact bytes.
1514
1575
  */
@@ -1546,14 +1607,17 @@ export async function recoverDeadSessionPointer(cwd) {
1546
1607
  return result;
1547
1608
  }
1548
1609
  const sessionId = normalizeSessionId(pointer.state?.session_id);
1549
- if (pointer.status !== 'stale-dead' || !pointer.state || !pointer.raw || !pointer.bytes || !sessionId) {
1610
+ if ((pointer.status !== 'stale-dead' && pointer.status !== 'non-runtime-owner')
1611
+ || !pointer.state || !pointer.raw || !pointer.bytes || !sessionId) {
1550
1612
  const reason = pointer.status === 'usable'
1551
1613
  ? 'The selected session pointer owner is usable or live.'
1552
- : pointer.status === 'identity-indeterminate'
1553
- ? 'The selected session pointer owner identity is indeterminate.'
1554
- : pointer.status === 'foreign-cwd'
1555
- ? 'The selected session pointer belongs to a different working directory.'
1556
- : 'The selected session pointer is malformed.';
1614
+ : pointer.status === 'non-runtime-owner'
1615
+ ? 'The selected session pointer belongs to a live managed Codex daemon, not an OMX runtime.'
1616
+ : pointer.status === 'identity-indeterminate'
1617
+ ? 'The selected session pointer owner identity is indeterminate.'
1618
+ : pointer.status === 'foreign-cwd'
1619
+ ? 'The selected session pointer belongs to a different working directory.'
1620
+ : 'The selected session pointer is malformed.';
1557
1621
  const status = pointer.status === 'stale-dead' ? 'malformed' : pointer.status;
1558
1622
  result = pointerRecoveryRefusal(context, status, reason, sessionId);
1559
1623
  return result;
@@ -1572,13 +1636,19 @@ export async function recoverDeadSessionPointer(cwd) {
1572
1636
  return result;
1573
1637
  }
1574
1638
  const recoveryLiveness = classifySessionProcessForRecovery(pointer.state);
1575
- if (recoveryLiveness !== 'dead') {
1576
- const status = recoveryLiveness === 'reused' ? 'reused' : recoveryLiveness;
1639
+ if (!isRecoverablePointerClassification(pointer.status, recoveryLiveness)) {
1640
+ const status = recoveryLiveness === 'dead'
1641
+ ? 'race'
1642
+ : recoveryLiveness === 'reused'
1643
+ ? 'reused'
1644
+ : recoveryLiveness;
1577
1645
  const reason = recoveryLiveness === 'reused'
1578
1646
  ? 'The selected session pointer PID was reused or its recorded birth identity mismatched.'
1579
- : recoveryLiveness === 'usable'
1580
- ? 'The selected session pointer owner is usable or live.'
1581
- : 'The selected session pointer owner identity is indeterminate.';
1647
+ : recoveryLiveness === 'non-runtime-owner'
1648
+ ? 'The selected session pointer belongs to a live managed Codex daemon, not an OMX runtime.'
1649
+ : recoveryLiveness === 'usable'
1650
+ ? 'The selected session pointer owner is usable or live.'
1651
+ : 'The selected session pointer owner identity is indeterminate.';
1582
1652
  result = pointerRecoveryRefusal(context, status, reason, sessionId);
1583
1653
  return result;
1584
1654
  }
@@ -1622,10 +1692,10 @@ export async function recoverDeadSessionPointer(cwd) {
1622
1692
  if (!sameRecoveryIdentity(currentStat, { dev: sourceStat.dev, ino: sourceStat.ino }, 'file')
1623
1693
  || !sameRecoveryIdentity(currentAfterRead, { dev: sourceStat.dev, ino: sourceStat.ino }, 'file')
1624
1694
  || !currentBytes.equals(pointer.bytes)
1625
- || current.status !== 'stale-dead'
1695
+ || current.status !== pointer.status
1626
1696
  || !current.state
1627
1697
  || selectedRootAuthorityFailure(context, current.state) !== undefined
1628
- || classifySessionProcessForRecovery(current.state) !== 'dead') {
1698
+ || !isRecoverablePointerClassification(current.status, classifySessionProcessForRecovery(current.state))) {
1629
1699
  result = pointerRecoveryRefusal(context, 'race', 'The selected session pointer changed before quarantine.', sessionId);
1630
1700
  return result;
1631
1701
  }
@@ -1669,10 +1739,10 @@ export async function recoverDeadSessionPointer(cwd) {
1669
1739
  }
1670
1740
  if (sourceAfterMove
1671
1741
  || !archivedBytes?.equals(pointer.bytes)
1672
- || archivedPointer?.status !== 'stale-dead'
1742
+ || archivedPointer?.status !== pointer.status
1673
1743
  || !archivedPointer.state
1674
1744
  || selectedRootAuthorityFailure(context, archivedPointer.state) !== undefined
1675
- || classifySessionProcessForRecovery(archivedPointer.state) !== 'dead') {
1745
+ || !isRecoverablePointerClassification(archivedPointer.status, classifySessionProcessForRecovery(archivedPointer.state))) {
1676
1746
  if (!sourceAfterMove && archivedBytes?.equals(pointer.bytes) && archivedStat
1677
1747
  && sameRecoveryIdentity(archivedStat, { dev: sourceStat.dev, ino: sourceStat.ino }, 'file')) {
1678
1748
  const rollback = await moveRecoveryPathNoReplace(quarantinePath, context.sessionPath, { dev: sourceStat.dev, ino: sourceStat.ino }, 'file');
@@ -1698,7 +1768,9 @@ export async function recoverDeadSessionPointer(cwd) {
1698
1768
  pointerPath: context.sessionPath,
1699
1769
  action: 'quarantined',
1700
1770
  recovered: true,
1701
- reason: 'Verified-dead selected session pointer quarantined with exact forensic bytes preserved.',
1771
+ reason: pointer.status === 'non-runtime-owner'
1772
+ ? 'Verified managed Codex daemon session pointer quarantined with exact forensic bytes preserved.'
1773
+ : 'Verified-dead selected session pointer quarantined with exact forensic bytes preserved.',
1702
1774
  sessionId,
1703
1775
  quarantinePath,
1704
1776
  };
@@ -2063,6 +2135,7 @@ function unusablePointerAbort(context, candidateSessionId, pointer) {
2063
2135
  const pointerStatus = pointer.status === 'malformed'
2064
2136
  || pointer.status === 'foreign-cwd'
2065
2137
  || pointer.status === 'identity-indeterminate'
2138
+ || pointer.status === 'non-runtime-owner'
2066
2139
  ? pointer.status
2067
2140
  : undefined;
2068
2141
  return resolvedAbort(context, {
@@ -2240,7 +2313,7 @@ async function writePointerTransaction(cwd, candidateSessionId, options, timeout
2240
2313
  }
2241
2314
  function startPointerTransition(requestedSessionId, options, requireLaunchLineageToken = false, requireAbsent = false) {
2242
2315
  return (pointer, context) => {
2243
- if (requireAbsent && pointer.status !== 'absent') {
2316
+ if (requireAbsent && pointer.status !== 'absent' && pointer.status !== 'non-runtime-owner') {
2244
2317
  // Same read-vs-authority split: an occupied pointer is an owner conflict even when its
2245
2318
  // liveness is indeterminate, which is the only classification a live pointer can get on a
2246
2319
  // platform without process-birth evidence.
@@ -2258,6 +2331,7 @@ function startPointerTransition(requestedSessionId, options, requireLaunchLineag
2258
2331
  // (malformed, foreign-cwd) is still refused, and authority to own writes still requires 'usable'.
2259
2332
  if (pointer.status !== 'absent'
2260
2333
  && pointer.status !== 'stale-dead'
2334
+ && pointer.status !== 'non-runtime-owner'
2261
2335
  && pointer.status !== 'usable'
2262
2336
  && !(pointer.status === 'identity-indeterminate' && isUnobservableLivePointerState(pointer.state))) {
2263
2337
  throw unusablePointerAbort(context, requestedSessionId, pointer);
@@ -2928,11 +3002,15 @@ function reconcileNativeTransition(nativeSessionId, options) {
2928
3002
  && pointer.status !== 'stale-dead'
2929
3003
  && pointer.status !== 'usable'
2930
3004
  && !(pointer.status === 'identity-indeterminate' && isUnobservableLivePointerState(pointer.state))) {
3005
+ // A live managed daemon pointer is occupied evidence, not an absent slot. Only an explicit
3006
+ // OMX launch may replace it; native SessionStart cannot claim it as canonical runtime state.
2931
3007
  throw unusablePointerAbort(context, nativeSessionId, pointer);
2932
3008
  }
2933
3009
  const pid = resolvePid(options);
2934
3010
  const platform = options.platform ?? process.platform;
2935
- const linuxIdentity = sessionIdentityFor(pid, platform);
3011
+ const processObservation = sessionProcessObservationFor(pid, platform);
3012
+ const linuxIdentity = processObservation?.identity ?? null;
3013
+ const isManagedDaemonOwner = isVerifiedManagedCodexDaemonObservation(pid, platform, processObservation);
2936
3014
  const livenessProven = pointer.status === 'usable';
2937
3015
  const existing = livenessProven
2938
3016
  || (pointer.status === 'identity-indeterminate' && isUnobservableLivePointerState(pointer.state))
@@ -2944,16 +3022,30 @@ function reconcileNativeTransition(nativeSessionId, options) {
2944
3022
  if (!existing) {
2945
3023
  const ownerCandidate = verifiedOwnerCandidate(context, options);
2946
3024
  const ownerOmxSessionId = ownerCandidate;
2947
- return createSessionState(context.cwd, context.baseStateDir, nativeSessionId, pid, platform, linuxIdentity, {
3025
+ const next = createSessionState(context.cwd, context.baseStateDir, nativeSessionId, pid, platform, linuxIdentity, {
2948
3026
  nativeSessionId,
2949
3027
  ...(ownerOmxSessionId ? { ownerOmxSessionId } : {}),
2950
3028
  });
3029
+ // A daemon hook without an established OMX runtime owner must remain sidecar-scoped.
3030
+ if (isManagedDaemonOwner)
3031
+ throw ownerConflictAbort(context, nativeSessionId, next);
3032
+ return next;
3033
+ }
3034
+ if (isManagedDaemonOwner && (!Number.isInteger(existing.pid) || existing.pid <= 0)) {
3035
+ throw ownerConflictAbort(context, nativeSessionId, existing);
2951
3036
  }
2952
3037
  const existingNativeSessionId = normalizeSessionId(existing.native_session_id);
2953
3038
  if (existingNativeSessionId && existingNativeSessionId !== nativeSessionId) {
2954
3039
  throw ownerConflictAbort(context, nativeSessionId, existing);
2955
3040
  }
2956
3041
  const nowIso = new Date().toISOString();
3042
+ let ownerIdentity = linuxIdentity;
3043
+ if (isManagedDaemonOwner) {
3044
+ const existingIdentity = recordedIdentityForState(existing, platform);
3045
+ if (existingIdentity === 'invalid')
3046
+ throw ownerConflictAbort(context, nativeSessionId, existing);
3047
+ ownerIdentity = existingIdentity;
3048
+ }
2957
3049
  const ownerCandidate = verifiedOwnerCandidate(context, options);
2958
3050
  let ownerOmxSessionId;
2959
3051
  try {
@@ -2962,7 +3054,7 @@ function reconcileNativeTransition(nativeSessionId, options) {
2962
3054
  catch (error) {
2963
3055
  throw ownerConflictAbort(context, nativeSessionId, existing, error);
2964
3056
  }
2965
- return preserveExistingLaunchLineageToken(existing, createSessionState(context.cwd, context.baseStateDir, existing.session_id, pid, platform, linuxIdentity, {
3057
+ const next = createSessionState(context.cwd, context.baseStateDir, existing.session_id, isManagedDaemonOwner ? existing.pid : pid, isManagedDaemonOwner ? existing.platform ?? platform : platform, ownerIdentity, {
2966
3058
  nowIso,
2967
3059
  nativeSessionId,
2968
3060
  previousNativeSessionId: existing.previous_native_session_id,
@@ -2974,13 +3066,14 @@ function reconcileNativeTransition(nativeSessionId, options) {
2974
3066
  launchLineageToken: isValidToken(existing.launch_lineage_token)
2975
3067
  ? existing.launch_lineage_token
2976
3068
  : undefined,
2977
- }));
3069
+ });
3070
+ return preserveExistingLaunchLineageToken(existing, isManagedDaemonOwner ? preserveExistingProcessOwner(existing, next) : next);
2978
3071
  };
2979
3072
  }
2980
3073
  /**
2981
3074
  * Reconcile native SessionStart only when the selected pointer is absent, stale,
2982
- * or already belongs to that native session. A different live native ID is
2983
- * authoritative owner evidence and must never be replaced.
3075
+ * or already belongs to that native session. A different live native ID or a live
3076
+ * managed daemon is authoritative owner evidence and must never be replaced.
2984
3077
  */
2985
3078
  export async function reconcileNativeSessionStart(cwd, nativeSessionId, options = {}) {
2986
3079
  const normalizedNativeSessionId = normalizeSessionId(nativeSessionId);