Commit Graph
1791 Commits
Author SHA1 Message Date
jason.woltje 756bc1af14 queue: revs 1882-1885, row 156 round 1 in-review and Filbert changes (sage) 2026-10-18 17:51:34 -05:00
jason.woltje 139e28673b sessions: Filbert row 156 r1 review, changes 2026-10-18 17:27:43 -05:00
jason.woltje 70c9131f0d queue: revs 1879-1881, row 154 round 5 approvals and done (sage) 2026-10-18 17:19:56 -05:00
jason.woltje 76e2b6e6f8 sessions: Sage row 154 landing 2026-10-18 17:17:05 -05:00
jason.woltje 9353675d1c webui: a WYSIWYG Markdown editor in the Console docs view, built from reviewable source (row 154, Q168, #1648)
Jason's Q168: a visual editor for the Console's project documents,
held to row 148's rendering rules.

Library. ProseMirror with prosemirror-markdown and markdown-it, chosen
in the phase 1 library report (LIBRARY.md, REPORT.md in the packet).
packages/webui/third_party/editor/ holds 19 upstream packages as source,
byte for byte, each with its license, plus NOTICE and PROVENANCE.json.

Build. packages/webui/editor/ holds the model, view, entry and
build.mjs. esbuild 0.28.2 is an exact devDependency of packages/webui
with its own lock; editor/toolchain.mjs checks the version and the
binary's sha256 before any build. MOSAIC_REQUIRE_EDITOR_BUILD=1 turns a
missing or different esbuild into a failure, and the rebuild test then
checks the committed src/public/editor.js and editor.css match a fresh
build. The built bundle is committed under Mos's conditions
(mos-0755, mos-0765).

Console. The docs view gets Visual and Source modes. A save still
writes Markdown through the existing project write path, with the same
stale-base and read-only handling. A mode switch reuses the draft and
reads nothing from the project. Links and images keep row 148's
target rules, and no raw HTML runs. serve.mjs serves /editor.js and
/editor.css; index.html loads them.

Owner Researcher, brief docs/plans/2026-10-16_q168-wysiwyg-editor.md.
Round 5 is a rebase onto d88613bac (row 155); only docs/TOOLS.md,
webui/README.md, public/bus.js and serve.mjs differ from the round
before. Reviewers on candidate manifest 3a4bc21c...3b05: Dewey
(security) approve 29027, Filbert approve 29026. Mos's decision 123 go
for public.diff 902f0244 (handwritten part ea59079e): mos-0824. Sage gate
on 72c3fa598 with MOSAIC_REQUIRE_EDITOR_BUILD=1: GATE_PASSED 25/25
(node 2397, selftests 422), 22:07:29Z to 22:13:50Z; the rebuild test
ran and passed.

Nothing live.
2026-10-18 17:14:39 -05:00
jason.woltje 72c3fa598f sessions: Filbert row 154 r5 review, approve 2026-10-18 16:45:02 -05:00
jason.woltje df078c9c4b queue: revs 1877-1878, row 154 round 5 review request posted as comment 29024 (sage) 2026-10-18 16:44:11 -05:00
jason.woltje 31788ef85b sessions: Researcher row 154 rounds 3 to 5 and Sage row 154 round 5 request, row 165 credentials ruling 2026-10-18 16:43:12 -05:00
jason.woltje 5e2a1bc118 queue: revs 1869-1874, row 165 briefed, claimed and brief re-pinned on b3cf580a (Sage 1869-1870, 1872-1873; Darkwing 1871); 154 back to in-progress for the d88613bac round (Sage 1874) 2026-10-18 16:39:30 -05:00
jason.woltje b8036b6089 plans: row 165 brief correction, the second reviewer waits on P19 367 (mos-0823)
reviewer, coder, pm and cto declare gitea and vikunja credentials, and the
row keeps credentials out. The writer refuses an added instance or a
definition change whose definition declares credentials, with a named
refusal that says why, and never writes an instance without its binding.
One added test line. Acceptance 314 is covered: security-reviewer and
merge-gate declare none. Jason rules on credential binding in daylight.
2026-10-18 16:32:51 -05:00
jason.woltje d88613bac2 queue: revs 1866-1868, row 155 done, 167 add and briefed (sage) 2026-10-18 16:22:45 -05:00
jason.woltjeandClaude Opus 5.5 ab78898997 sessions: Sage row 155 landing
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 16:20:36 -05:00
jason.woltjeandClaude Opus 5.5 68fc31a944 plans: brief for the Settings reads and snapshot follow-up to row 155 (Darkwing's draft, Mos's mos-0816 notes, Dewey's F1)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 16:19:11 -05:00
jason.woltjeandClaude Opus 5.5 b2f57ca70d bus, business, harness, webui: the human and the chief of staff configure the assistant (row 155, Q169, #1649)
Jason's Q169: only the chief of staff removes the assistant; the chief
and the human configure it and its seat name.

Configure. A new organization key, assistants, replaces the vars,
tracker or definition of an instance whose definition is already the
assistant. holder and credentials are refused, and the whole document
still goes through validateBusinessDocument. set() refuses
organization-definition-refused if any other instance's definition
changed. THREAD_DEFINITION and END_PROTECTED move to
packages/business/src/vocabulary.mjs, so the broker and
launch-settings.mjs read one list. The human writes it with
mosaic limits set --file or the Console Settings view's Assistant
section; the chief writes it with change_organization. Both carry the
file's revision.

Seat name. The chief gets a typed set_name tool (name.set,
instance.name). The Console gets POST /api/name on the settings
boundary, through human-cli.

Remove. role.end and role.revoke of a threaded instance revoke every
thread of that instance whose latest claim is a claim, and report
threads: N. The raise and the check both record a missing holder run as
null. A new human-only verb, assistant.stop, revokes the human's own
threads of an assistant instance; the Console calls it from POST
/api/assistant-stop. The bundle, the end_run description and
roles/chief-of-staff.md now say the chief ends and configures the
assistant. No schema step.

Owner Darkwing, brief docs/plans/2026-10-16_q169-assistant-config.md.
Reviewers: Dewey (security) r1 approve 29012, r2 29014, r3 29018; Filbert r1 29010,
r2 29015, r3 29017, on candidate manifest 96cae28e...9016. Round 2 is
confirm-only after rows 162 and 125 moved the base under docs/TOOLS.md
and the cli README. Round 3 bumps row 164's webui/src/bus.mjs byte
baseline in packages/bus/tests/channel-proof.test.mjs for the eight
STATUS entries; Sage's gate on r2 failed only there. Mos's decision 123 go for the public/bus.js diff
(mos-0816) covers 9f9ce31b, unchanged here. Sage gate on 197722caa:
GATE_PASSED 25/25 (node 2370, selftests 422) 21:11:38Z, a rerun on the same tree after a first run stopped at pkg-webui on a board-held.test.mjs timeout that passes singly.

Nothing live. Follow-up brief in the packet: the names read rethrow, one
shared settings snapshot, null tests for the two new routes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 16:18:47 -05:00
jason.woltjeandClaude Opus 5.5 197722caa2 queue: revs 1861-1865, row 155 r3 in review (darkwing) and confirm-only approvals (filbert, dewey)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 16:05:27 -05:00
jason.woltjeandClaude Opus 5.5 f742175515 sessions: Filbert row 155 r3 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 16:04:05 -05:00
jason.woltjeandClaude Opus 5.5 0473574b02 queue: revs 1846-1860, rows 155 r1-r2 reviews (darkwing, dewey, filbert), 162 done, 166 add and briefed (sage), 154 r4 in review (researcher)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:51:56 -05:00
jason.woltjeandClaude Opus 5.5 359adff563 sessions: Filbert row 155 r2 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:48:43 -05:00
jason.woltjeandClaude Opus 5.5 449cadd1f1 sessions: Filbert row 155 r1 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:40:53 -05:00
jason.woltjeandClaude Opus 5.5 7bd2a348ca sessions: Sage row 162 landing
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:40:28 -05:00
jason.woltjeandClaude Opus 5.5 c70f360ae7 plans: D1 brief item 8 re-pinned to the held or stopped store read; stack-release hardening brief (row 162 follow-up)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:39:38 -05:00
jason.woltjeandClaude Opus 5.5 7e7f8e208e scripts: health-gated stack activate and rollback, stack-release.sh (row 162, D1, #1659)
New scripts/stack-release.sh with four verbs. adopt records the running
copy, the unit flags and the store schema in state/stack-active.json; it
stops nothing. activate ID BUSINESS [--pm] [--migrate] stops the units,
checks the stopped store, backs it up, migrates when the target's schema
differs, installs and starts the target, then gates on both units active,
a live bus host whose pid is the bus unit's MainPID with boot ok, Console
/healthz, stack-copy.sh check and one launched journal line. A failed
gate rolls back inside the same run and keeps the attempted store as
bus.post-attempt-<stamp>. rollback [--restore ACT [--events N]] goes back
to the log's previous copy and counts the events written after the
backup. status prints the pointer, the log tail and the copy check.
--plan prints what a run would do and writes nothing; it reads the store
schema from the store the running bus holds, or from a stopped store.
Exit codes: refusal 3, gate failure with rollback 1, rollback failed 2,
usage 4. Nothing is pruned.

stack-copy.sh gets a reachable function split from copy_commit and a
guard so its helpers can be sourced. TOOLS.md "Pinned stack update" and
the cli README pinned-stack paragraph describe the verbs.

Owner Darkwing, brief docs/plans/2026-10-18_stack-release.md (D1).
Reviewer Filbert: r1 approve (comment 28997) on 091693c5, r2 confirm-only
approve (29004) on candidate manifest c213a801...bd15c after row 125
moved the base under TOOLS.md and the cli README. Sage gate on 23622980f:
25 of 25 steps rc=0 on c96a95320 (15 packages + 10 scripts), node pass 2353 fail 0, selftests 422 passed 0 failed, 2026-10-18T20:32:13Z to 20:38:55Z, network sage-r162_default removed, 0 containers.

Nothing live. The 8e7ea89a1 window (repin-8e7ea89a1.md) runs these verbs
on Mos's go with Jason present.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:39:09 -05:00
jason.woltje 23622980f4 queue: revs 1838-1845, row 125 done (Sage 1838); 156 in progress (Dewey 1839); 162 r2 in review (Darkwing 1840-1842); 126 brief re-pin on 7ce156259 and briefed (Sage 1843-1844); 162 r2 Filbert approve on c213a801 (1845, comment 29004) 2026-10-18 15:30:16 -05:00
jason.woltjeandClaude Opus 5.5 6b21085c4c sessions: Filbert row 162 r2 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:29:17 -05:00
jason.woltjeandClaude Opus 5.5 7ce156259d plans: row 126 brief rewritten on Dewey's tokens.daily design after row 125 landed (#1620)
Row 125's core lets a check see only launch.limits and accept hits on the
four DEPTH kinds, so the quota gets its own depth-1 kind,
tokens.daily.<account>, in the two DEPTH tables and the organization-file
schema. Display is a fixed line keyed on the daily path; no report field.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:27:07 -05:00
jason.woltjeandClaude Opus 5.5 de74dd4735 sessions: Sage row 125 landing
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:22:53 -05:00
jason.woltjeandClaude Opus 5.5 aa625565f6 bus, cli, webui: token limits per instance, model, provider and key (row 125, #1619)
Adds token limits under launch.limits.tokens (instances, providers, keys,
models.P.M). Core (packages/bus/src/limits.mjs) reads the organization
file and the per-turn usage records row 124 writes, then asks every
switched-on limit-check plug-in; the first refusal wins. A limit no
switched-on check reports reads "not enforced". The limit-check kind is
interface 2 (mayLaunch, mustStop, report); a v1 check is refused at load.
The shipped token-limit check is pure and counts known end records only;
unknown turns add nothing and are shown as their own count.

The launcher refuses limit-reached through the host's mayLaunch op, or
limit-check-failed naming the check. The broker asks mustStop after a
usage end and stops the run at its next receive or state. Settings stamps
since on a new or changed limit and runs reset; launch.mjs and
business.mjs validate the shape. Readers: mosaic limits and mosaic limits
reset, the bus limits view, the Console /api/bus/limits route and the
Settings token table with Reset. Key limits stay "not enforced" until
row 126 names accounts on records.

Owner Dewey, design under lead decision 150.
Reviewer Filbert: r1 changes (comment 28965), r2 approve (28981), r3
approve (28996) on candidate manifest 8b71c405...fe56 after the rebase
onto row 164 (37 of 38 paths with identical +/- lines, TOOLS.md:621
bracket). Decision 123 go on the bus.js hunk from Mos (mos-0814). Sage
gate on b6827d19e: 25 steps, all rc 0 (15 packages, 10 script suites), 2295 node tests and 422 script selftests, 0 failed, 20:03:25Z to 20:08:08Z, network sage-r125_default removed.

Live stays as pinned. Not part of the 8e7ea89a1 window.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:21:49 -05:00
jason.woltje b6827d19ea queue: revs 1836-1837, row 125 r3 Filbert approve on 8b71c405 (1836, comment 28996); row 162 r1 Filbert approve on 091693c5 (1837, comment 28997) 2026-10-18 15:03:14 -05:00
jason.woltjeandClaude Opus 5.5 e972b5969a sessions: Filbert row 162 r1 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:01:58 -05:00
jason.woltjeandClaude Opus 5.5 5f8e5f0413 sessions: Dewey rows 125 r3, 154 r3 and 164 r2
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:58:10 -05:00
jason.woltjeandClaude Opus 5.5 4c2ff00cd8 sessions: Filbert row 125 r3 review
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:57:11 -05:00
jason.woltjeandClaude Opus 5.5 99d2b49c9c queue: revs 1828-1835, row 154 r3 Filbert approve (1828); 164 done (Sage 1829); 165 brief re-pin after Jason's Q4 (Sage 1830); 125 r3 in review (Dewey 1831-1833); 162 r1 in review (Darkwing 1834-1835)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:50:41 -05:00
jason.woltjeandClaude Opus 5.5 8e47e5e3b3 sessions: Sage row 164 landing, row 165 brief
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:27:44 -05:00
jason.woltjeandClaude Opus 5.5 606fafd431 plans: row 165 brief, Jason's Q4 confirmation relayed (mos-0805), hold lifted
Records Jason's "Q4: yes" (DECISIONS Q171, Q172) and lifts the hold.
The row moves to briefed once row 155 is done. No test reads this file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:26:39 -05:00
jason.woltjeandClaude Opus 5.5 008746b6ed plugins: channel kind for the CLI and Console chat paths (row 164, #1661)
Adds plugin kind `channel` (interfaceVersion 1, dispatch(request, {call}))
with cli and webui modules. Project and thread surfaces and thread
talk/follow in the CLI and the Console chat go through the selected
channel. An empty or absent channel selection is off: the CLI exits 3 and
the Console answers 503, each naming `mosaic plugins` and `mosaic plugins
set` with the business selector. Management plugins and plugins.set stay
on the core transport. The loader gains a synchronous snapshot(kind)
getter; loaded(), modules() and last-good handling are unchanged. No lock
is held across dispatch. serve.mjs, public/ and the bus are untouched.

Owner Rocko. Reviewer Dewey: r1 changes (comment 28980, B1: the recovery
sentence was never asserted), r2 approve (comment 28984) on candidate
manifest ae2fcfda...1fc8, the B1 assert killing mutant D1. Design accepted
by Mos (mos-0768, mos-0773). Fixture rewrite at project.test.mjs:47 acked
by Mos (mos-0789) on Dewey's line-by-line check: lines 48-51 identical,
one added assert. Sage gate on e5b10d275: 25 steps green, 2081 package tests, 156 queue node tests, 422 script selftests, 0 failed.

Live stays as pinned. The re-pin that takes this live puts `mosaic
plugins set` in Jason's window right after activate (mos-0768).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:24:42 -05:00
jason.woltjeandClaude Opus 5.5 e5b10d275e sessions: Filbert row 154 r3 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:17:35 -05:00
jason.woltjeandClaude Opus 5.5 27f01be2ec queue: revs 1805-1827, row 164 r1 in review (Rocko 1806-1807, request by Sage 1808-1809), r1 changes (Dewey 1814), r2 in review (Rocko 1816, 1820-1821, request by Sage 1824-1825) and approve (Dewey 1826); 125 r2 in review (Dewey 1805, 1811-1812) and approve (Filbert 1815); 154 r2 changes (Filbert 1810, Dewey 1813), r3 in review (Researcher 1817-1819, request by Sage 1822-1823) and Dewey approve (1827)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 14:17:18 -05:00
jason.woltjeandClaude Opus 5.5 1dbf456101 sessions: Filbert row 125 r2 review, approve
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:55:45 -05:00
jason.woltjeandClaude Opus 5.5 6f963fd657 sessions: Filbert row 154 r2 review, changes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:36:10 -05:00
jason.woltje ed92e2e1e8 logs: correct Rocko row 164 resume stamp from recorded clock 2026-10-18 13:20:31 -05:00
jason.woltje 3d527871c7 docs: Rocko row 164 candidate packet and own verification logs 2026-10-18 13:19:50 -05:00
jason.woltjeandClaude Opus 5.5 370c4d897c sessions: Researcher row 154 phase 1, phase 2 and round 2 lines, row 128 mutants line (their own lines)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:19:01 -05:00
jason.woltjeandClaude Opus 5.5 5ec790f141 queue: revs 1798-1804, row 165 added queued (Sage 1798, P19 332), 154 r2 in review (Researcher 1799-1801, request posted by Sage 1803-1804), 125 r1 changes (Filbert 1802)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:18:13 -05:00
jason.woltjeandClaude Opus 5.5 7a7d7442d9 sessions: Filbert row 125 r1 review, changes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:16:35 -05:00
jason.woltjeandClaude Opus 5.5 ab9f23d9ef docs: row brief for adding and changing role instances (P19 332, #1662); I6 brief records Jason's P19 333 ruling
Mos relayed Jason's answers in mos-0787. P19 332: a CLI command and a
Console view for role-instance changes, held until Jason confirms Mos's
reading. P19 333: accepted as a documented limit, so the I6 brief and the
design's limits line now say I6 writes it as a known limit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:10:41 -05:00
jason.woltje d62c61fbd8 logs: Rocko row 164 focused pass and full-gate fixture boundary (own lines) 2026-10-18 13:07:49 -05:00
jason.woltjeandClaude Opus 5.5 fe7eef8fb0 queue: revs 1791-1797, row 129 r2 approve (Filbert 1791) and done (1792), 164 claimed (Rocko 1793), 154 r1 changes (Filbert 1794, Dewey 1797), 125 r2 in review (Dewey 1795-1796)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 12:58:47 -05:00
jason.woltjeandClaude Opus 5.5 20b5030b5d sessions: Dewey row 125 in-review and row 154 r1 security review
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 12:54:34 -05:00
jason.woltje fdb1d4b34f logs: Rocko row 164 test preparation and landed reference check (own lines) 2026-10-18 12:28:48 -05:00
jason.woltjeandClaude Opus 5.5 e79ba6c944 sessions: Sage row 129 landing (850484a7d, #1623 closed)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 12:19:54 -05:00