v1.0.1 - Teams: route work to the squad that owns the code
Auto-assignment now narrows to the team that owns a BUD's impacted repos
before applying the existing capacity, skill, recency, and round-robin
scoring. Plus async background jobs for the Danger Zone skill rerun and
proper navigation feedback when opening a BUD.
Highlights
- Teams as a first-class concept (Members → Teams). A team is a
named set of org members mapped to one or more repos. Three new
tables with composite FKs that make cross-org membership a DB-level
impossibility. - Team-scoped auto-assignment. The role picker intersects with team
membership when a BUD hasimpacted_repos. Falls back to org-wide
with a banner warning when no team owns the impacted repo — never
stalls silently. - Per-repo TODO splitting at DEVELOPMENT entry. Multi-repo BUDs
now distribute TODOs across each repo's team developers instead of
dumping every TODO on the lead. - Members page consolidated into two tabs (People / Teams);
/settings/teamsredirects so old bookmarks keep working. - BUD board Team filter alongside the existing assignee / priority
filters. - Danger Zone skill rerun moved to the async-job pattern — no more
axios client-side timeouts on 20-repo orgs. - Opening a BUD shows immediate feedback via a layout-level route
progress bar + a page-shaped skeleton loader.
Migration
One new migration runs on backend start; no data backfill required.
Existing orgs get empty Teams — admins create them via Members → Teams.
Tenant safety
The three new Teams join tables enforce tenant alignment via composite
FKs back to teams, org_to_user, and tracked_repositories.
Cross-org membership or repo ownership is rejected at the database
layer regardless of application bugs.
What's Changed
- fix(skills): run Danger Zone skill rerun as a background job by @mickyarun in #218
- fix(buds): add navigation feedback so opening a BUD never feels stuck by @mickyarun in #224
- feat(teams): team-scoped BUD auto-assignment + Members → Teams tab by @mickyarun in #225