From afa8cd5dd9da42ce32be5a9e6d0140e9b17bcf4a Mon Sep 17 00:00:00 2001 From: didericis Date: Thu, 25 Jun 2026 08:07:12 -0400 Subject: [PATCH] fix(start): show bottle lineage root-first with -> arrows Co-Authored-By: Claude Opus 4.8 --- bot_bottle/cli/start.py | 4 ++-- tests/unit/test_cli_start_selector.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bot_bottle/cli/start.py b/bot_bottle/cli/start.py index 81ca923..0d9a388 100644 --- a/bot_bottle/cli/start.py +++ b/bot_bottle/cli/start.py @@ -274,7 +274,7 @@ def _bottle_lineage(manifest: ManifestIndex) -> dict[str, str]: """Return {bottle_name: lineage_label} for bottles that have an extends chain. Bottles without a parent are omitted (the caller falls back to the bare name). - Labels show the chain root-first: e.g. 'claude-dev <- bot-bottle-dev <- dev'.""" + Labels show the chain root-first: e.g. 'dev -> bot-bottle-dev -> claude-dev'.""" if manifest.home_md is None: return {} bottles_dir = manifest.home_md / "bottles" @@ -305,7 +305,7 @@ def _bottle_lineage(manifest: ManifestIndex) -> dict[str, str]: chain.append(par) seen.add(par) cur = par - labels[name] = " <- ".join(reversed(chain)) + labels[name] = " -> ".join(reversed(chain)) return labels diff --git a/tests/unit/test_cli_start_selector.py b/tests/unit/test_cli_start_selector.py index e429a23..b091bfb 100644 --- a/tests/unit/test_cli_start_selector.py +++ b/tests/unit/test_cli_start_selector.py @@ -280,8 +280,8 @@ class TestBottleLineage(unittest.TestCase): result = start_mod._bottle_lineage(manifest) self.assertNotIn("base", result) # no parent → not in map - self.assertEqual("base <- mid", result["mid"]) - self.assertEqual("base <- mid <- leaf", result["leaf"]) + self.assertEqual("base -> mid", result["mid"]) + self.assertEqual("base -> mid -> leaf", result["leaf"]) def test_cycle_protection(self): import tempfile @@ -301,7 +301,7 @@ class TestBottleLineage(unittest.TestCase): # Cycle must not hang; each should get a two-element chain. for name in ("a", "b"): self.assertIn(name, result) - self.assertIn("<-", result[name]) + self.assertIn("->", result[name]) class TestManifestToYaml(unittest.TestCase):