Skip to content

[RELEASE] Goose is free for real (carries #5000) - #5064

Closed
vivekchand wants to merge 6 commits into
mainfrom
release/goose-free
Closed

[RELEASE] Goose is free for real (carries #5000)#5064
vivekchand wants to merge 6 commits into
mainfrom
release/goose-free

Conversation

@vivekchand

Copy link
Copy Markdown
Owner

Publishes #5000. Without this the promise is not true.

Why a release PR is needed

#5000 merged 2026-08-21 09:39, about six hours after 0.12.750 was published (03:44 the same day). release-on-merge only fires for PRs whose title contains [RELEASE], so nothing has published since — the Goose change has been sitting on main, unshipped.

Verified against the published artefact, not the branch. Cracking clawmetry-0.12.750-py3-none-any.whl:

published 0.12.750 main today
FREE_RUNTIMES {openclaw, nemoclaw} {openclaw, nemoclaw, goose}
clawmetry/adapters/goose.py absent present
clawmetry/adapters/cost.py absent present
runtimes in catalogue 22 26

So a Goose user running pip install clawmetry right now still gets a build where Goose is paid and has no bundled reader. That matters more than a normal release lag, because "works without a paid plan" is a promise made publicly on Goose's own issue tracker (aaif-goose/goose#11282) as the precondition for accepting a ClawMetry tutorial into their docs.

What ships

The headline: goose in FREE_RUNTIMES, adapter bundled in the open-source package. pip install clawmetry — no account, no licence key, no wheel download — reads ~/.local/share/goose/sessions/sessions.db for sessions, transcripts, tool calls and real token totals, with cost derived where the provider records it and honestly absent where it does not.

The rule it carries: open-source runtime → free, open-source adapter; commercial vendor product → paid. Pinned in both directions by tests/test_oss_paid_runtime_packaging.py.

Also carried — everything merged since the last publish, unreleased until now:

Worth a glance before merging, since this wheel is the first to carry four of the six newest runtimes — this is a larger release than the title suggests.

After merge

The workflow bumps from max(PyPI, dashboard.py), so it will land on 0.12.751 regardless of dashboard.py currently reading 0.12.748.

Follow-ups still open: the blueprint reconciliation is already done (Extended Runtime Support v15, ADR-021), and replying to the Goose maintainer waits on this wheel existing.

🤖 Generated with Claude Code

#5000 merged ~6h after 0.12.750 was published, and release-on-merge only
fires for [RELEASE]-titled PRs, so the change has been sitting on main
unpublished. Verified against the published artefact, not the branch:
0.12.750 ships 22 runtimes, FREE_RUNTIMES = {openclaw, nemoclaw}, and no
clawmetry/adapters/goose.py.

That matters more than usual here because "Goose is free, no plan needed"
is a promise made on Goose's own issue tracker (aaif-goose/goose#11282),
and it is not true until a wheel carries it.

Also carries everything else merged since the last publish: Gemini CLI
(24th), Cline (25th), OpenHands (26th), NemoClaw pool health, the runtime
screenshot gallery, entitlement bundle-batch endpoints, and two i18n syncs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

…nreleased section

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

Copy link
Copy Markdown
Owner Author

Maintenance pass handoff — merge conflict resolved (CHANGELOG.md had two concurrent Unreleased release notes; both are now kept, Goose-free first). CI will re-run on the new head.

This PR is ready to merge once CI is green, but merging triggers release-on-merge which publishes to PyPI — that step requires human confirmation in this environment. When you are ready to ship the Goose-free wheel, merge this PR and the publish will run automatically.

No code changes in this pass — only the CHANGELOG conflict resolution commit.


Generated by Claude Code

@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

…lot, and Goose release notes

All three sets of Unreleased entries preserved; Windows/Cursor entries
(from main) placed first as they are newer; Goose notes follow.

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

Copy link
Copy Markdown
Owner Author

✨ auto-fixed: resolved CHANGELOG.md merge conflict — merged origin/main, keeping all three sets of Unreleased entries (Windows signing + Cursor/Copilot entries from main first, Goose release notes from this branch following).


Generated by Claude Code

@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

Copy link
Copy Markdown
Owner Author

Automated maintenance check — all 26 CI checks are green on this PR as of 2026-08-22T12:29Z. Summarising what's clear and what needs your hand:

Ready: This PR is fully green and clean. The Goose adapter is present, FREE_RUNTIMES includes goose, and tests/test_oss_paid_runtime_packaging.py pins the invariant.

Blocked on human action (PyPI publish): This is a [RELEASE] PR. Merging triggers release-on-merge.yml, which publishes to PyPI. That production action is out of scope for autonomous runs — please merge when ready to ship. No code changes needed first.

After merge, the workflow will bump to v0.12.754 (max(PyPI=0.12.753, dashboard.py) + 1) and open a new auto-bump PR. The pending auto-bump #5074 (v0.12.753) will become stale and can be closed once the post-release bump lands.


Generated by Claude Code

Copy link
Copy Markdown
Owner Author

CI is fully green (all 26 checks pass, including E2E Gate, MOAT Verifier, Entitlement API, cross-platform pip install). mergeable_state: clean -- no conflicts with current main.

Human handoff needed: This is a [RELEASE] PR -- merging triggers release-on-merge.yml which publishes to PyPI. Steps once you're ready:

  1. Merge this PR (squash)
  2. Watch the release-on-merge.yml run; confirm it publishes a new wheel
  3. Verify pip install clawmetry pulls the new version and Goose is in FREE_RUNTIMES
  4. Reply to aaif-goose/goose#11282 that the wheel is live

This cannot be merged by the automated maintainer session as it triggers a production PyPI push.


Generated by Claude Code

@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

Copy link
Copy Markdown
Owner Author

Autonomous maintainer pass (2026-08-22): status update — the situation has changed since earlier passes.

What happened: PR #5081 triggered release-on-merge, publishing clawmetry==0.12.755 to PyPI. Since main already contained the Goose adapter (#5000), that adapter and FREE_RUNTIMES = {openclaw, nemoclaw, goose} are live in 0.12.755. The auto-bump PR #5083 is open and waiting to sync __version__ in dashboard.py.

What this PR still adds: only the CHANGELOG entry (the diff is 7 additions to CHANGELOG.md). Merging now would trigger another release (0.12.756) carrying only that CHANGELOG documentation.

Decision for you:

  • Merge if you want 0.12.756 to carry the Goose release notes and properly document when it shipped.
  • Close if the Goose code being in 0.12.755 is sufficient and you'd rather not publish an extra version for just CHANGELOG.

Branch was behind main; updated now so it will be clean when you decide.


Generated by Claude Code

@8090-software-factory

Copy link
Copy Markdown

✅ Drift Bot (ClawMetry): no drift detected

Drift Bot analyzed the changed files against this project's blueprints and requirements and found no drift.

Copy link
Copy Markdown
Owner Author

Closing: the Goose adapter and FREE_RUNTIMES = {openclaw, nemoclaw, goose} already shipped in 0.12.755 (via PR #5081 triggering release-on-merge). The Goose promise on aaif-goose/goose#11282 is live. This PR now carries only a CHANGELOG entry — publishing a new wheel solely for release notes isn't worth the PyPI noise. Close; document the Goose shipping date in the next regular release's CHANGELOG instead.


Generated by Claude Code

@vivekchand vivekchand closed this Aug 22, 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.

2 participants