As-is 17 (accounts on a machine): today's operator and agent accounts on the node record, claude-code's own login and guard, the root judgement, and the forge accounts agents push as; two facts are marked not verified.
Design 58 §11: milestones 11 to 14, confirmed by the operator on 2026-10-17, with one issue per repository part (993 to 999, 1001 to 1004) and issue 1000 for the Keycloak and mail accounts after milestone 13.
Role names: #394 wrote node names and the operator's logins into design 58 and design 36; this repository is public (AGENTS.md), so they are replaced by the control node, the other machines and the operator.
sh merge-check.sh passes locally at this head.
Playbook 04 for research 057, steps 3 to 6.
- **As-is 17 (accounts on a machine)**: today's operator and agent accounts on the node record, claude-code's own login and guard, the root judgement, and the forge accounts agents push as; two facts are marked not verified.
- **Design 58 §11**: milestones 11 to 14, confirmed by the operator on 2026-10-17, with one issue per repository part (993 to 999, 1001 to 1004) and issue 1000 for the Keycloak and mail accounts after milestone 13.
- **Role names**: #394 wrote node names and the operator's logins into design 58 and design 36; this repository is public (AGENTS.md), so they are replaced by the control node, the other machines and the operator.
`sh merge-check.sh` passes locally at this head.
Deliverynovox/hq@0a010b8b79a1 — delivered since 2026-10-17T10:19:35Z
Delivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
2026-10-17 10:17 (new) → proposed (announced): novox/hq#396's head announced
2026-10-17 10:17 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-17 10:17 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-17 10:19 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-17 10:19 published → delivered (done): nothing for a walk to move
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/hq@0a010b8b79a1` — **delivered** since 2026-10-17T10:19:35Z
**Delivery plan** — builds nothing: the change touches no module of the mesh's graph
**Transitions**
- 2026-10-17 10:17 (new) → proposed (announced): novox/hq#396's head announced
- 2026-10-17 10:17 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-17 10:17 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-17 10:19 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-17 10:19 published → delivered (done): nothing for a walk to move
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Reviewer: reviewer-394@novox. Reviewed head cc0503ef663a85edc05c8839b1c7871f63d8431f against base 85f0aec. I read playbook 04, AGENTS.md "This repository is public", ADR 0411 to 0414, and issues 993 to 1004 (each with issue-tracker.get). sh merge-check.sh passes at this head (exit 0, run on a copy exported from the commit).
Finding
The design 58 §11 row for milestone 13 gives "12" as its only dependency, but issue 998 waits for milestone 7. Issue 998 is milestone 13's identity-module part. In the tracker it depends on issue 884, which is milestone 7 (dangerous acts asked, and dangerous tools granted by name on an ask). That link is genuine. ADR 0413 §5 refuses dangerous-tool grants to nox's role "so each dangerous act of nox's is asked one by one (ADR 0387 §5)", and that asking is what milestone 7 builds. Issue 884 in turn waits for milestones 4, 5 and 6. The paragraph above the table says that 11 waits for nothing and 12 for milestone 6, so these milestones do not simply follow milestone 10. As written, the row says 13 can start once 12 is done, while the tracker blocks it on milestone 7. Fix: add 7 to row 13's "Depends on" and say so in that paragraph. Or, if milestone 13 is meant to build without milestone 7, remove the link from 998 to 884 and say in the row what 998 refuses before milestone 7 exists.
Checked, no finding
The other issues match their rows and records. Issues 993 to 997 and 999 to 1004 each match their milestone row: outcome, repository, the acceptance tests it proves, and the clauses it builds with. Those clauses are ADR 0414 §4 and §5; ADR 0411 §1 to §7; ADR 0413 §1 to §6; ADR 0412 §2 to §11, with ADR 0413 §4 for 1002.
The depends-on links agree with the rows. Milestone 11 waits for nothing. Milestone 12 waits for milestone 6 (994 waits for 883) and runs 994, 995, 996 and 997 in order. Milestone 13 waits for 12 (999 waits for 996 and 997). Milestone 14 waits for 11 and 13 (1001, 1002, 1003 and 1004 wait for 993 and 999). Issue 1000, for the Keycloak and mail accounts, waits for a design section, as the text says.
As-is 17 matches the live mesh where I checked it. Each claim comes from code, a live read or a record, and every gap is marked not verified. I checked two claims with mesh-controller.node and both hold:
the control node names its agent account nox, judged on 2026-10-17 as unable to become root without a person, and the home server names no agent account;
root-not-free is silenced until 2026-10-23 on the workstation, and is open and not silenced on the home server. The uncomposable conditions from 00:35 are still raised, while declarations have composed again since then.
The public rule holds in the changed files. They name no machine and none of the operator's logins or forge account. The remaining names are the agent's identity and the forge account names nox-agent and nox, which design 58 already carried on main. The paths named are paths the mesh itself writes, not paths from anyone's machine, as the glossary's mesh-cli entry already does.
The role-name replacements keep the meaning. "The control node" stands where novox stood. "Every other machine" or "the other machines" stands for the three nodes without an agent account. "The operator" and "the operator's identity name" stand for the operator's person identity and the name ADR 0414 §3 gives new accounts.
I opened no issues and did not mark the pull request ready.
## Review round 1 of at most 3: request changes
Reviewer: reviewer-394@novox. Reviewed head `cc0503ef663a85edc05c8839b1c7871f63d8431f` against base `85f0aec`. I read playbook 04, AGENTS.md "This repository is public", ADR 0411 to 0414, and issues 993 to 1004 (each with `issue-tracker.get`). `sh merge-check.sh` passes at this head (exit 0, run on a copy exported from the commit).
### Finding
1. **The design 58 §11 row for milestone 13 gives "12" as its only dependency, but issue 998 waits for milestone 7.** Issue 998 is milestone 13's identity-module part. In the tracker it depends on issue 884, which is milestone 7 (dangerous acts asked, and dangerous tools granted by name on an ask). That link is genuine. ADR 0413 §5 refuses dangerous-tool grants to nox's role "so each dangerous act of nox's is asked one by one (ADR 0387 §5)", and that asking is what milestone 7 builds. Issue 884 in turn waits for milestones 4, 5 and 6. The paragraph above the table says that 11 waits for nothing and 12 for milestone 6, so these milestones do not simply follow milestone 10. As written, the row says 13 can start once 12 is done, while the tracker blocks it on milestone 7. Fix: add 7 to row 13's "Depends on" and say so in that paragraph. Or, if milestone 13 is meant to build without milestone 7, remove the link from 998 to 884 and say in the row what 998 refuses before milestone 7 exists.
### Checked, no finding
- **The other issues match their rows and records.** Issues 993 to 997 and 999 to 1004 each match their milestone row: outcome, repository, the acceptance tests it proves, and the clauses it builds with. Those clauses are ADR 0414 §4 and §5; ADR 0411 §1 to §7; ADR 0413 §1 to §6; ADR 0412 §2 to §11, with ADR 0413 §4 for 1002.
- **The depends-on links agree with the rows.** Milestone 11 waits for nothing. Milestone 12 waits for milestone 6 (994 waits for 883) and runs 994, 995, 996 and 997 in order. Milestone 13 waits for 12 (999 waits for 996 and 997). Milestone 14 waits for 11 and 13 (1001, 1002, 1003 and 1004 wait for 993 and 999). Issue 1000, for the Keycloak and mail accounts, waits for a design section, as the text says.
- **As-is 17 matches the live mesh where I checked it.** Each claim comes from code, a live read or a record, and every gap is marked **not verified**. I checked two claims with `mesh-controller.node` and both hold:
- the control node names its agent account `nox`, judged on 2026-10-17 as unable to become root without a person, and the home server names no agent account;
- `root-not-free` is silenced until 2026-10-23 on the workstation, and is open and not silenced on the home server. The `uncomposable` conditions from 00:35 are still raised, while declarations have composed again since then.
- **The public rule holds in the changed files.** They name no machine and none of the operator's logins or forge account. The remaining names are the agent's identity and the forge account names `nox-agent` and `nox`, which design 58 already carried on main. The paths named are paths the mesh itself writes, not paths from anyone's machine, as the glossary's `mesh-cli` entry already does.
- **The role-name replacements keep the meaning.** "The control node" stands where novox stood. "Every other machine" or "the other machines" stands for the three nodes without an agent account. "The operator" and "the operator's identity name" stand for the operator's person identity and the name ADR 0414 §3 gives new accounts.
I opened no issues and did not mark the pull request ready.
Reviewer: reviewer-394@novox. Reviewed head 0a010b8b79a13980a49190135532a3513402a3bb, checking only the change since cc0503e.
The round-1 finding is fixed, the second way:
The tracker no longer makes milestone 13 wait for milestone 7.issue-tracker.get 998 shows issue 998 waiting for 994 and 883 only. The link to 884 (milestone 7) is gone.
The row says what holds in the meantime. Row 13 of design 58 §11 now reads: "until milestone 7 builds the asks, a dangerous act of nox's is refused, not asked". This fails closed, and it agrees with ADR 0413 §5 (no dangerous tool in nox's role) and with ADR 0387 §5 (no answer means no). So "Depends on 12" is now true.
No finding stands. sh merge-check.sh passes at this head (exit 0, run on a copy exported from the commit).
I am not marking the pull request ready.
## Review round 2 of at most 3: approve
Reviewer: reviewer-394@novox. Reviewed head `0a010b8b79a13980a49190135532a3513402a3bb`, checking only the change since `cc0503e`.
The round-1 finding is fixed, the second way:
- **The tracker no longer makes milestone 13 wait for milestone 7.** `issue-tracker.get 998` shows issue 998 waiting for 994 and 883 only. The link to 884 (milestone 7) is gone.
- **The row says what holds in the meantime.** Row 13 of design 58 §11 now reads: "until milestone 7 builds the asks, a dangerous act of nox's is refused, not asked". This fails closed, and it agrees with ADR 0413 §5 (no dangerous tool in nox's role) and with ADR 0387 §5 (no answer means no). So "Depends on 12" is now true.
No finding stands. `sh merge-check.sh` passes at this head (exit 0, run on a copy exported from the commit).
I am not marking the pull request ready.
Reviewed by reviewer-394@novox: Round 2 of 3 approves: milestone 13 no longer waits for milestone 7; as-is 17, issues and role names checked. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
ready at 0a010b8b79a13980a49190135532a3513402a3bb
Reviewed by reviewer-394@novox: Round 2 of 3 approves: milestone 13 no longer waits for milestone 7; as-is 17, issues and role names checked. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Playbook 04 for research 057, steps 3 to 6.
sh merge-check.shpasses locally at this head.Delivery
novox/hq@0a010b8b79a1— delivered since 2026-10-17T10:19:35ZDelivery plan — builds nothing: the change touches no module of the mesh's graph
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Review round 1 of at most 3: request changes
Reviewer: reviewer-394@novox. Reviewed head
cc0503ef663a85edc05c8839b1c7871f63d8431fagainst base85f0aec. I read playbook 04, AGENTS.md "This repository is public", ADR 0411 to 0414, and issues 993 to 1004 (each withissue-tracker.get).sh merge-check.shpasses at this head (exit 0, run on a copy exported from the commit).Finding
Checked, no finding
mesh-controller.nodeand both hold:nox, judged on 2026-10-17 as unable to become root without a person, and the home server names no agent account;root-not-freeis silenced until 2026-10-23 on the workstation, and is open and not silenced on the home server. Theuncomposableconditions from 00:35 are still raised, while declarations have composed again since then.nox-agentandnox, which design 58 already carried on main. The paths named are paths the mesh itself writes, not paths from anyone's machine, as the glossary'smesh-clientry already does.I opened no issues and did not mark the pull request ready.
Review round 2 of at most 3: approve
Reviewer: reviewer-394@novox. Reviewed head
0a010b8b79a13980a49190135532a3513402a3bb, checking only the change sincecc0503e.The round-1 finding is fixed, the second way:
issue-tracker.get 998shows issue 998 waiting for 994 and 883 only. The link to 884 (milestone 7) is gone.No finding stands.
sh merge-check.shpasses at this head (exit 0, run on a copy exported from the commit).I am not marking the pull request ready.
ready at
0a010b8b79Reviewed by reviewer-394@novox: Round 2 of 3 approves: milestone 13 no longer waits for milestone 7; as-is 17, issues and role names checked. Marked through mesh-delivery.mark-ready (novox/hq issue 913).