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

asks, now and milestones answer with their ui:// card, like apps, flow and waves already do #11080

Merged opened this

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

Merged

`asks`, `now` and `milestones` now return a card beside their JSON, and `asks_act`'s receipt carries `undo`. I ran `tsc`, `gate.ts`, `design-lint.ts` and the MCP card tests (including `mcp-size`, `mcp-table` and `mcp.test.ts`), all green. I did not run the full suite or try the previews.

shipped production is serving it deploy a985b29

opened this

asks, now and milestones now return a card beside their JSON, and asks_act's receipt carries undo. I ran tsc, gate.ts, design-lint.ts and the MCP card tests (including mcp-size, mcp-table and mcp.test.ts), all green. I did not run the full suite or try the previews.

Most of the mapping already existed in cards.ts (asks→decision, now→run, milestones→wave), so this pull fills gaps and adds the tests.

  • asks

- Rows now also link from the ask's own rooted path when the row has no pull or issue number. - The card's actions are Approve (look and review rows only), Decline and a new Dismiss. They carry the first row's items to asks_act.

  • asks_act

- It has a ui://forge/decision card for a done action: the receipt, plus an Undo button that calls asks_act with action: undo and the operation id. - A plan (dryRun), a listen or an undo that was itself undone returns no card or no Undo.

  • now

- Rows now show how long ago each run started, and no longer start with a stray " — " when a run has no issue. - The planner-waiting row stays first, as crewNow already orders it.

  • milestones

- I added a milestones card kind, because the existing "Wave" card is the release-wave concept and mislabelled this one. - Each row shows done/total and links to /<repo>/milestones/<n>. Opening one milestone with issue returns no card.

  • Tests: test/mcp-asks-now-milestones-cards.test.ts seeds a forge and asserts each card's URI, title, rows and that every link is a rooted path on this forge. I also updated test/mcp.test.ts, whose pins were wrong now that milestones has its own kind: the card list gains ui://forge/milestones, milestones points to ui://forge/milestones, and it asserts asks_act→decision. docs/MCP.md is re-rendered, and mcp-size and mcp-table pass with the ceilings unchanged.

I did not follow the issue's ui://forge/crew for now: that kind is the scorecard (per-agent weekly totals), so now keeps ui://forge/run, "Working now". Say so if you want it changed.

Only the first row's items feed the action buttons, as before. There is no per-row action list, which would grow every answer.

To try it, ask an MCP Apps host to call asks, now or milestones with app. In the card, press Dismiss, then Undo on the receipt that asks_act returns.

Closes #11066

commented

asks, now and milestones now return a card beside their JSON, and asks_act's receipt carries undo. I ran tsc, gate.ts, design-lint.ts and the MCP card tests (including mcp-size, mcp-table and mcp.test.ts), all green. I did not run the full suite or try the previews.

Most of the mapping already existed in cards.ts (asks→decision, now→run, milestones→wave), so this pull fills gaps and adds the tests.

  • asks

- Rows now also link from the ask's own rooted path when the row has no pull or issue number. - The card's actions are Approve (look and review rows only), Decline and a new Dismiss. They carry the first row's items to asks_act.

  • asks_act

- It has a ui://forge/decision card for a done action: the receipt, plus an Undo button that calls asks_act with action: undo and the operation id. - A plan (dryRun), a listen or an undo that was itself undone returns no card or no Undo.

  • now

- Rows now show how long ago each run started, and no longer start with a stray " — " when a run has no issue. - The planner-waiting row stays first, as crewNow already orders it.

  • milestones

- I added a milestones card kind, because the existing "Wave" card is the release-wave concept and mislabelled this one. - Each row shows done/total and links to /<repo>/milestones/<n>. Opening one milestone with issue returns no card.

  • Tests: test/mcp-asks-now-milestones-cards.test.ts seeds a forge and asserts each card's URI, title, rows and that every link is a rooted path on this forge. I also updated test/mcp.test.ts, whose pins were wrong now that milestones has its own kind: the card list gains ui://forge/milestones, milestones points to ui://forge/milestones, and it asserts asks_act→decision. docs/MCP.md is re-rendered, and mcp-size and mcp-table pass with the ceilings unchanged.

I did not follow the issue's ui://forge/crew for now: that kind is the scorecard (per-agent weekly totals), so now keeps ui://forge/run, "Working now". Say so if you want it changed.

Only the first row's items feed the action buttons, as before. There is no per-row action list, which would grow every answer.

To try it, ask an MCP Apps host to call asks, now or milestones with app. In the card, press Dismiss, then Undo on the receipt that asks_act returns.

Approved

Approved. asks, now and milestones answer with a card beside the JSON; asks_act gains a receipt card with Undo; links are rooted; the test seeds a forge and checks URI, title, rows and links; docs/MCP.md is re-rendered. Preview answers 200. No page or terminal surface is added, so no TUI screen or feature doc is owed. Two things to do next: (1) decide with the owner whether now should move to ui://forge/crew as the issue says or the issue text should be amended to ui://forge/run, so box 2 can close; (2) the action buttons carry only the first row's items, so a card with several asks lets Dismiss act on one row while the rest look actionable. Add a per-row Dismiss, or word the status line to say it acts on the first.

commented

Left #11066 open: 1 unticked item remain (now answers with the ui://forge/crew card: who, on what, since when, cost; a planner waiting on the owner is the first row.).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs