{"ok":true,"product":"CI Failure Fast Diagnosis","generatedAt":"2026-08-01T18:35:12.313Z","logSha256":"d8fad0794e3c8a6364c0dcb0fa3f108e1927b62d6c0ad2618809e44b8b903a4b","context":"sample GitHub Actions failure","analysis":{"lineCount":8,"failingStep":"npm test","detectedTools":["npm","typescript"],"counts":{"high":2,"medium":1,"low":0},"primaryFailure":{"severity":"high","tool":"typescript","code":"TS2322","message":"Type 'string' is not assignable to type 'number'.","location":{"file":"src/routes/user.ts","line":42,"column":17},"logLine":3},"findings":[{"severity":"high","tool":"typescript","code":"TS2322","message":"Type 'string' is not assignable to type 'number'.","location":{"file":"src/routes/user.ts","line":42,"column":17},"logLine":3},{"severity":"high","tool":"test","code":"ASSERTION_FAILURE","message":"AssertionError: expected status 200 but received 500","location":null,"logLine":5},{"severity":"medium","tool":"runner","code":"PROCESS_EXIT","message":"Process exited with code 1.","location":null,"logLine":7}],"recommendations":["Resolve the first TypeScript compiler error before interpreting downstream test failures.","Rerun the narrowest failing test with verbose output and compare the first assertion against the changed behavior.","Treat the non-zero exit as a consequence; fix the earliest concrete error above it."]},"rerun":{"commands":["npx tsc --noEmit","npm test"],"executeAutomatically":false},"safety":{"parsedAsInertText":true,"executedCommands":0,"networkRequests":0,"secretsRedacted":2,"fullInputReturned":false,"inputRetained":false},"reportMarkdown":"# CI Failure Fast Diagnosis\n\nInput SHA-256: `d8fad0794e3c8a6364c0dcb0fa3f108e1927b62d6c0ad2618809e44b8b903a4b`\n\n## Primary failure\n- **HIGH TS2322**: Type 'string' is not assignable to type 'number'.\n\n## Next steps\n- Resolve the first TypeScript compiler error before interpreting downstream test failures.\n- Rerun the narrowest failing test with verbose output and compare the first assertion against the changed behavior.\n- Treat the non-zero exit as a consequence; fix the earliest concrete error above it.\n\n## Rerun\n- `npx tsc --noEmit`\n- `npm test`","upgrade":{"product":"CI Failure Triage + Reproduction Handoff","price":"$15","endpoint":"/api/ci-log-triage","adds":"All detected findings, the complete recommendation set, and a full reviewer-ready handoff."},"sample":true,"price":"$1","currency":"USDC","network":"eip155:8453","payTo":"0xd3CE8223E6b0F446a887953aF623B9c72233Ba39"}