| 1 | # Chat Naming Plugin DOX |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | - Own manual and Utility Model-assisted naming for chats and scheduled-task rows. |
| 6 | |
| 7 | ## Ownership |
| 8 | |
| 9 | - `helpers/naming.py` owns user-message selection, name generation, and persistence. |
| 10 | - `extensions/python/monologue_end/` owns configured automatic naming. |
| 11 | - `api/chat_name.py` owns modal reads, generation, and manual saves. |
| 12 | - `webui/` and `extensions/webui/sidebar-row-actions-menu/` own the standard rename modal and row-menu action. |
| 13 | - `prompts/` owns the Utility Model naming instructions. |
| 14 | - `commands/` owns the plugin-contributed `/rename <new name|auto>` slash command. |
| 15 | |
| 16 | ## Local Contracts |
| 17 | |
| 18 | - Automatic naming reads scoped plugin config through the active chat agent. |
| 19 | - Automatic naming runs after the monologue completes, so it cannot delay the Main Model. |
| 20 | - Utility Model input contains the current name and user messages only; assistant work and tool results are excluded. |
| 21 | - The complete naming prompt must remain within 70% of the effective Utility Model context window, preserving the newest user context when trimming is required. |
| 22 | - `once` names only unnamed user chats from their first user message; `always` considers the latest user message plus recent user context. |
| 23 | - Generated names are concise and normalized before persistence. |
| 24 | - Renaming a parallel child updates both its context name and sidebar label. |
| 25 | - Manual task renames update both scheduler metadata and the task context name. |
| 26 | - `/rename auto` uses the same generation and persistence helpers as the rename modal; any other non-empty argument is saved as the custom chat name. |
| 27 | |
| 28 | ## Work Guidance |
| 29 | |
| 30 | - Keep this behavior plugin-local; do not restore naming prompts or naming hooks to core extensions. |
| 31 | - Use the shared modal stack and sidebar row-menu extension point. |
| 32 | |
| 33 | ## Verification |
| 34 | |
| 35 | - Run `pytest plugins/_chat_naming/tests tests/test_sidebar_row_actions.py`. |
| 36 | |
| 37 | ## Child DOX Index |
| 38 | |
| 39 | No child DOX files. |