Skip to content

feat: unify conversational engine across interfaces - #240

Merged
ktjn merged 8 commits into
mainfrom
feat/shared-conversation-engine
Jul 27, 2026
Merged

feat: unify conversational engine across interfaces#240
ktjn merged 8 commits into
mainfrom
feat/shared-conversation-engine

Conversation

@ktjn

@ktjn ktjn commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • unify CLI, VS Code, and browser chat on one Python-owned typed conversation engine
  • pass complete JSON schemas to Ollama and WebLLM so provider output remains valid structured plans instead of raw Modelable source
  • replace the browser heuristic path with a semantic simulator and resumable conversation.* protocol
  • make Suggest Projection use focused editor context, canonical rendering, exact multi-file previews, explicit apply/discard, and safe refinement failure recovery
  • promote accepted compilation previews to the browser output/download collection without silently widening unsupported compile options

Root cause

The browser previously had a separate raw-source AI pipeline. WebLLM received only generic JSON mode, the generated union schema did not require every kind discriminator, and Suggest Projection bypassed the shared planner/context lifecycle. That allowed malformed or semantically incorrect output and caused interface behavior to diverge.

Validation

  • uv run ruff format .
  • uv run ruff check .
  • mypy baseline ratchet: passed with 404 current errors and 45 resolved baseline entries
  • uv run pytest --tb=short: 1547 passed, 21 skipped
  • npm test (web): 356 passed
  • npm run check (web)
  • npm run build (web)
  • npx playwright test: 40 passed
  • npm run check:budgets (web)
  • VS Code: check, build, 35 tests, and VSIX packaging passed
  • opt-in Ollama conformance with qwen2.5-coder:14b: 6 passed
  • strict MkDocs build passed

Doc/spec review: all phases passed

@ktjn
ktjn marked this pull request as ready for review July 27, 2026 16:02
@ktjn
ktjn merged commit ad54ce8 into main Jul 27, 2026
9 checks passed
@ktjn
ktjn deleted the feat/shared-conversation-engine branch July 27, 2026 16:07
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