brief for piece 5, darkwing on point, with Gate F (#1503)

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
2026-09-12 19:25:53 -05:00
co-authored by Claude Fable 5.1
parent fab40f25f8
commit f80404f541
3 changed files with 74 additions and 3 deletions
@@ -295,6 +295,69 @@ is his say-so at the end of the day, with any exception written as a line in
- No fleet sources, no comms changes, no `packages/seat` changes. - No fleet sources, no comms changes, no `packages/seat` changes.
- Dewey coordinates with Darkwing before touching any board file. - Dewey coordinates with Darkwing before touching any board file.
## Piece 5: darkwing on point (orchestrator behaviour)
Approved in principle by Jason 2026-09-12 evening ("have darkwing on the
fleet running point"). Starts when Jason sends darkwing the start message,
planned Sunday 2026-09-13. Owner: darkwing. Purpose: move the Gate D number
(18.9 human messages per closed issue) by having a seat do the assigning.
### What it is
Mostly behaviour, with one small code change.
**Code (one commit, with tests):** `mosaic seat task` records who set the
task: a `taskSetBy` field from `MOSAIC_AGENT_NAME`, or `--by NAME`, or
"unknown"; the scanner serializes it and the page shows it next to the task
source. Closes the "set by" line in `DEFERRED.md`.
**Behaviour, darkwing's loop for every item it runs:**
1. Read `docs/plans/CURRENT.md` and `docs/plans/DEFERRED.md`. Take the next
queue item Jason has called, or one bounded Open line from DEFERRED that
touches no file another seat is on. Never take two.
2. Open the Gitea issue with the acceptance sentence and the owning seat.
3. Set the owning seat's task with `scripts/mosaic seat task <seat> "<issue
and one-line ask>"`.
4. Send the start message to the seat through `tools/tmux/agent-send.sh`
aimed at the tmux session in the seat's registration (ms-communications
rules apply; a refusal is a finding, not something to route around).
5. Receive the seat's report the same way. Verify: tests run, review by a
seat that did not write the code, acceptance sentence met.
6. Close the issue, move the DEFERRED line to Done with the commit, update
`CURRENT.md`.
7. Report to Jason only at a gate or a block, in darkwing's own session
(the board reads it). No progress narration.
**What darkwing does not do:** brief new pieces (Jason and the coordinator
do), start a queue item Jason has not called, push anywhere but `refactor`,
touch `~/.mosaic`, or message Jason for routine decisions the plan already
settles (AGENTS.md "Decide and continue").
### First assignment under this piece
Filbert: the DEFERRED line "Relaunched seat shows the old last message":
when a registration's `startedAt` is newer than the session's last activity,
the row shows "relaunched at X, no messages since" instead of the stale
activity. Board test with a fixture registration newer than the log.
Darkwing runs steps 1 to 7 for it without Jason's involvement.
### Gate F (yes/no)
Filbert's item goes from a DEFERRED line to a closed issue with Jason having
sent filbert nothing. Evidence: the ledger for 2026-09-13 shows filbert's
Human column at 0 and the issue closed; Jason's only start message that day
is the one to darkwing.
### Boundaries
- No new package, no scheduler, no daemon; darkwing runs the loop while its
session is live and stops when it is not.
- No fleet seats, no changes to `tools/tmux/agent-send.sh` or the comms
skill; a refusal from either is reported as a finding.
- `packages/seat` and `packages/control-board` change only for the
`taskSetBy` field.
## How the scanner decides state ## How the scanner decides state
The scanner reads the newest pi session log for each agent, plus whether The scanner reads the newest pi session log for each agent, plus whether
+8 -1
View File
@@ -60,7 +60,14 @@ orchestrator seat. Companion numbers from the same run, for context only:
Next action: piece 4, the WebUI on Dewey's Console design (MOSAIC-STACK-D-002). Next action: piece 4, the WebUI on Dewey's Console design (MOSAIC-STACK-D-002).
Brief on the plan page, section "Piece 4: WebUI first screen (Console)". Brief on the plan page, section "Piece 4: WebUI first screen (Console)".
Owner: dewey. Darkwing closed #1506 (Gate D written, comment 26067) and Owner: dewey, issue #1507 opened HTTP 201 on 2026-09-13 UTC. Implementation
in `packages/webui`; Darkwing confirmed no source overlap and released tracking
at fab40f25. Filbert is the independent reviewer. Board files stay unchanged;
any needed board edit requires exact ownership coordination first. Next: verify
Console against board fixtures and browser checks, then pin for review and
publish to refactor under Jason's explicit commit/push authority. Gate E remains
Jason's Monday acceptance; tests do not close that gate.
Darkwing closed #1506 (Gate D written, comment 26067) and
#1504 (registration shipped, Gate B passed, comment 26069) on 2026-09-13 UTC. #1504 (registration shipped, Gate B passed, comment 26069) on 2026-09-13 UTC.
Darkwing holds for piece 5 (orchestrator seat) until Jason calls it. #1503 stays open until Jason rules on "who is waiting on me". Darkwing holds for piece 5 (orchestrator seat) until Jason calls it. #1503 stays open until Jason rules on "who is waiting on me".
+3 -2
View File
@@ -57,8 +57,9 @@ at every gate. Started 2026-09-12 during the control board MVP.
1. WebUI on Dewey's Console design absorbs the board as its first screen 1. WebUI on Dewey's Console design absorbs the board as its first screen
(piece 4, MOSAIC-STACK-D-002, Gate E on Monday 2026-09-14). (piece 4, MOSAIC-STACK-D-002, Gate E on Monday 2026-09-14).
3. Orchestrator seat: assigns tasks through `mosaic seat task`, closes the 3. Darkwing on point (piece 5, briefed on the plan page; starts Sunday
"set by" gap. 2026-09-13 on Jason's message; Gate F: filbert's item closes with zero
human messages to filbert). Closes the "set by" gap.
4. Fleet launch through `mosaic launch`: the stress test. 4. Fleet launch through `mosaic launch`: the stress test.
## Done ## Done