From 04dc1587fb343e802d7834481ea6cd6015c42d6d Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Sun, 11 Oct 2026 15:57:09 +0100 Subject: [PATCH] feat: put Scientist first in shared board navigation --- config/policy.yaml | 2 +- docs/board-navigation.md | 3 ++- tests/test_board_theme.py | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/config/policy.yaml b/config/policy.yaml index 2d7f637..05fc250 100644 --- a/config/policy.yaml +++ b/config/policy.yaml @@ -162,6 +162,7 @@ board: # (yaml) and by the Mind renderer's footer (stdlib regex on this block — # keep one `name: Repo` pair per line). boards: + organism: PyAutoScientist brain: PyAutoBrain mind: PyAutoMind cortex: PyAutoCortex @@ -176,4 +177,3 @@ board: nerves: PyAutoNerves broca: PyAutoBroca gut: PyAutoGut - organism: PyAutoScientist diff --git a/docs/board-navigation.md b/docs/board-navigation.md index 05eb786..6ee857c 100644 --- a/docs/board-navigation.md +++ b/docs/board-navigation.md @@ -31,7 +31,8 @@ arguments. Logos, wordmarks, taglines and banner styling are unchanged. | Scientist | Overview | The shared navigation follows `config/policy.yaml` → `board.boards`, with Broca -immediately after Nerves. Consumers adopt these labels and this order when their +immediately after Nerves and Scientist first. Every board’s footer excludes its +own entry; Scientist’s organ footer sits below its dashboard cards. Consumers adopt these labels and this order when their boards are regenerated with the updated Brain checkout. `board/_theme.py::hero(key, kind, lede_html='', navigation=(), navigation_columns=None)` retains its diff --git a/tests/test_board_theme.py b/tests/test_board_theme.py index 5e80cdd..ed88056 100644 --- a/tests/test_board_theme.py +++ b/tests/test_board_theme.py @@ -285,8 +285,8 @@ def test_board_links_reads_the_declared_family_in_file_order(): # ad-hoc order). This helper is the one read, so the order it returns is # the order `config/policy.yaml` declares — the ruled organ order. links = _theme.board_links("https://example.invalid") - assert list(links) == ["brain", "mind", "cortex", "memory", "eyes", "ears", - "heart", "hands", "pulse", "insight", "dna", "nerves", "broca", "gut", "organism"] + assert list(links) == ["organism", "brain", "mind", "cortex", "memory", "eyes", "ears", + "heart", "hands", "pulse", "insight", "dna", "nerves", "broca", "gut"] assert list(links) == POLICY_BOARDS assert links["cortex"] == "https://example.invalid/PyAutoCortex/" @@ -308,8 +308,8 @@ def test_board_links_renders_the_family_footer_end_to_end(): footer = _theme.boards_footer( _theme.board_links("https://example.invalid", "heart"), "heart") order = re.findall(r'data-organ="(\w+)"', footer) - assert order == ["brain", "mind", "cortex", "memory", "eyes", "ears", "hands", - "pulse", "insight", "dna", "nerves", "broca", "gut", "organism"] + assert order == ["organism", "brain", "mind", "cortex", "memory", "eyes", "ears", "hands", + "pulse", "insight", "dna", "nerves", "broca", "gut"] def test_board_links_returns_nothing_when_the_config_is_unreadable():