Bug
The overview's extractProjectIdFromWorktreeName() in overview.ts has explicit matches for spir-, tick-, bugfix-, and legacy numeric prefixes, but no match for air- (or any other new protocol prefix).
AIR builders show the full worktree slug instead of #495 in the Issue column.
Root Cause
extractProjectIdFromWorktreeName() (line 445-464) needs a generic fallback that matches <protocol>-<number>-* patterns, similar to how worktreeNameToRoleId() already has a generic match.
Fix
Add a generic match before the return null:
// Generic protocol: air-495-slug → "495"
const genericMatch = dirName.match(/^[a-z]+-(\d+)/);
if (genericMatch) return genericMatch[1];
Files
packages/codev/src/agent-farm/servers/overview.ts (lines 445-464)
Bug
The overview's
extractProjectIdFromWorktreeName()inoverview.tshas explicit matches forspir-,tick-,bugfix-, and legacy numeric prefixes, but no match forair-(or any other new protocol prefix).AIR builders show the full worktree slug instead of
#495in the Issue column.Root Cause
extractProjectIdFromWorktreeName()(line 445-464) needs a generic fallback that matches<protocol>-<number>-*patterns, similar to howworktreeNameToRoleId()already has a generic match.Fix
Add a generic match before the
return null:Files
packages/codev/src/agent-farm/servers/overview.ts(lines 445-464)