Skip to content

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

Merged
teknium1 merged 3 commits into
mainfrom
revert/goal-checklist-feature
May 11, 2026
Merged

revert: roll back /goal checklist + /subgoal feature stack#23813
teknium1 merged 3 commits into
mainfrom
revert/goal-checklist-feature

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Reverts the three PRs that introduced the Phase A/B checklist judge and /subgoal user controls:

Why

Live failure on a real workload (Hermetic Codex modpack goal). Symptoms over 8+ continuation turns:

  • Judge stuck at 0/25 done despite increasingly thorough evidence (validator runs, public-internet URLs at HTTP 200, full SKILL.md surfaced, byte counts, DAG topo-sort proofs, 248-row inventory)
  • Status line stamping continuing (N/20 — 0/25 done): no reason provided — empty reason field means the judge wasn't actually advancing items even when not parse-failing
  • Agent self-stopped after the eighth turn explicitly calling out the harness as broken

The harshness/decomposition design has a fundamental dynamic the implementation didn't solve: when the judge produces a long, picky checklist the agent cannot easily produce evidence the judge will credit, the loop spins indefinitely while the user pays opus rates per turn. Even with tool-call enforcement (#23547) the judge would emit updates=0 and the loop kept going.

Reverting puts /goal back on the freeform Ralph-loop judge that shipped in #18262, which the user reports working. Re-design needed before re-attempting.

Validation

scripts/run_tests.sh tests/hermes_cli/test_goals.py tests/cli/test_cli_goal_interrupt.py tests/gateway/test_goal_verdict_send.py tests/gateway/test_goal_max_turns_config.py tests/tui_gateway/test_goal_command.py → 59 passed (matches pre-checklist baseline).

Workspace clean — no /subgoal, ChecklistItem, decompose_goal, or evaluate_checklist references remain in non-test code.

@teknium1 teknium1 merged commit 3e7145e into main May 11, 2026
12 of 15 checks passed
@teknium1 teknium1 deleted the revert/goal-checklist-feature branch May 11, 2026 14:06
@github-actions

Copy link
Copy Markdown
Contributor

🔎 Lint report: revert/goal-checklist-feature vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 8118 on HEAD, 8158 on base (✅ -40)

🆕 New issues: none

✅ Fixed issues (11):

Rule Count
invalid-assignment 4
unresolved-attribute 4
invalid-argument-type 3
First entries
tests/hermes_cli/test_goals.py:1032: [invalid-assignment] invalid-assignment: Object of type `Literal[True]` is not assignable to attribute `decomposed` on type `GoalState | None`
tests/gateway/test_goal_verdict_send.py:143: [invalid-argument-type] invalid-argument-type: Argument to function `save_goal` is incorrect: Expected `GoalState`, found `GoalState | None`
tests/cli/test_cli_goal_interrupt.py:65: [invalid-argument-type] invalid-argument-type: Argument to function `save_goal` is incorrect: Expected `GoalState`, found `GoalState | None`
tests/hermes_cli/test_goals.py:905: [unresolved-attribute] unresolved-attribute: Attribute `decomposed` is not defined on `None` in union `GoalState | None`
tests/gateway/test_goal_verdict_send.py:141: [invalid-assignment] invalid-assignment: Object of type `Literal[True]` is not assignable to attribute `decomposed` on type `GoalState | None`
tests/hermes_cli/test_goals.py:1111: [unresolved-attribute] unresolved-attribute: Attribute `goal` is not defined on `None` in union `GoalState | None`
tests/hermes_cli/test_goals.py:1038: [invalid-argument-type] invalid-argument-type: Argument to function `save_goal` is incorrect: Expected `GoalState`, found `GoalState | None`
tests/hermes_cli/test_goals.py:1033: [invalid-assignment] invalid-assignment: Object of type `list[ChecklistItem]` is not assignable to attribute `checklist` on type `GoalState | None`
tests/cli/test_cli_goal_interrupt.py:63: [invalid-assignment] invalid-assignment: Object of type `Literal[True]` is not assignable to attribute `decomposed` on type `GoalState | None`
tests/hermes_cli/test_goals.py:1114: [unresolved-attribute] unresolved-attribute: Attribute `checklist` is not defined on `None` in union `GoalState | None`
tests/hermes_cli/test_goals.py:947: [unresolved-attribute] unresolved-attribute: Attribute `resolve` is not defined on `None` in union `Path | None`

Unchanged: 4277 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@daimon-nous daimon-nous Bot added type/refactor Code restructuring, no behavior change P2 Medium — degraded but workaround exists comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery comp/agent Core agent loop, run_agent.py, prompt builder labels May 11, 2026
rmulligan pushed a commit to rmulligan/hermes-agent that referenced this pull request May 11, 2026
…rch#23813)

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

This reverts commit a63a2b7.

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

This reverts commit 4a080b1.

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

This reverts commit 404640a.
JinyuID pushed a commit to JinyuID/hermes-agent that referenced this pull request May 11, 2026
…rch#23813)

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

This reverts commit d7d4d91.

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

This reverts commit 0398de7.

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

This reverts commit b968856.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…rch#23813)

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

This reverts commit a63a2b7.

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

This reverts commit 4a080b1.

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

This reverts commit 404640a.
jsboige pushed a commit to jsboige/hermes-agent that referenced this pull request May 14, 2026
…rch#23813)

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

This reverts commit 4e224c0.

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

This reverts commit f7865f8.

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

This reverts commit be5fc05.
heybenn42 pushed a commit to heybenn42/hermes-agent that referenced this pull request May 15, 2026
* upstream/main: (1099 commits)
  chore: ruff auto-fix C401, C416, C408, PLR1722 (NousResearch#23940)
  feat(prompt-cache): cross-session 1h prefix cache for Claude on Anthropic / OpenRouter / Nous Portal (NousResearch#23828)
  chore: ruff auto-fix PLR6201 — tuple → set in membership tests (NousResearch#23937)
  chore(release): add AUTHOR_MAP entry for wuli666
  fix(auxiliary): evict async wrappers on poisoned client (follow-up to NousResearch#23482)
  fix(cli,tui): align CJK / wide-char markdown tables (NousResearch#23863)
  chore: ruff auto-fixes — collapsible-else-if, if-stmt-min-max, dict.fromkeys (NousResearch#23926)
  fix(/model): surface Nous Portal models from remote catalog manifest (NousResearch#23912)
  fix(cli): defensive _slash_confirm_state access + AUTHOR_MAP
  fix: use TUI modal for slash confirmations
  rebuild model catalog
  fix(dashboard): validate dist exists when --skip-build is set
  fix(dashboard): fallback to stale dist, retry build, add --skip-build flag
  chore: AUTHOR_MAP entry for VinceZcrikl noreply (NousResearch#23647)
  fix: make web UI build output decoding robust on Windows
  fix(agent): catch ChatGPT-account Codex data-URL rejection so images are stripped instead of cascading to compression (NousResearch#23602)
  revert: roll back /goal checklist + /subgoal feature stack (NousResearch#23813)
  chore: AUTHOR_MAP entries for sudo-hardening salvage contributors
  fix(approval): catch sudo with stdin/askpass/shell privilege flags
  fix(terminal): block sudo -S password guessing when SUDO_PASSWORD is not set
  ...
marozau pushed a commit to marozau/hermes-agent that referenced this pull request May 15, 2026
Upstream reverted the checklist / subgoal feature stack (NousResearch#23813),
replacing it with a simpler subgoals system.  We keep our version
with the full checklist judge, tool-based evaluation, reasoning
extraction, and LiteLLM provider support.

Auto-merged cleanly: cli.py, gateway/, run_agent.py, hermes_state.py,
tools/, tui_gateway/, and 50+ other files.
AlexFoxD pushed a commit to AlexFoxD/hermes-agent that referenced this pull request May 21, 2026
…rch#23813)

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

This reverts commit a63a2b7.

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

This reverts commit 4a080b1.

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

This reverts commit 404640a.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…rch#23813)

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

This reverts commit a63a2b7.

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

This reverts commit 4a080b1.

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

This reverts commit 404640a.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/agent Core agent loop, run_agent.py, prompt builder comp/cli CLI entry point, hermes_cli/, setup wizard comp/gateway Gateway runner, session dispatch, delivery P2 Medium — degraded but workaround exists type/refactor Code restructuring, no behavior change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant