You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -121,7 +121,7 @@ The loader is forgiving and never crashes the app on user config:
121
121
122
122
- Missing file → defaults seeded and written. (Only fatal failure path is the seed write itself.)
123
123
- Missing fields/sections → `#[serde(default)]` fills from compiled defaults.
124
-
- Empty/whitespace strings → replaced with compiled defaults. Exception: `prompt.system` is a deliberate user override; an empty value is preserved and means "send no persona" (only the slash-command appendix is composed into `resolved_system`).
124
+
- Empty/whitespace strings → replaced with compiled defaults. Exception: `prompt.system`with `prompt.system_customized = true`is a deliberate user override; an empty value is preserved and means "send no persona" (only the slash-command appendix is composed into `resolved_system`). When `system_customized` is `false` (old configs predating the Settings UI), an empty `system` is treated as a migration artifact and restored to `DEFAULT_SYSTEM_PROMPT_BASE`.
125
125
- Out-of-bounds numerics → reset to default with a stderr warning.
126
126
- Unparseable TOML → file renamed `config.toml.corrupt-<unix_ts>` and a fresh defaults file written.
|`system`| full built-in body (~17 KB) | Yes | — | any string | The full secretary personality prompt. Seeded into your `config.toml` on first run so the file is the single source of truth: edit, tweak, or replace it. Clearing the field sends no persona at all. The slash-command appendix is always added on top, so `/search` etc. work either way. |
135
+
|`system`| full built-in body (~17 KB) | Yes | — | any string | The full secretary personality prompt. Seeded into your `config.toml` on first run so the file is the single source of truth: edit, tweak, or replace it. Clearing the field via Settings sends no persona at all. Clearing it by hand in the TOML (without ever saving via Settings) is treated as an old-config migration artifact and the default is restored on the next boot. The slash-command appendix is always added on top, so `/search` etc. work either way. |
136
+
|`DEFAULT_SYSTEM_CUSTOMIZED`|`false`| No | Internal migration flag. Set to `true` the first time the user saves the system prompt via Settings. Guards the upgrade path that distinguishes configs where `system = ""` was the old compiled default from a deliberate clear made in the Settings UI. Not user-tunable because exposing it would let users suppress the safety net that restores the built-in persona on upgrade. | — | Tracks whether the user has ever explicitly saved a system prompt through the Settings UI. |
136
137
|`DEFAULT_SYSTEM_PROMPT_BASE`|`prompts/system_prompt.txt`| No | The shipped seed for `system` on first run. Once your `config.toml` exists, only the file matters; this constant is no longer consulted at runtime. | — | Source-of-truth file used to seed `system` on first run. |
137
138
|`SLASH_COMMAND_PROMPT_APPENDIX`|`prompts/generated/slash_commands.txt`| No | Auto-generated from the slash-command registry at build time. Editing by hand would desync the AI's understanding of the commands from the real ones. | — | The list of slash commands (`/search`, `/screen`, etc.) Thuki tells the AI about so it knows what each one does. Always added on top of your `system` prompt. |
0 commit comments