Team-Size Precision Pipeline
Precise numeric headcount threads through scanStack end-to-end. No more lossy band round-trip between intake and scan.
Part of the StackSwap Intelligence Ecosystem โ software adoption intelligence for the AI era.
What Is the Team-Size Precision Pipeline?
The StackScan intake offers five team-size bands (1-10, 11-25, 26-50, 51-100, 100+) with midpoint values (5, 18, 38, 75, 100). Internally, the scan engine historically took a StackscanTeamSize string with only four bands (1-5, 6-15, 16-50, 50+). That round-trip collapsed 11-25 + 26-50 into one bucket and 51-100 + 100+ into another, so two different intake selections produced identical scan outputs. The team-size precision pipeline adds an optional teamHeadcount field to ScanStackInput and threads it into the engine context, cost estimation (estimateCosts modelingHeadcount), swap generation, and stack-cost computation. Legacy callers without a precise number still work โ teamSizeLabelToHeadcount(teamSize) is the fallback.
How It Fits the StackSwap Intelligence Ecosystem
The intake page persists both the band string (for legacy UI state) and the precise headcount in the report payload. The results page reads both and passes teamHeadcount forward so the paid re-scan uses the same precision the pre-paywall preview did. Display surfaces that show "X-person team" prefer the precise number, so a user who picked 26-50 sees "38-person team" instead of the lossy "25-person team" rounding. The fuzz harness uses the precise headcount across all five bands so distribution tests actually cover distinct team sizes.
Why This Matters for Modeling Accuracy
Per-seat pricing models scale with headcount. Collapsing 11-25 and 26-50 into one internal bucket meant the scan couldn't tell a 15-person team from a 45-person team โ and produced identical modeled spend for both. Precision is the difference between a modeled $6K/mo waste number that matches the user's mental picture and one that's obviously off. Once the pipeline is end-to-end precise, the display, the scan, and the CTA all agree.