Add custom 'marvin' persona as interactive default

Server-only deployment has no console admin API, so the persona is
upserted directly into the SQLite DB via scripts/persona.py with the
prompt text versioned in the repo (VM persistence rules, Gitea/GitHub
remotes, rootless podman). Built-in personas are seeded by migration
063; this sets marvin as the interactive default.
This commit is contained in:
marvin committed 2026-09-28 20:06:02 +02:00
1 parent 299e412518
commit 93fa05bdcc
2 files changed
+127

No files matched your search

+17
View File
@@ -104,6 +104,23 @@ Edit `configs/turnstone/config.toml` (gitignored; see
(currently mirrored from opencode's `auth.json`).
- `[auth] jwt_secret` — required, generate once.
- `[database] path` — SQLite on the `data/` share.
- `[tools]` — `workspace_dir` surfaced to the model
(`/home/marvin/work`, mounted from `./work`).
### Personas
Built-ins (Engineer, Writer, Researcher, Scribe, Manager, Executive)
are seeded by turnstone's migration. This deployment adds a custom
default persona `marvin` (VM-specific: persistence rules, Gitea remotes,
podman) via `scripts/persona.py` — the prompt text is versioned there
and re-applied after a DB reset:
```sh
python3 scripts/persona.py # --db data/turnstone.db default
```
(Without a console deployment, persona CRUD is a direct SQLite write;
with `turnstone-console` running, use its admin API/Personas tab.)
## Notes / trade-offs