PRD: Separate agent and bottle selection #270

Merged
didericis merged 8 commits from separate-agent-bottle-selection into main 2026-06-25 16:40:54 -04:00
2 changed files with 5 additions and 5 deletions
Showing only changes of commit ca910f8f4f - Show all commits
+2 -2
View File
@@ -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
+3 -3
View File
@@ -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):