diff --git a/CLAUDE.md b/CLAUDE.md
index 0e4661c..9262fc2 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -51,14 +51,24 @@ add application/business logic unless explicitly asked.
- Automatic Pump.fun launch
- User-contributed Essence vault
- Custom PYRE Solana program (Anchor)
-- Token-2022 support
- NFT handling (incl. compressed NFTs)
- Automatic valuable-token sacrifice
- Custodial signing
- Background wallet automation
+- On-chain swap routing (TRANSMUTABLE) and Token-2022 confidential-transfer /
+ fee-harvest flows
-v0.1 ships: wallet connect → scan token accounts → classify → close eligible
-empty ATAs (optionally burn obvious junk) → return rent to user → show receipt.
+**Token-2022 IS in v0.1 scope** (Rev 2 — most new/pump.fun tokens are Token-2022),
+supported conservatively with account+mint **extension gating**: confidential
+transfer / withheld transfer fees / frozen / unknown extensions are skipped;
+transfer-hook & permanent-delegate mints are cleanable but flagged. See
+[`docs/PYRE_MVP_DESIGN.md`](docs/PYRE_MVP_DESIGN.md) §7.1. (Note: the classifier
+code currently still skips all Token-2022 as a safe subset until the
+extension-aware implementation lands.)
+
+v0.1 ships: wallet connect → scan token accounts (classic SPL + Token-2022) →
+classify → close eligible empty ATAs (optionally burn obvious junk) → return rent
+to user → show receipt.
---
diff --git a/docs/TOKEN_CLASSIFICATION.md b/docs/TOKEN_CLASSIFICATION.md
index 069e1da..7000155 100644
--- a/docs/TOKEN_CLASSIFICATION.md
+++ b/docs/TOKEN_CLASSIFICATION.md
@@ -175,15 +175,20 @@ non-destructive category — **Unknown means skip.**
```
scan account
- ├─ not classic SPL? ───────────────────────────────► UNSUPPORTED
- ├─ bad metadata / layout / unhandled extension? ───► UNSUPPORTED
- ├─ NFT / cNFT / LP / receipt / staked / major /
- │ valuable / SOL-WSOL / suspicious / frozen /
- │ delegated / over-threshold? ────────────────────► PROTECTED_SKIP
- ├─ balance == 0? ──────────────────────────────────► EMPTY_CLOSE_ONLY
- ├─ safe swap route + passes risk checks? ──────────► TRANSMUTABLE
- └─ otherwise (burnable junk, no safe route) ───────► INCINERATE_ONLY
+ ├─ unknown/other token program (not SPL or Token-2022)? ─► UNSUPPORTED
+ ├─ Token-2022 unsafe/unknown extension
+ │ (confidential transfer / withheld fee / unrecognized)? ► UNSUPPORTED
+ ├─ bad metadata / unsupported layout? ───────────────────► UNSUPPORTED
+ ├─ frozen or delegated? (regardless of balance) ────────► PROTECTED_SKIP
+ ├─ balance == 0? (closes regardless of mint identity) ──► EMPTY_CLOSE_ONLY
+ ├─ NON-empty & NFT / cNFT / LP / receipt / staked / major /
+ │ valuable / SOL-WSOL / suspicious / over-threshold? ───► PROTECTED_SKIP
+ ├─ NON-empty & safe swap route + passes risk checks? ────► TRANSMUTABLE
+ └─ otherwise (burnable junk, no safe route) ─────────────► INCINERATE_ONLY
```
+(Transfer-hook & permanent-delegate Token-2022 mints pass the program/extension
+gates — they are cleanable — but are flagged and excluded from swap. See design
+doc §7.1.)
---
diff --git a/infra/status/index.html b/infra/status/index.html
index 2eb43c0..3e5e30c 100644
--- a/infra/status/index.html
+++ b/infra/status/index.html
@@ -147,10 +147,10 @@
Overall MVP Progress
- 27%
+ 29%
-
- 14 of 51 phase deliverables complete
+
+ 15 of 51 phase deliverables complete
Development Phases
@@ -172,12 +172,12 @@
✓Environment templates
-
+
Phase 1 Wallet Scanner
- IN PROGRESS
+ DONE
- 6 / 7 complete
+ 7 / 7 complete
- ✓Wallet connect frontend
- ✓Scan endpoint (POST /api/scan)
@@ -185,7 +185,7 @@
- ✓Basic classification (conservative, 43 tests)
- ✓Scan results UI (grouped)
- ✓Protected/skipped UI
- - ○Deploy app + live-wallet e2e verification
+ - ✓Deployed live at feedthepyre.com + scan verified e2e
diff --git a/infra/status/status.json b/infra/status/status.json
index 58acf0b..a11c8c5 100644
--- a/infra/status/status.json
+++ b/infra/status/status.json
@@ -23,7 +23,7 @@
{
"id": 1,
"name": "Wallet Scanner",
- "state": "in_progress",
+ "state": "done",
"items": [
{ "label": "Wallet connect frontend", "done": true },
{ "label": "Scan endpoint (POST /api/scan)", "done": true },
@@ -31,7 +31,7 @@
{ "label": "Basic classification (conservative, 43 tests)", "done": true },
{ "label": "Scan results UI (grouped)", "done": true },
{ "label": "Protected/skipped UI", "done": true },
- { "label": "Deploy app + live-wallet e2e verification", "done": false }
+ { "label": "Deployed live at feedthepyre.com + scan verified e2e", "done": true }
]
},
{