Skip to content
This repository was archived by the owner on Jun 28, 2026. It is now read-only.

chore: wire Windows GitHub stack test branch - #3

Closed
jamiechicago312 wants to merge 4 commits into
mainfrom
test/github-windows-stack
Closed

chore: wire Windows GitHub stack test branch#3
jamiechicago312 wants to merge 4 commits into
mainfrom
test/github-windows-stack

Conversation

@jamiechicago312

Copy link
Copy Markdown
Owner

Purpose

Temporary test branch to validate the full Windows GitHub-automation stack before upstream merges.

Includes

How to test locally

  1. Pull this branch.
  2. Run
    pm ci.
  3. Start the stack with
    pm run dev:test-github-windows-stack.
  4. In the running UI, exercise the GitHub recommended automations / skills flow on Windows.

Notes

This PR was created by an AI agent (OpenHands) on behalf of the user.

jamiechicago312 and others added 4 commits June 9, 2026 21:16
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
jamiechicago312 pushed a commit that referenced this pull request Jun 18, 2026
… (#1390) (OpenHands#1391)

* fix: ACP model picker/chip gaps vs agent-server 1.28.1

Addresses four issues identified in #1390:

1. **Provider registry drift**: Add check-acp-providers-sync.mjs script to
   detect when the bundled @openhands/typescript-client ACP registry diverges
   from the targeted agent-server version (1.28.1 is missing 18 models,
   offering 2 not in registry). New acp-providers-sync.yml workflow runs on
   package.json changes and schedules weekly to catch upstream divergence.

2. **In-conversation model switch before first message**: Fix 409 handling in
   useSwitchAcpModel. Before the first message there is no ACP session yet, so
   the agent-server returns 409. Now gracefully falls back to persisting the
   model in agent settings (same as home-page path) instead of erroring.

3. **Native model string formatting**: Add formatNativeModelString() to strip
   routing prefixes (e.g. "anthropic/claude-sonnet-4-5" → "claude-sonnet-4-5")
   so OpenHands conversation chips show meaningful model names, consistent with
   ACP chip behavior.

4. **Stale comment**: Update comment in useChatInputModelState clarifying that
   cloud ACP conversations now persist llm_model as acp_model (per OpenHands
   #14510), not null. The fallback still works and the new behavior is correct.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

* fix: surface an honest error for pre-session ACP model switch

The in-conversation 409 path previously fell back to persisting the model
as the agent-settings default. For an already-created conversation that's a
silent no-op: the agent's acp_model is baked at creation and session/set_model
needs a live session, so the settings write only changes the *next*
conversation's default, not this one — while the UI reports success.

Surface a clear error instead (CHAT_INTERFACE$ACP_MODEL_SWITCH_REQUIRES_SESSION)
telling the user to send a message first, then switch. The home-page path
(conversationId === null) is unchanged — that legitimately sets the next
conversation's default.

Temporary until the SDK persists a pre-session switch
(OpenHands/software-agent-sdk#3763), after which the 409 disappears.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* refactor: harden ACP 409 detection + relocate native-model formatter

Follow-up cleanup on the ACP model-chip/switch fixes:

- use-switch-acp-model: detect the pre-session 409 via the shared
  getErrorStatus() instead of a hand-rolled `error.status` check. The cloud
  backend routes through axios, which exposes the status at
  `error.response.status` (not a top-level `status`), so the previous check
  silently missed it on cloud — the very path this fix targets. Add a test
  for the axios error shape.

- Move the native-model display prettifier out of the ACP registry constants
  (it formats OpenHands-kind routing strings, not ACP models) into
  src/utils/format-model-name.ts as formatNativeModelName(). Fix the
  trailing-slash edge so it never collapses the chip to an empty string, and
  cover it with unit tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* revert: drop pre-session ACP model-switch band-aid (fixed in SDK #3764)

software-agent-sdk#3764 (merged) persists a pre-session ACP model switch at
the source: the agent-server route no longer maps to 409, it returns 200, and
the first run() uses the switched model. The SDK author notes agent-canvas's
"+ New Conversation" pre-run switch "starts working with no change."

So the canvas-side 409 handler (try/catch → honest-error toast, the
CHAT_INTERFACE$ACP_MODEL_SWITCH_REQUIRES_SESSION string in 15 languages, and
the getErrorStatus import) is now redundant — and would be dead/misleading once
a release with #3764 is cut. Revert useSwitchAcpModel + its test + the i18n key
to main, leaving the live-switch / home-persist behavior the SDK now backs.

Issue #1390 finding #2 is resolved upstream. This PR keeps findings #3 (native
model chip prettifier) and OpenHands#4 (stale llm_model comment).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Debug Agent <simon@openhands.dev>
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
@jamiechicago312
jamiechicago312 deleted the test/github-windows-stack branch June 28, 2026 17:09
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant