Skip to content

fix(prompts): point tool-enablement guidance at Customize → Tools - #1120

Merged
philmerrell merged 1 commit into
developfrom
claude/outdated-ui-system-instructions-548998
Sep 15, 2026
Merged

philmerrell merged 1 commit into
developfrom
claude/outdated-ui-system-instructions-548998

Conversation

@philmerrell

Copy link
Copy Markdown
Contributor

Problem

The Customize epic deleted the composer settings drawer — docs/specs/customize-surface.md is explicit about it ("Does the settings icon survive? No."), and components/model-settings/ is gone. But the prompt and UI copy never followed, so we are still telling users to open "the gear icon next to the message input".

The composer today has attach (+), microphone, model dropdown and send. There is no gear. Tool enablement lives at /customize/tools, reached from the sidebar's Customize entry.

What changed

Model- and user-facing:

  • system_prompt_builder.pyHANDLING MISSING TOOLS intro, step 2, and the worked example. The example is the worst of the set: it is a verbatim reply template, so the model reproduced the wrong instruction word-for-word.
  • inference_api/chat/routes.py — the spreadsheet and PowerPoint attachment-diversion notes. These are appended to the user's own message, so the user reads the wrong direction in-thread, not just via the model.
  • chat-input.component.ts — the "Enable Spreadsheet Analysis" nudge toast, found in the sweep.

Also drops "for this conversation" from the example reply: the toggles at /customize/tools are user-level preferences, not conversation-scoped.

Swept the rest of the tree for the same staleness: an admin placeholder claiming the prompt description is "shown to users in the conversation settings panel" (it is shown nowhere today), and five docstrings naming model-settings, the drawer, or "the My Skills page".

Not changed, but worth knowing

The code prompt is only the fallback. seed_bootstrap_data.py seeds no prompt text, so a dev/prod prompt edited through admin CRUD keeps whatever copy it was saved with. This PR does not fix a deployed environment — the DynamoDB prompt records need checking separately.

respectAgentLock: true is now a dead default. Every live caller passes false; the conversation surface that needed true was the drawer. The comment is corrected to stop naming a deleted surface, but the behavior is untouched — removing the parameter is a refactor, not a copy fix.

Cost note

This rewrites the system-prompt prefix once on deploy — an unavoidable one-time cache miss per session, not a recurring one. Nothing about the change is per-turn or order-dependent, so the prompt-cache contract is unaffected.

Verification

  • Backend: 266 tests across agents/main_agent/core/ + test_stream_processor.py pass; 29 attachment/diversion tests pass.
  • Frontend: full SPA suite, 3149/3149 pass.
  • Final grep for gear icon / model settings panel / next to the message input / conversation settings panel / My Skills page across backend/src, frontend/ai.client/src, docs-site/src returns nothing.

🤖 Generated with Claude Code

The composer settings drawer was deleted by the Customize epic
(docs/specs/customize-surface.md: "Does the settings icon survive? No."),
but the prompt and UI copy kept directing users to "the gear icon next to
the message input".

Model- and user-facing:
- system_prompt_builder.py HANDLING MISSING TOOLS — intro, step 2, and the
  worked example, which is a verbatim reply template the model reproduced
  word-for-word.
- inference_api/chat/routes.py — the spreadsheet and PowerPoint diversion
  notes, which are appended to the user's own message and render in-thread.
- chat-input.component.ts — the "Enable Spreadsheet Analysis" toast.

Also drops "for this conversation" from the example reply: tool toggles at
/customize/tools are user-level preferences, not conversation-scoped.

Swept the rest of the tree for the same staleness: an admin placeholder
claiming the prompt description is shown in the conversation settings panel
(it is shown nowhere today) and five docstrings naming model-settings, the
drawer, or "the My Skills page".

Note: the code prompt is only the fallback — seed_bootstrap_data.py seeds no
prompt text, so a deployed prompt edited through admin CRUD keeps its old
copy. Deployed environments need checking separately.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@philmerrell
philmerrell merged commit 14fdb8f into develop Sep 15, 2026
6 checks passed
@philmerrell
philmerrell deleted the claude/outdated-ui-system-instructions-548998 branch September 15, 2026 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant