Skip to content

The pointing tool returns to boring-ui: feedback block and AgentSpec.feedback - #1959

Merged
hachej merged 2 commits into
mainfrom
feat/feedback-block-returns
Nov 1, 2026
Merged

hachej merged 2 commits into
mainfrom
feat/feedback-block-returns

Conversation

@hachej

@hachej hachej commented Nov 1, 2026

Copy link
Copy Markdown
Owner

Julien's decision: the pointing tool belongs to boring-ui, something any app can switch on, on the composer and on the surface. This undoes that part of #1958. PM-specific wiring stays in the Factory.

Why now: Coach Max passes a feedback session on Max's spec (trunk 178d745, reported by the Coach Max session; I haven't read that repo). #1958 removed AgentSpec.feedback, so the next kit would fail its typecheck and lose the feature.

What changes

  • feedback item is back: same files as before Platform UI leaves boring-ui: the shell gets a generic agent slot #1958, plus the sent report's card (feedback-content.ts, sent-feedback.tsx, sent-content.tsx). voice-input stays in pi-chat-voice.
  • AgentSpec.feedback is back: the composer's composer-annotate toggle, the note bubble, point mode and the comment banner, as the shell had them. app-shell depends on feedback again.
  • Tests and docs are back: the feedback suites, the install test, six VERIFY.json rows, token tests, features/feedback.md and the README sections.

Decisions to check

  • pi-chat stays free of feedback. It keeps Platform UI leaves boring-ui: the shell gets a generic agent slot #1958's generic sentContent hook. The shell fills it for an agent with feedback on, and a host's own sentContent wins. A pi-chat used without the shell shows a sent report as plain text unless the host passes sentFeedbackContent.
  • feedback-preview stays in the Factory. The decision named the composer and the surface; the preview banner is neither. Say if it should come back too.

Tests

Run locally:

  • npm run check: exit 0
  • test/contracts/app-shell-render.impl.mjs: 54 pass, including two new tests. One covers the toggle and the layer stepping aside on a phone; the other covers the sent report's content.
  • Feedback suites and the token and pi-chat source tests: 80 pass. app-shell-source: 30 pass.
  • Install tests through the pinned shadcn CLI: test:feedback-registry-consumer, test:pi-chat-consumer, test:app-registry-consumer all pass.

The feedback install test had a stale dependency list (no class-variance-authority), now fixed. It was not in CI before #1958 either, and this PR doesn't add it.

Not in this PR

  • Release: Coach Max needs a published kit containing this, and stays on 0.4.46 until then.
  • Factory copy: platform-ui/feedback/ still exists, so there are two copies until a Factory PR moves the PM onto this block.
  • End-to-end proof: the sent card's rendering and a real point, note, send, Max-names-it run are not tested here. That run on Coach Max is the step 4 check.
  • Dropped with Platform UI leaves boring-ui: the shell gets a generic agent slot #1958, not restored: the examples/feedback browser journeys and the feedback scenario, which were not in CI.

🤖 Generated with Claude Code

hachej and others added 2 commits November 1, 2026 10:20
…feedback

Any app can switch it on, on the composer and on the surface. pi-chat keeps the generic sentContent hook; the shell fills it for an agent with feedback on.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hachej
hachej merged commit db21856 into main Nov 1, 2026
17 checks passed
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