Skip to content

v0.8 Phase 1: Role-based Dispatcher + Chosen Lead Agent#6

Open
makesomethingshit wants to merge 25 commits into
mainfrom
v0.8
Open

v0.8 Phase 1: Role-based Dispatcher + Chosen Lead Agent#6
makesomethingshit wants to merge 25 commits into
mainfrom
v0.8

Conversation

@makesomethingshit

Copy link
Copy Markdown
Owner

v0.8 Phase 1 — 역할 기반 디스패치

변경 범위 (5 files, +420줄)

  • roost/dispatcher.py — BackendRegistry, TaskRole, classify_task, dispatch
  • roost/state.py — role_backends, get/set_role_backend, get_employees_by_role
  • roost/__init__.py — dispatcher export
  • roost/tests/test_dispatcher.py — 13 tests
  • roost/tests/test_state.py — 4 tests

비전 연결

"call each other when needed" + "chosen lead agent"

  • Scout(read-only) → script (free)
  • Coordinator(compress/draft) → hermes (mid)
  • Lead(implement) → chosen agent (default: hermes, 교체 가능)
  • registry.register("codex", CodexBackend) 한 줄로 새 에이전트 추가

테스트

  • 268 total (was 201), all green
  • CI: ruff check + format green

제약

  • 새 백엔드 구현 안 함 (인터페이스만 열어둠)
  • Endpoint UI 없음 (Phase 2)

makesomethingshit added 25 commits June 19, 2026 15:47
- roost/dispatcher.py: BackendRegistry (extensible), TaskRole enum,
  classify_task(), dispatch() with security check + role→backend routing
- roost/state.py: role_backends field, get/set_role_backend(),
  get_employees_by_role()
- roost/__init__.py: export dispatcher symbols
- roost/tests/test_dispatcher.py: 13 tests (classify, registry, dispatch, security)
- roost/tests/test_state.py: 4 new tests (role_backends, employees_by_role)

Hermes is default lead agent; other agents registerable via registry.register().
268 total tests (was 201), CI green.
- project_hub.py: Endpoints 탭 추가 (endpoint CRUD, role mapping, skills toggle)
- roost/state.py: skills CRUD (list_skills, set_skill_enabled, get/set_skill_endpoint)
- _default_state()에 skills 섹션 추가
- 268 total tests, CI green
- roost/delivery.py: deliver_packet() — agent 확인 → hermes(script subprocess) / script(no-op)
- roost/backend/hermes.py: deliver_packet() 추가
- roost/backend/script.py: deliver_packet() no-op 추가
- roost/dispatcher.py: deliver_packet task type 분기
- roost/__init__.py: deliver_packet, DeliveryError export
- roost/tests/test_delivery.py: 10 tests
- 278 total tests, CI green
…eanup

- roost/state.py: +395 lines — model profile CRUD, team preset management
- roost/model_profile.py: new — tier ordering, profile resolution
- roost/delivery.py: +35 lines — delivery routing updates
- roost/backend/hermes.py: +19 lines — backend adapter updates
- project_room_widget.py: +523 lines — widget CLI for goal/task/model management
- test_project_room_registry.py: +1058 lines — widget CLI integration tests
- tools/: pet_studio_model.cmd, pet_studio_work.cmd added; existing scripts updated
- docs/: ARCHITECTURE, UX_PRIORITIES, CHANGELOG, PROJECT_HANDOFF updated
- ruff: all checks pass (fixed unused imports, unsorted blocks, unused vars)

Covers: model profile system, team state schema expansion, widget CLI surface
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