Commit Graph
870 Commits
Author SHA1 Message Date
jason.woltjeandClaude Opus 5.5 e51d8f2042 plans: row 159 I4 tests add the container-address and network-membership checks (Mos, mos-0716)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:42:08 -05:00
jason.woltjeandClaude Opus 5.5 6a2409f214 queue: revs 1722-1730, row 134 after 155, row 149 round 4 in review (Dewey 1723-1724), D1 and D2 rows 162-163 with P19 notes, row 157 after 163, row 154 brief re-pin
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:27:18 -05:00
jason.woltjeandClaude Opus 5.5 2b5c76eeb4 plans: row 154 brief owns two serve.mjs static routes and round-trips the goals review (Researcher phase 1)
Researcher's phase 1 report needs /editor.js and /editor.css route
entries in serve.mjs, and spec/north-star.md doesn't exist. The brief
now owns those two entries only and names
docs/plans/2026-09-27_goals-review.md for the round-trip test.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:23:35 -05:00
jason.woltjeandClaude Opus 5.5 0df05f2c5c plans: D1 and D2 brief, health-gated stack activate and rollback and the scratch-root rehearsal (#1659, #1660)
Decision 96 D track. D1 turns the de352dfaf window scripts and the
release.sh pointer-and-log shape into stack-release.sh adopt, activate,
rollback and status. D2 adds rehearse on a scratch root with launches
disabled and no model calls. A standing staging stack is left to Jason.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:13:48 -05:00
jason.woltjeandClaude Opus 5.5 9cc0ba0e15 plans: row 156 brief takes Filbert's three edits (task ref in landHolders, land and landing from one read, decision-consumed in flight)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:04:32 -05:00
jason.woltjeandClaude Opus 5.5 957fbfd410 plans: row 156 brief wakes the landing run with a landing turn (Filbert, comment 28913)
A relaunched merge-gate run has land_work but no message to turn on: the
raising run's poll consumes the approval DECISION. The host writes the
instance's landHolders entries into session.json as landing, and the
runner takes one fixed-template turn per entry before its receive loop.
Row 149's chief-of-staff message stays as the fallback; a second land
gets decision-consumed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:03:28 -05:00
jason.woltjeandClaude Opus 5.5 a132b46058 queue: revisions 1713-1720 (rows 124, 154, 155 briefed and 124, 155 re-pinned by Sage; rocko 124 and darkwing 155 claims; filbert row 149 round 3 changes)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:03:16 -05:00
jason.woltjeandClaude Opus 5.5 6f85a55189 queue: revisions 1675-1712 (row 87 rounds 5-8 and done, I2-I6 as rows 157-161, row 156 added, row 128 round 1 and done, row 149 round 3 in review)
Other seats' revisions in this sweep: Darkwing 1675, 1680, 1685, 1691,
1699 (row 87 verdicts); Filbert 1678 (row 149 r2), 1681, 1686, 1690,
1701 (row 87), 1702 (row 128 r1); Researcher 1692-1693 (row 128
in-review); Dewey 1709-1711 (row 149 round 3 in review).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:50:42 -05:00
jason.woltjeandClaude Opus 5.5 77b1a6e8a9 plans: row 87 follow-ups on the start limit, and decisions 147 (B1) and 148 (B2) (#1581)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:41:43 -05:00
jason.woltjeandClaude Opus 5.5 bb0766826d plans: brief for the host starting the landing run once a merge decision is approved (#1651)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:35:56 -05:00
jason.woltjeandClaude Opus 5.5 917ef55e18 plans: row 87 round 8 counts a stop's no-such-container as gone, bounds each wait per container and gives I6 the unit comment (#1581)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:33:41 -05:00
jason.woltjeandClaude Opus 5.5 4c1fee85a5 plans: row 87 round 7 makes the leftover rule wait by id until each core container is gone and names the start order (#1581)
Answers Darkwing's round 6 review (28884) and Filbert's doc-only
follow-up (28883).

- After docker stop, the rule waits for "no such container" by id,
  bounded by the core stop timeout, then rm -f and the same wait; a
  container still there refuses exit 1, which the unit retries.
- A name conflict is now only a hand-made container without the store's
  labels; it stays exit 3, which the unit does not retry.
- Start order: host.lock, store path, rootless check, leftover rule,
  docker run.
- I6 gains two tests: run straight after a stop boots, and a leftover
  never removed refuses exit 1.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:28:56 -05:00
jason.woltjeandClaude Opus 5.5 80ebe2afc4 plans: row 87 round 6 gives the store one real-path spelling, starts each core fork on its first line and states the name-conflict refusal (#1581)
Answers Darkwing's round 5 review (28880) and Filbert's doc-only
follow-ups (28881).

- connected follows the channel from the wrapper's creation, as a forked
  child's does; the entry starts the broker on boot and the notifier on
  start, so host.mjs:217 and :244 never wait on a pid line.
- Bus start makes <dataRoot>/bus at 0700 and takes its real path; the
  bind source, mosaic.store label, leftover filter and hostStatus all use
  it.
- A name conflict refuses with exit 3, names the container and the
  client's exit code, gives host.lock back, and removes nothing.
- The host.pids test list names what each test does with the pid.
- I6 gains four lifecycle tests for these.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:23:53 -05:00
jason.woltjeandClaude Opus 5.5 232e054499 plans: row 87 round 5 keys the core container on the store, sets the stop timeout to cover both close waits, and defines connected and host.pids (#1581)
Answers Darkwing's round 4 review (comment 28877) and Filbert's
doc-only follow-up (28876).

- P: the core container's name is mosaic-core-<16 hex of SHA-256 of the
  real path of <dataRoot>/bus>, keyed on the store like writer.lock, so
  two data roots with the same business don't collide.
- Q: close() waits CLOSE_TIMEOUT_MS twice (host.mjs:30, 343, 347). The
  host passes MOSAIC_CLOSE_TIMEOUT_MS to the entry; the core stop
  timeout is two close timeouts plus 5 s (45 s today), used by the
  leftover rule's docker stop -t.
- R: {from, pid} start line; connected turns false on the exit line,
  client stdout close or exit, or a failed stdin write; host.pids is
  null for both forks in containerized mode and adds container; the
  pid-signalling host tests stay local, I6 uses docker exec kill.
- Nit: firstReply (129) and ended (148) cited apart from watchChildren
  (159-165).
- I6 tests and design section 9 add the slow-notifier leftover, two data
  roots, the missing-timeout refusal and connected.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:16:30 -05:00
jason.woltjeandClaude Opus 5.5 c95c437cb6 queue: revs 1659-1674, row 87 rounds 3 and 4 (round 4 approved by Filbert), row 128 assigned to Researcher, row 149 round 2
Sage: 1659-1661 (row 87 round 3 to in-review, comment 28868), 1667-1669
(row 128 assigned to researcher, brief re-pinned, briefed), 1671-1673
(row 87 round 4 to in-review on e5dbcf626, comment 28874).

Other seats' revs, swept in by the snapshot: Filbert 1662 (row 87 r3
changes, 28870) and 1674 (row 87 r4 approve, 28876), Dewey 1663, 1665, 1666 (row 149 round 2 in-review, 28872),
Darkwing 1664 (row 87 r3 changes, 28871), Researcher 1670 (row 128
in-progress).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:12:46 -05:00
jason.woltjeandClaude Opus 5.5 e5dbcf6264 plans: row 87 round 4 adds the core container's lifecycle and bus status liveness, answering Darkwing's and Filbert's round 3 reviews (#1581)
Design section 3 gains "The core container's lifecycle": the fixed name,
labels and --rm; tagged fork lines that carry each fork's replies, kills
and exit codes, so the host's per-child stop, start-failure kill and
watchChildren keep their logic; what the entry does when one fork exits;
the client ending first; SIGTERM; the host dying without closing stdin
(not spiked, I6 measures it); the leftover removal at bus start; and
bus status liveness from the engine instead of the lock's container pid.
B2 now names caps on the entry's engine-relayed stdout. Section 9 and
I6's files and tests carry the new rules. Broker cites move to
0f3eb25ea after row 143; LAUNCH_OPS is process.mjs:5-20.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:08:45 -05:00
jason.woltjeandClaude Opus 5.5 0f3eb25ea0 plans: refreshed row 128 brief, the bus project and thread verbs and talk --thread (#1622)
The 2026-10-14 brief predates rows 121, 142 and 143. This one names the
verbs on the existing broker ops, keeps plain talk asking for a thread
with no default, and targets acceptance 314 steps 1 and 3. Owner moves
to researcher.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 09:03:57 -05:00
jason.woltjeandClaude Opus 5.5 ac55e84fe4 plans: row 87 round 3 adds the host channel and keeps bindLaunch, answering Darkwing's and Filbert's round 2 reviews (#1581)
Darkwing L (comment 28863): section 3 gains "The host channel, a
boundary change". The bus host starts the core container with
`docker run -i` as its own child; core-entry.mjs forks process.mjs and
notifier-process.mjs with IPC inside it and relays tagged JSON lines over
the client's stdin and stdout. The core container runs with
--log-driver none, since replies carry caps; I6 tests that. The channel
adds no authentication of its own, so it is boundary change B2.

Darkwing M: the registry keeps the docker run client's pid and
startTime, so bindLaunch, runtime.mjs and broker.mjs are unchanged and
I5 changes no file in packages/bus. The human proof's ancestry check
never meets the client, so the mount list carries that boundary and I5
tests that a session can't reach sock/human or sock/relay. recover()
removes the container, kills a leftover client and binds as today.

Darkwing nits: the start check's temp names are patterns from their
writers, five state files, and the git-socket.mjs split across I3, I5
and I6.

Filbert (comment 28864): section 10 states the Console's outbound
reach on the mosaic-console bridge, no wider than today, with the
--network none forwarder as the not-spiked follow-up named on P19 333.
Section 7 says four networks and lists mosaic-console.

Section 11 lists B1 (the Console bind, before I4) and B2 (the host
channel, before I6); I4's and I6's gates name their ruling.

Doc-only: no test reads either file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:56:57 -05:00
jason.woltjeandClaude Opus 5.5 6e7fdf7ffc queue: revisions 1645-1658 (row 143 done)
Sage: 1645-1646 (re-pins of 143 and 149 to 8fcd0887e), 1650-1651 (row 143 round 2 review request), 1652-1654 (row 87 in-review r2), 1658 (sage-143-done; landed as 0278b9e0b).
Researcher: 1647-1649 (row 143 round 2 in-progress and in-review).
Dewey: 1655 (dewey-143-verdict-2, round 2 approve, comment 28862).
Darkwing: 1656 (darkwing-r87-r2-verdict, row 87 round 2 changes, comment 28863).
Filbert: 1657 (filbert-87-r2, row 87 round 2 changes, comment 28864).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:55:09 -05:00
jason.woltjeandClaude Opus 5.5 47b030d9bc plans: row 87 round 2 answers Filbert's and Darkwing's reviews of the containerized install design (#1581)
The Console binds 0.0.0.0 in its own namespace behind a host-loopback
publish (a decision 107 enforcement change, reach unchanged). It mounts
businesses/ and its other mounts at their host paths, checks bus-host/
against an allowlist, turns the queue panel off, and answers 404 on every
board route. The git socket's bundles and land logs move to git-host/.
recover() still ends leftover runs host-lost. RESOLVED_VIA gets a
human-socket entry, and every container kind gets mount-list and
hardening tests. Spike citations are corrected, and the root case and
two-network setup are marked as not spiked.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:41:55 -05:00
jason.woltjeandClaude Opus 5.5 8fcd0887e0 plans: row 143 round 2 adds the chief-of-staff relay bullet, and acceptance 314 needs row 128's thread (#1637)
Dewey's F5 on comment 28853: nothing tells the chief of staff to relay a
BLOCK or an accept in_reply_to the message that carried it, and the bus
refuses a relay without that link. Row 143's brief now owns one bullet in
roles/chief-of-staff.md.

Dewey's F1: the assistant is the threaded instance, so a plain talk is
refused thread-required-use-thread-send, and no CLI code creates a project
or a thread before row 128. Acceptance 314 adds row 128 to its
prerequisites and a step that creates and opens Jason's assistant thread
in the project.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:28:33 -05:00
jason.woltjeandClaude Opus 5.5 c550efa278 queue: revisions 1632-1644 (re-pins of 149 and 143; row 143 in-review r1 for Researcher with the request 28849 and Dewey's changes 28853; row 87 in-review r1 with Filbert's 28851 and Darkwing's 28852 changes; row 149 in-review r1 for Dewey, request 28855)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:27:04 -05:00
jason.woltjeandClaude Opus 5.5 2034817252 plans: containerized install design and the I2 to I6 briefs (#1581)
Row 87, the I1 design. The design turns decisions 105 to 108 into
interfaces: one rootless endpoint named on every call, three images,
two broker listeners with a human-socket via value, a host relay with a
peer-pid check, sessions as hardened containers, file-held tokens,
egress only through an allowlist proxy, and the Console in a container
on the human socket. Every container claim cites spikes S0 to S9 or HP.

Mos ruled on the host-process reading (mos-0657): routes open to a
process under Jason's uid are decision 105's accepted limit; the
other-uid reach to the Console port goes to Jason as P19 333, default a
documented limit, and only I6's limits section waits on it.

The rows file holds the I2 to I6 briefs on the template, each with
owner, reviewers, files, what ships and gate. Doc-only: no test reads
either file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:11:17 -05:00
jason.woltjeandClaude Opus 5.5 c0af7f2486 plans: no verb adds a role instance, so the 149 brief and acceptance 314 name Jason's business-file edit (#1643)
Dewey 0572: organization.set's instances field only sets the model of an
instance the business file already declares (launch-settings.mjs:46-52),
and business.mjs:130 refuses a launch.instances name the roles don't
declare. The row 149 brief said chief's organization change adds the
merge-gate and security-reviewer instances, and acceptance 314's
before-the-run list repeated it. Both now say Jason adds them by editing
the business file and validates it. Doc-only; no test reads either file.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 08:01:29 -05:00
jason.woltjeandClaude Opus 5.5 8517e5f451 queue: revisions 1629-1631 (rows 143 and 149 in progress for Researcher and Dewey, row 87 in progress for Sage)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 07:46:00 -05:00
jason.woltjeandClaude Opus 5.5 4b1795a8c4 queue: revisions 1627-1628 (briefs for 149 and 143 re-pinned to 3a16dfac8, row 149 carries the raise_decision domain parameter)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 07:35:33 -05:00
jason.woltjeandClaude Opus 5.5 3a16dfac8b plans: row 149 carries Dewey's row 139 finding 1, the raise_decision domain parameter (#1643)
The harness raise_decision tool has no domain parameter, so no agent
reaches arbiters.technical and merge-gate's technical raise can't be
made. Row 149 now owns that tool (not end_run, which stays row 155's),
plus the pm and chief Authority text that still sends every ungranted
action to the human. Mos accepted the carry on 2026-10-16.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 07:34:02 -05:00
jason.woltjeandClaude Opus 5.5 d4c3b2838d docs: BUILD-LOG for the row 141 landing; Sage SESSIONS line; row 141 r2 packet; P19 follow-ups 321-322; row 155 carry line
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 17:37:22 -05:00
jason.woltjeandClaude Opus 5.5 28eeef8eac queue: revisions 1625-1626 (row 141 done)
Filbert: 1625 (filbert-141-r1, round 1 approve, comment 28841).
Sage: 1626 (sage-141-done; landed as de352dfaf, #1635 closed 28844).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 17:36:48 -05:00
jason.woltjeandClaude Opus 5.5 d49da64a95 queue: revision 1624 (row 148 done)
sage 1624.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 17:28:07 -05:00
jason.woltjeandClaude Opus 5.5 a4779d2a55 queue: revisions 1588-1623 (rows 137, 141, 148, 150)
darkwing 1588 1590 1591 1594 1596-1598 1600 1607 1608 1621 1622; filbert 1592 1599 1602 1609 1611 1623; dewey 1595 1610 1613 1620; researcher 1603 1604 1615-1617; sage 1589 1593 1601 1605 1606 1612 1614 1618 1619.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 17:15:01 -05:00
jason.woltjeandClaude Opus 5.5 9752d18189 queue: revs 1582-1587, row 139 done, row 139 and 148 verdicts, row 150 in review
Filbert's 1582 (row 139 round 2 approve) and 1585 (row 148 round 1
approve), Darkwing's 1583-1584 (row 150 in review), Dewey's 1587 (row
148 round 1 verdict) and Sage's 1586 (row 139 done after landing
63c82f1c4).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 14:32:25 -05:00
jason.woltjeandClaude Opus 5.5 e7158ab141 queue: revs 1577-1581, rows 139 and 137 round 2 in review, row 155 re-pin
Dewey's revs 1577-1578, Darkwing's revs 1580-1581, my rev 1579.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 14:20:34 -05:00
jason.woltjeandClaude Opus 5.5 b05de8258b plans: row 155 refuses a definition change into END_PROTECTED and tests the chief's revoke as a hard wait
Dewey's two edges from row 139 round 2 (dewey-0546).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 14:18:23 -05:00
jason.woltjeandClaude Opus 5.5 9e1ec7bf2f queue: revs 1572-1576, row 137 review round 1 and round 2 start, row 150 start
Darkwing's revs 1572-1574 and 1576, Filbert's rev 1575.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 14:12:58 -05:00
jason.woltjeandClaude Opus 5.5 cc1f38f2eb queue: revs 1545-1571, rows 154 and 155 added, Q169 re-pins, row 148 review request
Sweeps other seats' pending revs: Dewey 1545-1546 and 1555, Filbert 1547,
Researcher 1559-1560. Sage: 1548-1554, 1556-1558, 1561-1571.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:56:54 -05:00
jason.woltjeandClaude Opus 5.5 b71268b8e5 plans: row 139 records Q169 as PRD 1.6 and leaves assistant-run execution to row 155
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:52:51 -05:00
jason.woltjeandClaude Opus 5.5 2857006be4 plans: Q169 brief, the human and the chief of staff configure the assistant (#1649)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:52:02 -05:00
jason.woltjeandClaude Opus 5.5 9aa90193d9 plans: row 139 follows Jason's Q169, only the chief of staff or the human removes the assistant
Q169 replaces Mos's sage-0523 ruling. The chief of staff's end of the
assistant succeeds, another role's arbiter-resolved revoke of it is
refused, a human-resolved one still works, and other cited revokes route
by REQ-DEC-2. Reconfiguring the assistant is a separate row.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:45:48 -05:00
jason.woltjeandClaude Opus 5.5 04c5720039 plans: row 139, a revoke of the assistant stays with the human (Mos ruling, sage-0523)
Filbert's row 139 note 2: under 139 an arbiter could approve a cited
role.revoke of the assistant. Mos ruled it stays human-only, overridable
by Jason. Row 139 now owns the PRD note under REQ-WAIT-1 and a test.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:40:05 -05:00
jason.woltjeandClaude Opus 5.5 fcea7d015c plans: Q168 brief, a WYSIWYG Console editor built from reviewable source (#1648)
Jason's ruling Q168 via Mos: one more library search against the row 148
bar, then an open-source WYSIWYG built from source in the repo if nothing
passes. Mos's decision 123 go on the license and candidate comes before
any code is imported.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:38:17 -05:00
jason.woltje 63025db0fa queue: revisions 1538-1544 (briefs for 137, 139, 143, 148 and 149 re-pinned to b2a2d741c; row 139 briefed; Dewey's 1544 row 139 start) 2026-10-16 13:33:11 -05:00
jason.woltjeandClaude Opus 5.5 b2a2d741c4 plans: rows 137 and 139, land-work keeps its human-only check; only the host land op accepts an arbiter, carried by whichever lands second (Dewey 0515)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:18:38 -05:00
jason.woltje a041a5f0f4 queue: revisions 1530-1537 (Researcher's 1530 row 148 start; Filbert's 1531 row 135 round 3 approve; briefs for 137, 139, 143, 148 and 149 re-pinned to c07c87fc2; row 135 done at 7473dcd2a) 2026-10-16 13:15:21 -05:00
jason.woltjeandClaude Opus 5.5 c07c87fc22 plans: rows 137 and 139 briefs, whichever lands second carries the REQ-LAND-1 refusal (Filbert 28767 note 2)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:09:29 -05:00
jason.woltjeandClaude Opus 5.5 335723b068 queue: revisions 1512-1529 (row 137 briefed and claimed by Darkwing; row 135 rounds 1 to 3 with Filbert's round 2 verdict; briefs for 135, 137, 139, 143, 148 and 149 re-pinned to 1d0386dd0)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:07:24 -05:00
jason.woltjeandClaude Opus 5.5 1d0386dd08 plans: re-pin rows 135, 137, 139, 143, 148 and 149 for PRD 1.5 round 3 (Filbert 28765, Dewey 0503); row 148 drops Toast UI for a textarea and preview
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-16 13:03:52 -05:00
jason.woltje 7158d62ec1 queue: revisions 1510-1511 (row 138 round 2 approved by Dewey; done, landed as 3190ad762) 2026-10-15 20:51:28 -05:00
jason.woltje c842686d5c queue: revisions 1504-1509 (row 138 round 1 changes by Dewey; round 2 claimed and in review by Rocko, request posted by Sage) 2026-10-15 20:39:17 -05:00
jason.woltje ed6e5a7fc7 queue: revisions 1498-1503 (row 152 approved by Filbert and done; row 138 round 1 in review by Dewey, request posted by Sage) 2026-10-15 20:16:16 -05:00