feat(board): Pulse strip + profiling conductor reads the Pulse board (phase 3, PyAutoBrain#450) - #451
Merged
Merged
Conversation
…s drift on the Pulse board (PyAutoBrain#450) collect_pulse() composes the head counts table of PyAutoPulse/dashboard.md (Eyes-style, head_only) into a display-only Resume strip in md and html, linking the Pulse board; absent organ or board -> strip absent. Never in state.json. Test mirrors the Eyes strip, including the missing-file leg. Profiling conductor + skill name the Pulse board as where drift candidates and provenance are read (autolens_profiling owns producers/pins/policy); docs/organs/pulse.md gains the state.json/cockpit paragraph and phase 3. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… firewall, PyAutoBrain#450) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
Summary
Phase 3 of
profiling-organ-birth(PyAutoBrain#450, narrowed by the human 2026-10-02): the organ → Brain board interface for PyAutoPulse.board/_board.py:collect_pulse()strip composed exactly like the Cortex and Eyes strips — the head counts table ofPyAutoPulse/dashboard.md(projects, records, comparisons, drifted, refused pairs, cached, failed), rendered in Resume as markdown and HTML with a link to the Pulse board. Display-only: never enters the Brain'sstate.json. No Pulse checkout or no rendered board → the strip is absent, not a degraded morning.tests/test_board.py:"pulse"inSURFACE_KEYS, aPULSE_DASHBOARD_MDfixture (body table must not be counted), the strip test mirroring the Eyes one incl. missing-file → None.board/AGENTS.md: Resume row names the Cortex, Eyes and Pulse strips.AGENTS.md+skills/profiling/profiling.md: the Pulse board is where cross-project drift candidates and their provenance are read;autolens_profilingowns producers, pins and drift policy; a/profiling triage <comparison_key>prompt from a Pulse drift item names a row on the Pulse board to open before judging — thetriageverb itself takes no target (_profiling.pyuntouched).docs/organs/pulse.md: thestate.json/cockpit paragraph and the phase 3 row; stale "arrives in phase 2" wording moved to past tense.Companion: pyautolabs.github.io PR adds the Pulse cockpit card (independent; either order). The
autolens_profilingfeed-identity change is split todraft/feature/autolens_profiling/cockpit_feed_project_identity.md(blocked on another task's claim); the Brain never consumed that feed, so nothing transitions here.API Changes
Board surface gains the
pulsekey (board --json) and a Resume line. No public symbol changes;config/policy.yamluntouched (phase 2 addedboards: pulse).Test Plan
tests/test_board.py: 39 passedenv -u PYAUTO_MIND python3 -m pytest -q tests: 1142 passed--json→"pulse": {"Projects": 1, "Records": 159, "Comparisons": 145, "Drifted": 0, "Refused pairs": 0, "Cached": 0, "Failed": 0}; markdown- Pulse: projects 1 · records 159 · … — [Pulse board](https://pyautolabs.github.io/PyAutoPulse/);--htmlcontainsPulse boardanddata-organ="pulse"Full API Changes (for automation & release notes)
Added
board._board.collect_pulse(repo="PyAutoPulse"); data keypulse; Resume render lines (md + html)Removed
Migration
Generated by the PyAutoLabs agent workflow.
🤖 Generated with Claude Code