jason.woltje
d6301dffce
row 264a ( #1769 , T1 item 7): bus schema 3k to 3l, sessions below a thread
...
sessions and session_defaults are new and append-only. thread_claims, message_threads and
thread_opens are rebuilt in place with a session column, and thread_claims gains a generation
counted from claim rows. Each existing thread gets a default session with the thread's id; new
threads get a random one. Holder, per-run, release and delivery triggers key on the session,
and two id triggers keep session and thread ids apart (Duckworth checks 1-7, duckworth-0106).
The broker binds a thread run to a session (the default when the record names none), and
thread.open, thread.send and thread.messages take an optional session. New verbs session.list
and session.create (idempotent on op). Tests: sessions.test.mjs for T1 bus half, T2 and T7 with
a pinned 3k fixture; count, version and verb pins; hand-made test threads write the legacy
default session.
Built on row 236 (8f51900b5 ), which takes 3j-3k, so this step is 3k-3l by landing order
(row264 Q2, sage-2412). The op values are legacy-3l and migration-3l. gitea-migration.test reads
its store after both steps. Not run yet: every run waits for Sage's CLEAR.
2026-10-22 08:07:43 -05:00
jason.woltje
54ebc5d71c
row 281 b5: T14 pins that the human's no takes a declined host decision out of the set, after hosts.remove left it with no host (N1); M22 drops the closed check and T14 kills it; test only, not yet run (sage-2653, dewey-0844, #1786 )
2026-10-22 07:42:10 -05:00
jason.woltje
6b6eb533e8
row 281 b4: T6b pins step 0's four Gitea reads in order and says 'before any Gitea write'; M1-M21 all killed on b4a 3f29375a8 with the M1 exit check, table in the build notes (dewey-0839, sage-2627, sage-2643, #1786 )
2026-10-22 07:42:10 -05:00
jason.woltje
f9fcf5d7b3
row 281 b4a: the M1 hang was T6c's held web1:add loop, which only the fire's abort ends; setup's t.after clears held and failing, and T6c and T10 release their Gitea gate; test only, no code change (mos-1273, sage-2636, #1786 )
2026-10-22 07:42:10 -05:00
jason.woltje
c055dddf44
row 281 b3: the first base run's five red tests were test faults, no code change; T4b reads the manual's revoke id from its event, T5b expects gitea-left:<id>,tokens (N10), T6b allows step 0's GET checks, gitea T8 leaves the call log out, cli T10 makes the 0700 store root; rebase onto 980cec88c noted (sage-2605, sage-2615, #1786 )
2026-10-22 07:42:10 -05:00
jason.woltje
4982fa0adf
row 281 b2: T1-T13 tests (fire-revokes-grants, lifecycle-revoke T1, T8 tester refusals, cli T10 pass) and the test choices in the build notes ( #1786 )
2026-10-22 07:42:10 -05:00
jason.woltje
7c2c876319
row 281 b1: step G in the broker (fire and delete jobs, the grant set, the lock, boot's interrupted check) and build notes ( #1786 )
2026-10-22 07:42:10 -05:00
jason.woltje
9696d1fcb7
test(webui): supply empty thread claims in shell bus fixture
2026-10-22 07:17:46 -05:00
jason.woltje
964b6b1848
test(webui): export bus error in thread claims loader fake
2026-10-22 07:08:42 -05:00
jason.woltje
e7d21b91b8
feat(webui): show thread claims separately in Agents
2026-10-22 06:40:05 -05:00
rocko
407c8d7be2
test: harden processing failure diagnostics and cleanup
2026-10-22 06:24:27 -05:00
jason.woltje
62f53b1e07
morgana: row 277 ( #1782 ) r4: a thread.claims error with no bus code still throws and prints nothing (duckworth-0123 N1, M9); BUILD.md records the rebase onto 0165be266 and N2/N3
2026-10-22 06:01:09 -05:00
jason.woltje
bda4ee6138
morgana: row 277 ( #1782 ) r3: a refused thread.claims prints the role lines and the refusal code (N1), cli README agents usage (N2), per sage-2505
2026-10-22 06:01:09 -05:00
jason.woltje
3a5275a9ad
morgana: row 277 ( #1782 ) build r2: thread-claims test helper passes a run's capability through, T1 copies store rows before the strict compare (early look sage-2504)
2026-10-22 06:01:09 -05:00
jason.woltje
eccd6e276e
morgana: row 277 ( #1782 ) build: thread.claims bus verb for human and reader sessions (D1), mosaic agents adds thread lines without --tester or --json (C1/C2), message-filter pin moves to thread.claims (C3), tests T1-T8
2026-10-22 06:01:08 -05:00
jason.woltje
f12441d4fa
honker: row 256 ( #1761 ) b2: Webby's N1 (webby-0124): instance-settings.mjs:30 and agents.js:46 comments name the assistant, not the chief of staff; BUILD.md note; comment-only, unrun
2026-10-22 05:33:13 -05:00
jason.woltje
e617543b8d
honker: row 256 ( #1761 ) b1: the human deletes a creative instance and any other actor is refused organization-creative-human-only; protectedRefusal is the delete check and the listing's per-reader endProtected; actor threaded through planDelete/checkDelete/instances.check; fire unchanged; DEFERRED entry closed for delete; tests T1-T8, unrun
2026-10-22 05:33:13 -05:00
jason.woltje
4c485c63b9
morgana: FED R3 r6 (sage-2576): the collaborator-list test pins USER_VERBS as the ruled seven so M3x and M6x fail it, and its off-list set adds the grants, lifecycle, web and host verb lists; test only, unrun
2026-10-22 05:06:52 -05:00
jason.woltje
f58cfc3617
morgana: FED R3 r5 (sage-2566): covers, LEVELS and the all marker move into the business vocabulary so the broker keeps its sandbox import closure; access.mjs re-exports them, the pin test lists covers on the vocabulary line, RUNNER_FILES unchanged, M16 on the pin, the closure walk and the confined load; unrun
2026-10-22 04:48:41 -05:00
jason.woltje
cee3f25a37
morgana: FED R3 r4 (sage-2486, sage-2557): halt refuses a granted user's thread.send while thread.messages answers (test), row 194's hire refuses an instance named user at the broker and the writer (S1, one test each), the access argument check moves before the store read (S2, test), M12-M15; unrun
2026-10-22 04:48:22 -05:00
jason.woltje
618fe0f0b3
morgana: FED R3 r2 (dewey-0777): role key user refused at the broker load check and by the instance writer (N1, one test each), #threadFor user clause listed as an equivalent mutant, 193b1a filter mutant not applicable, M10/M11 and the M3x two-walls run in the kit; unrun
2026-10-22 04:48:22 -05:00
jason.woltje
d20c92bf65
morgana: FED R3 build ( #414 , sage-2292): user principal on the bus, bindUser with a per-request grant read, the collaborator verb list and its filters, user threads and the B6 reply path, runner user header; unrun
2026-10-22 04:48:22 -05:00
jason.woltje
bd5f11dedd
bus: row 236, a gitea grant raise on a broker with no Gitea path refuses gitea-not-configured (sage-2559, #1742 )
2026-10-22 03:59:40 -05:00
jason.woltje
e40b74bebc
bus: row 236, two out-of-manifest pins: gitea is a known grant method, and the broker imports giteaName and parseGiteaUrl (gate run sage-2554, #1742 )
2026-10-22 03:57:48 -05:00
jason.woltje
ce74477e14
bus: row 236, grants.status is a read under the kill switch, as hosts.status is (sage-2453, #1742 )
...
Row 191's #processingGate refuses agent verbs off its read list while
processing is halted. grants.status joins hosts.status on that list, per
the kill-switch plan (2026-10-20_kill-switch.md:16): reads still work.
An agent's grants.revoke stays refused while halted, as hosts.revoke is.
2026-10-22 03:42:05 -05:00
jason.woltje
4d9d62ae89
bus: row 236 r3, one N5 test per settle branch; README notes for a left admin token and a running executor (sage-2388, #1742 )
2026-10-22 03:42:05 -05:00
jason.woltje
5e5ba94b19
bus: row 236 r3, a revoke during a settle whoami ends revoked in the 401 and token-unknown branches (Dewey N5, #1742 )
2026-10-22 03:42:05 -05:00
jason.woltje
97bbe7fd30
bus: row 236 r2, a revoke during step 7 or a settle ends revoked; sweep fire retry checks the user id (Dewey B1, B2, #1742 )
2026-10-22 03:42:05 -05:00
jason.woltje
91f7029923
bus: row 236 gap test takes any HTTP status in a grant.result (debug run 2, #1742 )
2026-10-22 03:42:05 -05:00
jason.woltje
be11a1f7e6
bus: row 236 tests for the static mutant gaps M8, M9, M16, M28, M29, M37 ( #1742 )
2026-10-22 03:42:05 -05:00
jason.woltje
d87483d683
bus, cli: #436b Gitea grant path, schema 3j-3k (row 236, #1742 )
...
Gitea grant executor (steps 0-8, settle, restart, revoke and fire, sweep,
status), the grants.* verbs and mosaic grants, the 3j-3k migration with
gitea_users and gitea_grants, and the section 9 tests with a fake Gitea and
a scratch gitea/gitea:1.27.1 X-G3 test. Build notes in
agents/megavolt/work/queue-236/BUILD.md.
2026-10-22 03:42:05 -05:00
jason.woltje
fd6dd327c3
honker: row 194 b15 (b') (sage-2507): T15 drops the exited reviewer stand-in's registry entry by hand, the N6 convention, so the post-resume coder launch isn't refused on an entry with no provider/model; BUILD.md notes for (a) and (b')
2026-10-22 03:06:41 -05:00
jason.woltje
5fd178e44d
honker: row 194 b15 (a) (sage-2501): the Broker constructor's harnessOn, testerOn and roleFile type checks move ahead of the store reads, so a null store gets the argument error first (chief-of-staff T8b); 191's lines unchanged
2026-10-22 03:06:41 -05:00
jason.woltje
4f68485272
honker: row 194 b8 r2 (sage-2289): a fire stop stopRun can't confirm (unknown) reads as lifecycle.end.alive with reason unknown, never killed, and the Console flags it; cli T9a no-runtime-record test, bus T9a reason checks, M56; notes
2026-10-22 03:06:41 -05:00
jason.woltje
5d2c274420
honker: row 194 b8 S6 (sage-2241, sage-2246, sage-2261): fire's kill end goes through row 191's stopRun with the fire's request as owner, killed and alive come back as lifecycle.end.killed and lifecycle.end.alive and the Console flags a run still alive; terminate stays SIGTERM-only (V3); halted, the pass closes launches and regenerates processing-halted and a halt joins a fire's stop; terminate's pass narrows to runs spawned by the end's time (N6); T9a, T9b, T15, N6
2026-10-22 03:06:41 -05:00
jason.woltje
939356a1c2
honker: row 194 b7 (webby-0095 N1, sage-2248): routes.set refuses a kept instance's route to anyone but the human, as the limits writer does
2026-10-22 03:06:41 -05:00
jason.woltje
3521c23c3e
honker: row 194 b6 (webby-0094, sage-2241, sage-2245): every instance-writer verb answers restart (B1) and the CLI and Console show it for veto; fire runs the writer's checks against the file before step A, so an unloaded keep can't strand an instance firing; a fire of a delisted name revokes (N1); a host service makes no token reference (N2); only the human re-points a kept instance's model (N3); DEFERRED a human escape for a stuck fire (N4); S6 waits on row 191's stopRun contract
2026-10-22 03:06:41 -05:00
jason.woltje
2311a50e1c
honker: row 194 b4 (sage-2164, sage-2166, sage-2217): a hire and the role's hireable list refuse a creative definition; a library mapping change isn't reloaded (T14); the listing's endProtected hides a Delete the server refuses; DEFERRED creative delete; C1 testerNoSignIn closed; row 213's writer-restart pin follows D3 and T16 uses row 196's tester socket
2026-10-22 03:06:41 -05:00
jason.woltje
29daebf548
honker: row 194 b3 sage-1634: commit() checks the revision before the revoke, so a stale delete or fire refuses revision-conflict with nothing revoked (N1); bus T21; option 2 a follow-up
2026-10-22 03:06:41 -05:00
jason.woltje
b8c3d00362
honker: row 194 b3 sage-1620: credential-revoke-failed says the business file is unchanged and a retry is safe (CLI and Console), W2 checks the log per case
2026-10-22 03:06:41 -05:00
jason.woltje
14124d96d4
honker: row 194 b3 (sage-1605, sage-1610): fire and delete revoke before the write (T20), a human add takes a tracker bot, a store-only delete names the bot; the tester keeps the credential refusal (row 175 W2); channel-proof and project-runtime pins
2026-10-22 03:06:41 -05:00
jason.woltje
e7fb59f225
honker: row 194 on row 199's landing cb5fdb064 (sage-1601): honker/row194-b2 85edab7c7 squashed, five conflicts kept both sides (broker imports, constructor, dispatch, the credential and lifecycle verbs; runtime imports; organization write takes detail and context; cli credentials and veto dispatch; vocabulary comment as row 199 wrote it)
2026-10-22 03:06:41 -05:00
rocko
b765f5cb81
test(bus): prove scratch sshd listener ownership before use
2026-10-22 02:28:09 -05:00
rocko
f5611c937e
fix(processing): observe run status after stop deadline overshoot
2026-10-22 01:03:26 -05:00
jason.woltje
c27207f6e6
row 268 (C2-01c, #1773 , Vikunja 464): playgrounds at three levels; classify checks prefixes first
...
checkMapping takes kind absent, hybrid or draft. A draft has a name and one
or more prefixes and no books, and comes back with books []. A prefix inside
or holding another entry's book refuses library-playground-other-universe,
which replaces library-playground-outside-book. A prefix equal to a book or
holding its own refuses library-mapping-invalid, as does a draft source.
classify returns a playground file's entry and the book holding its prefix,
or null at universe level and in a draft.
2026-10-22 00:04:42 -05:00
jason.woltje
ce6a96ad61
morgana: row 205 r2 (sage-2430): put() events carry their decision so the decision trail reaches them; pin checks the thread claim via threadsState, owner read is a follow-up row
2026-10-21 23:49:34 -05:00
jason.woltje
59f708ca21
morgana: row 205a build (sage-2288): trail and replies hide other users' thread messages from owner, reader and tester; hidden answers as unknown; #readable owner-only; design d2 rulings
2026-10-21 23:49:34 -05:00
rocko
0fa7bf421f
fix: place processing controls within the Console navigation box
2026-10-21 22:42:13 -05:00
rocko
93d211c295
fix: allocate Console viewport space to processing controls
2026-10-21 22:42:13 -05:00
rocko
03ed2bccce
test: attribute processing timer to its owning script
2026-10-21 22:42:12 -05:00