During Stage 0 smoke we discovered invokeClaudeMocked was broken against real claude -p --output-format json output for 12+ commits because every test mocked at the parsed-object level instead of the raw stdout level. Fix landed in commit 9a7cc1a. Generalize the lesson: capture real stdout from claude -p for ClickUp / GH Issue / GH PR imports as golden fixtures (e.g., test-fixtures/claude-stdout-gh-pr-success.json), and add tests that exercise the real invokeClaudeMocked parsing path against those. Apply same pattern to any future subprocess-output parsing.
During Stage 0 smoke we discovered
invokeClaudeMockedwas broken against realclaude -p --output-format jsonoutput for 12+ commits because every test mocked at the parsed-object level instead of the raw stdout level. Fix landed in commit9a7cc1a. Generalize the lesson: capture real stdout fromclaude -pfor ClickUp / GH Issue / GH PR imports as golden fixtures (e.g.,test-fixtures/claude-stdout-gh-pr-success.json), and add tests that exercise the realinvokeClaudeMockedparsing path against those. Apply same pattern to any future subprocess-output parsing.