Skip to content

I2415 — A mesh review request carries a body, can be withdrawn, and expires

Give review requests a body beside the 256-byte subject, a withdraw event its requester may write, an optional expiry, and a result note the requester may attach to its own request, so a request ends instead of staying open forever.

DONE wave 0 · p2 · implementation profile · parallel safe

Part of the-mesh-works-out-of-the-box — The mesh works out of the box: trusted machines find each other by every means and their sessions cooperate from the first turn.

Objective

Give review requests a body beside the 256-byte subject, a withdraw event its requester may write, an optional expiry, and a result note the requester may attach to its own request, so a request ends instead of staying open forever.

Why

ReviewRequested has a subject capped at 256 bytes and no body (apps/majordomus-cli/src/mesh/journal.rs:520-536, 702); ReviewState is only Open or Answered (state.rs:341-346); KNOWN_KINDS has no close or expiry (journal.rs:553-561); and a requester cannot answer its own request (cooperation.rs:3617-3620). On 2026-10-10 pre-flight requests for rebuilt, void heads stayed open, and results had to be posted as new requests.

Current state

Requests stay open until someone else answers; no body, no withdrawal, no expiry.

Desired state

body up to 8 KiB; review_withdrawn by the requester; expires_at honoured by the fold; a requester's own result note linked to its request without counting as another session's verdict.

Scope

  • apps/majordomus-cli/src/mesh/journal.rs
  • apps/majordomus-cli/src/mesh/state.rs
  • apps/majordomus-cli/src/mesh/cooperation.rs
  • apps/majordomus-cli/src/capability/builtin/mesh.rs
  • docs/MESH.md

Dependencies

None. This issue is a root of the graph.

Acceptance criteria

  • A request with an 8 KiB body replicates and folds on two runtimes
  • A withdrawn or expired request folds to a closed state on every runtime
  • A requester's result note is shown with its request and is not an answer

Validation

  • bin/majordomus plan validate
  • cargo test --lib mesh::

Evidence required

  • review_lifecycle_test

Evidence

coverstypecommandresultat commit
review_lifecycle_testtestcargo test --lib -- mesh::319 passed, 0 failed, including the review body, withdrawal and expiry tests (code on master since 76dc4b399e3; re-run at master 01227a0)01227a0

Timeline

started
2026-10-17T12:00:46Z
verified
2026-10-17T12:00:58Z
completed
2026-10-17T12:01:07Z

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/I2415.yaml. Read it back with majordomus plan show I2415.

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