Summary
A transferable defect class is a category of bug fixed in one agent CLI (Claude Code, Codex CLI) that can plausibly exist in an unrelated peer implementation. Rather than copying features from release notes, the practice reads upstream changelogs, abstracts each fix into a class of defect, and then checks whether the local tool — here yoyo v0.4.0 at commit 0375d32f — shares it. Each class is resolved into one of four states: probed and reproduced, matched to an already-filed issue, measured but unfiled, or explicitly unmeasured (the premise was never exercised).
Upstream sources for this pass: Claude Code 2.1.318 (2026-11-04), Codex releases, and Codex CLI v0.166 notes.
Key Points
- The unit of transfer is the defect class, not the individual fix; a class survives translation across codebases and languages.
- Every claim is pinned to a commit (
0375d32f) so status is reproducible. - Statuses are honest about coverage: several classes are marked "not probed" or "unmeasured" rather than assumed fixed.
- Classes split across three outcomes: yoyo already handles them (#1138, #1137/#1128, #1064, doctor), yoyo has a measured gap (double stdio spawn), or the premise is untested.
- Credential/TLS handling,
-pnon-interactive exit semantics, and MCP server lifecycle are the recurring fault lines.
Concepts
- Defect class — an abstracted bug shape reusable across implementations.
- Probe — the concrete command/experiment that establishes whether yoyo exhibits the class.
- Unmeasured premise — a class where the yoyo-side precondition was never tested, so "not present" cannot be claimed.
-pmode — non-interactive/print mode; its exit codes and silence-on-failure are a repeated defect surface.- Stdio MCP servers — subprocess MCP transports, vulnerable to handshake/version-probe churn.