Skip to content

fix(cron,kanban): effort edit reaches fallback entries; complete refusals name the reason (t_ef1ba08b) - #1185

Merged
ang-fleet-lander[bot] merged 2 commits into
mainfrom
fix/cron-effort-fallback-t_ef1ba08b
Sep 27, 2026
Merged

ang-fleet-lander[bot] merged 2 commits into
mainfrom
fix/cron-effort-fallback-t_ef1ba08b

Conversation

@Kyzcreig

@Kyzcreig Kyzcreig commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Card: t_ef1ba08b (papercuts #4, items 2 and 3).

Cron effort vs fallbacks. A job fallback entry with its own reasoning_effort overrides the job pin on the fallback turn (agent/chat_completion_helpers.py, NousResearch#21256). So hermes cron edit --reasoning-effort low left xhigh fallbacks running xhigh. On 09-25 two crons kept xhigh this way.

  • cron/jobs.update_job: setting the pin also rewrites every fallback entry that has an explicit effort (list or single-dict form). Entries without one already inherit the pin. Clearing the pin ("") leaves entries alone. An update that supplies fallback itself wins.
  • cron edit now prints one line per fallback entry: a -> b, inherits the job effort, or NOT touched, keeps its own reasoning_effort 'x'.

kanban complete refusal. New kanban_db.explain_complete_refusal() returns one of:

  • already done by <profile> at <local time>, outcome <o>
  • unknown id
  • a stale-run message
  • a status message
  • a parents-not-done message

hermes kanban complete and the kanban_complete tool use it in place of unknown id or terminal state.

Verified

  • tests/cron/test_per_job_reasoning_effort.py: 19 passed. The 2 new rewrite tests fail with the jobs.py change stashed.
  • tests/hermes_cli/test_kanban_complete_refusal.py: 3 passed.
  • CLI e2e on a temp home:
    • cron edit printed Fallback[0] openai-codex/gpt-x: reasoning_effort xhigh -> low / Fallback[1] ...: inherits the job effort.
    • A second kanban complete printed cannot complete t_c8ef215d: already done by daedalus at 2026-09-25 18:28:55 PDT, outcome completed.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…sals name the reason (t_ef1ba08b)

- cron/jobs.update_job: setting reasoning_effort rewrites every job fallback
  entry that carries its own explicit reasoning_effort (list or single-dict
  form); entries without one already inherit. Clearing the pin leaves entries.
- cron edit --reasoning-effort prints each fallback entry: changed a -> b,
  inherits, or NOT touched (keeps its own value).
- kanban_db.explain_complete_refusal: 'already done by <profile> at <time>,
  outcome <o>' / 'unknown id' / stale run / status / parents; used by
  hermes kanban complete and the kanban_complete tool instead of
  'unknown id or terminal state'.

Verified: tests/cron/test_per_job_reasoning_effort.py 19 passed (2 new
fallback tests red with jobs.py reverted); test_kanban_complete_refusal.py
3 passed; CLI e2e on a temp home.
@Kyzcreig
Kyzcreig force-pushed the fix/cron-effort-fallback-t_ef1ba08b branch from ccb0bc8 to c10ff08 Compare September 27, 2026 13:02
@ang-fleet-lander

Copy link
Copy Markdown

🤖 merged-by: apollo · lane: review · gate: BYPASS: FleetReview advisory (Ace 2026-09-27 05:39), not a merge gate · why: Apollo drain review APPROVE (t_ef1ba08b): cron edit --reasoning-effort rewrites explicit fallback efforts; kanban complete refusals name the reason. Matches card

@ang-fleet-lander
ang-fleet-lander Bot added this pull request to the merge queue Sep 27, 2026
Merged via the queue into main with commit 928e23e Sep 27, 2026
43 checks passed
@ang-fleet-lander
ang-fleet-lander Bot deleted the fix/cron-effort-fallback-t_ef1ba08b branch September 27, 2026 14:30
@ang-fleet-ci-actuators ang-fleet-ci-actuators Bot added the fleetreview:post-merge Ask FleetReview to review this MERGED pull (merge commit vs first parent) label Sep 27, 2026
@ang-fleetreview

Copy link
Copy Markdown

FleetReview

Review: post-merge · head 928e23e54f72 · duration 9m 59s
Profile: full recipe · policy: below-size-and-path-gates
Roster: B-assert-ctx → gpt-6-sol (openai), B-state → gpt-6-sol (openai), C-assert-xhigh → claude-code-opus-5-5 (anthropic), F → gpt-6-sol (openai), G → grok-4.6 (xai), L6 → gpt-6-sol (openai)

Post-merge review (fleetreview:post-merge override): this reviewed the merge commit against its first parent — the bytes that already shipped. It is not a pre-merge gate pass.

Confidence: 3/5

Findings

  • P1 cron/jobs.py:3100 — Lost fallback settings · agreed: B-assert-ctx,C-assert-xhigh,F (openai, anthropic)
  • P1 cron/jobs.py:3037 — Pin fallback entries that lack an explicit effort · agreed: F (openai)
  • P1 hermes_cli/kanban_db.py:23497 — Do not attribute completion to the latest ended run · agreed: F (openai)

FleetReview provenance · models: B=gpt-6-sol, C=claude-code-opus-5-5, D=grok-4.6, F=gpt-6-sol · cost: $2.14 · duration: 9m 57s · rounds: 1 · files examined: 7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fleetreview:post-merge Ask FleetReview to review this MERGED pull (merge commit vs first parent)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant