4.9 KiB
id, title, status, wave, depends_on, plan, requirements, acceptance_criteria, system_design
| id | title | status | wave | depends_on | plan | requirements | acceptance_criteria | system_design | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 04-application-controls | Application control sweep | complete | 4 |
|
plan.md |
|
|
|
Task 04: Application control sweep
Summary
Normalize remaining ordinary application controls and close the sweep inventory. Cover integrations, Office, navigation, and shared wrappers with representative rendered evidence.
In scope
- Disposition all Other application surfaces and Office surfaces candidates in sweep-inventory.md.
- Inspect integration toolbars, saved-query dialogs, GitHub/GitLab actions, provider credentials, and application status alerts.
- Inspect Tasks list controls, Office fields, sidebar search, generic selectors, and shared confirmation actions.
- Extend layout/control-sizing.spec.ts and its mobile pair across the changed shared families.
- Repeat raw-control, helper, CSS, size-prop, inline-style, padding-only, and caller searches. Add every newly found defect to the inventory before closure.
Out of scope
- Feature state, callbacks, permission changes, and persistence.
- Unrelated theme, typography, or navigation redesign.
Acceptance
- Every candidate has a source-backed disposition or a completed change with relevant rendered evidence.
- Representative integration, Office, and navigation controls satisfy desktop sizes and touch minimums.
- The final inventory lists retained exceptions and any blocked checks without claiming a complete fix for unresolved defects.
Regression first
Add a desktop regression for an application status alert or provider credential field with unconditional h-11. Confirm that the current control fails the standard-height assertion.
Use TDD for new helper logic and browser regressions. Run the new regression before production edits and record the expected failure. Rerun the same check after the correction.
Verification
Run from the repository root. The first package command requires installed workspace dependencies. Run desktop and mobile checks sequentially. The mobile command reuses the immediately preceding unchanged production build.
pnpm --dir apps/web e2e:run --project chromium tests/layout/control-sizing.spec.ts
pnpm --dir apps/web e2e:run --no-build --project mobile-chrome tests/layout/mobile-control-sizing.spec.ts
pnpm --dir apps/web run typecheck
git diff --check
Before completion, run ESLint on the exact changed TypeScript files from apps/web.
Record the expanded file list and command in Results.
Do not substitute class-string checks for browser geometry.
Files likely touched
apps/web/components/integrations/integration-list-toolbar.tsxapps/web/components/integrations/integration-save-query-dialog.tsxapps/web/components/github/github-pat-form.tsxapps/web/components/github/pr-merge-button.tsxapps/web/components/app-status-bar/backend-reload-required-alert.tsxapps/web/components/app-status-bar/agent-runtime-unavailable-alert.tsxapps/web/components/app-sidebar/sections/settings/settings-search.tsxapps/web/app/tasks/tasks-list-controls.tsxapps/web/app/tasks/tasks-pagination.tsxapps/web/app/office/projects/[id]/project-header.tsxapps/web/e2e/tests/layout/control-sizing.spec.tsapps/web/e2e/tests/layout/mobile-control-sizing.spec.tsdocs/plans/control-sizing/sweep-inventory.md
The inventory section Other application surfaces and Office surfaces defines the remaining file scope.
Dependencies
03-settings-controls
Risks
Provider and Office feature gates need isolated seed data. Shared integration components can affect several providers. Search hits are not automatically defects.
Parallelism
sequential
Inputs
- Requirements
- System design
- Sweep inventory
- Existing Start Task, settings typography, and mobile geometry tests.
Results
Completed 2026-09-10.
- Green: representative application geometry passed with 3 desktop and 2 mobile layout tests after migrating integration, Office, navigation, status, provider, automation, and shared-wrapper controls.
- Follow-up helper, size-prop, and padding-only searches added 36 implementation files to the inventory. Every candidate now has a changed, conforming, touch-only, content-sized, or documented-exception disposition.
- Final harness/specification validation and
git diff --checkpassed. Exact changed-file ESLint covered 200apps/webTypeScript files with 0 errors and 7 non-blocking warnings.