{"ai":{"absent":null,"adoption":{"commitShare":0.3759,"commits":162,"mergedPrs":77,"prShare":0.0649,"prs":5,"totalCommits":431},"cohorts":{"ai":{"cycleP50Hours":144,"prs":5,"reviewLatencyP50Hours":74,"reworkShare":0.8914,"sizeP50Lines":241},"baseline":{"cycleP50Hours":154,"prs":72,"reviewLatencyP50Hours":101,"reworkShare":0.8872,"sizeP50Lines":275}},"counterFinding":null,"reviewed":{"mergedPrs":77,"reviewedPrs":0,"share":0},"rework":{"aiShare":0.8914,"humanShare":0.8872,"windowDays":14},"tools":[{"commits":54,"compared":false,"cycleP50Hours":144,"id":"claude_code","name":"Claude Code","prs":5,"reworkShare":0.8904},{"commits":33,"compared":false,"cycleP50Hours":null,"id":"cursor","name":"Cursor","prs":0,"reworkShare":0.8571},{"commits":11,"compared":false,"cycleP50Hours":null,"id":"devin","name":"Devin","prs":0,"reworkShare":1},{"commits":64,"compared":false,"cycleP50Hours":null,"id":"github_copilot","name":"GitHub Copilot","prs":0,"reworkShare":0.8941}],"treadmill":[{"detail":"508 AI lines · 41 touches · 01kxt2q refactor(api): address review nit","label":"api/orders.ts","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qvbxvpfyaswzrs9wxjjjwslvweb6"},{"detail":"383 AI lines · 39 touches · 01kxt2q feat(api): improve error message","label":"api/users.ts","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qv6zs5yrzwt0vezgsn7jtt26jgde"},{"detail":"406 AI lines · 36 touches · 01kxt2q test(api): handle edge case","label":"api/auth.ts","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qvd1cda59p324ecewxdaansgb5mk"},{"detail":"435 AI lines · 30 touches · 01kxt2q fix(payments): tighten validation","label":"payments/ledger.ts","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qv8x1fteh6bqh7sqbrc5ime3tczc"},{"detail":"402 AI lines · 29 touches · 01kxt2q test(infra): clean up types","label":"infra/config.ts","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qvtmwwdgkedsgej3603gqe55kwe4"}],"verdict":{"door":null,"headline":"Not enough AI-attributed delivery to judge the tradeoff yet - 5 AI-attributed PRs against a 20-per-cohort floor.","kind":"insufficient","minPrs":20,"tone":"neutral"}},"asOf":"2026-09-25","comprehension":{"absent":null,"activeAreaCount":8,"areas":[{"aiShare":0.3226,"archetypes":[{"because":"Top-band change (15.0% of shipped work), no doc at all, and a bus factor of 1.","door":"Write the doc before the date, not after it. This is the area where one person not showing up costs you the most, and it is the cheapest thing on this list to fix.","id":"danger_zone","label":"The danger zone"}],"area":"payments","busFactor":1,"changeShare":0.15,"documented":false,"key":"01KXT2QTMD755M81DTCW074ZR8#payments","knowers":[{"person":"Priya Sharma","share":0.9873}],"repo":"atlas","reviewShare":1},{"aiShare":0.42,"archetypes":[{"because":"Top-band change with only 77.8% of merged PRs reviewed.","door":"Add a second pair of eyes here before the date. One reviewer on the busiest area is the cheapest insurance you can buy.","id":"unguarded","label":"Unguarded"},{"because":"Top-band change with 0.57 changes-requested round(s) and 0.57 human review comment(s) per reviewed PR.","door":"Settle the ownership or the design question before you hand this over. A handover into an unresolved argument fails, and the receiver inherits the argument, not the code.","id":"argument_zone","label":"The argument zone"}],"area":"infra","busFactor":2,"changeShare":0.1613,"documented":false,"key":"01KXT2QTMD755M81DTCW074ZR8#infra","knowers":[{"person":"Marcus Webb","share":0.6362},{"person":"Ben Carter","share":0.3579}],"repo":"atlas","reviewShare":0.7778},{"aiShare":0.3889,"archetypes":[{"because":"Top-band rework (92.2% of adding touches re-edited) alongside top-band review volume (3.00 reviews per merged PR).","door":"The process is running and not catching. Ask what reviews here actually check - and be ready for the answer to be \"the wrong things\". A handover here inherits the defect rate.","id":"review_theatre","label":"Review is not catching it"}],"area":"web","busFactor":2,"changeShare":0.1452,"documented":false,"key":"01KXT2QTMD755M81DTCW074ZR8#web","knowers":[{"person":"Elena Kovac","share":0.7249},{"person":"Tom Reilly","share":0.2636}],"repo":"atlas","reviewShare":1},{"aiShare":0.4231,"archetypes":[{"because":"Top-band rework (96.2% of adding touches re-edited) alongside top-band review volume (2.90 reviews per merged PR).","door":"The process is running and not catching. Ask what reviews here actually check - and be ready for the answer to be \"the wrong things\". A handover here inherits the defect rate.","id":"review_theatre","label":"Review is not catching it"}],"area":"notifications","busFactor":1,"changeShare":0.0839,"documented":false,"key":"01KXT2QTMD755M81DTCW074ZR8#notifications","knowers":[{"person":"Diego Fernandez","share":1}],"repo":"atlas","reviewShare":1}],"counts":[{"count":2,"id":"review_theatre","label":"Review is not catching it"},{"count":1,"id":"argument_zone","label":"The argument zone"},{"count":1,"id":"danger_zone","label":"The danger zone"},{"count":1,"id":"unguarded","label":"Unguarded"}],"leaveAlone":[{"area":"api","busFactor":2,"repo":"atlas","reviewShare":0.8824}]},"corpus":{"commits":431,"mergedPrs":77,"people":9,"repos":1},"currency":"EUR","engineVersion":"audit_pack_v1","handover":[{"atRisk":2,"exempt":false,"orphaned":[{"area":"payments","handTo":"Marcus Webb","repo":"atlas"}],"person":"Priya Sharma","recovery":{"areas":1,"display":"€2,980-€8,930","estimated":false,"hours":"40-120 hours"}},{"atRisk":1,"exempt":false,"orphaned":[{"area":"tests","handTo":"Yuki Tanaka","repo":"atlas"}],"person":"Aisha Patel","recovery":{"areas":1,"display":"€2,980-€8,930","estimated":false,"hours":"40-120 hours"}},{"atRisk":1,"exempt":false,"orphaned":[{"area":"notifications","handTo":null,"repo":"atlas"}],"person":"Diego Fernandez","recovery":{"areas":1,"display":"€2,980-€8,930","estimated":false,"hours":"40-120 hours"}}],"keyPeople":{"absent":null,"protect":[{"exempt":false,"person":"Aisha Patel","reasons":[{"areas":["tests"],"kind":"sole_owner","label":"Sole owner"}]},{"exempt":false,"person":"Diego Fernandez","reasons":[{"areas":["notifications"],"kind":"sole_owner","label":"Sole owner"}]},{"exempt":false,"person":"Priya Sharma","reasons":[{"areas":["payments"],"kind":"sole_owner","label":"Sole owner"}]}],"setRecovery":{"areas":3,"display":"€8,930-€26,790","estimated":false,"hours":"120-360 hours"},"unattributed":null},"kind":"busfactor.board_pack","links":{"identity":"/org/Northwind%20Engineering/settings?tab=people#identity-matching","org":"/org/Northwind%20Engineering"},"methodology":[{"definition":"A commit or PR carrying a co-author trailer, bot identity, agent branch or PR marker. Untagged AI use is not counted, so the share is a floor.","term":"AI-attributed"},{"definition":"A line-adding change re-edited by a later commit within 14 days.","term":"Rework"},{"definition":"The fewest people who together hold 80% of an area's knowledge (authored and reviewed files).","term":"Bus factor"},{"definition":"Everyone who is the sole owner or the only approver of an area.","term":"Protect list"},{"definition":"40-120 hours per orphaned area at the org's loaded cost.","term":"Rebuild cost"},{"definition":"sha256 over every byte of this document. Same data in, same hash out.","term":"Seal"}],"moves":[{"href":"/org/Northwind%20Engineering/stories/01M39Z64WN3YB2VVX8HN28BFF3","n":1,"text":"The Slop Treadmill: Add a self-review step before AI diffs open a change, and refactor the top bounced paths once - the receipts name exactly which deliveries came back."},{"href":"/org/Northwind%20Engineering/stories/01M39Z64WQBDYWMAEYQPDPRPJ3","n":2,"text":"Bus Factor One: Put a second pair of hands on “payments” this quarter: pair rotation, review-buddy, and one recorded walkthrough."},{"href":"/org/Northwind%20Engineering/stories/01M39Z64WS5MXCB1E98WPVT2N3","n":3,"text":"Unpaid Glue: Decide on purpose: promote the glue into an actual role, or de-load it deliberately. Either move beats waiting for the bridge to close for maintenance."},{"href":"/org/Northwind%20Engineering/map","n":4,"text":"payments: Write the doc before the date, not after it. This is the area where one person not showing up costs you the most, and it is the cheapest thing on this list to fix."},{"href":"/org/Northwind%20Engineering/consequences","n":5,"text":"Hand payments from Priya Sharma to Marcus Webb before either takes leave."},{"href":"/org/Northwind%20Engineering/consequences","n":6,"text":"Hand tests from Aisha Patel to Yuki Tanaka before either takes leave."}],"notes":["Dependency fan-in reads 0: no import graph yet. Run a codegraph pass to unlock the quiet-landmine check.","Lockfiles and build output count toward ownership, so a lockfile-heavy area reads as more owned than it is.","\"Only approver\" means the only person who approved in this window, not the only one permitted to."],"org":{"name":"Northwind Engineering"},"provenance":{"inputSha256":"ec64fca0a131846e7972094f7e69797cdcbff88c9e9011ccd17aa7581b5d296f","versions":{"aiRuleset":"ai-tools@4","pack":"audit_pack_v1","recoveryEstimator":"knowledge_recovery@40-120h","restructure":"restructure_v1","typology":"area_typology_v1"}},"reference":"BF-NORTHWIN-20260925","summary":{"decisions":["Fund 120-360 hours of handover this quarter, starting with payments from Priya Sharma.","Hold AI spend flat until 20 AI PRs have merged, then judge it.","Put this quarter's time behind risk 1: The Slop Treadmill."],"grade":{"asOf":"2026-09-24","grade":"C","index":63,"previousIndex":62},"risks":[{"door":"Add a self-review step before AI diffs open a change, and refactor the top bounced paths once - the receipts name exactly which deliveries came back.","href":"/org/Northwind%20Engineering/stories/01M39Z64WN3YB2VVX8HN28BFF3","id":"01M39Z64WN3YB2VVX8HN28BFF3","line":"21.6% of AI-delivered code comes back as a bug fix - vs 6.3% for everyone else.","n":1,"numbers":[{"label":"AI WORK BACK AS BUGS","value":"21.6%"},{"label":"OTHER WORK BACK AS BUGS","value":"6.3%"},{"label":"THE GAP","value":"0.15"}],"receipts":[{"detail":"docs/architecture.md · re-opened after 11.375d","label":"01kxt2q “feat(api): fix flaky test”","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qw7xbgxhz8wq0396g1q5gr5k8xco"},{"detail":"payments/ledger.ts · re-opened after 8.0417d","label":"01kxt2q “fix(payments): fix flaky test”","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qw6dryskn15ysf9xcgzv8n4ojytj"},{"detail":"infra/queue.ts · re-opened after 6.5833d","label":"01kxt2q “fix(infra): tighten validation”","url":"https://github.com/northwind-eng/atlas/commit/01kxt2qw6hg3kh9kg7m1m1jjka78e0j6y8"}],"title":"The Slop Treadmill"},{"door":"Put a second pair of hands on “payments” this quarter: pair rotation, review-buddy, and one recorded walkthrough.","href":"/org/Northwind%20Engineering/stories/01M39Z64WQBDYWMAEYQPDPRPJ3","id":"01M39Z64WQBDYWMAEYQPDPRPJ3","line":"“payments” has exactly one living maintainer. One goodbye email away from archaeology.","n":2,"numbers":[{"label":"PEOPLE WHO KNOW IT","value":"1"},{"label":"REVIEW KNOWLEDGE SPREAD","value":"0.15"},{"label":"FILES ONLY ONE REVIEWS","value":"3"}],"receipts":[],"title":"Bus Factor One"},{"door":"Decide on purpose: promote the glue into an actual role, or de-load it deliberately. Either move beats waiting for the bridge to close for maintenance.","href":"/org/Northwind%20Engineering/stories/01M39Z64WS5MXCB1E98WPVT2N3","id":"01M39Z64WS5MXCB1E98WPVT2N3","line":"One node bridges whole territories of the collaboration graph - nobody wrote that into a role.","n":3,"numbers":[{"label":"BRIDGE SCORE (Z)","value":"16.41"},{"label":"COLLABORATION LINKS","value":"7"}],"receipts":[{"detail":"5 shared files","label":"Ben Carter","url":null},{"detail":"5 reviews","label":"Priya Sharma","url":null},{"detail":"5 reviews","label":"Tom Reilly","url":null}],"title":"Unpaid Glue"}],"scoreboard":[{"chip":null,"display":"37.6%","href":"/org/Northwind%20Engineering/ai","id":"ai_commit_share","label":"AI-attributed commits","sub":"6.5% of merged PRs","tone":"neutral","value":0.3759},{"chip":"low sample: 5 of 20 PRs","display":"6.5% faster","href":"/org/Northwind%20Engineering/ai","id":"ai_cycle_delta","label":"AI PR cycle time vs the rest","sub":"144.0h vs 154.0h median","tone":"neutral","value":0.0649},{"chip":"low sample: 5 of 20 PRs","display":"1.00×","href":"/org/Northwind%20Engineering/ai","id":"ai_rework_ratio","label":"AI rework vs human","sub":"89.1% vs 88.7% re-edited within 14 days","tone":"neutral","value":1.0047},{"chip":null,"display":"1","href":"/org/Northwind%20Engineering/map","id":"danger_areas","label":"Danger-zone areas","sub":"of 8 active areas","tone":"bad","value":1},{"chip":null,"display":"€8,930-€26,790","href":"/org/Northwind%20Engineering/consequences","id":"protect_recovery","label":"Protect list, rebuild cost","sub":"120-360 hours, 3 areas, 3 people","tone":"bad","value":26790}],"verdict":[{"text":"Win, On Record: 9 weeks kept in a row. Working, proven, on record. Take the credit - we brought receipts.","tone":"praise"},{"text":"Aisha Patel, Diego Fernandez and Priya Sharma hold 3 areas alone. Rebuilding that knowledge costs €8,930-€26,790.","tone":"concern"},{"text":"The Slop Treadmill: 21.6% of AI-delivered code comes back as a bug fix - vs 6.3% for everyone else.","tone":"concern"}]},"window":{"from":"2026-03-29","key":"180d","label":"Last 180 days","to":"2026-09-25"}}