Files
mesh-delivery/modules/mesh-grants/testdata/node-tools-novox-licence-subjects.json
T
jschoubben bc1978ec67 Keep every seat's holder under a placement, and hold a user list that would lose a grant (issue 1945)
The user list of 2026-10-27 09:21 granted no holder for nine seats: the seeded
placements hold only the seats the controller had on record, and the grants part
read those holds as every holder (records.go heldWherePlaced). A placement's
holds are now the holders on record, as catalogue.World's Holdings are: a mesh
seat no placement holds is held by derivation, wherever its claimant is placed.

The membership loss guard (Losses) did not cover the user list: after take-over
the list that lost those seats went out. UserLosses applies the same guard per
user against the loaded list, and holdsBack holds a list that would lose a grant,
or whose loaded grants cannot be read, raising the held warning.

Quick fix chosen over moving the on-record rule into mesh-sdk: mesh-grants is the
only part reading placement holds itself; the others pass them to the catalogue.
2026-10-27 20:54:30 +01:00

36 lines
1.6 KiB
JSON

{
"users": [
{
"user": "novox.node-tools",
"subscribe": [
"$SRV.INFO.anthropic-licence-manager",
"$SRV.INFO.anthropic-licence-manager.>",
"$SRV.PING.anthropic-licence-manager",
"$SRV.PING.anthropic-licence-manager.>",
"$SRV.STATS.anthropic-licence-manager",
"$SRV.STATS.anthropic-licence-manager.>",
"mesh.seat.anthropic-licence-manager.call.adopt.*",
"mesh.seat.anthropic-licence-manager.call.bind.*",
"mesh.seat.anthropic-licence-manager.call.bindings.*",
"mesh.seat.anthropic-licence-manager.call.current.*",
"mesh.seat.anthropic-licence-manager.call.licences.*",
"mesh.seat.anthropic-licence-manager.call.public-key.*",
"mesh.seat.anthropic-licence-manager.call.refresh.*",
"mesh.seat.anthropic-licence-manager.call.release.*",
"mesh.seat.anthropic-licence-manager.call.switch.*",
"mesh.seat.anthropic-licence-manager.call.usage.*",
"mesh.seat.anthropic-licence-manager.tool.adopt",
"mesh.seat.anthropic-licence-manager.tool.bind",
"mesh.seat.anthropic-licence-manager.tool.bindings",
"mesh.seat.anthropic-licence-manager.tool.current",
"mesh.seat.anthropic-licence-manager.tool.licences",
"mesh.seat.anthropic-licence-manager.tool.public-key",
"mesh.seat.anthropic-licence-manager.tool.refresh",
"mesh.seat.anthropic-licence-manager.tool.release",
"mesh.seat.anthropic-licence-manager.tool.switch",
"mesh.seat.anthropic-licence-manager.tool.usage"
]
}
]
}