FE-1122: Walkthrough doctor-pass fixes: kick prompt, origination record, kick chrome, elicitor prompt refinements#286
Conversation
PR SummaryMedium Risk Overview Prompt / kick path: Observability: Boot writes an origination decision to TUI chrome: Deterministic “Welcome to Brunch” copy on new spec/session startup (suppressed on resume); Elicitor / exchanges: Planning only (no product render sweep): Reviewed by Cursor Bugbot for commit 14a7b85. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6e26378. Configure here.
There was a problem hiding this comment.
Pull request overview
This PR captures a 2026-07-02 “doctor-pass” walkthrough as durable artifacts (testing plan + findings ledger) and folds the resulting decisions into Brunch’s prompt/runtime wiring, TUI chrome behavior, and planning/spec documentation.
Changes:
- Add walkthrough artifacts (
TESTING_PLAN.mdupdates + newTESTING_FINDINGS.md) and reflect new/renamed frontiers inmemory/PLAN.mdplus oracle design inmemory/SPEC.md. - Fix kickoff prompt application by extending Brunch prompt composition to also guard
before_provider_requestpayloads (for kick/triggerTurn paths that bypassbefore_agent_start). - Improve early-session UX + exchange answering correctness: hide thinking blocks by default, add kick activity status + welcome header logic, and stop duplicating “Other” answers into both label and comment (with schema/test updates).
Reviewed changes
Copilot reviewed 26 out of 26 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| TESTING_PLAN.md | Adds two open design questions and a new scenario for mode-switch/reboot evidence capture. |
| TESTING_FINDINGS.md | New walkthrough findings ledger with classification and scoped-fix pointers. |
| src/probes/deterministic-exchange-script.ts | Updates comment to reflect scratchpad vs retired ranked-gaps framing. |
| src/graph/tests/elicitation-gap-guidance-closure.test.ts | Extends banned identifier list to catch stale “ranked elicitation gaps” text. |
| src/app/pi-settings.ts | Sets hideThinkingBlock: true in Brunch settings policy (and audits getter). |
| src/app/pi-extensions.ts | Re-exports chrome status key for app-layer use. |
| src/app/brunch-tui.ts | Writes origination decision record earlier; adds kick activity status set/clear around kick. |
| src/app/tests/brunch-tui.test.ts | Verifies hideThinkingBlock default + mutability through SettingsManager. |
| src/agents/runtime/elicitor/tests/compose-live-prompt.test.ts | Ensures live prompt includes new elicitor style + multi-select guidance. |
| src/agents/prompts/elicitor.md | Adds explicit style discipline + multi-select guidance to elicitor persona. |
| src/.pi/extensions/exchanges/shared/choice-source.ts | Stops “Other” input from being duplicated into comment. |
| src/.pi/extensions/exchanges/schemas/request.ts | Requires comments only for none (not other) choice answers. |
| src/.pi/extensions/exchanges/present-question.ts | Adds prompt guideline to prefer multiple: true when options aren’t mutually exclusive. |
| src/.pi/extensions/chrome/index.ts | Adds kick status key, threads startup decision into header, and clears kick status on first assistant message. |
| src/.pi/extensions/brunch-data/context/index.ts | Updates read_specification_context description/snippet/guidelines away from ranked gaps to scratchpad. |
| src/.pi/extensions/agent-runtime/system-prompts/index.ts | Adds before_provider_request prompt-append guard and makes prompt append idempotent. |
| src/.pi/extensions/tests/registry.test.ts | Updates expected registered Pi event set to include message_start. |
| src/.pi/extensions/tests/exchanges-schemas.test.ts | Updates schema test expectations for “other” answers without required comment. |
| src/.pi/extensions/tests/exchanges-present-request.test.ts | Adds test asserting “Other” label isn’t duplicated as comment and rendered output omits Comment section. |
| src/.pi/extensions/tests/exchanges-extension.test.ts | Verifies new present_question guidance string is included. |
| src/.pi/extensions/tests/dev-mode-introspection.test.ts | Asserts origination mirror writes decision-time record before outcome. |
| src/.pi/extensions/tests/chrome.test.ts | Verifies welcome copy gating, kick-status clearing on assistant message_start, and command hints. |
| src/.pi/extensions/tests/agent-runtime-system-prompts.test.ts | Adds tests for triggerTurn prompt repair and idempotence of provider-request guard. |
| src/.pi/components/chrome-header.ts | Adds conditional welcome intro lines for new-spec/new-session headers; refines fallback copy. |
| memory/SPEC.md | Adds exchange-presentation oracle design notes and blind-spot entries. |
| memory/PLAN.md | Adds exchange-presentation arc, renames/reshapes related frontiers, and records FE-1122 batch status. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const replacements = [ | ||
| appendToStringProperty(payload, 'instructions', prompt), | ||
| appendToStringProperty(payload, 'systemInstruction', prompt), | ||
| appendToStringOrBlocksProperty(payload, 'system', prompt), | ||
| appendToMessageArray(payload, prompt), | ||
| ]; |
…ds, plan frontier Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
74aacb3 to
98fa6c6
Compare
6e26378 to
14a7b85
Compare
Merge activity
|


Stack Context
This branch closes the first doctor-pass walkthrough defect batch before the exchange-rendering and batch-2 walkthrough branches continue the same evidence loop.
What changed
Why
The walkthrough exposed settled-seam defects that made new sessions misleading or noisy before users reached the deeper exchange-rendering problems. This branch fixes those first-contact defects and records the remaining findings in the right follow-on frontiers.