# #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.