Skip to content

fix(docs): point GHCR image pulls at the headroomlabs-ai org path#2473

Open
lacraig2 wants to merge 1 commit into
headroomlabs-ai:mainfrom
lacraig2:fix/ghcr-image-path-headroomlabs
Open

fix(docs): point GHCR image pulls at the headroomlabs-ai org path#2473
lacraig2 wants to merge 1 commit into
headroomlabs-ai:mainfrom
lacraig2:fix/ghcr-image-path-headroomlabs

Conversation

@lacraig2

@lacraig2 lacraig2 commented Jul 21, 2026

Copy link
Copy Markdown

Description

After the repo moved from the personal chopratejas account to the headroomlabs-ai org, the docs still tell users to pull ghcr.io/chopratejas/headroom. GitHub redirects github.com and raw.githubusercontent.com URLs after a transfer, but GHCR does not redirect the old package — so that path is frozen at the last release before the move (v0.27.0, built 2026-06-22), while every release since v0.28.0 publishes to ghcr.io/headroomlabs-ai/headroom (:latest is currently v0.32.0).

Anyone following the README / install docs today therefore pulls an image ~5 minor versions stale. CI itself is healthy — the fix is purely documentation repointing at the live registry path.

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Performance improvement
  • Code refactoring (no functional changes)

Changes Made

  • Repointed ghcr.io/chopratejas/headroomghcr.io/headroomlabs-ai/headroom image references in user-facing docs: README.md, docs/content/docs/installation.mdx, docs/content/docs/docker-install.mdx, wiki/cli.md, wiki/docker-install.md, llms.txt, docker-compose.yml, and TESTING-copilot-subscription.md (14 lines across 8 files).
  • Intentionally left unchangedheadroom/install/state.py and tests/test_install/*: the deprecated chopratejas string there is the match target for the runtime manifest migration added in Persistent Docker deployments silently pin to dead chopratejas repo; no version-drift detection #2426, not a stale reference.
  • Intentionally left unchangedgithub.com / raw.githubusercontent.com URLs: these redirect after the transfer and still resolve (verified below), so they are not broken.
  • Did not touch CHANGELOG.md — it is generated by release-please from the Conventional Commit title.

Testing

  • Unit tests pass (pytest) — N/A, docs-only change, no code paths modified
  • Linting passes (ruff check .) — N/A, no Python changed
  • Type checking passes (mypy headroom) — N/A, no Python changed
  • New tests added for new functionality — N/A, no functional change
  • Manual testing performed — verified the new GHCR path resolves and the old one is stale (see below)

Test Output

$ for tag in latest 0.32.0; do
    new=$(curl -s -o /dev/null -w "%{http_code}" \
      "https://ghcr.io/v2/headroomlabs-ai/headroom/manifests/$tag" \
      -H "Authorization: Bearer $TOKEN_NEW" -H "Accept: application/vnd.oci.image.index.v1+json")
    old=$(curl -s -o /dev/null -w "%{http_code}" \
      "https://ghcr.io/v2/chopratejas/headroom/manifests/$tag" \
      -H "Authorization: Bearer $TOKEN_OLD" -H "Accept: application/vnd.oci.image.index.v1+json")
    printf 'tag %-8s  headroomlabs-ai=%s  chopratejas=%s\n' "$tag" "$new" "$old"
  done
tag latest    headroomlabs-ai=200  chopratejas=200
tag 0.32.0    headroomlabs-ai=200  chopratejas=404

# chopratejas:latest still returns 200 but resolves to a frozen image:
#   org.opencontainers.image.version = v0.27.0, created 2026-06-22
# chopratejas:0.32.0 (and 0.28.0-0.31.0) => 404: never published to the old path.
# headroomlabs-ai:latest => v0.32.0, promoted 2026-07-17.

Real Behavior Proof

  • Environment: anonymous GHCR pull tokens against ghcr.io/v2/... manifest API; upstream main at the time of writing.
  • Exact command / steps: curl the manifest endpoint for both registry paths (see Test Output); additionally fetched the :latest image config blob on each path and read org.opencontainers.image.version.
  • Observed result: old path chopratejas:latest = v0.27.0 (frozen 2026-06-22), version tags 0.28.00.32.0 all 404. New path headroomlabs-ai:latest = v0.32.0 (promoted 2026-07-17), 0.28.00.32.0 all present. github.com/chopratejas/headroom returns 301 → headroomlabs-ai, and raw.githubusercontent.com/chopratejas/.../install.sh still serves 200, confirming those URLs are not broken and were correctly left untouched.
  • Not tested: did not run a full docker pull of each variant image (registry manifest resolution is sufficient to prove the tag exists); no application/unit tests run since no code changed.

Review Readiness

  • I have performed a self-review
  • This PR is ready for human review

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works — N/A, docs-only, no code behavior changed
  • New and existing unit tests pass locally with my changes — no code changed; not re-run
  • I did not edit CHANGELOG.md — it is generated by release-please from my Conventional Commit PR title (a CI guard enforces this)

Screenshots (if applicable)

N/A — text/registry-path change only.

Additional Notes

  • The follow-up cleanup of the (still-working, redirecting) github.com / raw.githubusercontent.com/chopratejas URLs is deliberately out of scope here to keep this PR to the confirmed-broken references only.
  • Root cause context: CI is publishing every release correctly; the only defect was the docs pointing at the pre-transfer GHCR package that GitHub does not redirect.

The repo moved from the personal `chopratejas` account to the
`headroomlabs-ai` org. GitHub redirects `github.com` and
`raw.githubusercontent.com` URLs after a transfer, but GHCR does NOT
redirect the old package — `ghcr.io/chopratejas/headroom` is frozen at
v0.27.0 (2026-06-22), while every release since v0.28.0 publishes to
`ghcr.io/headroomlabs-ai/headroom` (verified: :latest = v0.32.0).

Anyone following the README / docs today pulls a ~5-versions-stale
image. Update the user-facing docs (README, docs mdx, wiki, llms.txt,
docker-compose, testing guide) to the live path.

Left intentionally unchanged:
- headroom/install/state.py + tests/test_install/* — the deprecated
  `chopratejas` string is the match target for the runtime migration
  added in headroomlabs-ai#2426.
- github.com / raw.githubusercontent.com URLs — these redirect and
  still resolve, so they are not broken.
- CHANGELOG.md — generated by release-please.
@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

PR governance

This PR does not yet satisfy the required template fields:

  • Fill in Real Behavior ProofEnvironment.
  • Fill in Real Behavior ProofExact command / steps.
  • Fill in Real Behavior ProofObserved result.
  • Fill in Real Behavior ProofNot tested.

Please update the PR body, or move the PR back to draft while it is still in progress.

@github-actions github-actions Bot added the status: needs author action Pull request body or readiness checklist still needs author updates label Jul 21, 2026

@JerrettDavis JerrettDavis left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks, this is scoped and correct. I verified the patch only updates user-facing Docker/GHCR examples to ghcr.io/headroomlabs-ai/headroom and leaves the deprecated ghcr.io/chopratejas/headroom references in the install migration/test coverage where they are still intentional sentinel values. git diff --check HEAD^..HEAD is clean, and the PR checks are green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: needs author action Pull request body or readiness checklist still needs author updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants