From 6b038e35fc893d41095c1caa18775971df954e51 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 20 Aug 2026 10:56:58 -0400 Subject: [PATCH] board: rename to 'PyAutoScientist Dashboard', publish markdown version (#13) Co-Authored-By: Claude Fable 5 --- .github/workflows/organism_board.yml | 7 ++++--- README.md | 4 ++-- scripts/organism_board.py | 21 +++++++++++---------- tests/test_organism_board.py | 6 +++--- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/.github/workflows/organism_board.yml b/.github/workflows/organism_board.yml index e90708f..84ec296 100644 --- a/.github/workflows/organism_board.yml +++ b/.github/workflows/organism_board.yml @@ -1,6 +1,6 @@ -name: Organism Board +name: Dashboard -# Publishes the organism board โ€” the umbrella ROUTER over the four organ +# Publishes the PyAutoScientist Dashboard โ€” the umbrella ROUTER over the four organ # dashboards (scripts/organism_board.py): one row per board with its own live # headline, a "where to work next" banner keyed off the Heart's verdict, # published to GitHub Pages + badge.json + the README strip between the @@ -28,7 +28,7 @@ concurrency: jobs: board: - name: Render + publish the organism board + name: Render + publish the dashboard runs-on: ubuntu-latest environment: name: github-pages @@ -46,6 +46,7 @@ jobs: python scripts/organism_board.py --html > _site/index.html python scripts/organism_board.py --badge > _site/badge.json python scripts/organism_board.py --md > board.md + cp board.md _site/dashboard.md python scripts/organism_board.py --md-brief > readme_strip.md - name: Write the board to the job step summary diff --git a/README.md b/README.md index bd4b477..f036f8a 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Natural language is therefore the primary development interface; agentic AI prov ๐Ÿ“– **Docs:** https://pyautoscientist.readthedocs.io ๐Ÿด **Adoption guide:** https://pyautoscientist.readthedocs.io/en/latest/adoption/guide.html -See the **[PyAutoScientist Organism Board](https://pyautolabs.github.io/PyAutoScientist/)** -(mobile phone dashboard) to watch the organism live and know where to work: it shows each +See the **[PyAutoScientist Dashboard](https://pyautolabs.github.io/PyAutoScientist/)** +to watch the organism live and know where to work: it shows each organ's own dashboard headline โ€” the [Mind's tasks](https://pyautolabs.github.io/PyAutoMind/), the [Heart's health verdict](https://pyautolabs.github.io/PyAutoHeart/), the [Hands' releases](https://pyautolabs.github.io/PyAutoHands/) and the diff --git a/scripts/organism_board.py b/scripts/organism_board.py index fa88cd4..743d56e 100644 --- a/scripts/organism_board.py +++ b/scripts/organism_board.py @@ -1,4 +1,4 @@ -"""scripts/organism_board.py โ€” the PyAutoScientist organism board. +"""scripts/organism_board.py โ€” the PyAutoScientist Dashboard. The umbrella ROUTER over the organism's live dashboards: one row per organ board โ€” Mind (tasks), Heart (health), Hands (releases), Memory (knowledge) โ€” @@ -112,19 +112,19 @@ def route_hint(snapshot: dict) -> str: word = heart_word(snapshot) if word in ("RED", "YELLOW"): return ("The Heart is " + word + - " โ€” start at the health board and fix what's blocking.") + " โ€” start at the PyAutoHeart Dashboard and fix what's blocking.") if word == "STALE": return ("Evidence gaps, nothing known-bad โ€” re-run checks via /health, " - "then pick a task on the Mind board.") + "then pick a task on the PyAutoMind Dashboard.") if word == "GREEN": - return "All clear โ€” pick a task on the Mind board." - return "Heart verdict unavailable โ€” check the health board first." + return "All clear โ€” pick a task on the PyAutoMind Dashboard." + return "Heart verdict unavailable โ€” check the PyAutoHeart Dashboard first." def _render_md(snapshot: dict) -> str: - lines = ["# PyAutoScientist organism board", "", + lines = ["# PyAutoScientist Dashboard", "", f"_{route_hint(snapshot)}_", "", - "| Board | Says | |", "|---|---|---|"] + "| Dashboard | Says | |", "|---|---|---|"] for b in snapshot.get("boards") or []: head = b.get("headline") or "unavailable" link = f"[{b['name']}]({b['url']})" if b.get("url") else b["name"] @@ -206,11 +206,12 @@ def _render_html(snapshot: dict) -> str: function fb(t){{window.prompt('Copy this:',t)}}
-

PyAutoScientist organism board

+

PyAutoScientist Dashboard

+

markdown version

{''.join(rows)}
-

Each row is that organ's own board speaking in its own - words โ€” open it to work there. ๐Ÿ“‹ copies the board's door command for a +

Each row is that organ's own dashboard speaking in its own + words โ€” open it to work there. ๐Ÿ“‹ copies the dashboard's door command for a Claude Code chat.

diff --git a/tests/test_organism_board.py b/tests/test_organism_board.py index fbdb34c..4bfaf7d 100644 --- a/tests/test_organism_board.py +++ b/tests/test_organism_board.py @@ -42,9 +42,9 @@ def _snap(heart="GREEN ยท 100", color="brightgreen"): def test_routing_follows_the_heart(): - assert "pick a task on the Mind board" in ob.route_hint(_snap("GREEN ยท 100")) - assert "start at the health board" in ob.route_hint(_snap("RED ยท 40")) - assert "start at the health board" in ob.route_hint(_snap("YELLOW ยท 70")) + assert "pick a task on the PyAutoMind Dashboard" in ob.route_hint(_snap("GREEN ยท 100")) + assert "start at the PyAutoHeart Dashboard" in ob.route_hint(_snap("RED ยท 40")) + assert "start at the PyAutoHeart Dashboard" in ob.route_hint(_snap("YELLOW ยท 70")) assert "re-run checks" in ob.route_hint(_snap("STALE ยท 65")) assert "unavailable" in ob.route_hint( {"boards": [{"name": "Heart", "headline": None}]})