Skip to content

Batch merge: PRs #43, #55, #53, #54#72

Merged
mattleaverton merged 20 commits intomainfrom
merge/pr-batch-2
Mar 31, 2026
Merged

Batch merge: PRs #43, #55, #53, #54#72
mattleaverton merged 20 commits intomainfrom
merge/pr-batch-2

Conversation

@mattleaverton
Copy link
Copy Markdown
Collaborator

Summary

Batch merge of 4 remaining contributor PRs with conflict resolution and test fixes. All tests pass, build is clean.

Included PRs (original commits preserved with author attribution)

Conflict resolution & fixes

Verification

  • go build ./... — clean
  • go test ./... — all packages pass

⚠️ Must merge with "Create a merge commit" strategy to preserve individual contributor commit authorship.

Closes #43, closes #55, closes #53, closes #54

glowforgedan and others added 20 commits February 26, 2026 13:44
(cherry picked from commit c0110c630859508ce3390cf976cd11e8a06fbb6b)
(cherry picked from commit 1a57a2ca640d65457fa663e9548d41c9be22ab53)
(cherry picked from commit 23f3ce1e2329597b204b530bc23b1f817b5266c2)
(cherry picked from commit a878921adc2555db9062b721489e2ba79df618c6)
Switch one_shot mode from Complete() to Stream() with StreamAccumulator,
add throttled progress emitter (100ms batched text deltas, immediate tool
call events), emit AssistantMessage CXDB turns from both agent_loop and
one_shot paths, and tag all progress events with backend:"api" for
CLI/API parity.

(cherry picked from commit 9cb2b2014b37e7d3d6c3c96ae09c29671c959e40)
(cherry picked from commit 2670b7d7933d2b238cdc884d8490bf2a221682ba)
(cherry picked from commit 72bafbf015fd60441787e9493dfbc149c03a3396)
(cherry picked from commit 200fd7afb75b7576e7c3df9d80ff1dcdd253f61f)
(cherry picked from commit ab22977e2434c77aaa827a0e8c92dd0bf9b5c890)
(cherry picked from commit 4f67b653fa83299b9f8997718121f6dfa48b73e5)
…merge/pr-batch-2

# Conflicts:
#	internal/attractor/engine/handlers.go
…r-catalog-refresh' into merge/pr-batch-2

# Conflicts:
#	internal/attractor/modeldb/pinned/openrouter_models.json
…pp-server-routing-autonomy' into merge/pr-batch-2

# Conflicts:
#	internal/attractor/engine/cli_only_models.go
#	internal/attractor/engine/cli_only_models_test.go
#	internal/attractor/engine/codergen_router.go
#	internal/attractor/engine/codergen_router_cli_only_test.go
#	internal/attractor/engine/provider_preflight.go
#	internal/attractor/engine/provider_preflight_test.go
…ng-provider-lifecycle-events' into merge/pr-batch-2

# Conflicts:
#	internal/attractor/engine/codergen_heartbeat_test.go
#	internal/attractor/engine/run_with_config_integration_test.go
PR #58 and #54 both added a case for agent.EventAssistantTextEnd in
emitCXDBToolTurns. Keep the more complete version from #58 which
includes model/token fields and [tool_use] fallback for empty text.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Update CXDB empty-text test to expect [tool_use] fallback (PR #58
  behavior takes precedence over PR #54's skip-empty-text design)
- Skip Windows-specific shell resolution tests on non-Windows platforms
  (filepath.Clean handles backslashes differently on macOS/Linux)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mattleaverton mattleaverton merged commit 88deb41 into main Mar 31, 2026
1 check failed
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.

3 participants