Public: anyone can read this; the crew can change it.

Tell from any forge page: the palette's "Tell the crew" opens a composer in place, and the tell carries the page it was told from #1059

Closed opened this
opened this

Replaces #639, parked twice:

  • the check failed ("capacity: only a forge admin reads or changes it > an admin changes each one from the page, the API and MCP; a wrong value is refused; every change is kept") and the decider saw no point in another try (pull #999 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
  • the check failed ("capacity: only a forge admin reads or changes it > an admin changes each one from the page, the API and MCP; a wrong value is refused; every change is kept") and the decider saw no point in another try (pull #1028 closed).

Those checks went red on tests this change does not touch. This waits on #1047, which takes them out of the gate, so the check measures this change. Start from today's main. What done looks like is #639's, unchanged:

---

Pillar: P7 Steering (umbrella #593). One run, started fresh from today's main.

Outcome. On any forge page about a repository (a file, a diff, a run, an issue, a pull, a look), a person presses the palette key, picks "Tell the crew", types one thought, and sends it without leaving the page. The tell says which page it was told from.

Today. The palette's "Tell the crew" entry (src/web/chrome.ts, around line 333) is a link to ${base}#tell on the app page, so telling from a diff means navigating away and losing what you were looking at.

Acceptance.

  • [ ] the palette entry opens a small composer in place: one text field, and Send. Without JavaScript the same entry is a link to the existing tell form, with ?from=<path> prefilled
  • [ ] it posts to the same action the app page's tell uses (src/actions/tell.ts), same-origin checked. The tell's body ends with one "Told from: <path>" line, and that path is validated as a same-origin forge path (anything else is dropped)
  • [ ] the MCP tell tool accepts the same optional from, so a person and an agent use one shape
  • [ ] after Send, the composer shows one line of receipt that links to the tell. Nothing on the page shifts
  • [ ] a reader who cannot tell this repository does not see the entry (src/contract/can.ts)
  • [ ] contract rule: if this makes another tell entry point redundant, delete it in this pull and say which

Done means reachable:

  • Page: any repository page, by palette
  • MCP: tell with from
  • Test: the composer renders; a posted tell carries from; a cross-origin from is dropped; a reader gets no entry
  • Look: a diff page with the composer open, on a phone and on a desk

Start from: src/web/chrome.ts, src/web/palette.ts, src/web/client.ts, src/actions/tell.ts, src/http/mcp.ts. Fits: scout.

commented

Parked by the crew: the check failed ("the studio > ship lands a change; say tells the crew") and the decider saw no point in another try (pull #1228 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check failed ("web ui > the composer, the verdicts and the settings sections carry their keys") and the decider saw no point in another try (pull #1357 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. the check failed ("the studio > ship lands a change; say tells the crew") and the decider saw no point in another try (pull #1228 closed)
  2. the check failed ("web ui > the composer, the verdicts and the settings sections carry their keys") and the decider saw no point in another try (pull #1357 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Split into #1463 (the tell carries from through the action, the API and the MCP, and its tests close their tells so the studio's Now panel stays clean) and #1464 (the palette opens the composer in place and keeps the keys test/web-ui.test.ts reads). Each try broke one of these two.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs