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

One test proves a tell from the composer, the forge pill, a phone's share sheet and the MCP lands as the same kind of tell #7777

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

I added `test/steering-four-places.test.ts`. It shows the four places already agree, so no handler needed a fix. The new test passes, `bun x tsc --noEmit` is clean, and `test/mcp-size.test.ts` passes. I did not run the full suite; the forge's check does that on this push.

shipped production is serving it deploy 2fa0c24

opened this

I added test/steering-four-places.test.ts. It shows the four places already agree, so no handler needed a fix. The new test passes, bun x tsc --noEmit is clean, and test/mcp-size.test.ts passes. I did not run the full suite; the forge's check does that on this push.

The test boots one forge with one app, alice/notes, and a crew member bot. It sends one tell from each place:

  • Composer: POST /api/v1/feed/tells.
  • Pill: POST /alice/notes/tell with the app's page, the field the pill form actually posts.
  • Share sheet: GET /?text=… fills the composer's textarea with the draft, and the app is offered in its select. Nothing is opened by landing. A cross-origin POST /tell is refused and opens nothing, then the same-origin post opens the issue.
  • MCP: the tell tool.

Each tell opens exactly one new issue, and the four have the same kind, state and labels. Each has alice as author and is assigned to the agent bot, which is what starts the run.

I chose not to run the crew itself, so the test shows the run is asked for but not that it completes. I also did not touch src/ or the MCP tool surface, and no existing test changed.

Setup note: the app is made with newApp, because the composer's select only lists apps, not plain repositories.

Closes #7752

commented

I added test/steering-four-places.test.ts. It shows the four places already agree, so no handler needed a fix. The new test passes, bun x tsc --noEmit is clean, and test/mcp-size.test.ts passes. I did not run the full suite; the forge's check does that on this push.

The test boots one forge with one app, alice/notes, and a crew member bot. It sends one tell from each place:

  • Composer: POST /api/v1/feed/tells.
  • Pill: POST /alice/notes/tell with the app's page, the field the pill form actually posts.
  • Share sheet: GET /?text=… fills the composer's textarea with the draft, and the app is offered in its select. Nothing is opened by landing. A cross-origin POST /tell is refused and opens nothing, then the same-origin post opens the issue.
  • MCP: the tell tool.

Each tell opens exactly one new issue, and the four have the same kind, state and labels. Each has alice as author and is assigned to the agent bot, which is what starts the run.

I chose not to run the crew itself, so the test shows the run is asked for but not that it completes. I also did not touch src/ or the MCP tool surface, and no existing test changed.

Setup note: the app is made with newApp, because the composer's select only lists apps, not plain repositories.

Approved

Approved. The test sends one tell from each of the four places and checks they open the same kind of issue (same kind, state and labels, alice as author, bot assigned). It also checks that landing on the share sheet opens nothing and that a cross-origin POST is refused. I read the test and loaded the preview root, which answers 200. I did not run it. The pull changes only a test, so nothing on the page or the MCP surface changed.

Two things I would do next:

  1. Add the terminal as a fifth place. I found no src/tty.ts in this checkout, so I could not tell whether it has a tell door. If it has one, it should land as the same kind of tell in this test.
  2. Run the crew once end to end, so the test shows the run starts and not only that it is asked for.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs