feat: Decide mode — a tie-breaker that settles choices instead of listing options
Brian's bottleneck is committing, not generating options, so a pros/cons dump makes it worse. Decide mode's card: get the real decision crisp, weigh it against what HE values + past regrets (pull running_stats/recent_sessions for poker/money calls), MAKE the call with the one or two reasons that tip it, pressure-test it once, and stand behind it — no "it's up to you." Read-only lookups, no live logging. Sixth mode (Talk/Poker/Build/Explore/Study/Decide); added to UI selectors, labels, badge-cycle. Suite 96 green, ruff clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -50,7 +50,11 @@ def test_every_mode_tool_exists(lyra):
|
||||
def test_work_modes_present_and_gated(lyra):
|
||||
_, _, modes, tools = lyra
|
||||
# the full set Brian chose
|
||||
assert set(modes.MODES) == {"conversation", "poker_cash", "build", "explore", "study"}
|
||||
assert set(modes.MODES) == {"conversation", "poker_cash", "build", "explore", "study", "decide"}
|
||||
# Decide = read-only lookups for context, no live logging; has a real card
|
||||
decide = _names(tools.specs(modes.DECIDE.tools))
|
||||
assert {"running_stats", "recent_sessions"} <= decide and "log_hand" not in decide
|
||||
assert modes.DECIDE.card
|
||||
# Build/Explore are conversational: base agency tools only, no live poker logging
|
||||
for key in ("build", "explore"):
|
||||
names = _names(tools.specs(modes.get(key).tools))
|
||||
|
||||
Reference in New Issue
Block a user