Keep the builder's history as its own log that readers declare and follow, the memberships as the grants part's state, and refuse a module's own stream, so every module's data is in the bus's predefined forms and readable by its tools (issue 1955, ADR 0571 clauses 1, 4, 5, 7)

This commit is contained in:
2026-10-29 23:28:21 +01:00
parent 196c5b6af2
commit bb993dd606
16 changed files with 695 additions and 51 deletions
+8
View File
@@ -43,6 +43,14 @@ var sendGrants = []string{
"mesh.seat.operator-channel.call.tell.novox~mesh-mail~send",
"mesh.seat.operator-channel.tool.tell",
"mesh.seat.operator-channel.tool.tell.*",
// And the builder's log, as buscompose's readLogGrants grants a declared read of it (novox/hq ADR 0571 clause 1).
"$JS.API.STREAM.INFO.LOG_mesh-delivery-builder_build-log",
"$JS.API.DIRECT.GET.LOG_mesh-delivery-builder_build-log",
"$JS.API.DIRECT.GET.LOG_mesh-delivery-builder_build-log.>",
"$JS.API.CONSUMER.CREATE.LOG_mesh-delivery-builder_build-log.>",
"$JS.API.CONSUMER.MSG.NEXT.LOG_mesh-delivery-builder_build-log.*",
"$JS.API.CONSUMER.INFO.LOG_mesh-delivery-builder_build-log.*",
"$JS.API.CONSUMER.DELETE.LOG_mesh-delivery-builder_build-log.*",
}
// grantedSendProcess is a test bus with JetStream, with two users: novox.mesh-mail.send, permissioned to