Repository navigation
Closed
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:exportExport, import, backup, and transferExport, import, backup, and transferscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Milestone
Description
Parent
Profile Portability implementation #882; accepted design #76 / PR #881.
What to build
Human creates and edits reusable Model Presets in Bot Profile, applies a template to two Bots, then restarts the Host and sees the same templates and independent applied Bot plans. Move reusable template persistence into its owning SQLite module so the future full operational snapshot includes the currently JSON-backed template store.
Acceptance criteria
- Preserve the existing create/list/edit/apply UI and Host command/query contracts, stable template IDs, names, revisions, exact provider/model/effort and Assignment allowlists/defaults; this does not change routing policy or already-applied independent Bot snapshots.
- Owning Model Preset module uses the existing database owner, Profile Writer Lease and ordered Schema Generation; no generic SQL interface reaches the Client.
- Validate and atomically import existing JSON templates once with a durable cutover marker. Corrupt or interrupted import must not become a silently empty store; retain the source for recovery and report bounded diagnostics.
- After successful cutover, normal reads/writes never dual-write or fall back to the legacy JSON file, including when it is later modified or removed. Empty successful import still has a durable marker.
- Database recovery, closed owner and competing writer prevent mutation; no stale-file fallback. No credentials are added to presets.
- Real DSH E2E migrates populated legacy templates, edits/applies through production UI/API, cold-restarts with identical IDs/revisions and verifies a valid real model reply; capture screenshot/recording and preserve the independent snapshots of two applied Bots after further template edits.
- Focused corruption/interruption/rollback/second-writer/revision tests and repository checks pass. Current architecture and bilingual Release Ledger describe the implemented authority accurately; Bot Registry migration and Profile Backup remain separate outstanding work.
Blocked by
- None — Foundation:operational database owner / writer lease / schema generation #79 provides the delivered database owner/lease/schema and Tracer: Edit and switch independent Model Preset snapshots #501/Tracer: Select an allowed model for a new Assignment #504 the existing model contracts; Design: Profile Backup / Restore / Transfer UX #76 UX is accepted.
Non-goals
No Bot Registry cutover, model-only export format, new model behavior, Profile Backup, credential transfer, scheduler or retention.
Metadata
Metadata
Assignees
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:exportExport, import, backup, and transferExport, import, backup, and transferscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Type
Projects
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 5, 2026
Agent work claim
codex/local/01a0f25f-2150-75e3-8895-23d35394b8d8(not a DSH Session)codex/883-model-preset-database#76 design was accepted by Human; PR #881 merged at verified head after complete CI success. This is a fresh unclaimed child; first runtime delivery stops for its own Human QA.
DoodleBears commentedon Oct 5, 2026
Agent work outcome
codex/local/01a0f25f-2150-75e3-8895-23d35394b8d8(not a DSH Session)2a43e3fed78bbb32027f8a61e6c395a6a4105076docs/assets/pr/883-model-presets; it explicitly does not establish browser interaction.Persist reusable Model Presets in the Profile database (#888)
DoodleBears commentedon Oct 5, 2026
Agent work outcome
codex/local/01a0f25f-2150-75e3-8895-23d35394b8d8(not a DSH Session)b5c00f71a42c107789719cf76780a06f6b463dd6after successful exact-head lint/format/typecheck/full tests/build/docs at2a43e3fed78bbb32027f8a61e6c395a6a4105076.