Skip to content

feat: compose app server runtime context - #199

Merged
oratis merged 27 commits into
mainfrom
codex/runtime-composition
Aug 2, 2026
Merged

feat: compose app server runtime context#199
oratis merged 27 commits into
mainfrom
codex/runtime-composition

Conversation

@oratis

@oratis oratis commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • compose trusted settings, instructions, memory, user/project skills, output style, hooks, and built-in tools inside the app-server
  • add a turn-scoped RuntimeHost lease with deterministic cleanup for later MCP/plugin resources
  • keep client manifest defaults from overriding shared model/effort/mode settings, and expose Auto mode in Desktop
  • document the composition boundary and the remaining hook review/MCP-plugin lifecycle work

Validation

  • pnpm format:check
  • pnpm lint (one pre-existing unused-import warning)
  • pnpm typecheck
  • pnpm test (984 passed, 12 skipped)
  • pnpm build
  • pnpm docs:check
  • pnpm --filter @deepcode/desktop test:e2e (4 passed)
  • app-server sidecar and VS Code app-server CJS initialize/diagnostics smoke
  • VSIX package smoke (8 files, 79.32 KB)

@oratis
oratis changed the base branch from codex/config-diagnostics-clients to main August 2, 2026 06:36
@oratis
oratis marked this pull request as ready for review August 2, 2026 06:44
@oratis

oratis commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

Review: approved ✅

Moves composition (trusted settings, instructions, memory, user/project skills, output style, hooks, built-in tools) inside the app-server, so clients stop assembling context. Same principle as #184 and #197: one assembler, not five.

What I checked

  • Turn-scoped RuntimeHost lease with deterministic cleanup. Getting the lease/cleanup boundary in place before MCP clients and plugin subprocesses attach to it (feat: compose MCP and plugin runtime resources #200) is the right order — retrofitting lifecycle onto already-attached resources is how process leaks ship. Deterministic cleanup is the precondition for feat: compose MCP and plugin runtime resources #200's "close on success, interruption, preprocessing failure, and shutdown".
  • Client manifest defaults no longer override shared model/effort/mode settings. This was a real bug shape: a client's built-in default silently winning over a user's explicit setting, which reads to the user as "my config is ignored". Settings should beat manifest defaults, and now they do.
  • Auto mode exposed in Desktop — parity with the CLI, and it routes through the same trusted executor rather than a client-side reimplementation.
  • Composition boundary documented along with the remaining hook-review and MCP/plugin lifecycle work, which feat: compose MCP and plugin runtime resources #200 and feat: require exact project hook review #201 then close. The doc isn't deferring indefinitely; the follow-ups are in this same stack.

Validation: CI green; full suite green locally at the stack tip.

@oratis
oratis merged commit 14e33bd into main Aug 2, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant