Document container tag provenance and enhance container-list #263

Merged
eblume merged 1 commit from feature/container-tag-provenance into main 2026-02-24 09:54:59 -08:00
Owner

Summary

After investigating deployed container images, confirmed that squash-merging PRs orphans the commit SHAs embedded in container image tags. Two of our currently deployed images (prometheus, grafana) reference branch commits not on main.

This PR:

  • Documents the squash-merge SHA orphan problem and the post-merge workflow in build-container-image
  • Adds step 9 to the C1 process: after merging a PR that changes containers/, do a follow-up C0 to point manifests at the rebuilt [main] tag
  • Rewrites container-list as a uv run --script (typer + rich + httpx)
  • Adds optional container name filter (mise run container-list prometheus shows 10 tags instead of 4)
  • Annotates every tag with [main] or [branch] based on git commit ancestry

Test plan

  • mise run container-list — all containers shown with [main]/[branch] hints
  • mise run container-list prometheus — filtered view, more tags, correctly shows [main] and [branch]
  • mise run container-list nonexistent — error message with exit code 1
  • Pre-commit hooks pass
## Summary After investigating deployed container images, confirmed that squash-merging PRs orphans the commit SHAs embedded in container image tags. Two of our currently deployed images (prometheus, grafana) reference branch commits not on main. This PR: - Documents the squash-merge SHA orphan problem and the post-merge workflow in [[build-container-image]] - Adds step 9 to the C1 process: after merging a PR that changes `containers/`, do a follow-up C0 to point manifests at the rebuilt `[main]` tag - Rewrites `container-list` as a `uv run --script` (typer + rich + httpx) - Adds optional container name filter (`mise run container-list prometheus` shows 10 tags instead of 4) - Annotates every tag with `[main]` or `[branch]` based on git commit ancestry ## Test plan - [x] `mise run container-list` — all containers shown with `[main]`/`[branch]` hints - [x] `mise run container-list prometheus` — filtered view, more tags, correctly shows `[main]` and `[branch]` - [x] `mise run container-list nonexistent` — error message with exit code 1 - [x] Pre-commit hooks pass
- Add "Squash-merge and container tags" section to build-container-image docs
  explaining the orphan SHA problem and post-merge C0 workflow
- Add post-merge container step to C1 process in agent-change-process
- Rewrite container-list as uv run --script with typer and rich
- Add optional container name filter argument (shows more tags when filtered)
- Annotate tags with [main]/[branch] based on commit ancestry

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
eblume merged commit 1b9f706a30 into main 2026-02-24 09:54:59 -08:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!263
No description provided.