One cumulative control-board, webui and seat state. The four rows edit the
same files (scan.mjs, page.html, README.md, app.js), so they land together,
each on its own receipt:
- Row 18, Discord connector rows on the board (#1509): R3 approved by
Darkwing and Dewey, Gitea comment 26257, manifest 254403b8. Jason
accepted the visual test.
- Row 22, board attention status (#1503): Filbert approved R1, comment
26248, manifest e40b58ec; restart receipt 26249.
- #1511, task attribution (row 6 code phase): R2 approved by Filbert and
Dewey, manifest d4c96395. docs/TOOLS.md carries the approved --by usage
line (tools-usage.patch 86bcba3c).
- #1512, relaunch activity (row 6 pilot): R1 approved by Darkwing and
Dewey, candidate manifest 47769fad. All seven source files match it.
Row 16, internal development bootstrap (#1510): the seven files outside
shared records match Filbert's R1 pins, receipt 26204 (agents/researcher/*,
scripts/test-darkwing-launch.mjs, the bootstrap plan).
packages/webui/src/public/app.js is committed at its #1512 R1 pin ce7d79a4.
The working copy holds Dewey's unreviewed return-flow candidate on top of
that, and it stays uncommitted.
Also: the four row briefs and Darkwing's evidence records under
agents/darkwing/work, including the 2026-09-26 tree manifest and the #1512
re-run against 21e3e908. Serial acceptance command: 397/397, three runs.
The failures that only show when tests run concurrently are in #1509 engine
tests, and they reproduce on clean HEAD.
Suites on the exact staged tree: config 24, task 90, foundation 43,
conductor 17, release 14, auth 15, discord 63; package union 397/397
(serial); test-darkwing-launch 5/5.
Shared records (BUILD-LOG, QUEUE, CURRENT, DEFERRED, SESSIONS, AGENTS.md,
agents/README.md) follow in Sage's records commit.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
59 lines
3.1 KiB
Markdown
59 lines
3.1 KiB
Markdown
# #1512 inherited engine diagnosis
|
|
|
|
Rocko returned a read-only investigation. No source correction, live connector
|
|
operation or authority transfer follows from it. Filbert's seven source pins
|
|
remain the #1512 candidate; they do not change Discord engine code.
|
|
|
|
## A. Test synchronization and cleanup
|
|
|
|
Rocko reports the tool-turn test asserts engine.busy immediately after prompt
|
|
resolution at agent_end, while busy clears on a subsequent agent_settled event.
|
|
Separate pipe reads allow the assertion to run between events. Another basic
|
|
prompt test uses the same assumption. Success-only engine.stop cleanup leaves
|
|
the fake child and pipes open after an assertion fails, hiding the final spec
|
|
report and making the test file hang.
|
|
|
|
Darkwing independently ran Rocko's scratch relay with DELAY=50 and finally cleanup.
|
|
It failed 'busy after plain resolved', true versus false, and exited in 148ms.
|
|
Log: /tmp/darkwing-1512-race-confirmation.txt. This confirms the race mechanism,
|
|
not the exact historical assertion from the earlier truncated spec log.
|
|
|
|
Rocko's scratch directory:
|
|
/tmp/claude-1000/-mnt-storage-src-mosaic-stack/0422f20f-4d8c-43fe-b429-a2730cc1ab9d/scratchpad/1512/
|
|
Includes proxy-pi.mjs, race-repro.test.mjs, hang-repro.test.mjs,
|
|
hang-noforce.txt, hang-force.txt and stress/base-prev run logs.
|
|
He reports natural busy failures at lines56/75 under contention and deterministic
|
|
hang behavior without finally cleanup. Darkwing did not repeat load stress.
|
|
|
|
## B. Timeout test synchronization
|
|
|
|
Rocko reports a 100ms timeout test reads fake-pi's command log before the child
|
|
has created it or recorded abort under contention. That assertion can also skip
|
|
success-only cleanup. He observed this in both prior and row21 code. Not the
|
|
specific failed test named in Darkwing's first run.
|
|
|
|
## C. Separate engine behavior concern
|
|
|
|
Rocko reports a next-prompt refusal after a client timeout when a done pending
|
|
entry remains, busy is false and agent_start has not yet been consumed. prompt()
|
|
then omits followUp because it considers only pending entries not marked done.
|
|
The still-streaming fake engine refuses that prompt. This is a potential real
|
|
engine defect, not merely the busy assertion race. No live incident is established.
|
|
|
|
The row21 owner retains this code. Darkwing notified orch-01 on its verified named
|
|
socket and requested ownership/disposition, not a code takeover. A focused owner
|
|
fix needs regression coverage and review. Suggested direction from Rocko: account
|
|
for unsettled pending runs when choosing followUp; do not blindly change logic
|
|
from this note alone. Test cleanup and event synchronization also need correction.
|
|
|
|
## Provenance and gates
|
|
|
|
Rocko reports frozen Discord files match row21 commit1ac812d3, not the stated
|
|
archive basec4fc8e7d in HANDOFF. Darkwing requested Filbert's construction evidence
|
|
and append-only provenance correction outside frozen R1. Do not rewrite the old
|
|
handoff or infer its base from a mutable HEAD.
|
|
|
|
The later 351/351 bounded run remains valid narrow evidence; the earlier failure
|
|
is not erased. Integration stays held for owner disposition and provenance
|
|
reconciliation. No live action, publication, operator acceptance or GateF claim.
|