feat: more preferences
This commit is contained in:
14
PLAN.md
14
PLAN.md
@@ -15,7 +15,7 @@ sessions, tools, and turn orchestration.
|
||||
| App shell | Implemented | Native multi-window Iced app, Codex-inspired layout, native Application/Edit/Window menus, Preferences panel, and Model Manager window | Functional chat content and native app packaging |
|
||||
| Projects and sessions | Implemented for metadata | Native folder picker, project-name dialog, create/select/delete projects and sessions | Transcripts, KV payloads, rename/archive, and model binding |
|
||||
| Persistence | Implemented for metadata and preferences | SQLite in Application Support, Diesel ORM, embedded migrations, constrained defaults and CRUD tests | Messages, downloaded-artifact metadata, and session-runtime migrations |
|
||||
| Model runtime | Download workflow implemented | Persisted model choice, DSpark toggle, idle timeout, and a Model Manager for background download, validation, deletion, progress, ETA, stop, and restart-resume | Loading, inference, idle unloading, and Metal integration |
|
||||
| Model runtime | Preferences and downloads implemented | Complete typed DS4 preference contract plus a Model Manager for background download, validation, deletion, progress, ETA, stop, and restart-resume | Loading, inference, idle unloading, and Metal integration |
|
||||
| Local endpoint | Not started | Nothing listening | OpenAI-compatible HTTP and streaming surfaces |
|
||||
| Agent | UI shell only | Empty conversation pane and composer placeholder | Messages, generation, tools, approvals, compaction, and cancellation |
|
||||
| A2UI | Future extension | bDS2 provides the reference structured render-tool contract | Native inline surfaces for local chat after core chat and tools are stable |
|
||||
@@ -45,12 +45,12 @@ Exit criterion: restart the app and see the same project/session tree.
|
||||
|
||||
## Phase 1 — model library and on-demand loading
|
||||
|
||||
Status: **partially implemented**. Typed generation and execution preferences
|
||||
and the complete background download workflow are implemented; the remaining
|
||||
DS4 runtime preferences, loading, inference, and idle unloading remain open.
|
||||
Status: **partially implemented**. The typed DS4 preference contract and the
|
||||
complete background download workflow are implemented; loading, inference,
|
||||
and idle unloading remain open.
|
||||
|
||||
1. Complete the typed model/runtime preference contract described below before
|
||||
connecting chat, the HTTP endpoint, or the engine lifecycle.
|
||||
1. **Implemented:** the typed model/runtime preference contract described below
|
||||
is complete before chat, the HTTP endpoint, or the engine lifecycle.
|
||||
2. Port the narrow GGUF loader, tokenizer, prompt renderer, and Metal session
|
||||
API behind a small Rust `Engine` surface modeled on `ds4.h`:
|
||||
`open`, `close`, `create_session`, `sync`, `sample`, and KV save/load.
|
||||
@@ -136,7 +136,7 @@ to Rust while preserving its semantics and on-disk compatibility:
|
||||
- Persist preferences in the application SQLite database. Changing preferences
|
||||
never loads a model by itself.
|
||||
|
||||
### DS4 model and generation preferences (required before chat)
|
||||
### DS4 model and generation preferences (implemented)
|
||||
|
||||
The Preferences panel must expose every persistent model, runtime, and
|
||||
generation parameter accepted by the `ds4` command line. `../ds4/ds4_cli.c`,
|
||||
|
||||
Reference in New Issue
Block a user