Skip to content

Release board: what shipped, one-tap prompts, Pages twin - #241

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/release-board
Aug 19, 2026
Merged

Release board: what shipped, one-tap prompts, Pages twin#241
Jammy2211 merged 1 commit into
mainfrom
feature/release-board

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Closes #239. Fourth repo of the readability arc; implements the intake prompt "PyAutoHands build dashboard with one-tap copy-for-Claude commands".

The release board

  • autohands/board.py — thin collect() (GitHub REST via gh api + PyPI JSON) + pure render(fmt = md | md-brief | html | json | badge), the Heart dashboard.py pattern. Strictly a past-tense record of execution — versions shipped, tags cut, train outcomes; "is it safe to release" defers (and links) to the Heart's board.
  • Honest data: versions come from the version-scheme-max git tag (the tags API is not date-ordered — live data surfaced a junk pull tag and a 2021 tag first); the ship date is the YYYY.M.D the version encodes (the tagged commit's date is the last commit, not the release). PyPI liveness/yank per version. Degraded API sections say "unavailable this render", never fabricate. Run durations use run_started_at so re-attempts don't report multi-day gaps.
  • One-tap 📋: header chips copy /release, /release rehearse, /release validate, /build; each failed train run copies /bug Release train: … — <run url>.
  • Firewall-clean: owner derived from git remote (release_run.py precedent); the library set is the new declared libraries: list in config/workspaces.yaml; test fixtures use fake names. All repos_sync legs green.
  • bin/autohands board verb (dispatcher 4-touch convention).

Publisher

release_board.yml: workflow_run after PyAuto Release + daily 05:30 UTC + dispatch → Pages page (configure-pages enablement: true creates the site on first deploy) + badge.json + step-summary board + the one-line README strip between <!-- hands:begin/end --> (self-commit, [skip ci], retry-on-tip).

README + declutter

  • README on the arc pattern: released badge, 4-line organ opening, "(mobile phone dashboard)" board paragraph, Latest release auto-strip, How PyAutoHands works (decide → rehearse → ship → workspaces follow → record published), CLI examples, pointers. The stale "Formerly PyAutoBuild… is being renamed" banner is gone (the rename shipped 2026-07; MIGRATION.md tense fixed, kept as the historical record).
  • AGENTS.md: banner condensed to a past-tense note; the executor-primitives prose now distinguishes CLI verbs from workflow-invoked modules (navigator.py etc. were listed ambiguously) and names bin/autohands help as the verb registry.
  • AI_POLICY.md + CONTRIBUTING.md.github/ (zero inbound refs; all four organs now match).

Verification

  • 324/324 tests (10 new in tests/test_board.py: every fmt renders, version-scheme ordering + dates, /bug prompts, degraded honesty, badge shape, html self-containment, owner parsing, Heart-link boundary).
  • Rendered against live APIs: all five libraries agree at 2026.8.17.1 shipped 2026-08-17, PyPI live; the train history matches gh run list including the two red runs.
  • After merge: dispatch release_board.yml → verify the live page, badge, and README strip.

🤖 Generated with Claude Code

autohands/board.py — thin collect (GitHub REST + PyPI JSON) + pure render
(md / md-brief / html / json / badge) on the Heart dashboard pattern. The
board is a past-tense record of execution: released versions from the
version-scheme-max git tag (the tags API is not date-ordered and the tagged
commit's date is not the ship date — the YYYY.M.D version string is), PyPI
liveness/yanks, the release train's recent runs (failed runs carry a
copyable /bug prompt with the run URL), the nightly cadence, and one-tap
chips for /release, /release rehearse, /release validate, /build. Owner is
derived from git remote and the library set from config/workspaces.yaml's
new libraries: list (tenant firewall — no instance facts in organ code).
Degraded API sections render 'unavailable', never fabricated.

bin/autohands board verb; release_board.yml publishes the Pages page +
badge.json + the README hands:begin/end strip after every 'PyAuto Release'
run, daily, and on demand (configure-pages enablement: true creates the
site on first deploy).

README rewritten on the arc pattern (stale 'Formerly PyAutoBuild' banner
dropped — the rename shipped 2026-07; released badge; Latest release
auto-strip; How PyAutoHands works; CLI examples); AGENTS.md banner tense +
verb-registry prose fixed; AI_POLICY/CONTRIBUTING moved under .github/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Jammy2211
Jammy2211 merged commit 6ef5fcd into main Aug 19, 2026
3 checks passed
@Jammy2211
Jammy2211 deleted the feature/release-board branch August 19, 2026 22:36
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.

feat: release board — what shipped, one-tap prompts, Pages twin

1 participant