Skip to content

docs: correct the Mesa / Directed Messaging migration commands - #275

Open
sigilante wants to merge 1 commit into
urbit:masterfrom
sigilante:docs/pr12-mesa-ahoy
Open

docs: correct the Mesa / Directed Messaging migration commands#275
sigilante wants to merge 1 commit into
urbit:masterfrom
sigilante:docs/pr12-mesa-ahoy

Conversation

@sigilante

Copy link
Copy Markdown
Collaborator

Tenth PR from the audit against urbit/urbit@08026c84b2.

Companion PRs: #266, #267, #268, #269, #270, #271, #272, #273, #274.

A correction to the audit first. It reported that the docs contain "zero occurrences" of mesa. That is false — hood.md already documented four migration pokes. The real problem is narrower and worse: one of those pokes no longer exists, another's payload is wrong, and none of the generators that drive them are documented.

%helm-send-ahoy is gone

Not present anywhere in pkg/arvo. Removed by 3ff38fb0d2 (2026-03-26, "hood: remove |ahoy generator"). The poke dispatch now handles %ahoy-comb and %ahoy-prob (lib/hood/ahoy.hoon:173-174) alongside %helm-mass-mate, %helm-send-rege and %helm-mass-rege (lib/hood/helm.hoon:665-667).

Rewrote the section around %ahoy-prob [=ship force=?], added one for %ahoy-comb, and fixed the two cross-references that pointed at the dead mark.

%ahoy-comb is currently a no-op

+comb (lib/hood/ahoy.hoon:184-186) opens with:

?:  &  this  :: XX disabled

It returns immediately and the entire rest of the arm is unreachable. The poke succeeds and does nothing — exactly the sort of behaviour a reader would otherwise spend an afternoon diagnosing as their own mistake. Documented in both hood.md and the generator entry, pointing at |ahoy/prob instead.

%helm-mass-mate's payload was wrong

Documented as [ship=(unit ship) dry=?]. +poke-mass-mate (lib/hood/helm.hoon:196-198) binds dry in its subject with =| and takes only ship=(unit ship) as its sample — so the payload is the unit alone. The |mate generator agrees, sending helm-mass-mate/who.

I checked the neighbours rather than assuming the same bug: %helm-mass-rege [ship=(unit ship) dry=?] and %helm-send-rege [her=ship test=?] are both already correct, and are untouched.

Five undocumented generators

|ahoy/prob, |ahoy/comb, |mate, |rege, |ress — all added to dojo-tools.md. All five default to a dry run. |mate and |ress are marked testing-only per their own source comments, since they skip negotiation entirely and always run dry.

%ahoy name collision

examples/ahoy.md documents ~midden-fabler's third-party %ahoy desk, which since February 2026 collides by name with the kernel's %ahoy migration subsystem. A reader who types |ahoy after finishing that tutorial lands somewhere entirely unrelated. Added a disambiguation note linking to the real generators.

Incidental

Added anchors to five hood.md headings that were already the target of same-file links (#migrate-to-directed-messaging, #set-ames-verbosity, #automatic-memory-reports, #cancel-automatic-memory-reports, #send-a-hi).

The remaining broken #vat and #claycancelautocommit links in dojo-tools.md are deliberately untouched — owned by #266 and #273. Verified in a combined test-merge of all ten branches that the merged dojo-tools.md has zero broken anchors.

🤖 Generated with Claude Code

Against urbit/docs.urbit.org@08026c84b2. The audit reported that the docs contain "zero
occurrences" of mesa; that is false -- hood.md already documented four migration
pokes. The real problem is narrower and worse: one of those pokes no longer
exists, another's payload is wrong, and the generators that drive them are
undocumented.

%helm-send-ahoy IS GONE (hood.md).
  Not present anywhere in pkg/arvo. Removed by 3ff38fb0d2 (2026-03-26, "hood:
  remove |ahoy generator"). The poke dispatch now handles %ahoy-comb and
  %ahoy-prob (lib/hood/ahoy.hoon:173-174) alongside %helm-mass-mate,
  %helm-send-rege and %helm-mass-rege (lib/hood/helm.hoon:665-667).
  Rewrote the section around %ahoy-prob `[=ship force=?]`, added a section for
  %ahoy-comb, and fixed the two cross-references that pointed at the dead mark.

%ahoy-comb IS CURRENTLY A NO-OP.
  +comb in lib/hood/ahoy.hoon:184-186 opens with `?:  &  this  :: XX disabled`,
  so it returns immediately and the entire rest of the arm is unreachable. The
  poke succeeds and does nothing -- which is exactly the sort of thing a reader
  would otherwise diagnose as their own mistake. Documented as such in both
  hood.md and the generator entry, pointing at |ahoy/prob instead.

%helm-mass-mate payload was wrong (hood.md).
  Documented as `[ship=(unit ship) dry=?]`. +poke-mass-mate
  (lib/hood/helm.hoon:196-198) binds `dry` in its SUBJECT with `=|` and takes
  only `ship=(unit ship)` as its sample, so the payload is the unit alone. The
  |mate generator agrees, sending `helm-mass-mate/who`.
  Checked the neighbours rather than assuming: %helm-mass-rege
  `[ship=(unit ship) dry=?]` and %helm-send-rege `[her=ship test=?]` are both
  already correct and are untouched.

Five undocumented generators added (dojo-tools.md): |ahoy/prob, |ahoy/comb,
  |mate, |rege, |ress. All five default to a dry run. |mate and |ress are
  marked testing-only, per their own source comments, since they skip
  negotiation entirely and always run dry.

examples/ahoy.md: added a disambiguation note. That page documents
  ~midden-fabler's third-party %ahoy desk, which since February 2026 collides
  by name with the kernel's %ahoy migration subsystem. A reader who types |ahoy
  after reading it lands somewhere entirely unrelated.

Incidental: added anchors to five hood.md headings that were already the target
of same-file links (#migrate-to-directed-messaging, #set-ames-verbosity,
#automatic-memory-reports, #cancel-automatic-memory-reports, #send-a-hi).

The remaining broken #vat and #claycancelautocommit links in dojo-tools.md are
deliberately untouched -- owned by the mechanical and dev-tooling PRs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant