Skip to content

fix(observers): make TaskBoardObserver critical so its reminder lands - #42

Merged
zhanghanduo merged 4 commits into
mainfrom
fix/task-board-observer-critical
Sep 25, 2026
Merged

zhanghanduo merged 4 commits into
mainfrom
fix/task-board-observer-critical

Conversation

@zhanghanduo

@zhanghanduo zhanghanduo commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

TaskBoardObserver's only output is the Intervention it returns from on_turn_end. notify_observers only collects return values from critical observers; non-critical ones run as background tasks whose results are discarded. With critical = False, the board reminder was silently dropped and never reached the next turn.

Both hosts already work around it by subclassing back to critical = True (ApodexHarness, and FrontierAgent in ApodexAI/FrontierAgent#50, whose test suite pins critical is True). This makes the shared default correct.

Changelog entry (suggested, under Fixed)

  • TaskBoardObserver is now critical, so its board reminder is actually injected into the next turn. Hosts that subclassed it only to flip critical can drop the subclass.

Test plan

  • New tests/test_task_board_observer.py: the reminder is collected as an Intervention by notify_observers (fails before, passes after)
  • ruff, pyright agent_core, full pytest -q

🤖 Generated with Claude Code

Release workflow

Uses the shared centralized-release workflow in #44. This PR keeps the current package version and contributes its own independent changes/ fragment. Version, lockfile and changelog aggregation happen in a later release PR. #40, #42 and #43 were tested in all six merge orders without conflicts.

zhanghanduo and others added 4 commits September 25, 2026 13:26
The observer's only output is an Intervention, and notify_observers only
collects return values from critical observers. As non-critical it ran in
the background and the board reminder never reached the next turn; every
host had to subclass it back to critical.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@zhanghanduo
zhanghanduo merged commit 9870297 into main Sep 25, 2026
5 checks passed
@zhanghanduo
zhanghanduo deleted the fix/task-board-observer-critical branch September 25, 2026 06:23
@zhanghanduo zhanghanduo mentioned this pull request Sep 25, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant