feat: defer broken manifest parse errors to preflight
lint / lint (push) Failing after 1m31s
test / unit (pull_request) Successful in 28s
test / integration (pull_request) Successful in 15s

Broken bottle/agent files no longer block the agent selector or prevent
unrelated agents from loading. Per-file parse errors are collected in
`Manifest.broken_agents`; the CLI selector includes them via
`all_agent_names`, and the error surfaces only when the specific agent
is selected and launch is attempted (in `require_agent`/`bottle_for`).

Closes #236
This commit is contained in:
2026-06-20 02:02:28 +00:00
parent 7a124d7d25
commit ca26ee35fe
7 changed files with 277 additions and 62 deletions
+1
View File
@@ -19,6 +19,7 @@ import bot_bottle.cli.tui as tui_mod
def _make_manifest(agent_names: list[str]):
manifest = MagicMock()
manifest.agents = {name: MagicMock() for name in agent_names}
manifest.all_agent_names = sorted(agent_names)
return manifest