Repository navigation
feat(board): knowledge board emits the state.json cockpit feed (#104) - #105
Merged
Merged
Conversation
scripts/board.py gains to_state() plus --state / fmt="state": a projection of the same snapshot the board renders, in the Brain's cockpit contract v1. grey when no wiki pages are observed, yellow on a stale inbox/interests digest, pending filings, or stubs/TODO keys; else green. No red: nothing in the Memory can break. Rows carry the board's own prompts and issue links. knowledge_board.yml publishes _site/state.json beside badge.json and fails the job if it drifts from the contract (PyAutoBrain/board/_state.py). 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
Organ cockpit bundle member (PyAutoMemory#104; sibling PyAutoHands#289; epic organ-cockpit, contract from PyAutoBrain#416): the Memory knowledge board publishes the shared
state.jsoncockpit feed next tobadge.jsonand validates it inknowledge_board.ymlagainst the Brain contract (PyAutoBrain/board/_state.py, already checked out in the job). Mirror of PyAutoHeart#238.API Changes
scripts/board.py:to_state(snapshot),render(..., "state"),--stateflag beside--badge. Status: grey when no pages were observed; yellow for a stale arXiv inbox/interests digest, filings awaiting merge, or any wiki with stubs/TODOs; else green. Memory has no red condition (nothing can break) — documented. Items: stale digests and filings → yellow; one info row per wiki (<wiki>: N stubs, M todos, tree link,_todo_prompt/_stub_prompt); up to 5 waiting inbox papers → info with their queue-issue link..github/workflows/knowledge_board.yml:python scripts/board.py --state > _site/state.json; new step "Validate the cockpit feed against the Brain contract" (fails the job on drift).See full details below.
Test Plan
env -u PYAUTO_BRAIN pytest tests -q— 219 passed (9 new). With activate.sh'sPYAUTO_BRAINexported,test_theme_finds_grouped_brain_from_outer_workspacefails on main too (the test never unsets the env var) — pre-existing, out of scope, noted for a follow-upstate: okon the real tree (yellow: both arXiv digests stale) and on the empty tree (grey)knowledge_board.ymlrun green withstate: ok;curl https://pyautolabs.github.io/PyAutoMemory/state.json | python board/_state.py -Full API Changes (for automation & release notes)
Added
scripts/board.py—STATE_SCHEMA_VERSION,STATE_STATUSES,_STATE_INBOX_CAP = 5,_iso_z,_clip,to_state(snapshot)(pages_urlfalls back to./andrepotoPyAutoMemoryfor remote-less checkouts),fmt="state",--statetests/test_board.py— 9 tests (contract shape, Z stamp, stub/todo rows carry a prompt, inbox cap, green, stale inbox → yellow, filings → yellow, empty → grey, render fmt);"state"added totest_every_fmt_rendersRemoved
Migration
badge.jsonunchangedHeart RED override (development only)
Heart readiness is RED (snapshot 2026-09-26T11:27:07+00:00). Verbatim reason string:
release validation FAILED (stage integrate)Pre-existing release-integrate failure, unrelated to this diff (board renderer, its tests and the board workflow only). Branch gates passed as listed above.
Human authorization (live, this session, 2026-09-26, for PyAutoMemory#104): "ok io authorize you to continue" — development shipping + merge on green checks; no release
Generated by the PyAutoLabs agent workflow.
🤖 Generated with Claude Code