Low priority, harness-only (surfaced during the #417 hunt; does NOT affect the #417 verdict).
In 1/28 hardened-harness runs, the concurrent-typing injection of the typing-during-stream workload derailed opencode's CHAT turn: opencode ran agent-relay check_inbox + Read and asked a clarifying question ("what do you mean by 'concurrent fidelity typing'?") instead of printing the 120 lines + TF_TYPING_DONE. The marker-gated checkpoint therefore never triggered → no observation window (scored OTHER, not a divergence).
Root: marker-gating is fragile for a chat agent under a concurrent-typing workload — the injected keystrokes can be interpreted as a new user turn rather than terminal input.
Possible hardening: make the typing-during-stream workload's completion detection robust to opencode treating the injection as chat (e.g. a workload-completion fallback / retry, or a non-chat-interpretable injection for chat-style TUIs). Keep the #416 discriminator armed regardless.
Filed by lead-2 on pear-417's recommendation.
Low priority, harness-only (surfaced during the #417 hunt; does NOT affect the #417 verdict).
In 1/28 hardened-harness runs, the concurrent-typing injection of the typing-during-stream workload derailed opencode's CHAT turn: opencode ran agent-relay check_inbox + Read and asked a clarifying question ("what do you mean by 'concurrent fidelity typing'?") instead of printing the 120 lines + TF_TYPING_DONE. The marker-gated checkpoint therefore never triggered → no observation window (scored OTHER, not a divergence).
Root: marker-gating is fragile for a chat agent under a concurrent-typing workload — the injected keystrokes can be interpreted as a new user turn rather than terminal input.
Possible hardening: make the typing-during-stream workload's completion detection robust to opencode treating the injection as chat (e.g. a workload-completion fallback / retry, or a non-chat-interpretable injection for chat-style TUIs). Keep the #416 discriminator armed regardless.
Filed by lead-2 on pear-417's recommendation.