Skip to content

I2999 — From /ui/peers an operator answers a review, takes a handover or releases a claim, through its capability

Put the actions the blackboard's records already have next to the records on /ui/peers. An open review is answered (mesh.review.answer), an untaken handover is taken (mesh.handover.consume), and a claim of the caller's own session is released (mesh.release). Each is a form that posts to the capability's own HTTP route and names the record it acts on. It is offered only where the capability admits the caller: loopback, or a remote caller the capability's execution policy admits. The page shows the action pending until the next blackboard frame shows the record changed. A refusal is shown with the capability's own reason. Nothing is done by the page and nothing succeeds on a timer.

BLOCKED wave 4 · p1 · implementation profile · runs alone

Part of peer-blackboard — The peer blackboard is one projection, pushed live to every surface.

Blocked. This issue cannot start until I2983 is done. The status is derived from that, not declared.

Objective

Put the actions the blackboard's records already have next to the records on /ui/peers. An open review is answered (mesh.review.answer), an untaken handover is taken (mesh.handover.consume), and a claim of the caller's own session is released (mesh.release). Each is a form that posts to the capability's own HTTP route and names the record it acts on. It is offered only where the capability admits the caller: loopback, or a remote caller the capability's execution policy admits. The page shows the action pending until the next blackboard frame shows the record changed. A refusal is shown with the capability's own reason. Nothing is done by the page and nothing succeeds on a timer.

Why

The blackboard shows what waits and for whom, but acting on it means leaving the page for the command line. A page that offered a control without a capability behind it, or claimed a success it had not seen, would be the mock control this repository refuses.

Current state

/ui/peers is read-only. The mesh capabilities that change reviews, handovers and claims are reachable only from the command line, MCP and HTTP.

Desired state

An operator on this machine acts on a review, a handover or their own claim from /ui/peers, and sees the result only when the blackboard shows it.

Scope

  • apps/majordomus-cli/src/ui/peers.rs
  • share/ui/ui.js
  • docs/BLACKBOARD.md
  • docs/MAJORDOMUS_UI.md

Dependencies

Acceptance criteria

  • Answering an open review on /ui/peers records the answer through mesh.review.answer, and the review leaves the page with the next frame
  • An action the capability refuses, or that a caller beyond loopback may not take, is not offered or is shown refused with the capability's reason
  • No action on the page changes what it shows before the blackboard shows it

Validation

  • majordomus plan validate

Evidence required

  • case_blackboard_actions_go_through_capabilities

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I2999.yaml. Read it back with majordomus plan show I2999.

Searches the titles and descriptions of every page this site publishes.