# DS4Server implementation plan

Only unfinished implementation work belongs here. DwarfStar remains the
behavioral oracle for model execution, token processing, context accounting,
KV-cache behavior, the HTTP API, and the built-in agent loop.

## 1. Finish native project and chat controls

- Add functional File, View, and Help menus; update native menu enabled state
  from the focused control; complete undo/redo behavior; and make transcript
  text selectable and copyable.
- File menu has an "export" menu to save a chat as markdown
- File menu has a new "menu" that opens a new chat in the currently active
  project. if the app is not on a project or session of a project in the
  sidebar, "new" is disabled
- View menu gets the "manage models" menu item, remove it from Window menu
- View menu gets toggle menu for sidebar with hotkey cmd-B
- Explain model/checkpoint mismatches where a session must rebuild context
  instead of resuming its existing checkpoint.
- the hellp menu must open a window with an actual documentation in it,
  that still needs to be constructed from the information and implementation

## 2. Add Dev Brain support

- Let the user select one Obsidian vault and give the local agent bounded
  Markdown memory_search, memory_read, memory_create, and memory_append
  operations outside project folders.
- the dev brain uses simple markdown lines to separate multiple memories
- check LLM wiki ideas online to see how obdsidian should be used by the LLM
  as a memory storage
- dev brain can be enabled/disabled in preferences to reduce system prompt
