From dff0ce2abb2100da90d0a5dad719c3e45d40079e Mon Sep 17 00:00:00 2001 From: jochen Date: Mon, 2 Nov 2026 01:41:46 +0100 Subject: [PATCH] Say why LeaseHandedAway and LeaseCut are two fields: the cut precedes the holder's write and outlasts it at a hand-back (issue 774) Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL --- go/buscompose/users.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/go/buscompose/users.go b/go/buscompose/users.go index 2e33efe..647075c 100644 --- a/go/buscompose/users.go +++ b/go/buscompose/users.go @@ -150,7 +150,8 @@ type Records struct { Engine *Declared // LeaseHandedAway says the controller's lease names a holder that is no controller (ADR 0582 §3), as the grants part // reads it: an enrolment user then enrols through the seat mesh-enrolment alone (novox/hq ADR 0587 §6). The - // controller's composer never sets it. + // controller's composer never sets it. It is not LeaseCut: the cut is composed before the holder is written, so the + // grants part may write it, and outlasts the holder at a hand-back; the two are true together only in between. LeaseHandedAway bool // NodeLogins is each node's key of the vault's node-logins (novox/hq ADR 0583 §1): the login in use and the one // rotating, each composed as a user of the node's permissions. A node absent logs in as `node.` alone.