apps/mobile/src/features/threads/PendingApprovalCard.tsx | 64 ++++--- apps/mobile/src/lib/threadActivity.test.ts | 54 ++++++ apps/mobile/src/lib/threadActivity.ts | 32 +++- apps/server/integration/OrchestrationEngineHarness.integration.ts | 9 +- apps/server/src/orchestration/Layers/ProjectionPipeline.ts | 1 + apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.approval.test.ts | 37 ++++ apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts | 10 +- apps/server/src/provider/Layers/CodexAdapter.test.ts | 73 ++++++++ apps/server/src/provider/Layers/CodexAdapter.ts | 18 ++ apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts | 124 +++++++++++++- apps/server/src/provider/Layers/CodexSessionRuntime.test.ts | 204 ++++++++++++++++++++++ apps/server/src/provider/Layers/CodexSessionRuntime.ts | 288 +++++++++++++++++++++++++++++++- apps/server/src/provider/testFixtures/codexCollabMockPeer.mjs | 22 +++ apps/web/src/components/chat/ChatComposer.tsx | 2 + apps/web/src/components/chat/ComposerPendingApprovalActions.test.tsx | 34 ++++ apps/web/src/components/chat/ComposerPendingApprovalActions.tsx | 68 ++++---- apps/web/src/components/chat/ComposerPendingApprovalPanel.test.tsx | 42 +++++ apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx | 29 ++-- apps/web/src/session-logic.test.ts | 33 ++++ apps/web/src/session-logic.ts | 23 ++- docs/user/providers-codex.md | 6 + packages/contracts/src/orchestration.ts | 13 +- packages/contracts/src/providerRuntime.ts | 4 + packages/effect-codex-app-server/src/errors.ts | 1 + 24 files changed, 1096 insertions(+), 95 deletions(-)