Skip to content

feat(plugin): seed request-level council state from UserPromptSubmit (#1361)#1416

Merged
JeremyDev87 merged 1 commit into
masterfrom
taskmaestro/1775487798/pane-3
Apr 6, 2026
Merged

feat(plugin): seed request-level council state from UserPromptSubmit (#1361)#1416
JeremyDev87 merged 1 commit into
masterfrom
taskmaestro/1775487798/pane-3

Conversation

@JeremyDev87

Copy link
Copy Markdown
Owner

Summary

  • PLAN/EVAL/AUTO 모드 진입 시 UserPromptSubmit에서 council HUD state를 즉시 시딩
  • MCP 모드: COUNCIL_PRESETS 사용 (mode_engine.py)
  • Standalone 모드: CAST_PRESETS fallback (tiny_actor_presets.py)
  • ACT 모드: council 비활성 유지 (compact/opt-in)

Changes

  • hud_helpers.py: on_mode_entry()council_preset 파라미터 추가, 적격 모드에서 councilActive=True, councilStage="opening", councilCast=[primary, ...specialists] 시딩
  • user-prompt-submit.py: MCP/standalone 판단 후 적절한 preset을 on_mode_entry()에 전달
  • test_hud_helpers.py: 7개 unit test 추가 (seeding, ACT 제외, preset 없음 처리, reset-then-seed)
  • test_user_prompt_submit.py: 5개 integration test 추가 (MCP/standalone/ACT/EVAL/AUTO)

Test plan

  • Unit tests: python3 -m pytest tests/test_hud_helpers.py — 64 passed
  • Integration tests: python3 -m pytest test_user_prompt_submit.py — 92 passed
  • MCP server tests: yarn workspace codingbuddy test — 6157 passed
  • Build: yarn workspace codingbuddy build — success

Closes #1361

…1361)

When entering PLAN, EVAL, or AUTO mode, UserPromptSubmit now seeds
council HUD state (councilActive, councilStage, councilCast) so
downstream surfaces can render a first-scene immediately.

- MCP mode: uses COUNCIL_PRESETS from mode_engine
- Standalone mode: uses CAST_PRESETS from tiny_actor_presets
- ACT mode: council remains inactive (compact/opt-in)
@vercel

vercel Bot commented Apr 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codingbuddy-landing Ready Ready Preview, Comment Apr 6, 2026 4:56pm

@JeremyDev87 JeremyDev87 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: APPROVE

CI Status: PASS (29/29, including e2e-plugin-docker and e2e-plugin-hooks)

Spec Compliance (#1361)

All 3 acceptance criteria met:

  • ✅ Request-driven council state seeded on PLAN/EVAL/AUTO prompts (_COUNCIL_ELIGIBLE_MODES)
  • ✅ MCP mode uses COUNCIL_PRESETS, standalone uses CAST_PRESETS with defensive fallback
  • ✅ ACT mode does not create council state; no preset → council inactive

Code Quality

  • council_preset: Optional[Dict] = None — backward-compatible API extension
  • Atomic reset-then-seed: council fields first reset to empty, then conditionally overwritten
  • Cast construction: [primary] + list(specialists) with empty-primary guard
  • Defensive standalone fallback: CAST_PRESETS import failure → COUNCIL_PRESETS
  • Exception handling follows existing hook resilience patterns

Test Coverage: 12 new tests

Unit (7):

  • PLAN/EVAL/AUTO mode seeds council with preset
  • ACT mode does NOT seed even with preset
  • No preset keeps council inactive
  • Cast includes primary + specialists in correct order
  • Reset-then-seed replaces old state

Integration (5):

  • PLAN standalone seeds council (primary=technical-planner)
  • PLAN MCP seeds council (primary=technical-planner)
  • ACT does not seed council
  • EVAL seeds council (primary=code-reviewer)
  • AUTO seeds council (primary=auto-mode)

Issues Found: 0

No Critical, High, Medium, or Low issues found.

Recommendation: APPROVE

@JeremyDev87 JeremyDev87 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Review complete - review agent approved. Issues: 0.

@JeremyDev87 JeremyDev87 added feat plugin packages/claude-code-plugin P1 Priority 1: First Impression labels Apr 6, 2026
@JeremyDev87 JeremyDev87 self-assigned this Apr 6, 2026
@JeremyDev87 JeremyDev87 merged commit ab22313 into master Apr 6, 2026
29 checks passed
@JeremyDev87 JeremyDev87 deleted the taskmaestro/1775487798/pane-3 branch April 6, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat P1 Priority 1: First Impression plugin packages/claude-code-plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(plugin): seed request-level council state from UserPromptSubmit for PLAN/EVAL/AUTO

1 participant