Skip to content

Swarm: resolve issues #87-#94 (architecture, tests, performance, CI, quality)#95

Merged
jongio merged 72 commits into
mainfrom
swarm/integration
May 18, 2026
Merged

Swarm: resolve issues #87-#94 (architecture, tests, performance, CI, quality)#95
jongio merged 72 commits into
mainfrom
swarm/integration

Conversation

@jongio
Copy link
Copy Markdown
Owner

@jongio jongio commented May 17, 2026

Summary

Combined PR resolving 8 meta-issues covering architecture, code quality, performance, CI/CD, test health, idiomatic Go, goroutine safety, and repo health improvements.

Issues Resolved

Changes (60 files, +3805/-1401)

Architecture (#87): Split model.go, decomposed Model struct, extracted Update handlers, fixed layering violations, added interface abstractions.

Test Health (#88): Added coverage for platform, work status, copilot analyze, update replace, chronicle PTY, dbwatch. Fixed meaningless test assertions.

Performance (#89): Added DB index, parallelized queries, cached render strings, replaced subqueries with JOINs, reused HTTP client.

CI/CD (#90): Full ./... compilation, pinned linter version, updated action versions, consistent Go version.

Idiomatic Go (#91): errors.Is/As, sync.RWMutex for styles, context propagation, sentinel errors in tests, panic logging.

Quality (#92): Context cancellation in closeStore, goroutine leak fix, noctx linter re-enabled.

Code Quality (#93): Deduplicated filter methods, attention scanning, dot rendering, plan parsing, font detection. Extracted model constant.

Repo Health (#94): Dependabot config, SECURITY.md network disclosure.

Quality Gates

  • go build ./... pass
  • go test ./... -count=1 pass (13 packages)
  • go vet ./... pass

jongio and others added 30 commits May 16, 2026 23:10
#70

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ixes #72

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tant - Fixes #81

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…r - Fixes #80

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ixes #68

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ixes #68

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…se - Fixes #75

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ere possible - Fixes #59

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…aseline - Fixes #86

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…n - Fixes #82

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…84

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts:
#	.github/workflows/release.yml
#	internal/tui/components/sessionlist.go
# Conflicts:
#	internal/data/chronicle_windows_test.go
#	internal/data/dbwatch_test.go
…Wave 1 merge

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…#79

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fixes #64, Fixes #65

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
jongio and others added 21 commits May 17, 2026 00:46
# Conflicts:
#	internal/tui/model.go
…Dot helper - Fixes #40

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…r helper - Fixes #39

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… predicate helper - Fixes #34

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… predicate helper - Fixes #34

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… possible - Fixes #50

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…gate where safe - Fixes #52

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ntinel errors

Add sentinel error variables to copilot, update, and platform packages.
Wrap production error returns with sentinels using fmt.Errorf with wrapping.
Replace 49 strings.Contains(err.Error(),...) test assertions with errors.Is.

Fixes #53
# Conflicts:
#	internal/data/store.go
# Conflicts:
#	internal/tui/model.go
# Conflicts:
#	internal/update/update.go
#	internal/update/update_test.go
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jongio
Copy link
Copy Markdown
Owner Author

jongio commented May 17, 2026

PR Review Summary

Verdict: COMMENT (self-review)

Reviewed 59 changed files (+3,805/-1,402) across 4 waves resolving 40 issues. Build, tests, vet, and lint all pass (mage preflight clean).

Security: PASS - No blocking issues. Net improvement.

Code Quality: PASS - errgroup correct, handlers extraction clean, model decomposition correct.

Non-Blocking Follow-ups

  1. Consider --require-cosign env var for install scripts
  2. Consider requiring approval on auto CONTRIBUTORS.md PRs
  3. Add ctx to Maintain() for consistency
  4. Pin actions/upload-artifact to SHA

jongio and others added 2 commits May 17, 2026 12:56
…pliance

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts:
#	internal/tui/model.go
@jongio jongio changed the title swarm: resolve 40 open issues across 4 parallel waves Swarm: resolve issues #87-#94 (architecture, tests, performance, CI, quality) May 17, 2026
jongio and others added 3 commits May 17, 2026 15:27
- copilot: accept any error from unstarted SDK (platform-dependent)
- update: wrap 'no checksum found' with ErrChecksumMismatch sentinel
- data: use exec.CommandContext in chronicle_unix.go for noctx

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… group filters

- closeStore now cancels copilotSearchCancel and workStatusAICancel
  before shutting down, preventing goroutine leaks when the TUI exits
  with active SDK searches or AI analyses in flight
- handleDeepSearchResult groups branch now applies filterAttentionGroups,
  filterPlanGroups, and filterWorkStatusGroups, matching the filter chain
  in handleGroupsLoaded

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jongio jongio merged commit ce58066 into main May 18, 2026
2 checks passed
@jongio jongio deleted the swarm/integration branch May 18, 2026 04:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment