Agent archive dialog overflow verification

# Agent archive dialog long-name overflow: upstream fix verification

Date: 2026-10-08 (Asia/Shanghai)
Target: multica-ai/multica main at 8db6cfe19ae6fd5c35ec71bd8fea42a3ef3861ec.
Source: c4c20b0e54e7a2db135c8a322e095275f1e94b3e, branch Frezc:codex/ADMUL-98-archive-dialog-upstream.
Tested tree: ff19853ea74c57856a3ca816ae2b8a7049848aec. GitHub upload matched the tested tree exactly; local checkout aligned to the fetched GitHub commit without code changes.
Environment: isolated upstream checkout with its frozen pnpm lockfile; local headless Chromium component layout fixture. The fixture imports the real UI primitives, shared CSS and locale copy, and reproduces the archive dialog composition. https://fixture.local is served from memory by Playwright routing, without an HTTP server or product API requests.

Problem: automatic grid/flex minimum widths and unbroken names can expand the header and footer beyond the popup. The original reported name expands a 384px popup footer to about 456px. The public before/after images use a synthetic English name.
Change: constrain AlertDialogContent to one minmax(0,1fr) column, wrap long title/description words, let archive text columns shrink, and break row/bulk archive titles without truncating the name.

Duplicate check: searched GitHub PRs in multica-ai/multica for archive/dialog/overflow, long names, alert-dialog/overflow, dialog/wrap, and title-scoped archive/name and archive/long. No corresponding fix PR was found. #8209 addresses vertical Dialog height, not this horizontal AlertDialog overflow. The latest main still reproduces the bug. Search is scoped to discoverable PR titles/bodies, not every contributor's unpublished work.

Results:
- Upstream baseline: all 8 long-name combinations overflowed; all 4 short-name controls passed (1144/375px, English/Chinese).
- Patched upstream: 120/120 layout combinations passed (1144/375/320px; English/Chinese; light/dark; row/bulk archive; reported name, 120 unbroken ASCII characters, long Chinese, mixed scripts and short names). Assertions cover full name preservation, child/popup boundaries, scroll overflow, cancel dismissal and no browser page errors.
- Public before/after: one English desktop synthetic name reproduces overflow before and fits after.
- Existing targeted component tests: 2 files, 24/24 tests passed.
- @multica/ui and @multica/views typechecks passed.
- Changed-file ESLint and git diff --check passed.

Commands:
    pnpm install --frozen-lockfile --filter @multica/ui-lab... --filter multica --ignore-scripts
    pnpm --filter @multica/ui typecheck
    pnpm --filter @multica/views typecheck
    pnpm --filter @multica/ui exec eslint components/ui/alert-dialog.tsx
    pnpm --filter @multica/views exec eslint agents/components/agent-row-actions.tsx agents/components/agent-batch-toolbar.tsx
    pnpm --filter @multica/views exec vitest run agents/components/agent-batch-toolbar.test.tsx agents/components/agent-detail-page.test.tsx --maxWorkers=1
    pnpm --filter @multica/ui-lab exec vite build --config <layout-fixture>/vite.config.mjs
    node <layout-fixture>/verify.mjs after
    git diff upstream/main --check

Limits: this is browser component layout verification, not full Agents-page/API or deployed E2E acceptance. Root full suite, backend, mobile and installed Electron were not run. No permanent unit test was added for this CSS-only change; browser geometry checks provide the relevant evidence. Shared AlertDialog title/description wrapping affects other consumers. Existing CSS optimizer ::highlight warnings are unrelated to this change.
Cleanup: no product API/Web/daemon or listener services were started. Test/build and Chromium processes have exited. No merge or deployment was performed.
Before: unbroken name expands the footer
Before: unbroken name expands the footer
After: full name wraps and buttons stay inside
After: full name wraps and buttons stay inside