revert: roll back /goal checklist + /subgoal feature stack (#23813)

* Revert "fix(goals): force judge to use tool calls instead of JSON-text replies (#23547)"

This reverts commit a63a2b7c78.

* Revert "fix(goals): forward standing /goal state on auto-compression session rotation (#23530)"

This reverts commit 4a080b1d5a.

* Revert "feat(goals): /goal checklist + /subgoal user controls (#23456)"

This reverts commit 404640a2b7.
This commit is contained in:
Teknium 2026-05-11 07:06:27 -07:00 committed by GitHub
parent 1d4a4997b1
commit 3e7145e0bb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 113 additions and 2487 deletions

View file

@ -58,11 +58,6 @@ def _make_cli_with_goal(session_id: str, goal_text: str = "build a thing"):
mgr = GoalManager(session_id=session_id, default_max_turns=5)
mgr.set(goal_text)
# Skip Phase-A decompose so tests can patch judge_goal_freeform directly
# for legacy verdict assertions.
mgr.state.decomposed = True
from hermes_cli.goals import save_goal as _sg
_sg(mgr.session_id, mgr.state)
cli._goal_manager = mgr
return cli, mgr
@ -86,7 +81,7 @@ class TestInterruptAutoPause:
# Judge MUST NOT run on an interrupted turn. If it does, we've
# regressed — fail loudly instead of silently querying a mock.
with patch("hermes_cli.goals.judge_goal_freeform") as judge_mock:
with patch("hermes_cli.goals.judge_goal") as judge_mock:
judge_mock.side_effect = AssertionError(
"judge_goal called on an interrupted turn"
)
@ -111,7 +106,7 @@ class TestInterruptAutoPause:
cli.conversation_history = [
{"role": "assistant", "content": "partial"},
]
with patch("hermes_cli.goals.judge_goal_freeform"):
with patch("hermes_cli.goals.judge_goal"):
cli._maybe_continue_goal_after_turn()
assert mgr.state.status == "paused"
@ -130,7 +125,7 @@ class TestEmptyResponseSkip:
{"role": "assistant", "content": " \n\n "},
]
with patch("hermes_cli.goals.judge_goal_freeform") as judge_mock:
with patch("hermes_cli.goals.judge_goal") as judge_mock:
judge_mock.side_effect = AssertionError(
"judge_goal called on an empty response"
)
@ -149,7 +144,7 @@ class TestEmptyResponseSkip:
{"role": "user", "content": "go"},
]
with patch("hermes_cli.goals.judge_goal_freeform") as judge_mock:
with patch("hermes_cli.goals.judge_goal") as judge_mock:
judge_mock.side_effect = AssertionError(
"judge_goal called without an assistant response"
)
@ -174,7 +169,7 @@ class TestHealthyTurnStillRuns:
# Force the judge to say "continue" without touching the network.
with patch(
"hermes_cli.goals.judge_goal_freeform",
"hermes_cli.goals.judge_goal",
return_value=("continue", "needs more steps", False),
):
cli._maybe_continue_goal_after_turn()
@ -194,7 +189,7 @@ class TestHealthyTurnStillRuns:
]
with patch(
"hermes_cli.goals.judge_goal_freeform",
"hermes_cli.goals.judge_goal",
return_value=("done", "goal satisfied", False),
):
cli._maybe_continue_goal_after_turn()