Design 58 and 36: identities carry logins, run for an identity, a bus password per identity (research 057) #394

Merged
mesh-tools merged 2 commits from design/057-identities into main 2026-10-17 09:54:43 +00:00
Member

Graduates research 057 (an identity is the mesh's), playbook 02 step 4.

  • Design 58 gains §5.1 an identity on the machines (ADR 0411, ADR 0414), §5.2 run for an identity (ADR 0412), §5.3 a bus password per identity (ADR 0413), §5.4 traced to GENESIS, and acceptance tests 6 to 12.
  • Design 36 §9: the agent account is the machine account the identity seat marks; claude-code declares no login and runs for nox where the agent account is marked.
  • Glossary: new run for and machine account; operator account, agent account and identity rewritten; nox added under Homonyms.

Decisions: ADR 0411 and ADR 0412 (waiting for the operator's Approve), ADR 0413 and ADR 0414 (accepted). Only designs and the glossary change; no decision or research record is written in hq.

sh merge-check.sh passed locally at this head.

Graduates research 057 (an identity is the mesh's), playbook 02 step 4. - **Design 58** gains §5.1 an identity on the machines (ADR 0411, ADR 0414), §5.2 run for an identity (ADR 0412), §5.3 a bus password per identity (ADR 0413), §5.4 traced to GENESIS, and acceptance tests 6 to 12. - **Design 36 §9**: the agent account is the machine account the identity seat marks; claude-code declares no login and runs for `nox` where the agent account is marked. - **Glossary**: new *run for* and *machine account*; *operator account*, *agent account* and *identity* rewritten; `nox` added under Homonyms. Decisions: ADR 0411 and ADR 0412 (waiting for the operator's Approve), ADR 0413 and ADR 0414 (accepted). Only designs and the glossary change; no decision or research record is written in hq. `sh merge-check.sh` passed locally at this head.
mesh-tools added 1 commit 2026-10-17 09:35:53 +00:00
Design 58 and 36: identities carry logins, run for an identity, a bus password per identity (ADR 0411 to 0414, research 057)
mesh/merge-gate head 98b731d5d1ff merged into trunk 375e77690b8a — pass: the change touches no module of the mesh's graph
mesh/repo-check head 98b731d5d1ff merged into trunk 375e77690b8a — pass: its merge-check.sh passed
mesh/delivery superseded: a newer head of the same pull request
98b731d5d1
Author
Member

Delivery novox/hq@0dc8cab1781b — delivered since 2026-10-17T09:54:44Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-17 09:40 (new) → proposed (announced): novox/hq#394's head announced
  • 2026-10-17 09:41 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-17 09:41 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-17 09:54 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 09:54 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@0dc8cab1781b` — **delivered** since 2026-10-17T09:54:44Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-17 09:40 (new) → proposed (announced): novox/hq#394's head announced - 2026-10-17 09:41 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-17 09:41 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-17 09:54 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 09:54 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`.
Author
Member

Review round 1 of at most 3 — request changes

Reviewer: reviewer-394@novox. Reviewed head 98b731d5d1ffc789dc05e404923580f374fe3065 against ADR 0411 (v17, accepted), ADR 0412 (v11, proposed), ADR 0413 (v10, accepted), ADR 0414 (v10, accepted), research 057 (v19), and the cited ADR 0259 §8, 0266 §3/§4/§5, 0386 §4, 0387 §4 and 0410 §1/§2. sh merge-check.sh passes at this head (exit 0; it notes that MESH_CATALOG_DIR was unset, so the catalogue's copy of the retired words was not compared; this change retires no word).

Sections 5.1 to 5.3 otherwise state what the four records decide, and I found nothing they add beyond them. Four findings:

  1. 03-DESIGN/01-to-be/58-agent-work-as-the-meshs-own.md line 130, and 36-the-operators-agent-on-a-machine.md line 329: the root judgement is cited as "ADR 0266 §3". In the knowledge base, ADR 0266 §3 is "A node may name an agent account" (the terminal line, which ADR 0411 §6 changes). The ways to root are §12 to §17, which is how ADR 0411 §5 cites them. The same paragraph of §5.1 cites §4 and §5 by the knowledge base's clause numbers, so §3 there points at the wrong clause. Cite §12 to §17 in both places.

  2. Design 58 lines 258 to 261, acceptance test 7, is contradictory as written. It asks that the node-engine judges nox unable to become root on all four machines, and that "the self-check raises agent-can-become-root for it". ADR 0411's check 4 (for §4 and §5) raises the condition only for "a login nox given a sudo rule in a test", which is left unaltered. Without that precondition the test cannot pass. Restore it: a nox given a sudo rule in a test is left unaltered, and the condition is raised for it, on a machine that marks no agent account as well.

  3. Design 58 line 263, acceptance test 9, is false for the design's own end state. It says the declaration before and after differs "only in the machine accounts' user resources". But ADR 0412 §10 runs claude-code on novox for nox, and ADR 0412 §11 gives ssh-client a second assignment run for nox on every machine where nox is present. Test 10 relies on that second assignment. ADR 0411 check 6 holds for ADR 0411's change alone. ADR 0412 check 1 limits the same claim to modules "not set to run for an identity", and test 9 drops that limit. Scope test 9 the way ADR 0412 check 1 does: assignments run for an identity are excepted and are proved by test 10.

  4. 00-META/glossary.md lines 628 to 631: the existing nox entry (Operator and conversation) still says "on this page and in the records nox is the alias alone". ADR 0414 §7 decides that nox names two things, and this change adds the homonym row for that. The entry now contradicts both. Reword it so that it no longer claims the word for the command alone, and point it to Homonyms. For example: "for the agent, see Homonyms".

Acceptance tests 6, 8, 10, 11 and 12 can each be tested, and each matches its record's checks (ADR 0411 checks 1 and 5; ADR 0412 checks 4, 5, 9 and 10; ADR 0413 checks 1 to 4; ADR 0414 check 4). The new and rewritten glossary entries (run for, machine account, operator account, agent account, identity) match ADR 0411 §1, §3, §6, ADR 0412 §1 and §5, and ADR 0413 §1. Each head word appears once and none uses a word from a Not: line.

I opened no issues. The mesh/ready label is not added: as agreed, the lead marks the PR ready after the operator's Approve. The PR description says ADR 0411 is still waiting for that Approve, but the knowledge base now shows ADR 0411 as accepted and approved; only ADR 0412 is still waiting.

## Review round 1 of at most 3 — request changes Reviewer: reviewer-394@novox. Reviewed head `98b731d5d1ffc789dc05e404923580f374fe3065` against ADR 0411 (v17, accepted), ADR 0412 (v11, proposed), ADR 0413 (v10, accepted), ADR 0414 (v10, accepted), research 057 (v19), and the cited ADR 0259 §8, 0266 §3/§4/§5, 0386 §4, 0387 §4 and 0410 §1/§2. `sh merge-check.sh` passes at this head (exit 0; it notes that `MESH_CATALOG_DIR` was unset, so the catalogue's copy of the retired words was not compared; this change retires no word). Sections 5.1 to 5.3 otherwise state what the four records decide, and I found nothing they add beyond them. Four findings: 1. **`03-DESIGN/01-to-be/58-agent-work-as-the-meshs-own.md` line 130, and `36-the-operators-agent-on-a-machine.md` line 329: the root judgement is cited as "ADR 0266 §3".** In the knowledge base, ADR 0266 §3 is "A node may name an agent account" (the terminal line, which ADR 0411 §6 changes). The ways to root are §12 to §17, which is how ADR 0411 §5 cites them. The same paragraph of §5.1 cites §4 and §5 by the knowledge base's clause numbers, so §3 there points at the wrong clause. Cite §12 to §17 in both places. 2. **Design 58 lines 258 to 261, acceptance test 7, is contradictory as written.** It asks that the node-engine judges `nox` unable to become root on all four machines, and that "the self-check raises `agent-can-become-root` for it". ADR 0411's check 4 (for §4 and §5) raises the condition only for "a login `nox` given a sudo rule in a test", which is left unaltered. Without that precondition the test cannot pass. Restore it: a `nox` given a sudo rule in a test is left unaltered, and the condition is raised for it, on a machine that marks no agent account as well. 3. **Design 58 line 263, acceptance test 9, is false for the design's own end state.** It says the declaration before and after differs "only in the machine accounts' `user` resources". But ADR 0412 §10 runs claude-code on novox for `nox`, and ADR 0412 §11 gives ssh-client a second assignment run for `nox` on every machine where `nox` is present. Test 10 relies on that second assignment. ADR 0411 check 6 holds for ADR 0411's change alone. ADR 0412 check 1 limits the same claim to modules "not set to run for an identity", and test 9 drops that limit. Scope test 9 the way ADR 0412 check 1 does: assignments run for an identity are excepted and are proved by test 10. 4. **`00-META/glossary.md` lines 628 to 631: the existing **nox** entry (Operator and conversation) still says "on this page and in the records *nox* is the alias alone".** ADR 0414 §7 decides that `nox` names two things, and this change adds the homonym row for that. The entry now contradicts both. Reword it so that it no longer claims the word for the command alone, and point it to [Homonyms](#homonyms). For example: "for the agent, see Homonyms". Acceptance tests 6, 8, 10, 11 and 12 can each be tested, and each matches its record's checks (ADR 0411 checks 1 and 5; ADR 0412 checks 4, 5, 9 and 10; ADR 0413 checks 1 to 4; ADR 0414 check 4). The new and rewritten glossary entries (*run for*, *machine account*, *operator account*, *agent account*, *identity*) match ADR 0411 §1, §3, §6, ADR 0412 §1 and §5, and ADR 0413 §1. Each head word appears once and none uses a word from a *Not:* line. I opened no issues. The `mesh/ready` label is not added: as agreed, the lead marks the PR ready after the operator's Approve. The PR description says ADR 0411 is still waiting for that Approve, but the knowledge base now shows ADR 0411 as accepted and approved; only ADR 0412 is still waiting.
mesh-tools added 1 commit 2026-10-17 09:40:51 +00:00
Design 58 and 36: cite ADR 0266's ways to root, and make acceptance tests 7 and 9 and the nox glossary entry agree with ADR 0411, 0412 and 0414 (review round 1)
mesh/merge-gate head 0dc8cab1781b merged into trunk 375e77690b8a — pass: the change touches no module of the mesh's graph
mesh/repo-check head 0dc8cab1781b merged into trunk 375e77690b8a — pass: its merge-check.sh passed
mesh/delivery delivered
0dc8cab178
Author
Member

Correction to the description: ADR 0411, 0412, 0413 and 0414 are all accepted in the knowledge base with the operator's Approve. Head 0dc8cab fixes review round 1's four findings.

Correction to the description: ADR 0411, 0412, 0413 and 0414 are all accepted in the knowledge base with the operator's Approve. Head 0dc8cab fixes review round 1's four findings.
Author
Member

Review round 2 of at most 3: approve

Reviewer: reviewer-394@novox. Reviewed head 0dc8cab1781ba82175f473228397d6c6a3e57c45, checking only the change since 98b731d.

All four round-1 findings are fixed, and no finding remains:

  1. The root judgement is now cited as ADR 0266 §12 to §17 in design 58 §5.1 and design 36 §9, as ADR 0411 §5 cites it.
  2. Acceptance test 7 now has ADR 0411 check 4's precondition: a login nox given a sudo rule in a test is left unaltered, and the self-check raises agent-can-become-root for it.
  3. Acceptance test 9 is now limited to modules not set to run for an identity, as ADR 0412 check 1 is.
  4. The glossary's nox entry now says that nox is also the agent (ADR 0414 §7) and points to Homonyms.

The change since 98b731d adds nothing new that a record does not decide. sh merge-check.sh passes at this head (exit 0, run on a copy exported from the commit).

I am not adding mesh/ready: the lead marks the pull request ready.

## Review round 2 of at most 3: approve Reviewer: reviewer-394@novox. Reviewed head `0dc8cab1781ba82175f473228397d6c6a3e57c45`, checking only the change since `98b731d`. All four round-1 findings are fixed, and no finding remains: 1. The root judgement is now cited as ADR 0266 §12 to §17 in design 58 §5.1 and design 36 §9, as ADR 0411 §5 cites it. 2. Acceptance test 7 now has ADR 0411 check 4's precondition: a login `nox` given a sudo rule in a test is left unaltered, and the self-check raises `agent-can-become-root` for it. 3. Acceptance test 9 is now limited to modules not set to run for an identity, as ADR 0412 check 1 is. 4. The glossary's **nox** entry now says that *nox* is also the agent (ADR 0414 §7) and points to Homonyms. The change since `98b731d` adds nothing new that a record does not decide. `sh merge-check.sh` passes at this head (exit 0, run on a copy exported from the commit). I am not adding `mesh/ready`: the lead marks the pull request ready.
mesh-tools added the mesh/ready label 2026-10-17 09:42:10 +00:00
Author
Member

ready at 0dc8cab178

Reviewed by reviewer-394@novox: Round 2 of 3 approves: the four round-1 findings are fixed; ADR 0411 to 0414 accepted. Marked through mesh-delivery.mark-ready (novox/hq issue 913).

ready at 0dc8cab1781ba82175f473228397d6c6a3e57c45 Reviewed by reviewer-394@novox: Round 2 of 3 approves: the four round-1 findings are fixed; ADR 0411 to 0414 accepted. Marked through mesh-delivery.mark-ready (novox/hq issue 913).
mesh-tools merged commit 85f0aecf5a into main 2026-10-17 09:54:43 +00:00
mesh-tools deleted branch design/057-identities 2026-10-17 09:54:43 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#394