feat(agent-server): add launch-time skill overlays - #4717
Open
kyletser wants to merge 1 commit into
Open
Conversation
Contributor
|
📁 PR Artifacts Notice This PR contains a |
Collaborator
|
🚦 CI is currently failing on this PR's latest commit. Please fix the failing checks before OpenHands reviews it - this is re-checked automatically once you push a new commit. (A maintainer can also request This is an automated check - no AI was used to generate this comment. |
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
HUMAN:
I reviewed the implementation, test evidence, and rollout notes, and I am comfortable submitting this change for maintainer review.
AGENT:
Design doc: Launch-time skill overlays
Why
Clients that launch an Agent Profile send
agent_profile_idand let Agent Server resolve the agent. Native ACP sourcing then removes OpenHands-managed skills from that resolved context. The existingsystem_message_suffix_appendfield cannot carry a structured skill, is always included in the prompt, and is limited to 32,768 characters. The automation skill that exposed this bug is larger than that limit.skills_appendprovides a structured launch overlay after profile resolution and ACP sourcing. Agent Server stores the merged conversation agent, while the stored Agent Profile remains unchanged.Summary
skills_append: list[Skill]toAgentLaunchAdditions.disabled_skillsdeny-list.Issue Number
Fixes OpenHands/OpenHands#16905
Related to #4019.
How to Test
Run the focused regression suite:
Local result:
16 passed.Run the live REST boundary test:
Local result:
1 passed. The response retained the exact skill content above 32 KiB after native ACP sourcing.Run static and API schema checks:
All configured pre-commit hooks passed with the repository's Python 3.13 and locked Pyright versions. The OpenAPI schema exported deterministically, passed the repository quality check, and passed Swagger validation.
The tests were written red first. Moving the overlay before native ACP sourcing made the lifecycle test fail with
skills=[]; restoring the intended order made it pass.Video/Screenshots
Not applicable to this API and persistence change. The linked design doc shows the request flow and validation evidence.
Design Doc
Launch-time skill overlays
Type
Notes
The field is optional and additive for existing clients. Servers released before this field reject it because launch additions forbid unknown keys, so the rollout order is Agent Server, OpenAPI schema, typed client, then downstream use.
Documentation: OpenHands/docs#770
The downstream Agent Canvas change will follow after a compatible Agent Server and typed client are available.