Commit Graph
3046 Commits
Author SHA1 Message Date
dewey 3067ae93ea row 175 (#1673): scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli (sage-1081); the tester gate test sends bad keys to organization.set and organization.revision 2026-10-19 18:44:06 -05:00
dewey c0b06ed89b row 175 (#1673): tester reads, W1-W7 writes recorded as tester, human-only verbs refuse tester-refused
TESTER_VERBS gains usage, names, limits, plugins, instances, project.list,
thread.list, name.set and project.create; TESTER_ORGANIZATION_VERBS lets a
tester read limits, plugins and instances and send plugins.set,
instances.set and routes.set, each logged with actor tester. The project
file verbs refuse a tester tester-refused. The broker and CLI drop the
[mos test] prefix rule (mos-0872 Q1). The CLI takes --tester on the seven
reads and the W1-W7 write forms and refuses it (exit 4) elsewhere.
project init --tester checks the project area, binds the tester with one
agents read, then commits the layout as tester (mos-0872 Q2).
2026-10-19 18:44:06 -05:00
jason.woltje 9e74925c2a docs: TOOLS.md follow-ups F1-F3 from the row 169 review (row 179, #1677)
F1: pm-on-down stops the Console, so the paths section now says what each
path does to it. F2: the working `node <copy>/packages/cli/src/cli.mjs
plugins set` form and the PATCH shape, until row 175's fixed `mosaic
plugins set` lands. F3: the business-unreadable refusal on activate and
rollback.

Darkwing's candidate on ce5807989, manifest 2b161c51, approved by Dewey
(#1677 comment 29271). Doc-only: no test reads docs/TOOLS.md
(stack-release.test.mjs:428 names it in an expected message string), so
the approval is the gate (decision 137).
2026-10-19 18:42:31 -05:00
jason.woltje ce5807989a log: row 169 landed (264756a30), row 179 briefed, row 175 to round 2 (1bfc9833b) 2026-10-19 18:30:38 -05:00
jason.woltje 1bfc9833b1 queue: revs 2052-2057: row 179 added and briefed (Sage 2052, 2057), row 169 landing notes and done after 264756a30 (Sage 2053, 2054, 2056), row 175 r1 approve recorded (Filbert 2055, comment 29264) 2026-10-19 18:29:50 -05:00
dewey c98a5d17ae sessions: Dewey row 175 round 1 approved 2026-10-19 18:28:52 -05:00
jason.woltje 8f2ac5236c sessions: Filbert row 175 r1 review, approve 2026-10-19 18:27:47 -05:00
jason.woltje 264756a303 stack-release: activate --pm-after-harness, pm-on and the pending pointer, so a re-pin past c216f47db starts the PM after the harness kind is set (row 169, #1666)
activate ID BUSINESS --pm-after-harness installs the bus without --pm
and writes a pointer with pm false and pmPending true. It refuses
pm-after-harness-target when the target has no harness kind, and
pm-after-harness-set when the business file already sets plugins.harness.

pm-on BUSINESS refuses not-pending and harness-unset, then reinstalls the
bus with --pm on the pointer's copy and runs the full gate. A failure puts
the phase-1 unit back (pm-on-failed, exit 1), or stops both units
(pm-on-down, exit 2).

A plain activate refuses pm-pending. status prints the pending state and
the next step. activate and rollback refuse business-unreadable when the
target's code can't read the business file's plug-ins.

Built by Darkwing on 4b738e2da (patch-id 17a90c4ad795, manifest
c6aaac1f...54af), approved by Filbert (#1666 comment 29263), Sage's gate
green on e7d47c346 plus the patch.
2026-10-19 18:26:17 -05:00
jason.woltje b2a75f3189 sage: brief for the row 169 TOOLS.md follow-ups F1-F3 (Filbert, #1666 comment 29263), owner Darkwing, reviewer Dewey, after row 169 2026-10-19 18:19:33 -05:00
jason.woltje e7d47c3464 log: rows 169 and 175 in-review, row 169 r1 approve, queue revs 2046-2051 (cb4a8bf1f) 2026-10-19 18:17:36 -05:00
jason.woltje cb4a8bf1fa queue: revs 2046-2051: row 169 in-review round 1 (Darkwing 2046-2047), row 175 brief re-pin for the wrapper fix (Sage 2048), row 175 in-review round 1 on 7b27ab3f9 (Dewey 2049-2050), row 169 r1 approve recorded (Filbert 2051, comment 29263) 2026-10-19 18:17:12 -05:00
jason.woltje c7939a5680 sessions: Filbert row 169 r1 review, approve 2026-10-19 18:15:51 -05:00
dewey 423ff5c864 sessions: Dewey row 175 round 1 in-review 2026-10-19 18:12:42 -05:00
jason.woltje 3dfaea286e sage: row 175 brief carries the scripts/mosaic dispatch fix (plugins, name, names, follow, threads, thread go to packages/cli), test 12 and a mutant; found in Darkwing's row 169 rehearsal 2026-10-19 17:59:24 -05:00
jason.woltje d63cfca222 log: row 178 brief for mos-0881 (30622a229, c6ef51ee1) 2026-10-19 17:47:53 -05:00
jason.woltje c6ef51ee13 queue: row 178 re-pinned to the mos-0881 brief (rev 2045, Sage) 2026-10-19 17:47:40 -05:00
jason.woltje 30622a2290 sage: row 178 brief, the turn-on doesn't wait for Jason (mos-0881), with roll-back-at-once on a failed signed-in check; bc310ee pod-label part recorded 2026-10-19 17:46:39 -05:00
jason.woltje 47a351add8 log: rows 176 and 178 briefs revised for mos-0878 (80cabd935, c4e049319) 2026-10-19 17:45:34 -05:00
jason.woltje c4e0493195 queue: rows 176 and 178 re-pinned to the mos-0878 briefs, row 178 piece updated and after set to 169, 175, 176 (revs 2041-2044, Sage, mos-0878) 2026-10-19 17:45:04 -05:00
jason.woltje 80cabd935d sage: row 176 brief adds the credentials-body and project-root tests (mos-0878 Q1); row 178 brief rewritten for mos-0878 Q2: partial fix after the window rows, console-proof.token slot, ops-01 SealedSecret and middleware under R27, console-allowed-uid recorded as decision 101's uid and left alone 2026-10-19 17:42:48 -05:00
jason.woltje 0750b6a495 log: rows 176-178 filed (#1674-#1676, mos-0872, mos-0874), row 175 briefed and claimed 2026-10-19 17:35:06 -05:00
jason.woltje 58e1735357 queue: rows 176 (#1674), 177 (#1675) and 178 (#1676) added (revs 2038-2040, Sage, mos-0872, mos-0874) 2026-10-19 17:34:05 -05:00
jason.woltje 6ee7285c0d sage: briefs for rows 176 (#1674, Console tester listener on 127.0.0.1, 7332 refuses x-mosaic-tester, mos-0872/0874), 177 (#1675, tester threads, scoping) and 178 (#1676, Traefik proof for signed-in requests, Vikunja #385, mos-0874) 2026-10-19 17:32:16 -05:00
jason.woltje 835941b7c4 queue: row 175 widened to tester writes and briefed with no after (revs 2032-2036, Sage, mos-0870 N2, mos-0872); also Dewey's rev 2037 (dewey-175-claim, row 175 in-progress) 2026-10-19 17:29:55 -05:00
jason.woltje 1c90c68c53 sage: row 175 brief widened to tester reads and writes (#1673, Q173, mos-0870 N2, mos-0872 Q1-Q3): seven writes recorded as tester, nine human-only items, prefix lifted, project init --tester inside the data root's project area only 2026-10-19 17:22:54 -05:00
jason.woltje d195d171c6 log: row 166 landed (4b738e2da, #1663 closed), row 175 filed (#1673, mos-0868) 2026-10-19 17:09:36 -05:00
jason.woltje 6b8f945249 queue: row 166 done with landing note (revs 2029-2030), row 175 added after 169 (#1673, mos-0868, rev 2031); Sage revs only 2026-10-19 17:09:12 -05:00
jason.woltje f8ac674cc6 sage: brief for row 175 (#1673, --tester on the window reads, mos-0868); Window B doc after mos-0866 F1-F3 and mos-0868: W4 from the unit template, agents to Mos with --tester, Jason's reads in J1 and J2 2026-10-19 17:07:57 -05:00
jason.woltje 4b738e2da9 stack-release: refuse unreadable drop-ins and quoted units, recheck the bus after a held read, gate on the target copy (row 166, #1663)
drop_in_override refuses drop-in-override when a unit path, a drop-in
directory or a .conf exists but can't be read, as install_guard in
bus-service.sh would after the stop. A unit path that isn't absolute
refuses too.

plan_store and the rollback --restore event count check is-active again
after reading the store the running bus holds. If the bus stopped
meanwhile, --plan prints "store schema: unknown" with no migration lines,
and rollback refuses restore-mismatch before anything stops.

The gate's copy-check step compares the check's bus line with the copy
this run installed and names both when they differ.

read_units returns 1 when the bus Environment= line or either unit's
ExecStart argv holds a quote or a backslash, so activate and rollback
refuse unit-flags-drift, adopt refuses check-failed and status prints
that it cannot read the units. Nothing parses systemd quoting.

Tests T28 to T31 in packages/cli/tests/stack-release.test.mjs.
2026-10-19 16:55:18 -05:00
jason.woltje 64922106d5 sage: carry-past-row64 names Vikunja P19 #383, no pi window before the pi credential is settled (mos-0865 D2) 2026-10-19 16:36:49 -05:00
jason.woltje c7424db50e log: row 64 closed, D2 coder sessions on both harnesses, #1557 closed (mos-0863, mos-0864) 2026-10-19 16:34:10 -05:00
jason.woltje 5cabf919ee queue: row 64 done, landing note with D2 #1557 comment 29228 (mos-0864; Sage revs 2027-2028) 2026-10-19 16:33:03 -05:00
jason.woltje c87865ee0e sage: row 64 D2 evidence, scratch-root builder, driver, check and both coder manifests (mos-0863 D2, #1557 comment 29228) 2026-10-19 16:32:22 -05:00
jason.woltje 3510c3cbf8 queue: row 174 for #1672, skill read BOM and fs errors after row 173, not started (mos-0863 D4; Sage rev 2026) 2026-10-19 16:20:16 -05:00
jason.woltje 9c80ba7f17 plans: brief for #1672, skill reads keep a leading BOM and report fs errors as skill-refused (row 64 N2/N3, mos-0863 D4) 2026-10-19 16:18:46 -05:00
jason.woltje 46de608936 sage: window carry step for any pin past row 64, install and activate the seven role skills from the pinned copy (mos-0863 D3, #1557) 2026-10-19 16:18:46 -05:00
jason.woltje ebfc23c431 sage: row 64 packet, build notes, both gates, mutants and the landing manifest; BUILD.md item 5 corrected for Darkwing N1 (mos-0863 D5, #1557) 2026-10-19 16:18:46 -05:00
jason.woltje 6b6567b8b4 harness: README names bundle-refused for the skill content refusals, skill-refused at the launcher (row 64 F1, #1557 comment 29218) 2026-10-19 16:11:42 -05:00
jason.woltje 9f00397110 roles, harness, cli: a managed session gets its role's skills as prompt text on both harnesses (row 64, #1557)
Author and gate owner: Sage (mos-0855).

Role files take an optional skills list. The bundle reads each named skill
from <dataRoot>/skills-enabled, copies it into the bundle and renders every
file into prompt.md between skill-file markers, so the prompt text matches
the bundle copy byte for byte. The role's skills together are capped at
SKILL_BYTES (64 KiB): the claude adapter passes prompt.md as one argument,
and Linux caps one argument at 128 KiB. Symlinks are refused, not followed.
The launcher checks the list before a run exists: skill-not-enabled names
the activate command, anything else refuses skill-refused.

Pi keeps --no-skills; Claude Code keeps --disable-slash-commands and
--restricted. The two harness modules and MOSAIC_SKILLS are unchanged.
First lists: coder, reviewer, cto and pm, ms-unslop on each.
2026-10-19 16:11:36 -05:00
jason.woltje 1a01f63ead queue: row 64 round 1 approvals, Filbert rev 2024 and Darkwing rev 2025 on manifest 7689cd9b (#1557) 2026-10-19 16:10:42 -05:00
jason.woltje 7c81d5e9c1 sessions: Filbert row 64 r1 review, approve 2026-10-19 16:03:07 -05:00
jason.woltje 12ac2c428b sessions: Sage line for row 64 candidate, gate and in-review round 1 2026-10-19 15:58:19 -05:00
jason.woltje e76c73f725 queue: row 64 started and in-review round 1 on c6d7d538f, reviewers darkwing and filbert (#1557, Sage revs 2022-2023 and the start rev) 2026-10-19 15:58:06 -05:00
jason.woltje 087d202bc3 queue: row 173 for the Seen click intent gap after row 172 (#1671, mos-0861 A1; Sage rev 2021) 2026-10-19 15:44:18 -05:00
jason.woltje a0da43dab2 plans: brief for the Seen click intent gap after row 172 (#1671, mos-0861 A1) 2026-10-19 15:43:03 -05:00
jason.woltje b5d4d0f225 sessions: Sage line for the row 172 landing and close-out 2026-10-19 15:38:53 -05:00
jason.woltje c24fe5d0ff build-log: row 172 landing, the dropped Seen click and the row 165 reload race (#1670) 2026-10-19 15:36:23 -05:00
jason.woltje 83db85aa3a queue: row 172 round 1 Darkwing approve (darkwing rev 2018), landing note and done (Sage revs 2019-2020) 2026-10-19 15:35:49 -05:00
jason.woltje be10e0c838 webui: a Seen click during a Board read waits for the read and posts, and the row 165 test loads the page instead of reloading from an evaluate (row 172, #1670)
The click handler returned on busy, which refresh() holds for the whole /api/board read, so a click during a
poll did nothing and the sign-out test waited 5 s for a sign-out that was never asked for. The row 165 test's
location.reload() from an evaluate let the next wait start on the old document, and the reload killed it.
2026-10-19 15:34:00 -05:00
jason.woltje 7f38a2f549 sage: row 172 packet, base control and trace lines corrected (Darkwing D1, D2 on #1670) 2026-10-19 15:34:00 -05:00