Skip to content

Point the repo-root install at the Go node - #125

Closed
AbirAbbas wants to merge 1 commit into
mainfrom
feat/root-manifest-superseded-by
Closed

Point the repo-root install at the Go node#125
AbirAbbas wants to merge 1 commit into
mainfrom
feat/root-manifest-superseded-by

Conversation

@AbirAbbas

Copy link
Copy Markdown
Collaborator

Why

The Go node in go/ is the maintained SWE node — same reasoners, same
interface, one static binary, and it ships the coding engine. Until now
getting it meant knowing to append //go, and anyone who installed this repo
earlier stayed on the Python node with no way across.

What

The root manifest declares itself superseded by the Go node:

name: swe-planner
superseded_by: https://github.com/Agent-Field/SWE-AF//go

So this becomes the one thing a user has to know, before and after the switch:

af install https://github.com/Agent-Field/SWE-AF

It installs the Go node, and replaces an existing swe-planner — warning
first, and carrying that node's secrets across.

The Python node is unchanged and still what python -m swe_af and the Docker
images run; this manifest stays as the redirect. To install it deliberately,
clone the repo and install the checkout as a local path.

Requires

superseded_by support in agentfield (Agent-Field/agentfield#872). An older
af ignores the key and installs the Python node exactly as before, so this
is safe to land in either order.

Verified end to end

Against a real repo containing this manifest and the go/ node with its
bundled engine binary:

  • af install <repo url> warns, then installs swe-planner-go — the Go node,
    engine binary present at 0755 with a matching checksum
  • the recorded source keeps the //go selector, so the next update stays on
    the Go node instead of reverting to Python
  • with an existing swe-planner installed: warned, replaced, its node-scoped
    secret moved to the successor, old registry entry and directory removed,
    global secrets untouched
  • started with only an OPENROUTER_API_KEY: the node registered its 31
    reasoners, the harness ran opencode … -m openrouter/deepseek/deepseek-v4-flash,
    and the bundled engine stayed off (it is opt-in via SWE_PRO_ENGINE)
  • triggered implement_issue and it succeeded, delivering a branch with the
    requested function plus a passing pytest test

🤖 Generated with Claude Code

The Go node in go/ is the maintained SWE node — same reasoners, same
interface, one static binary, and it ships the coding engine. Until now
getting it meant knowing to append //go, and anyone who installed this repo
earlier stayed on the Python node with no way across.

Declare the root manifest superseded by the Go node, so
`af install https://github.com/Agent-Field/SWE-AF` installs it and replaces an
existing swe-planner. That URL is now the only thing a user has to know,
before and after the switch.

The Python node is unchanged and still what `python -m swe_af` and the Docker
images run; the manifest stays here as the redirect. Requires an `af` that
understands superseded_by — older ones simply install the Python node as
before.

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

Copy link
Copy Markdown
Collaborator Author

Folded into #122 — the root-manifest redirect belongs with the release that makes the Go node the thing you get, so it is one PR rather than a stacked pair. Commit b0a7514 carries it there unchanged.

Superseded by #122

@AbirAbbas AbirAbbas closed this Aug 4, 2026
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.

1 participant