From 2a87f807fef5f334517ce6f2e3d40bade423b9b0 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 23 Aug 2026 16:52:43 +0000 Subject: [PATCH] memory: cross-board footer nav on the knowledge board MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The one-tap board family (mind, brain, heart, hands, organism) as a footer nav โ€” every board now links its siblings, each skipping its own entry. Owner from the snapshot as elsewhere. Co-Authored-By: Claude --- scripts/board.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/scripts/board.py b/scripts/board.py index 30c4f45..671eafd 100644 --- a/scripts/board.py +++ b/scripts/board.py @@ -297,6 +297,21 @@ def _repo_url(snapshot: dict) -> str: return f"https://github.com/{owner}/{repo}" if owner and repo else "" +# The one-tap board family โ€” the cross-board footer nav every board carries, +# each board skipping its own entry. Owner comes from the snapshot. +BOARD_FAMILY = (("mind", "PyAutoMind"), ("brain", "PyAutoBrain"), + ("heart", "PyAutoHeart"), ("hands", "PyAutoHands"), + ("organism", "PyAutoScientist")) + + +def _boards_nav(snapshot: dict) -> str: + owner = str(snapshot.get("owner") or "").lower() + if not owner: + return "" + return " ยท ".join(f'{name}' + for name, repo in BOARD_FAMILY) + + def _read_prompt(snapshot: dict, section: str) -> str: repo = snapshot.get("repo") or "the memory repo" return (f"Work through the next paper in the '## {section}' section of " @@ -579,6 +594,7 @@ def _render_html(snapshot: dict) -> str: {''.join(wiki_rows)}
Rendered by scripts/board.py from the checkout โ€” nothing here is committed; generated {_html.escape(str(snapshot.get('generated') or '?'))}.
+

Boards: {_boards_nav(snapshot)}

"""