{"id":"aud_01M23WR96C45SJK6T48356MDMY","target":{"owner":"vercel","repo":"swr","subpath":"","ref":"main","sha":"01cb4888a1abc96b279fbf771c084b46c575bf53","defaultBranch":"main","visibility":"public","sizeKb":8336,"archived":false,"fork":false,"userId":null},"status":"complete","overall":69,"band":"fair","bandLabel":"Fair","worldClassNote":null,"verdict":"PASS","evidence":"observed","applicableWeight":90,"verdictSentence":"SWR's canonical install, build, quickstart, and full test/CI-parity checks all pass cleanly, leaving only modest documentation, agent-readiness, and packaging-hygiene debt behind an otherwise green pipeline.","debtParagraph":"No gate fired: install, build, quickstart, CI parity, and version coverage all check out, and the 388-test suite passes in 33s. The remaining debt is inventory-level — a bunchee warning about a dangling ./_internal export, thin agent-facing docs (no AGENTS.md, exit codes, or llms.txt), an undocumented, confusing self-referential 'swr 2.5.1' line in the install log, and five silently skipped tests. None block release today but each adds friction for the next contributor or automation.","magicPath":{"seconds":11.809,"status":"PASS","evidence":"observed","commands":3,"credentials":0,"contextSwitches":1},"commands":[{"stage":"install","command":"pnpm install","note":"from .github/workflows/install/action.yml line 20","exit":0,"seconds":10.576,"skipped":false,"cut":false},{"stage":"build","command":"pnpm run build","note":"from package.json line 63","exit":0,"seconds":3.45,"skipped":false,"cut":false},{"stage":"test","command":"pnpm test","note":"from package.json line 75","exit":0,"seconds":34.089,"skipped":false,"cut":false},{"stage":"execute","command":"node -e \"const swr = require('./dist/index/index.js'); if (typeof swr.default !== 'function') { throw new Error('useSWR export missing'); } console.log('useSWR loaded');\"","note":"from README line 61","exit":0,"seconds":0.065,"skipped":false,"cut":false},{"stage":"verify","command":"pnpm run types:check","note":"from package.json line 71","exit":0,"seconds":1.167,"skipped":false,"cut":false}],"areas":[{"key":"ttfv","name":"Time to first value","weight":20,"effectiveWeight":22,"applicable":true,"score":88,"evidence":"observed","ceiling":100,"bound":null,"notes":"Install (10.6s), build (3.5s), and a require() smoke test of dist/index/index.js all succeeded well under budget; the README quickstart is accurate and reproducible."},{"key":"api","name":"API","weight":15,"effectiveWeight":17,"applicable":true,"score":68,"evidence":"estimated","ceiling":69,"bound":null,"notes":"bunchee build warns that package.json's './_internal' export has no matching source file, indicating the published exports map has drifted from the actual source layout."},{"key":"sdk","name":"SDK","weight":10,"effectiveWeight":0,"applicable":false,"reason":"fewer than two SDK packages sharing the product name","score":null,"evidence":"unverified","ceiling":null,"bound":null},{"key":"cli_config","name":"CLI and configuration","weight":10,"effectiveWeight":11,"applicable":true,"score":58,"evidence":"reviewed","ceiling":84,"bound":null,"notes":"No --json flag or documented exit codes for scripts/bump-next-version.js; env vars like TEST_REACT_CANARY and E2E_MODE are only discoverable by reading CI workflow YAML, not user docs."},{"key":"errors_recovery","name":"Errors and recovery","weight":12,"effectiveWeight":13,"applicable":true,"score":65,"evidence":"reviewed","ceiling":84,"bound":null,"notes":"Library throws (missing fetcher, missing key, Suspense/SSR errors) carry clear messages, but no exit-code or troubleshooting reference exists for automation built around SWR's tooling."},{"key":"documentation","name":"Documentation","weight":10,"effectiveWeight":11,"applicable":true,"score":62,"evidence":"observed","ceiling":100,"bound":null,"notes":"README quickstart works, but there is no AGENTS.md, architecture doc, or llms.txt; agent-readiness inventory found only 6 of 19 expected surfaces present."},{"key":"local_dev","name":"Local development","weight":8,"effectiveWeight":9,"applicable":true,"score":78,"evidence":"observed","ceiling":100,"bound":null,"notes":"pnpm install and build both finish in well under 15s with no credential prompts, but the install log's self-referential 'swr 2.5.1 <- ???' line is unexplained and worth investigating."},{"key":"testing_quality","name":"Testing and quality","weight":8,"effectiveWeight":9,"applicable":true,"score":45,"evidence":"observed","ceiling":100,"bound":null,"notes":"35 suites / 388 tests pass in 33s with CI matrix coverage for canary and legacy React, but 5 skipped tests have no visible documented rationale."},{"key":"release_compatibility","name":"Release and compatibility","weight":7,"effectiveWeight":8,"applicable":true,"score":69,"evidence":"estimated","ceiling":69,"bound":null,"notes":"CI matrix covers every claimed supported version and pnpm test parity is verified across workflows and docs, but the ./_internal export warning should be resolved before the next release."}],"findings":[],"gates":[{"gate":"BROKEN_CANONICAL_INSTALL","result":"pass","checked":"pnpm install exits 0 from a clean clone with no credential prompt"},{"gate":"NON_REPRODUCIBLE_BUILD","result":"pass","checked":"install and build complete in 14 s; tests fail (exit 0) — the standard allows 10 min, and a failing suite bounds Testing at 45 without a gate","evidence":"Snapshots:   6 passed, 6 total\nTime:        33.326 s\nRan all test suites."},{"gate":"BROKEN_QUICKSTART","result":"pass","checked":"the documented quickstart reached a verified outcome in 12 s"},{"gate":"UNVERIFIABLE_CI_PARITY","result":"pass","checked":"the package.json test command pnpm test appears in .github/workflows/install/action.yml, .github/workflows/test-canary.yml, .github/workflows/test-legacy-react.yml, .github/workflows/test.yml, .github/workflows/trigger-release.yml, doc:.github/CONTRIBUTING.md, doc:README.md"},{"gate":"UNTESTED_SUPPORTED_VERSION","result":"pass","checked":"every version the repository claims to support appears in the CI matrix"},{"gate":"UNSAFE_EXAMPLES","result":"pass","checked":"no secret-shaped strings found in examples or docs"},{"gate":"UNEXPLAINED_ERROR","result":"unverified","checked":"no break or diagnose step executed — inventory-only evidence yields P2 findings, never this gate"},{"gate":"UNDOCUMENTED_BREAKING_API","result":"not_yet","checked":"needs two versions to compare — coming in v2"},{"gate":"SDK_API_DRIFT","result":"not_yet","checked":"needs an OpenAPI JSON spec and an SDK language to compare — not in v1"},{"gate":"STALE_PUBLIC_REFERENCE","result":"not_yet","checked":"needs a generated reference to compare against behaviour — not in v1"}],"engine":{"engineVersion":"0.5.0","skillsVersion":"2.9.4+de1abc8","modelId":"anthropic/claude-sonnet-5","temperature":0,"runner":"dx_journey.py (fork of journey_runner.py @ de1abc8)","sandbox":"vercel/sandbox/universal","vcpus":2,"plannerFallback":false,"journeyPinned":false,"droppedFindings":1,"budgetExceeded":false},"startedAt":"2026-09-09T20:11:38.178Z","finishedAt":"2026-09-09T20:14:41.635Z","durationSeconds":183,"cached":false}