Skip to content

feat: surface config diagnostics in clients - #198

Merged
oratis merged 26 commits into
mainfrom
codex/config-diagnostics-clients
Aug 2, 2026
Merged

feat: surface config diagnostics in clients#198
oratis merged 26 commits into
mainfrom
codex/config-diagnostics-clients

Conversation

@oratis

@oratis oratis commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Summary

  • extend deepcode doctor with trust, layer, gate, and schema diagnostics
  • show the same value-free report in Desktop About and cover it in the browser fixture journey
  • add DeepCode: Show Configuration Diagnostics to VS Code with capability negotiation
  • add deepcode.configDiagnostics to the LSP bridge
  • keep clients as projections of the shared app-server DTO instead of re-reading settings

Validation

  • pnpm format:check
  • pnpm lint (one pre-existing warning)
  • pnpm typecheck
  • pnpm test (978 passed, 12 skipped)
  • pnpm build
  • pnpm docs:check
  • Desktop Playwright journey (4 passed, including About diagnostics)
  • real deepcode doctor smoke with an isolated home
  • packaged VSIX: 8 files, 74.57 KB

Stack

Depends on #197.

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

oratis commented Aug 2, 2026

Copy link
Copy Markdown
Owner Author

Review: approved ✅

The consumer side of #197, and it holds the same discipline: clients are projections of the shared app-server DTO and do not re-read settings themselves.

That constraint is the whole point. If deepcode doctor, Desktop About, VS Code, and the LSP bridge each re-read and re-merged settings to display diagnostics, they'd each need their own copy of the trust and layering rules — and any drift would mean the diagnostics lie, which is worse than not having them. One DTO, four renderers.

What I checked

  • The report stays value-free everywhere it surfaces, so the feat: add trust-aware config diagnostics #197 no-exfiltration property survives all the way to the UI. Easy to lose at exactly this layer while making a report "more useful".
  • Capability negotiation on the VS Code command means an older app-server degrades cleanly instead of erroring.
  • Trust/layer/gate/schema are the four dimensions a user actually needs to answer "why is my setting not taking effect?" — historically an opaque, expensive support question in this repo.
  • Covered in the browser fixture journey from test: automate desktop protocol journey #193, so the Desktop surface is exercised, not just wired.

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

@oratis
oratis merged commit 577593d 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