Skip to content

fix(review): map or fail closed before filing Linear issues without a project#273

Merged
unohee merged 1 commit into
mainfrom
unoheeofficial/int-2619-fixreview-orphan-linear-issues-from-review-max-fix-when-repo
Jul 10, 2026
Merged

fix(review): map or fail closed before filing Linear issues without a project#273
unohee merged 1 commit into
mainfrom
unoheeofficial/int-2619-fixreview-orphan-linear-issues-from-review-max-fix-when-repo

Conversation

@unohee

@unohee unohee commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • review --max --fix (and review --issues) filed autonomous Linear follow-ups without a project when the repo had no openswarm.json mapping, only logging a warning that's easy to miss in unattended runs. Confirmed via Linear: 15 orphan audit issues across 9 repos (vega-agent, OpenSwarm, enzyme, audioman, pykiwoom-rest, ecount-mcp, whisper-diarization, NDrum, CompanyDataEngine) — all backfilled to their correct projects as part of this work (NDrum and CompanyDataEngine had no project at all, so those were created).
  • Added ensureProjectMapping(): when no repo→project mapping exists, map it interactively (same picker as openswarm add) on a TTY, or fail closed headless instead of silently filing a project-less issue. Wired into runReviewCommand (--issues) and all three reviewMaxCommand.tsx filing paths.
  • resolveLinearCredential() now also checks config.yaml linear.apiKey, the same source ensureTaskSource() uses — closes a gap where the mapping preflight could wrongly conclude Linear wasn't configured and let filing proceed without a project.
  • no-teams from the mapping picker (team lookup failure) now aborts instead of silently proceeding, since it isn't a user choice to skip mapping.
  • Adds openswarm.json for this repo (previously missing, which is what let the bug reach OpenSwarm's own Linear project).

Test plan

  • npx vitest run src/cli/ — 186 passed
  • npx tsc --noEmit — clean
  • npx oxlint — 0 warnings/errors
  • openswarm review self-gate, 3 rounds — 2 real findings fixed (config credential gap, no-teams fail-closed); 1 finding (call-order suggestion) evaluated and declined with rationale (doesn't fix anything since ensureTaskSource()'s team gate is independent, and would add a confusing UX)
  • Linear: all 15 historical orphan issues reassigned to correct projects (verified via get_issue)

Tracked in Linear as INT-2619 (Done).

… project (INT-2619)

review --max --fix (and review --issues) filed autonomous follow-up issues
with no Linear project when the repo had no openswarm.json mapping, only
logging a warning that's easy to miss in unattended runs. Confirmed via
Linear: 15 orphan audit issues across vega-agent, OpenSwarm, enzyme,
audioman, pykiwoom-rest, ecount-mcp, whisper-diarization, NDrum, and
CompanyDataEngine (backfilled to their correct projects; NDrum and
CompanyDataEngine had no project at all, so those were created).

- ensureProjectMapping() in reviewCommand.ts: when no repo->project mapping
  exists, map it interactively (same picker as openswarm add) on a TTY, or
  fail closed headless instead of silently filing a project-less issue.
- Wired into runReviewCommand (--issues) and all three reviewMaxCommand.tsx
  filing paths (filePmSynthesizedIssues / createMasterAuditIssue /
  filePerAreaFollowups).
- resolveLinearCredential() now also checks config.yaml linear.apiKey, the
  same source ensureTaskSource() uses — closes a gap where the mapping
  preflight could wrongly conclude Linear wasn't configured and let filing
  proceed without a project.
- no-teams from the mapping picker (team lookup failure) now aborts instead
  of silently proceeding, since it isn't a user choice to skip mapping.
- openswarm.json added for this repo and vega-agent (the two repos without
  one); enzyme, whisper-diarization, NDrum, CompanyDataEngine also mapped.

179 -> 186 tests passing, tsc clean, oxlint clean.
@unohee unohee merged commit 532c500 into main Jul 10, 2026
9 of 10 checks passed
@unohee unohee deleted the unoheeofficial/int-2619-fixreview-orphan-linear-issues-from-review-max-fix-when-repo branch July 10, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant