Skip to content

docs(subagent): document loader invariants for file-based agents#2231

Merged
enyst merged 4 commits intomainfrom
openhands/subagent-loader-agents-md
Feb 27, 2026
Merged

docs(subagent): document loader invariants for file-based agents#2231
enyst merged 4 commits intomainfrom
openhands/subagent-loader-agents-md

Conversation

@enyst
Copy link
Copy Markdown
Collaborator

@enyst enyst commented Feb 26, 2026

Summary

Add openhands-sdk/openhands/sdk/subagent/AGENTS.md documenting the intended subagent loader design and invariants introduced by file-based agents (discovery locations, precedence/"first wins" resolution, and Markdown/YAML schema semantics).

Closes #2200.

Checklist

  • If the PR is changing/adding functionality, are there tests to reflect this? (docs-only)
  • If there is an example, have you run the example to make sure that it works? (n/a)
  • If there are instructions on how to run the code, have you followed the instructions and made sure that it works? (n/a)
  • If the feature is significant enough to require documentation, is there a PR open on the OpenHands/docs repository with the same branch name?
  • Is the github CI passing?

Related user-facing docs PR: OpenHands/docs#358


Agent Server images for this PR

GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server

Variants & Base Images

Variant Architectures Base Image Docs / Tags
java amd64, arm64 eclipse-temurin:17-jdk Link
python amd64, arm64 nikolaik/python-nodejs:python3.12-nodejs22 Link
golang amd64, arm64 golang:1.21-bookworm Link

Pull (multi-arch manifest)

# Each variant is a multi-arch manifest supporting both amd64 and arm64
docker pull ghcr.io/openhands/agent-server:6c8e923-python

Run

docker run -it --rm \
  -p 8000:8000 \
  --name agent-server-6c8e923-python \
  ghcr.io/openhands/agent-server:6c8e923-python

All tags pushed for this build

ghcr.io/openhands/agent-server:6c8e923-golang-amd64
ghcr.io/openhands/agent-server:6c8e923-golang_tag_1.21-bookworm-amd64
ghcr.io/openhands/agent-server:6c8e923-golang-arm64
ghcr.io/openhands/agent-server:6c8e923-golang_tag_1.21-bookworm-arm64
ghcr.io/openhands/agent-server:6c8e923-java-amd64
ghcr.io/openhands/agent-server:6c8e923-eclipse-temurin_tag_17-jdk-amd64
ghcr.io/openhands/agent-server:6c8e923-java-arm64
ghcr.io/openhands/agent-server:6c8e923-eclipse-temurin_tag_17-jdk-arm64
ghcr.io/openhands/agent-server:6c8e923-python-amd64
ghcr.io/openhands/agent-server:6c8e923-nikolaik_s_python-nodejs_tag_python3.12-nodejs22-amd64
ghcr.io/openhands/agent-server:6c8e923-python-arm64
ghcr.io/openhands/agent-server:6c8e923-nikolaik_s_python-nodejs_tag_python3.12-nodejs22-arm64
ghcr.io/openhands/agent-server:6c8e923-golang
ghcr.io/openhands/agent-server:6c8e923-java
ghcr.io/openhands/agent-server:6c8e923-python

About Multi-Architecture Support

  • Each variant tag (e.g., 6c8e923-python) is a multi-arch manifest supporting both amd64 and arm64
  • Docker automatically pulls the correct architecture for your platform
  • Individual architecture tags (e.g., 6c8e923-python-amd64) are also available if needed

Closes #2200

Co-authored-by: openhands <openhands@all-hands.dev>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 26, 2026

API breakage checks (Griffe)

Result: Passed

Action log

@enyst enyst marked this pull request as ready for review February 27, 2026 21:09
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 27, 2026

Agent server REST API breakage checks (OpenAPI)

Result: Passed

Action log

Copy link
Copy Markdown
Collaborator

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Good taste - LGTM. Clear, well-structured documentation that solves a real problem: helping contributors understand agent discovery, precedence, and schema invariants. The logical flow (discovery → precedence → schema → debugging) makes it easy to find answers.

@enyst enyst enabled auto-merge (squash) February 27, 2026 21:22
@enyst enyst merged commit c4e31b5 into main Feb 27, 2026
21 checks passed
@enyst enyst deleted the openhands/subagent-loader-agents-md branch February 27, 2026 21: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.

Document subagent loader design & invariants introduced by file-based agents (PR #2183)

4 participants