## Fifth file, same defect
`TaskDetailModal.summary-tab.test.tsx` — the last `TaskDetailModal` spec
still failing on the portal/query-root defect (#2885, #2890, #2893,
#2895).
**Probed before converting**, as with each of the others:
```
PROBE container=false document=true
```
`TaskDetailModal` mounts through `createPortal`, so `container` is empty
and its 5 lookups returned nothing. Both failures carried the signature
that shape produces on a text read:
```
expected undefined to be 'Activity' ← container.querySelector(x)?.textContent
```
## Evidence
| | result |
|---|---|
| the file | **17/17** (was 2 failed) |
| mutation: rename `.detail-tabs` in `TaskDetailModal` | **3 failed** |
`pnpm lint` clean. Test-only; `TaskDetailModal.tsx` restored clean.
## Deliberately not bundled: the other three in this shard
Each is a **different** cause, and lumping them in would hide that:
- **`AgentDetailView.mobile-scroll`** — `expected '0' to be
'var(--space-md)'`. That is the **jsdom-29 `var()` computed-style**
case, the same one fixed for TaskCard in #2782: jsdom does not
substitute custom properties, and what it does *instead* changed at the
27→29 bump. Not a query root.
- **`AgentListModal`** — `expected +0 to be 3`.
- **`SubtaskBreakdownModal`** — an undefined-vs-string assertion
mismatch.
Three separate small fixes, not one sweep. Keeping them apart also keeps
each mutation-check honest about what it proves.
## Portal defect, running total
| PR | file | cleared |
|---|---|---|
| #2885 | `models-progress-workflow` | 30 |
| #2890 | `settings-mobile` | 17 |
| #2893 | `definition-actions` | 12 |
| #2895 | `rendering` | 24 |
| this | `summary-tab` | 2 |
**85** backfill failures from one defect: tests querying `container` for
components that render through a portal.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Tests**
* Improved coverage for task detail modal behavior, including tab
ordering, chat content, merge-card containment, and summary rendering.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>