row 264a r6 (#1769): build notes for the rebase onto landed 274 (0165be266, sage-2588): the four user-principal conflicts, users stay at the ruled seven verbs, and why 274's thread-scoped reply check needs no session clause yet

This commit is contained in:
2026-10-22 05:35:22 -05:00
parent 77bfefab8c
commit c5c3604e4c
+23
View File
@@ -286,6 +286,29 @@ The round 5 gate is wider than the plan above (sage-2581, mos-1200: a rebase car
Each of the 19 touched test files runs whole on its own, then the bus, cli and webui suites whole,
then every `scripts/test-*.sh`, then the mutants, with every skip named.
### Round 6 on landed 274 (0165be266)
Row 274 (FED R3) landed at 4c485c63b and refactor was 0165be266 (sage-2588). The round 5 commits
moved from 47a35bf43 by cherry-pick. broker.mjs is the only path both rows change.
- Four conflicts in broker.mjs, all from 274's user principal. `USER_VERBS` and `USER_LEVEL` follow
`TESTER_VERBS`, which ends with the session verbs as before. In thread.open, thread.send and
thread.messages each verb keeps 274's `!s.tester && !s.user` check and `#grantedThread`, and adds
264a's optional `session` key, `#threadSession` and the session on `thread_opens` and `#route`.
thread.send keeps 274's return, where a user's message writes no human.input.
- Users stay at the seven ruled verbs (sage-2576): `session.list` and `session.create` are not in
`USER_VERBS`. user-principal.test:133 already checks every verb outside the list refuses a user,
and that set now includes the two session verbs.
- 274's B6 check (a run answers a user only in reply to that user's message in its thread) joins
`message_threads` by thread, not by session. No code change: a user can't call `session.create`,
and `#thread` refuses anyone but the owner, so a user's thread has only its default session and
the two scopes are the same rows. A slice that lets a user add sessions (264e) must make it
session-scoped and test it.
- 274's other writes and tests make threads through the broker, so each gets its default session.
Its tests read `thread_opens` and `message_threads` by thread, and those columns stay.
- schema.sql, the migrations, store.mjs and the fixtures are unchanged from round 5, and so are
the touched test files: 19.
## Runs
None yet. Every run waits for Sage's CLEAR.