feat(plugin): add council UX fields to HUD/state model (#1364)#1406
Merged
Conversation
Add councilActive, councilStage, councilCast fields to hud_state.py defaults and init. Add on_council_update helper to hud_helpers.py for start/advance/end semantics. Reset council fields on mode entry and session stop. Tests cover init, update, reset, backward compat, and full lifecycle.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
JeremyDev87
commented
Apr 6, 2026
JeremyDev87
left a comment
Owner
Author
There was a problem hiding this comment.
Review: APPROVE
CI Status: PASS
All 28 checks passed (lint, typecheck, build, tests, security, format, circular, e2e).
Code Quality
- Clean diff: 4 files changed, well-scoped to HUD state model extension
- No unused imports:
Listimport properly used byon_council_updateparameter - No
anytypes: All fields explicitly typed - Consistent patterns:
on_council_updatefollows existingon_mode_entry/on_session_stopstructure (try/except pass, kwargs-based updates) - No dead code
Spec Compliance (Issue #1364)
All acceptance criteria met:
- ✅
councilActive,councilStage,councilCastfields added to HUD state model - ✅ Defaults in
_EXTENDED_DEFAULTSandinit_hud_state - ✅
on_council_update()helper with partial-update semantics - ✅ Mode entry and session stop reset council fields intentionally
- ✅ Tests cover initialization, updates, reset, and fill_defaults backward compat
Test Coverage
- 7 new
TestCouncilFieldstests (state layer) - 4 new
TestOnCouncilUpdatetests (helper layer) - Existing reset/lifecycle tests extended with council assertions
- Edge cases: no-arg noop, fill_defaults preservation, stage advancement with field preservation
Issues Found
None.
Recommendation: APPROVE
JeremyDev87
commented
Apr 6, 2026
JeremyDev87
left a comment
Owner
Author
There was a problem hiding this comment.
✅ Review complete - review agent approved
Review Summary
- CI: All checks reviewed
- Code Quality: No issues found
- Spec Compliance: Matches #1364 requirements
- Test Coverage: Adequate
LGTM - ready to merge.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
councilActive(bool),councilStage(str),councilCast(list) fields tohud_state.pydefaults andinit_hud_state()on_council_update()helper tohud_helpers.pyfor start/advance/end council semanticson_mode_entry) and session stop (on_session_stop)fill_defaults=Trueback-fills council fields for older state filesTest plan
TestCouncilFields— init defaults, update active/stage/cast, full lifecycle, fill_defaultsTestOnCouncilUpdate— start, advance stage, end council, no-op on empty argsTestOnModeEntry.test_resets_all_stale_workflow_fields— council fields reset on mode entryTestOnSessionStop.test_clears_agent_and_sets_completed— council fields cleared on stopTestFullLifecycle.test_session_lifecycle— council activity through complete session lifecycleCloses #1364