30c941cc5b
Keep action order while preventing disabled or busy actions from emitting a command. Preserve test evidence; status remains IN_PROGRESS pending predecessor acceptance.
1.3 KiB
1.3 KiB
AEG-V16-019 — CommandBar
Scope
- WBS / Requirement / UI / Test: AEG-V16-019 / REQ-V16-FEC-03 / UI-V16-FEC-03 / T-V16-FEC-03
- Classification: shared FE component vertical slice; no API, policy, data, or provider contract change.
Source / Assumption / Unknown / Decision Required
- Source: WBS Master,
KsCommandBar.vue,KsButton.vue, and v4 native/Prime button adapters. - Assumption: callers own command idempotency keys; this component prevents a local disabled/busy click from becoming a second UI event but cannot replace server-side idempotency.
- Unknown: predecessor AEG-V16-018 remains pending formal UX/a11y acceptance evidence.
- Decision Required: no new action ordering policy is introduced. Callers supply the approved action array order.
Acceptance mapping
| Acceptance requirement | Implementation evidence |
|---|---|
| action order | the component renders the supplied readonly array in order. |
| disabled/busy | execution is blocked in the command boundary for either state; busy is exposed to assistive technology. |
| reproducibility | unit test covers order, event emission, disabled, and busy paths. |
Execution evidence — 2026-08-08
frontend: pnpm typecheck: passed.frontend: pnpm test -- --run src/shared/ui/components/tests/KsCommandBar.spec.ts: 1 file / 1 test passed.