3.2 KiB
3.2 KiB
id, title, status, wave, depends_on, plan, spec
| id | title | status | wave | depends_on | plan | spec | |
|---|---|---|---|---|---|---|---|
| 03-remove-host-model-gates | Remove host model launch gates | done | 3 |
|
plan.md | ../../specs/agents/requirements/no-silent-model-fallback.md |
Task 03: Remove host model launch gates
Acceptance
- Host-catalog differences show advisory text but never disable task-create or Office profile options.
- Persisted model-selection metadata renders one localized warning with requested, effective, agent, executor, and remediation details.
- Desktop and mobile use the existing chat message flow, with no hover-only information or new scroll owner.
TDD scenarios
- RED: Change profile-option tests from disabled behavior to selectable warnings.
- RED: Add status-message tests for known effective, unknown effective, and explicit fallback outcomes.
- RED: Add WebSocket state tests for provider-default and explicit-fallback live decisions.
- GREEN: Remove host-only gates and add the structured warning renderer.
- REFACTOR: Share warning derivation between task-create and Office selectors.
Verification
cd apps && pnpm --filter @kandev/web test -- --run components/task-create-dialog-options app/office/setup/agent-profile-setup-controls components/task/chat/messages/status-message lib/ws/handlers/session-modelscd apps/web && pnpm run typecheckcd apps/web && pnpm run i18n:checkcd apps/web && pnpm run i18n:ratchetcd apps && pnpm --filter @kandev/web lintgit diff --check
Files likely touched
apps/web/components/task-create-dialog-options.tsxapps/web/components/task-create-dialog-options.test.tsxapps/web/app/office/setup/agent-profile-setup-controls.tsxapps/web/app/office/setup/agent-profile-setup-controls.test.tsxapps/web/components/task/chat/messages/status-message.tsxapps/web/components/task/chat/messages/status-message.test.tsxapps/web/lib/ws/handlers/session-models.tsapps/web/lib/ws/handlers/session-models.test.tsapps/web/lib/types/session-events.tsapps/web/src/locales/en/chat.jsonapps/web/src/locales/pseudo/chat.jsonapps/web/src/locales/pt-pt/chat.jsonapps/web/src/locales/zh-cn/chat.jsonapps/web/src/locales/zh-hk/chat.jsonapps/web/src/locales/zh-tw/chat.json
Dependencies
- Task 02 supplies the stored message and live-event contracts.
Parallelism
Sequential after Task 02. This task owns frontend selector, message, state, and locale files.
Inputs
- The warning metadata contract from Task 02.
- Existing disabled profile logic.
- Existing status-message and session-model handlers.
- Existing mobile chat composition.
Output contract
Report selector behavior, warning copy, accessibility, translations, RED evidence, GREEN evidence, and test results.
Risks
- Executor compatibility gates must remain active.
- A warning must not imply that the host catalog is authoritative.
- Missing optional metadata must not produce broken sentences.
Results
Removed host-only launch gates, added advisory selector copy, and rendered the localized persisted warning with optional metadata handling. Focused frontend tests, typecheck, lint, i18n check, and i18n ratchet passed.