Actionable health board: one-tap prompts, links, dev-box publish - #152
Merged
Conversation
The board's blockers are now structured ({text, severity, repo, run url,
prompt}): the Pages html carries one-tap 📋 buttons copying ready-made
/bug prompts plus repo/run links (the PyAutoMind dashboard pattern), md
links them with collapsed copyable prompts, and json (schema v2) carries
them verbatim. Grey 'not observed here' rows now say what they watch and
copy the observe command; a new 'pyauto-heart publish' distills the dev
box's local-only families into state/devbox_board.json (local paths
scrubbed) so the cloud page fills in, age-stamped, expiring after 48h.
New --md-brief renders the README strip (verdict + linked blockers +
board link) that replaces the full table between the heart markers.
README restructured on the Mind pattern (organ opening, How PyAutoHeart
works, CLI examples); new REFERENCE.md absorbs health_agent/capabilities.md;
AI_POLICY/CONTRIBUTING move under .github/; the stale PyAutoBuild boundary
audit is retired.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The board's repo/run links take their GitHub owner from the declared config surface (config/repos.yaml owner:), never a literal in organ code; test fixtures use fake names / a derived URL for the same reason. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Aug 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #151. The Heart-board leg of the one-tap dashboard rollout (PyAutoMind pattern), per the approved plan.
The board becomes actionable
"repo: problem"convention) and the cached failing-run URL (ci_status.url), and carries a copyable prompt:/bug Heart board: <reason> — failing run: <url>(stale reasons get a/healthre-run nudge instead, honouring "re-run, don't fix").window.promptfallback) on each blocker and actionable row; repo +run ↗links; palette untouched. Failing repo-group rows link their runs too.<details>of fenced blocks (GitHub's fenced-code copy button makes each one one-tap on the web).blockers, per-sectionlinks/action/observed_ago.pyauto-heart fix drift/fix timing <project>actions.Dev-box rows become usable
pyauto-heart tick && pyauto-heart publish.pyauto-heart publish(heart/publish.py): distills the LOCAL board's local-only families intostate/devbox_board.json— states/summaries/counts only, detail lines naming local filesystem paths are scrubbed (test-pinned) — then commits+pushes to main (branch-guarded, rebase-retry). Observer rule holds: Heart writes only its own repo.README + declutter
heart:begin/endblock becomes a brief strip (new--md-brief: verdict + linked blockers + board link); the full table lives on the Pages board and the step summary.REFERENCE.md(CLI table, run model, state layout, verdict tiers incl. STALE, publish flow) absorbshealth_agent/capabilities.md; the stalepyautobuild_boundary_audit.mdis retired;AI_POLICY.md/CONTRIBUTING.mdmove under.github/(zero inbound references; mirrors PyAutoMind #248).heart-health.yml: README step uses--md-brief; the[heart-health]issue body links failing runs.Deviation from the plan's detail:
fix.pyneeded no builder extraction — the board's payloads are short slash-prompts/commands, and the long context-bundling prompts stayfix.py's job.Verification
pytest tests/— 495 passed (11 new tests: blocker structure, html copy payloads, md links, md-brief, unobs actions, devbox merge fresh/stale/no-override, publish distillation + privacy scrub + round-trip).--cloud --md,--md-brief, and--cloud --devbox <dry-run output> --html→ rows show "observed 3h ago on the dev box".src=/<link/fetch; every URL sits in anhref) — inline script is required by the clipboard buttons.After merge:
workflow_dispatchheart-health.yml, verify the live page/badge/README strip, then runpyauto-heart publishfrom the dev box and re-dispatch to see the age-stamped rows live.🤖 Generated with Claude Code