Skip to content

board: render the Heart's gap remedies and its whole-tier plan - #276

Merged
Jammy2211 merged 1 commit into
mainfrom
claude/pyautoheart-stale-r4swxg
Aug 25, 2026
Merged

board: render the Heart's gap remedies and its whole-tier plan#276
Jammy2211 merged 1 commit into
mainfrom
claude/pyautoheart-stale-r4swxg

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

The consumer half of PyAutoLabs/PyAutoHeart#177. The Heart now publishes, per evidence gap, the command that re-runs the check behind it, and one stale_plan that closes every current gap (board.json schema v3).

What changed

  • board/_board.pyextract_heart_blockers forwards each blocker's command; a new extract_heart_plan lifts stale_plan into data["heart_plan"]. The Readiness & release section renders both: a 📋 row carrying the plan's prompt, a ⌨ row carrying its command chain when the Heart could offer one, and each gap's own command in the digest and the json surface.
  • The digest spends one line on the tier rather than one per gap, pointing at pyauto-heart fix stale when there is no chain to run.
  • Docs: board/AGENTS.md (the section's source-and-doors row), agents/faculties/vitals/HEART_CAPABILITIES.md and the vitals AGENTS.md recommendation step — quote the remedy Heart publishes, never compose one.

Invariants held

Everything here is rendered verbatim; the Brain derives no remedy of its own, exactly as it already treats the Heart's /bug prompts and its performance block. A Heart board without the new fields renders precisely as before (heart_plan is None, no extra rows) — covered by a test.

Testing

pytest tests/ -q → 494 passed, including 3 new board tests: the plan's own prompt is the chip payload, a plan with a command chain gets the ⌨ terminal chip, and a board with no plan renders none.

Merge after PyAutoHeart#177 so the published surface exists — though nothing here requires it: the fields are optional on the read side.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WY6Q2fZquoDQijLD6PXtAT


Generated by Claude Code

The Heart now publishes, per evidence gap, the command that re-runs the
check behind it, and one `stale_plan` that closes every current gap
(board.json v3). The Readiness & release section renders both: a 📋 row
carrying the plan's prompt, a ⌨ row carrying its command chain when the
Heart could offer one, and each gap's own command forwarded into the
digest and the json surface. Rendered verbatim — the Brain never derives
a remedy of its own.

The digest spends one line on the tier rather than one per gap, pointing
at `pyauto-heart fix stale` when there is no chain to run. A Heart board
without the field renders exactly as before.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WY6Q2fZquoDQijLD6PXtAT
@Jammy2211
Jammy2211 merged commit 7ebd8f1 into main Aug 25, 2026
2 checks passed
@github-actions
github-actions Bot deleted the claude/pyautoheart-stale-r4swxg branch August 25, 2026 14:09
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