fix(web): align the context separator with ToolRow and name the caption

Review follow-ups on the context provenance row:

- the producer name now follows ToolRow's aria-hidden separator dot instead
  of a literal middot inside the text, so the two disclosure rows expose one
  accessible-name shape;
- the English steering caption becomes the noun `Interjection`, parallel to
  the Chinese 插话 and to the label this bubble carried before;
- the history fold gets its own provenance assertion, so the mapping it
  declares separately from TranscriptAdapter is pinned on both sides;
- the superseded-in-part bullet on the no-interjection-chrome note now
  enumerates the third Decision bullet too, whose no-badge and no-IconActions
  clauses had both lapsed.
This commit is contained in:
creatixchu
2026-08-04 18:25:44 +08:00
parent 95a89078d5
commit fab131a366
34 changed files with 105 additions and 71 deletions

View File

@@ -238,7 +238,7 @@ describe('web e2e: seeded history renders through cold resume', () => {
}))
// The header names the producer the durable source records, so the
// reconciled instruction file is readable without expanding the row.
await page.getByRole('button', { name: 'Context injection · AGENTS.md', exact: true })
await page.getByRole('button', { name: 'Context injection AGENTS.md', exact: true })
.waitFor({ timeout: 10_000 })
}, 60_000)
@@ -257,7 +257,7 @@ describe('web e2e: seeded history renders through cold resume', () => {
it.skipIf(MODE === 'record')('matches the Figma context disclosure geometry', async () => {
onTestFailed(() => saveFailureShot(page, 'web-e2e-context-injection'))
const disclosure = page.getByRole('button', { name: 'Context injection · AGENTS.md', exact: true })
const disclosure = page.getByRole('button', { name: 'Context injection AGENTS.md', exact: true })
expect(await disclosure.getAttribute('aria-expanded')).toBe('false')
const collapsedIcon = disclosure.locator('svg').first()
const collapsedIconBox = await collapsedIcon.boundingBox()
@@ -368,7 +368,7 @@ describe('web e2e: seeded history renders through cold resume', () => {
source: { kind: 'plugin', plugin: 'fixture' },
}))
const disclosure = page.getByRole('button', { name: 'Context injection · fixture', exact: true })
const disclosure = page.getByRole('button', { name: 'Context injection fixture', exact: true })
await disclosure.waitFor({ timeout: 10_000 })
await disclosure.click()
await expect.poll(() => disclosure.getAttribute('aria-expanded')).toBe('true')

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- 'button "Failed Bash Error: command aborted" [expanded]':
- img
- text: "Failed Bash Error: command aborted"

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- 'button "Think The user wants me to write a single `run_code` program that:"':
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user wants me to:":
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user wants me to run a simple bash command and reply with \"DONE\".":
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user wants me to reply with a single word. Let me comply.":
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- text: Stopped
- button "Copy":

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- status:
- text: This turn failedAPI key is invalid
- code: AUTH

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- status: Deep diving...
- textbox "Message the agent"

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- group:
- status: Retried model request (1/2) · {{duration}}
- button "Think The user is asking for a one-sentence description of event sourcing. This is a straightforward knowledge question that doesn't require any skill loading or tool calls.":

View File

@@ -11,10 +11,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- 'button "Think The user wants me to plan a small change to add a `--greeting` flag to a CLI. They explicitly told me not to read or write any files, and to call exit_plan_mode with a short plan. Let me do that directly."':
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user wants me to use the ask_user_question tool with specific parameters. Let me do exactly that.":
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- status: Deep diving...
- button "2 queued messages"

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- status: Deep diving...
- button "2 queued messages" [disabled] [expanded]

View File

@@ -8,18 +8,18 @@
- img
- img
- text: "goal Goal created Status: active Objective: Keep the composer context panels aligned Rounds: 0/256 Activation: armed Commands: /goal edit <objective>, /goal pause, /goal clear"
- button "Context injection · goal":
- button "Context injection goal":
- img
- img
- text: Context injection · goal
- button "Context injection · goal":
- text: Context injection goal
- button "Context injection goal":
- img
- img
- text: Context injection · goal
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- text: Context injection goal
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- status: Deep diving...
- region "To-dos":

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- text: Stopped
- button "Copy":

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- paragraph: partial
- status: Deep diving...
- list:

View File

@@ -37,10 +37,10 @@
- button "Context compacted View compaction summary":
- img
- text: Context compacted View compaction summary
- button "Context injection · AGENTS.md":
- button "Context injection AGENTS.md":
- img
- img
- text: Context injection · AGENTS.md
- text: Context injection AGENTS.md
- img
- text: permission preset read-only
- textbox "Message the agent"

View File

@@ -37,10 +37,10 @@
- button "Context compacted View compaction summary":
- img
- text: Context compacted View compaction summary
- button "Context injection · AGENTS.md":
- button "Context injection AGENTS.md":
- img
- img
- text: Context injection · AGENTS.md
- text: Context injection AGENTS.md
- textbox "Message the agent"
- button "Commands":
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user wants me to use the ask_user_question tool to ask them a specific question with the given parameters. Let me do exactly that.":
- img
- img
@@ -24,7 +24,7 @@
- img
- text: Ask question waiting
- status: Deep diving...
- text: "Steer Interjection: include the word BANANA in your final reply."
- text: "Interjection Interjection: include the word BANANA in your final reply."
- button "Copy":
- img
- region "Ready to continue?":

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user wants me to use the ask_user_question tool to ask them a specific question with the given parameters. Let me do exactly that.":
- img
- img
@@ -22,7 +22,7 @@
- img
- img
- text: Ask question 1/1 answered
- text: "Steer Interjection: include the word BANANA in your final reply. {{clock}}"
- text: "Interjection Interjection: include the word BANANA in your final reply. {{clock}}"
- button "Copy":
- img
- button "Branch into a new conversation" [disabled]:

View File

@@ -15,10 +15,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Think The user is asking for a one-sentence description of event sourcing. This is a straightforward knowledge question that doesn't require any skill loading or tool calls.":
- img
- img

View File

@@ -10,10 +10,10 @@
- button "Branch into a new conversation" [disabled]:
- img
- text: Available only on the last message of a completed turn
- button "Context injection · @deepseek-ai/dsh-system-prompt":
- button "Context injection @deepseek-ai/dsh-system-prompt":
- img
- img
- text: Context injection · @deepseek-ai/dsh-system-prompt
- text: Context injection @deepseek-ai/dsh-system-prompt
- button "Search DeepSeek Harness snapshot search":
- img
- img