Claude manager shutdown currently omits an admitted configuration lookup until it produces a resource. A controlled regression on 82637bb9a5423adffb5185dc175fd74eb5dd2c89 calls the actual manager, holds the start-time configuration lookup, and closes the manager. Close fulfills before the original lookup settles in both fulfillment and undefined rejection cases. Three existing pre-acquisition controls pass. The test joins every controlled operation and launches no process; it proves a close-ownership gap, not a native-process leak.
Extend the completed Codex work in #118 with one product-local Effect owner for a complete Claude connection: pre-acquisition registration, configuration and required host-tool provisioning, process adoption, initialization and durable identity admission, FIFO writes, ordered facts, deferred interaction notices, and exact retryable shutdown. Keep the manager and client public Promise interfaces stable. Use the existing Effect and compiler pins; introduce no shared runtime package.
Preserve single-use reviews, exact generation and connection identity, durable PID/start admission, inactive-until-committed host-tool bindings, not_live resume authority, bounded protocol and projection rules, and original failure identity and precedence, including falsey rejection values. Preserve synchronous public admission and the existing later native event-loop turn for synthetic settlement, so it cannot reenter a still-held daemon interaction lock.
Explicit cleanup strengthenings are required where the prior owner omitted work: register configuration/provisioning before their first await; retain an acquired raw process even if client construction fails; retain an admitted write and its future deferred-notice continuation; and refuse synthetic-callback self-close before changing admission. A canceled fiber or rejected/expired observer never proves native settlement. An incomplete bounded close retains the exact retry owner and prevents a second writer.
Implementation is isolated from the active provider-usage #140 integration. That owner retains its source checkout, final gates and release. The eventual source join must preserve its current contracts, installation policy and delivery evidence. This issue adds no provider activation, credential access, schema change, fallback, replay or automatic account rotation.
Acceptance requires the unchanged causal baseline to pass through the actual facade, existing client/manager/service preservation tests, adversarial held native work and callback schedules, architecture/deletion review, focused local checks and the repository's unchanged complete Required CI on the current integration candidate. Native, installation, release and production requirements remain separate and applicable. Documentation and the PR must distinguish completed source evidence from pending delivery.
Claude manager shutdown currently omits an admitted configuration lookup until it produces a resource. A controlled regression on
82637bb9a5423adffb5185dc175fd74eb5dd2c89calls the actual manager, holds the start-time configuration lookup, and closes the manager. Close fulfills before the original lookup settles in both fulfillment andundefinedrejection cases. Three existing pre-acquisition controls pass. The test joins every controlled operation and launches no process; it proves a close-ownership gap, not a native-process leak.Extend the completed Codex work in #118 with one product-local Effect owner for a complete Claude connection: pre-acquisition registration, configuration and required host-tool provisioning, process adoption, initialization and durable identity admission, FIFO writes, ordered facts, deferred interaction notices, and exact retryable shutdown. Keep the manager and client public Promise interfaces stable. Use the existing Effect and compiler pins; introduce no shared runtime package.
Preserve single-use reviews, exact generation and connection identity, durable PID/start admission, inactive-until-committed host-tool bindings,
not_liveresume authority, bounded protocol and projection rules, and original failure identity and precedence, including falsey rejection values. Preserve synchronous public admission and the existing later native event-loop turn for synthetic settlement, so it cannot reenter a still-held daemon interaction lock.Explicit cleanup strengthenings are required where the prior owner omitted work: register configuration/provisioning before their first await; retain an acquired raw process even if client construction fails; retain an admitted write and its future deferred-notice continuation; and refuse synthetic-callback self-close before changing admission. A canceled fiber or rejected/expired observer never proves native settlement. An incomplete bounded close retains the exact retry owner and prevents a second writer.
Implementation is isolated from the active provider-usage #140 integration. That owner retains its source checkout, final gates and release. The eventual source join must preserve its current contracts, installation policy and delivery evidence. This issue adds no provider activation, credential access, schema change, fallback, replay or automatic account rotation.
Acceptance requires the unchanged causal baseline to pass through the actual facade, existing client/manager/service preservation tests, adversarial held native work and callback schedules, architecture/deletion review, focused local checks and the repository's unchanged complete Required CI on the current integration candidate. Native, installation, release and production requirements remain separate and applicable. Documentation and the PR must distinguish completed source evidence from pending delivery.