# Capabilities corrections — "thought we couldn't, but we can"

A running log of **false limitations** — times the planning chat (Claude) or CC assumed "I can't do X"
when in fact X works (often with a caveat or a workaround). Tools and capabilities change, so a
"can't" from last month may be wrong today.

## The rule
**TRY / VERIFY before declaring a limitation.** Before writing "CC can't…" or "Claude can't…" in a
report, prompt, or plan, attempt it (or recall a logged correction here). If it turns out you *can*,
do it — and **append the correction to this file** so the same false limit doesn't recur.

- **Both surfaces should consult + append here:** the planning chat (Claude) and CC.
- This is for **false** limitations. Genuine, verified limits (e.g. CC truly cannot complete an
  interactive browser OAuth `firebase login` in the sandbox) are NOT corrections — don't log those here.

## Corrections log

| Date | Assumed limitation | Correction (what actually works) | How to do it |
|---|---|---|---|
| 2026-06-04 | "Claude can't see the live site" | The **planning chat CAN `web_fetch` a public URL** and read its HTML/content. | `web_fetch` the page URL. **Caveat:** `web_fetch` returns raw HTML **before JavaScript runs**, so JS-rendered dynamic content (the SAMEing Now deck items, inbox/pings, anything built client-side) shows as `Loading…`/placeholders. For that, **CC reads the source JSON/data files directly in the repo**. Division of labor: **planning chat = fetch for static/structure + "is it live/served"; CC = read source for dynamic/JS-rendered data.** |
| 2026-06-04 | "CC can't run the Firestore emulator / isolation test (no Java, no admin to install one)" | CC **ran the emulator + the 21/21 isolation test** using a **portable JRE** (no admin rights needed). | The winget MSI JDK install needed UAC (that part is a real limit), but a **portable Temurin JRE zip** extracts without admin: downloaded to `C:\Users\smf13\jdk-portable\...`, set `$env:JAVA_HOME` + prepend to `PATH`, then `npm run test:rules` (firebase emulator) runs. So "can't run Java tooling without admin" was false. |

## Template for new entries
```
| <YYYY-MM-DD> | "<the assumed can't>" | <what actually works, + any caveat> | <the exact command / approach> |
```
Append a row whenever a "can't" turns out false. Keep the caveat honest (a capability with a caveat is
still a capability, but the caveat matters).
