docs(discord): brief the control board row as iteration 3, blocked on ownership (#1509)
QUEUE row 18. The board discovers rows from pi session directories and decides liveness by tmux; the connector's session and run.lock live elsewhere and it has no pane since iteration 2. The brief lists what the board-side change needs. Owner for Jason to rule. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
@@ -435,3 +435,31 @@ Recorded here because they refine a ruling or fill a gap the rulings left.
|
|||||||
Not done: a binding reload without a restart (a ceiling or channel change
|
Not done: a binding reload without a restart (a ceiling or channel change
|
||||||
still needs stop and start). Next: the control board row.
|
still needs stop and start). Next: the control board row.
|
||||||
- Live check 2026-09-13 19:35 to 19:40 UTC: Sage seat migrated to the unit; SIGKILL recovered in 16 s with the dead lock cleared; `discord.sh stop` held (start exits 3, no restart); released and READY. Iteration 2 closed.
|
- Live check 2026-09-13 19:35 to 19:40 UTC: Sage seat migrated to the unit; SIGKILL recovered in 16 s with the dead lock cleared; `discord.sh stop` held (start exits 3, no restart); released and READY. Iteration 2 closed.
|
||||||
|
- Control board row (iteration 3, briefed, not started). Blocked on
|
||||||
|
ownership, not on design: `packages/control-board` is darkwing's (#1503,
|
||||||
|
#1505, brief `2026-09-12_control-board-mvp.md`), and the row cannot be
|
||||||
|
produced from the Discord side. The board discovers rows only from pi
|
||||||
|
session directories (`.pi/state/<agent>/sessions`,
|
||||||
|
`<fleet>/<agent>/.pi/agent/sessions`) and decides liveness only by a
|
||||||
|
tmux pane running `pi`; the connector's session lives at
|
||||||
|
`<dataRoot>/sessions/discord-<binding>/` and, since iteration 2, it has
|
||||||
|
no tmux pane at all. What the board needs, all readable today with no
|
||||||
|
connector change:
|
||||||
|
- Discovery: one spec per binding file `<dataRoot>/discord/<binding>.json`
|
||||||
|
(0600, the board reads only `name` and `seat`; never the token path),
|
||||||
|
agent `<seat> (discord: <binding>)`, project `fleet`,
|
||||||
|
sessionsDir `<dataRoot>/sessions/discord-<binding>`.
|
||||||
|
- Liveness: `<dataRoot>/discord/<binding>/run.lock/owner.json` with a
|
||||||
|
live owner (pid alive; start tick and boot id match, the same rule
|
||||||
|
`stop` uses; `packages/discord/src/journal.mjs` exports `ownerState`).
|
||||||
|
No lock, or a dead or unverifiable owner, is offline. STOP present is
|
||||||
|
worth a badge: braked.
|
||||||
|
- State: the pi session log gives working, waiting, error and idle as
|
||||||
|
for any seat; `turns/` and `admissions.jsonl` can add today's count
|
||||||
|
against the ceiling.
|
||||||
|
- Reply: the board must refuse `/api/reply` for such a row. There is no
|
||||||
|
pane to send to, and the connector answers only listed Discord users
|
||||||
|
by design (Q3).
|
||||||
|
Jason rules who builds it: darkwing under the board brief, or this
|
||||||
|
session with darkwing's review. Either way it is board-side work.
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ Gaps found while working go to `docs/plans/DEFERRED.md`, not here.
|
|||||||
| 14 | Discord connector pilot: Sage answers in Shared Signals (chat only, no tools, no repo writes) | coordinator; Filbert or orch-01 seat reviews | #1509 | done: rev-code-02 APPROVE 26170 (round 9), committed 786e379c; pilot steps 1-8 done with private receipts, Gate H passed (Jason, 2026-09-13: replies read as Sage); connector left running for MVP iteration | H: offline suite green, eight-step live pilot with private receipts, then Jason says the reply reads as Sage | `2026-09-13_discord-connector-pilot.md` |
|
| 14 | Discord connector pilot: Sage answers in Shared Signals (chat only, no tools, no repo writes) | coordinator; Filbert or orch-01 seat reviews | #1509 | done: rev-code-02 APPROVE 26170 (round 9), committed 786e379c; pilot steps 1-8 done with private receipts, Gate H passed (Jason, 2026-09-13: replies read as Sage); connector left running for MVP iteration | H: offline suite green, eight-step live pilot with private receipts, then Jason says the reply reads as Sage | `2026-09-13_discord-connector-pilot.md` |
|
||||||
| 15 | Discord connector: eyes reaction on every admitted message as a read receipt (MVP iteration 1) | coordinator | #1509 | done: committed 93d6b624, live check passed 19:21 UTC (turn record receipt ok, Jason: test is successful), receipt `mvp1-read-receipt-20260913T192158Z.json` in the private evidence dir; `rest.react` best effort, reaction placed at admission before the engine runs, outcome in the turn record, no reaction on drops or refusals; `scripts/test-discord.sh` 28/28 (90 node tests) | Jason sees the reaction on a live message | `2026-09-13_discord-connector-pilot.md` section 11 |
|
| 15 | Discord connector: eyes reaction on every admitted message as a read receipt (MVP iteration 1) | coordinator | #1509 | done: committed 93d6b624, live check passed 19:21 UTC (turn record receipt ok, Jason: test is successful), receipt `mvp1-read-receipt-20260913T192158Z.json` in the private evidence dir; `rest.react` best effort, reaction placed at admission before the engine runs, outcome in the turn record, no reaction on drops or refusals; `scripts/test-discord.sh` 28/28 (90 node tests) | Jason sees the reaction on a live message | `2026-09-13_discord-connector-pilot.md` section 11 |
|
||||||
| 17 | Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2) | coordinator | #1509 | done: `scripts/test-discord.sh` 40/40 (95 node tests); Sage seat migrated 19:35 UTC, SIGKILL recovered in 16 s with the dead lock cleared, brake held (exit 3, no restart), released and READY; receipt `mvp2-service-unit-*.json` in the private evidence dir. First cut (ExecStartPre) looped and was replaced by `run --supervised` before any traffic | the Sage connector runs under `mosaic-discord@shared-signals`, survives a kill with a clean restart, and stays down behind `discord.sh stop` | `2026-09-13_discord-connector-pilot.md` section 11 |
|
| 17 | Discord connector: systemd user service with a supervised pre-start (`recover`, exit 3 never retried) (MVP iteration 2) | coordinator | #1509 | done: `scripts/test-discord.sh` 40/40 (95 node tests); Sage seat migrated 19:35 UTC, SIGKILL recovered in 16 s with the dead lock cleared, brake held (exit 3, no restart), released and READY; receipt `mvp2-service-unit-*.json` in the private evidence dir. First cut (ExecStartPre) looped and was replaced by `run --supervised` before any traffic | the Sage connector runs under `mosaic-discord@shared-signals`, survives a kill with a clean restart, and stays down behind `discord.sh stop` | `2026-09-13_discord-connector-pilot.md` section 11 |
|
||||||
|
| 18 | Control board row for the Discord connector (MVP iteration 3): discovery from binding files, liveness from run.lock, reply refused | Jason to assign: darkwing (board owner) or coordinator with darkwing's review | #1509 | briefed; blocked on ownership, not design | a Sage (discord) row on the board shows live, offline and braked correctly, and reply from the board is refused | `2026-09-13_discord-connector-pilot.md` section 11 |
|
||||||
|
|
||||||
Start message for row 6, sent from the board to darkwing:
|
Start message for row 6, sent from the board to darkwing:
|
||||||
"Read docs/plans/QUEUE.md, then the plan page section "Piece 5: darkwing on
|
"Read docs/plans/QUEUE.md, then the plan page section "Piece 5: darkwing on
|
||||||
@@ -83,3 +84,4 @@ Gate F or when blocked."
|
|||||||
- 2026-09-13 — coordinator: rows 14–15 pushed on Jason's authorization (788515dc..dc5902aa to origin/refactor). No other row changed.
|
- 2026-09-13 — coordinator: rows 14–15 pushed on Jason's authorization (788515dc..dc5902aa to origin/refactor). No other row changed.
|
||||||
- 2026-09-13 — coordinator: row 17 added, in verification (Discord service unit, iteration 2 on Jason's "proceed as suggested"). No other row changed.
|
- 2026-09-13 — coordinator: row 17 added, in verification (Discord service unit, iteration 2 on Jason's "proceed as suggested"). No other row changed.
|
||||||
- 2026-09-13 — coordinator: row 17 done; the Sage connector runs under systemd, kill and brake checks passed live. No other row changed.
|
- 2026-09-13 — coordinator: row 17 done; the Sage connector runs under systemd, kill and brake checks passed live. No other row changed.
|
||||||
|
- 2026-09-13 — coordinator: row 18 added, briefed; board-side work in darkwing's package, owner for Jason to rule. No other row changed.
|
||||||
|
|||||||
Reference in New Issue
Block a user