docs(records): Sage lead handover, rows 23-25 state, row 8 stub, BUILD-LOG rebuilt on HEAD

Records Jason's 2026-09-26 ruling: Sage leads the project, Darkwing is a
collaborating seat, development stays in T3, and the old ~/.mosaic fleet is
being retired. The lead role adds no push, merge or deploy authority.

- QUEUE rows 23-25 show their commits and pushes; row 8 links a parked stub
  brief listing the rulings Jason must make before fleet seats move.
- Shared records from Darkwing (rows 6, 16, 18, 22, #1511, #1512) and Dewey
  (row 5) that were waiting on one owner for the shared files.
- DEFERRED: T3 headers counted as human in the ledger (#1506), #1509 engine
  test leak and busy gap, #1512 re-run outcome.
- BUILD-LOG.md rebuilt as HEAD plus the uncommitted entries; the working copy
  had dropped the row 23-25 entries. Diff against HEAD is additions only.

All eight suites green. Not pushed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-09-26 14:59:24 -05:00
co-authored by Claude Opus 5.5
parent af4203ca92
commit 0f5b7cb9be
8 changed files with 849 additions and 27 deletions
+217 -6
View File
@@ -12,6 +12,153 @@ update this file to the next action). No ambiguity, no re-planning.
## Next action
Current owner priority: #1512, QUEUE row 6 prescribed Filbert relaunch-activity pilot.
Filbert acknowledged sole source ownership; Darkwing reviews backend and Dewey
acknowledged UX review. Charter: `2026-09-15_relaunch-activity.md`.
Darkwing created/read back #1512 as authenticated Darkwing, set the owning native
seat's task through Piece5 step3 with identity preserved, and independently
reproduced old assistant text still presented after a newer live registration
in an isolated fixture. Evidence: `agents/darkwing/work/relaunch-activity/baseline.json`.
R1 arrived with seven pinned source files. Darkwing approved backend/source;
Dewey approved scoped UX with eight frozen targeted tests. Darkwing's first full
serialized run failed an inherited Discord engine tool-turn test then hung120s.
A later full frozen TAP run with a15s test deadline passed351/351 without force-exit.
Rocko diagnosed a test busy/settled-event race and success-only cleanup hang;
Darkwing independently reproduced the busy assertion with a 50ms event split and
finally cleanup. A separate timeout-log timing flaw and a potential engine
followUp-after-timeout defect were also reported. The latter belongs to row21;
no live incident is claimed. orch-01 was notified on its verified named socket.
Evidence: `agents/darkwing/work/relaunch-activity/engine-diagnosis.md`.
Darkwing verified 31 frozen Discord dependency files match commit1ac812d3.
Filbert confirmed his archive used moving HEAD and the old HANDOFF label was wrong.
He supplied an append-only correction outside R1; Darkwing verified its hash and
all89 frozen dependency pins. Local copies are `r1-provenance-correction.json`
and `r1-dependencies.sha256` under the relaunch-activity work directory.
Provenance hold resolved; original R1 and all seven source pins remain unchanged.
2026-09-26: 1685deb4 fixed the engine test race. A re-run of the frozen candidate
against 21e3e908 passed the serial acceptance command 397/397 three times.
Failures that only show when tests run concurrently are #1509 engine tests and
reproduce on clean HEAD (`relaunch-activity/rerun-2026-09-26.md`). Sage ruled that
#1512 integrates on the serial evidence. #1511 and #1512 are committed locally in
af4203ca with rows 18 and 22, and not pushed. The engine defects are a DEFERRED
entry against #1509. #1512 closes after Sage's records commit. The board restart
that shows #1512 live and the Gate F live assignment both wait on Jason.
Next for Darkwing: the #1506 ledger fix for T3 headers (Filbert reviews), then
the #1509 engine test and `busy` fixes (Rocko reviews, source only).
No live action, publication, operator acceptance or GateF claim.
Standing owner mandate: after each accepted iteration, automatically execute the
next ready authorized item, without a routine next-step prompt. Existing scope,
review, access, acceptance and protected-operation gates still apply.
Jason accepted row 18 with "parfait". The newer standing continuation instruction
supplies the start for the next already-briefed row 6, replacing its historical
Sunday start-message scheduling, without waiving dependencies or protected gates.
Rocko's existing native repository context was verified and he acknowledged sole
source ownership under `2026-09-14_task-attribution.md`. Filbert and Dewey both
acknowledged independent review ownership. Darkwing reproduced the current CLI
refusing --by with exit 4 using no live configuration or registration.
Evidence: `agents/darkwing/work/task-attribution/baseline.json`.
R1 arrived and all 15 working/frozen pins matched. Filbert approved backend source,
reporting independent 141/141 working/overlay tests and six launcher checks.
Dewey requested R1-U1: WebUI inspector conflates null/inapplicable attribution
with legacy registered unknown. Both lanes returned before Rocko received the
bounded R2 correction, including a misleading privacy-syntax comment correction.
Review record: `agents/darkwing/work/task-attribution/r1-review.md`.
Darkwing added only the missing --by usage flag to dirty `docs/TOOLS.md`, preserving
other changes; that additive documentation also requires independent review.
R2 has now passed both exact source review lanes. R1-U1 and the comment finding
are closed; Filbert also approved the separate TOOLS usage patch. Darkwing ran
344/344 broader serialized tests. Evidence and limits:
`agents/darkwing/work/task-attribution/r2-review.md`.
Old strict-v1 readers reject the new field, independently reproduced with synthetic
records. No live setter write may precede the authorized reader update.
Jason authorized that envelope with yes. On 2026-09-15, backend PID 3769124
exited gracefully; replacement 3414098 is healthy and serves the exact reviewed
board page. API exposes the new attribution field; two legacy registered rows
show unknown and non-registration tasks have null attribution.
The Rocko write was blocked before mutation: its registration names dead PID
185602, actual native lock owner is 3707667, and its discovery directory is
absent, so there is no Rocko board row. This existing Claude-board gap remains
separate; no identity repair or discovery expansion was attempted.
All registration bytes, five agent pane identities and connector identity stayed
unchanged. Receipts: `agents/darkwing/work/task-attribution/backend-restart.jsonl`
and `backend-live-verification.json`.
Jason authorized Filbert instead and confirmed Claude console integration is
not yet implemented. Filbert's native registration identity was reverified;
the authorized task update passed live API verification at 2026-09-15T00:36Z:
task '#1511 task attribution user test', source registration, setter darkwing.
Only task/taskSetBy/updatedAt changed; identity fields and startedAt were preserved.
All other registrations and agent/connector/backend identities stayed unchanged.
Original registration is backed up privately outside the repository. Receipt:
`agents/darkwing/work/task-attribution/live-test.jsonl`.
Jason supplied the table screenshot and inspector text confirming darkwing with
'as claimed by the caller, not verified'. Bounded local attribution delivery is
operator-confirmed. Publication remains separate. The standing continuation mandate
now advances the prescribed Filbert assignment above, after this local acceptance.
Gate F is not claimed or backdated. #1508 still depends on row 6 completion.
## Completed bounded row 18 delivery
Actual start: Filbert acknowledged sole implementation ownership under
`2026-09-14_discord-board-row.md`; Darkwing independently reviews backend/privacy
and Dewey acknowledged read-only UX review. Darkwing prepared acceptance checks
and reproduced the missing reply refusal with a synthetic connector plus forged
registration: current handler returned 200 and called fake transport once, with
zero real sends. Evidence: `agents/darkwing/work/discord-board/reply-baseline.json`.
Exact R3 source approvals from Darkwing and Dewey are persisted in 26257.
Nine working/frozen pins and three-file R2 delta independently verified; full
serialized suite 322/322 passed, plus Dewey's eight targeted tests. R1-B1 and
R2-B2 closed: inaccessible STOP is unknown and connector Task is fixed safe
metadata, not a routing envelope. Prior attention/UI assets are preserved.
Read-only live observation after approval found shared-signals alive/idle,
not braked, owner matching systemd MainPID, fixed Task and no registration.
Evidence: `agents/darkwing/work/discord-board/r3-live-observation.json`.
Owner approved the backend-only restart. Old PID 3204655 exited gracefully;
replacement PID 3769124 is healthy on 7331. Live API now shows the shared-signals
connector idle/live/not braked with safe Task metadata; actual connector reply
POST was refused with 409 before transport. All five agent pane identities and
the connector service PID/start identity are unchanged. Evidence:
`agents/darkwing/work/discord-board/backend-live-verification.json`.
Jason accepted the operator visual test with "parfait". This bounded local row
delivery is complete, without publication or live brake/offline transition claims.
No connector service/binding/STOP/home changes. Concurrent R1 timeouts remain unresolved/not green and
are recorded in DEFERRED.md; no general transcript redaction or broader runtime
conformance claimed. Standing continuation has advanced to row 6 above. Filbert
remains the row-18 source author; frozen R3 evidence remains unchanged.
Prior accepted correction: #1503, QUEUE row 22, board attention status correction.
Jason passed internal-team checks 1-4 and reported Researcher's false waiting
status in step 5. He approved ordinary completion becoming idle and reserving
waiting for explicit human-input requests. Filbert approved exact R1, receipt
26248. Author 144 and reviewer 193 covered different package sets; the combined
five-package author rerun passes 213 tests. Read-only actual Researcher scan
returns idle and waitingOnYou:false. Owner approved backend-only restart, now
completed and live-verified in receipt 26249: old PID 1265952 exited gracefully,
replacement PID 3204655 is healthy on loopback 7331. Live API shows Researcher
idle/not waiting at the original screenshot activity timestamp. All five agent
process identities are unchanged. Jason confirmed both targeted tests: ordinary
completion shows idle; an explicit input request shows waiting, Seen removes it
from attention without resolving waiting, and the subsequent completion returns
to idle. The full targeted status sequence is operator accepted. This is not
broader MVP/cross-harness acceptance or publication; do not resume another queue
item by inference. Brief: `2026-09-13_board-attention-status.md`.
Prior bootstrap checkpoint: #1510, QUEUE row 16. Darkwing coordinates direct coding,
review and research through the five repository-native agents. Keep source
changes in `/mnt/storage/src/mosaic-stack`; no `~/.mosaic` launcher/provisioning
changes and no live fleet stop or migration. Researcher's missing native entry
and recovery files are added. Six isolated launcher tests and all five real
`--check` runs pass without launching engines. Internal Filbert approved exact R1
as source; attributed receipt 26204, independently rerunning six tests in both
working and frozen copies. Source setup is approved. Owner-authorized live smoke passed for Researcher,
which returned the exact expected model response, receipt 26216. Rocko startup
correctly refused an existing native lock; its running repository-native Sonnet
process is on the mosaic-fleet socket and was left intact, not retested with a
model prompt. No existing sessions restarted, home launchers modified or broader
MVP/user acceptance or publication claimed. Brief: `2026-09-13_internal-development-bootstrap.md`.
The historical MVP queue and CHAT-01C publication gate below remain separate;
this direction does not resume #1508 or authorize external provisioning.
Gaps found and not fixed go to `docs/plans/DEFERRED.md`, one line each; check it at every gate.
Jason decided on 2026-09-12 (MOSAIC-STACK-D-001) that the MVP is the control
@@ -74,12 +221,74 @@ Filbert APPROVED WEBUI-1507-R1, manifest 509f20e5; all 21 hashes reverified.
Committed-tree regressions 208/208 include six WebUI tests, Chromium at
320..2560px and 330 passing rendered contrast samples. Receipt:
`reviews/2026-09-13_webui-publication.md`.
Next action for this piece: Jason runs Gate E on Monday 2026-09-14. Start
`node packages/webui/src/cli.mjs serve` with the existing board on 7331, then
open http://127.0.0.1:7330/. Reply to a registered repo seat, check its answer,
use Seen/Unsee, and record any need to return to the board page or terminal.
Keep #1507 open pending Jason's end-of-day ruling. No deployment or user
acceptance is inferred from tests; no timer or other queued work started.
Jason's 2026-09-13 feedback supersedes readiness for the workday test: Gate E
is blocked on refinement. He needs project/session navigation in the left
sidebar and independent two-way chat interfaces, not dashboard cards and an
inspector send box. He reports the return flow is missing in actual use; this
needs reproduction. The current inspector's latest assistant text is not a
conversation history. Restore relative activity age too; board `ageSeconds`
is time since last activity, not session lifetime. Durable feedback and
screenshot descriptions: #1507 comment 26082.
Refined brief and decomposition: `2026-09-13_webui-session-chat.md`, CHAT-00..08.
Jason settled Q1-Q22: all seats, full chat/tools/attachments/native approvals,
enforced controller transfer, durable drafts/queue, interrupt/force-stop and
explicit recovery. Old accepted foundation requirements were recovered rather
than re-invented. Jason confirmed shared understanding and authorized bounded CHAT-00 preparation
on 2026-09-13. CHAT-00 charter is #1507 comment 26094; research deliverable
`chat-00/README.md` is independently APPROVED by Filbert in comment 26100.
Four exact research files published at 370823b3, remote identity verified;
48 synthetic/source checks also pass from the committed research copy.
Jason approved CHAT-01 contract drafting; active bounded charter is comment
26103. R1 request 26105 received REQUEST CHANGES in 26106/26107/26108.
All R2 verdicts were collected before R3 edits. Filbert 26119, Dewey 26120
and Rocko via agent-send requested changes and accepted the named companion
gates. R3 fixes cursor binding, disconnected-browser scheduler authority and
visible dispatch refusal, NEW message roles, corrupt-queue recovery without
control deadlock, and non-destructive revocation reconciliation. It also tests
current retry dispositions, superseded stops, native resolution evidence,
stop-context confirmations and second-actor draft privacy.
R3 exact review 26124 is APPROVED AS BOUNDED DRAFT by Filbert 26126,
Dewey 26127 and Rocko via agent-send, recorded with follow-ups in 26128.
Only the four reviewed files published at 28d4e98ad8b406ca84b30170558bee22402f1e55;
remote ref verified, committed copy byte-identical to reviewed snapshot and
checks green: 98 shapes, 322 omissions, 76 reference cases, 17 lifecycle
sequences plus regressions; CHAT-00 48/48. Receipt 26131 read back. Shared
dirty planning/logs and other owners' files were excluded from the commit.
CHAT-01 bounded delivery is complete, not runtime/security/all-seat acceptance.
Jason approved CHAT-01C proposal 26131 with performing-agent attribution.
Darkwing authored the four `chat-01c/` contract/model files and froze R1 for
review in 26137, posted and read back as actual Gitea darkwing, account 104.
Seat credentials at the operator-specified location work; no minting needed.
Never use the legacy helper's default Jason identity. Future Git commits use
explicit performing-agent author/committer and seat-authenticated publication,
without changing shared config or rewriting published history.
R1 findings were corrected and both Filbert and Dewey APPROVED exact R2
through agent-send; attributed receipts persisted as darkwing in 26152.
Candidate request 26149, clean copy /tmp/chat-01c-r2-frozen-lujze3oe. Eleven
closed examples/187 omission-extra cases and models/base regressions pass.
Locally committed b023841c8a44d08677dc388043997eb4277b0545 with verified author
AND committer Darkwing <darkwing@mosaicstack.dev>; only four reviewed files.
Committed-copy checks pass. Published: Dewey confirmed on 2026-09-26 that
b023841c is on origin/refactor (`git branch -r --contains`). The HTTP 403
blocker (26154) is resolved. From 2026-09-26, pushes go through Sage with the
jarvis identity, and each push needs Jason's word. CHAT-02..08 are not
chartered. They are held until Jason rules, through Sage, on what "all seats"
means with the fleet retiring, on row 5's priority against row 6 and #1508,
and on charters and backend authors. Only small Console fixes are approved
now (return-flow regression, relative Age; Filbert reviews). No runtime work
or other queue item has started.
CHAT-03I/03D, B1-B6/Q22 and #1507 acceptance remain open. Carry Rocko R3-1
native dispatched-input reconciliation into CHAT-02, R3-2 into CHAT-01C and
R3-3 observer-revocation coverage into a later fixture revision, per 26128.
No peer reviews remain pending for CHAT-01. No other queue/runtime/live start.
Rocko architecture findings are incorporated with accepted evidence corrections.
Actual Claude protocol compatibility, tool isolation, access and cutover remain
unverified; no runtime implementation or live cutover yet. Q20 cancels ordinary-Interrupt
follow-ups into drafts; Q21 authorizes reviewed/green scoped refactor publication;
Q22 preserves piece-5/#1508/fleet ordering. Dependent fleet work remains held. Darkwing/Filbert planning corrections are
incorporated, including explicit remote implementation and publication gates. Live one-seat cutover requires separate
Jason approval after both harness fixtures and exact rollback plan. Keep #1507
open; original tests are not new-scope approval. No code or live effects started.
Darkwing closed #1506 (Gate D written, comment 26067) and
#1504 (registration shipped, Gate B passed, comment 26069) on 2026-09-13 UTC.
Darkwing holds for piece 5 (darkwing on point; brief on the plan page, section "Piece 5") until Jason sends the start message, planned Sunday 2026-09-13. #1503 stays open until Jason rules on "who is waiting on me".
@@ -374,3 +583,5 @@ git history + Gitea issues.
- 2026-09-16 (coordinator, #1509 row 23): part 3 live: SearXNG container `mosaic-searxng` (image searxng/searxng:latest, settings in the data root, formats html and json, limiter off) on 127.0.0.1:8888; binding `tools.web` added (backup in the sage evidence dir); check ok; service restarted. Jason's first turn in #sage-admin searched, fetched who.is, listed the folder and wrote `vault/Businesses/naming.md`. Defect seen in the same exchange: his second message during the turn went to pi as a follow-up, pi folded it into the same run, the first answer was never posted and the second failed as settled-without-turn. Fixed in `engine-pi.mjs` (held prompts, one run each), fake pi now models real follow-up semantics, suite 52/52 node 129, round 3 pinned (comment 26361, aggregate e30c2319, tree dbd2ce9a), service restarted with the fix. Row 24 rulings: D5 seat identity with `[email protected]`, D6 push every commit (Jason: not pushing means stale data), D7 rev-code-02.
- 2026-09-18 (coordinator, #1509 rows 23–24): row 23 committed as 1685deb4 and pushed (`90cb31f5..1685deb4`) at Jason's word. Row 24 built: `src/git.mjs` (git_status, git_commit with explicit paths, seat author and `Requested-by:` trailer, push after every commit per D6, git_pull ff-only, git_push one branch; guard for branch, detached head, in-progress operations and conflicts; index must be empty so Jason's terminal work is never swept), `bin/git-credential.mjs` (the package's own helper: `get` over https from the 0600 token file, since `git-credential-mosaic` serves only the Gitea hosts and the global config routes github.com to Jason's `gh`), git children run with no host config; vault protocol (`protocol: "vault"`): per-write clone lock, `check` and `validate_vault.py` before a commit, `reserve_id`; the connector writes `requester="<server name>"` into the envelope and the extension reads it on `before_agent_start`. Suite 58/58, node 143. Review requested from rev-code-02; binding change and live check follow the verdict.
- 2026-09-20 (coordinator, #1509 row 25): part 2b built against shared-signals a5425a2. Eight fixed verbs for the model (record_list, record_get, record_create, record_update, resolve_id, open_approval_request, get_approval_request, create_document), the connector's own client for bind and add_approval, the envelope's author and message ids read by the extension for per-turn write keys. Button evidence per the SetSpark coordinator: the connector posts a confirmation line and submits its url and text; a reply is its own evidence. Sage's key is minted (id sage-3ff47150, file outside the repo, never read here). Suite 63/63, node 162. Review candidate frozen for rev-code-02 (aggregate 09140edc, tree 7872d8c5); Gitea answered 503 when the request was posted, so the post is queued and retried. Slip: a stray `git stash` during doc checks stashed the tree for under a minute; popped at once and verified, 44 files back, tests green.
- 2026-09-26 (sage, lead): Jason's ruling: Sage leads the project, Darkwing is a collaborating seat, more seats to follow, development stays in T3 for now. The fleet Sage seat that took Invoice Ninja coordination outside Jason's instructions is being decommissioned; moving work onto the new stack is the fix. Suites all green. Rows 24 and 25 pushed (1685deb4..43d7574d). Open: about 11 days of uncommitted agent work in the tree (row 16 launch files, row 22, #1512, WUI evidence), 23 untracked aws-* skill directories in skills/ from 2026-09-21, and Jason's target for the next phase.