diff --git a/board/_theme.py b/board/_theme.py
index a13939ba..cd8e4231 100644
--- a/board/_theme.py
+++ b/board/_theme.py
@@ -1002,17 +1002,19 @@ def orchestration_panel(key, title, description, prompt, *, work_links=(),
)
-def hero(key, kind, lede_html="", *, navigation=(), navigation_columns=None):
+def hero(key, kind, lede_html="", *, navigation=(), navigation_columns=None, display_name=None):
"""The masthead: the organ's logo re-drawn — mark, wordmark, rule, tagline.
`lede_html` is accepted for compatibility but not displayed.
`kind` remains accepted for compatibility with existing renderers.
The grey label describes the organ's function, from the shared metadata.
+ `display_name` optionally replaces the wordmark with escaped instance text.
"""
o = organ(key)
+ wordmark = f'{WORD}{o["organ"]}' if display_name is None else f'{_esc(display_name)}'
# Legacy prose arguments remain accepted for downstream compatibility.
return (f'{mark(key)}'
- f'{WORD}{o["organ"]}'
+ f'{wordmark}'
f'{o["function"]}
'
f'
'
f'{o["tagline"]}
'
diff --git a/docs/adoption/config_surfaces.md b/docs/adoption/config_surfaces.md
index 81e08387..6564fe81 100644
--- a/docs/adoption/config_surfaces.md
+++ b/docs/adoption/config_surfaces.md
@@ -8,6 +8,8 @@ framework organs is domain-free logic you pull from upstream.
| Surface | Organ | What it declares |
|---------|-------|------------------|
| `repos.yaml` | Mind (yours) | The body map — every repo's GitHub home, category, role. The single source the rest are checked against. |
+| Profile passed with `--instance` | Scientist | Opt-in instance name, canonical repository ID, Pages URL, project-config path and explicitly connected organs; see the [starter preview](https://github.com/PyAutoLabs/PyAutoScientist/blob/main/STARTER.md). |
+| Project configuration referenced by the profile | Scientist | Explicit project/resource relationships and public visibility; repository identity still comes from Mind. |
| `config/repos.yaml` | Heart | What to poll and gate: repo groups, required CI workflows, thresholds, dirty-file noise patterns. |
| `pre_build.sh` — the `run_workspace` table | Hands | One row per workspace: repo, package, flags, parent library. |
| `agents/faculties/sizing/_sizing.py` | Brain | The library/workspace repo sets and aliases used to size and route tasks. |
diff --git a/docs/adoption/guide.md b/docs/adoption/guide.md
index 8d501d12..fa6e4996 100644
--- a/docs/adoption/guide.md
+++ b/docs/adoption/guide.md
@@ -7,6 +7,15 @@ improvements cleanly forever after. There is deliberately no shared
deployment, no "generic edition", and no stability promise on `main` — see
{ref}`the disclaimer ` below.
+## Independent starter preview
+
+The Scientist adoption pilot now offers an opt-in, independently named empty
+[local dashboard preview](https://github.com/PyAutoLabs/PyAutoScientist/blob/main/STARTER.md).
+It separates instance identity and selected organ connections from the renderer,
+and does not require the full organ family. It does not yet bootstrap a working
+Mind or harness, activate organs or deploy an independent site. The existing
+full-stack walkthrough below remains separate from this smaller pilot path.
+
## Prerequisites — what PyAutoScientist *is*
These are the product, not incidental choices. If they don't fit how you
diff --git a/docs/board-navigation.md b/docs/board-navigation.md
index 6ee857c4..d6d8ef90 100644
--- a/docs/board-navigation.md
+++ b/docs/board-navigation.md
@@ -40,7 +40,10 @@ existing positional API. The optional keyword inserts
`navigation_cards(items, label='Board sections', columns=None)` directly after the masthead
and before the description. `section_layout(page, summaries=None)` composes the
finished owner HTML into the standard order, moving the orchestration panel above
-these cards. Existing `hero` callers retain their positional API.
+these cards. Existing `hero` callers retain their positional API. Its optional keyword-only
+`display_name` replaces the wordmark with escaped instance-owned text, leaving
+the organ mark, function and palette unchanged. Omitting it preserves the
+existing wordmark. Scientist uses it for independently named instance profiles.
Each item is a mapping with `href` and `label`, plus optional `count` and
`context`. Text is escaped. Destinations accept local anchors, relative links
diff --git a/tests/test_board_theme.py b/tests/test_board_theme.py
index ed880567..3d995c1d 100644
--- a/tests/test_board_theme.py
+++ b/tests/test_board_theme.py
@@ -546,3 +546,12 @@ def test_navigation_desktop_columns_are_opt_in_and_propagated_by_hero():
def test_navigation_columns_reject_invalid_values(columns):
with pytest.raises(ValueError):
_theme.navigation_cards([], columns=columns)
+
+
+def test_hero_instance_name_is_escaped_without_mutating_shared_branding():
+ original = _theme.hero('organism', 'Dashboard')
+ named = _theme.hero('organism', 'Dashboard', display_name='Mira & ')
+ assert 'Mira & <Research>' in named
+ assert _theme.MARKS['organism'] in named
+ assert _theme.ORGANS['organism']['function'] in named
+ assert _theme.hero('organism', 'Dashboard') == original