# PROGRESS — Reference Parity Project > Read this file FIRST at the start of every session and after every `/compact`. > Rules live in `CLAUDE.md` (workspace root). Method lives in the `reference-parity-audit` skill. ## Current state | Field | Value | |---|---| | **Phase** | Phase 0 — Inventory (read-only) | | **Branch** | `parity/phase-0` | | **Status** | ✅ COMPLETE — **at the gate, waiting for user confirmation** | | **Next step** | User answers Q1–Q5 below → finalise `PROTECTED.md` → branch `parity/phase-1-admin` → build `01-ADMIN-MATRIX.md` | | **Blocked on** | user answers to Q1–Q5 | | **Last updated** | 2026-09-21 | ## Phase checklist - [x] P0.1 — All 3 reference folders readable (`henza_server`, `henza_admin`, `henza_pwa`) - [x] P0.2 — Branch `parity/phase-0` + `docs/parity/` created - [x] P0.3 — Inventory all 7 projects → `_inv-*.md` (8111 lines total) → consolidated in `00-INVENTORY.md` - [x] P0.4 — Mapping tables, missing list, extra list (`00-INVENTORY.md` §2–4) - [x] P0.5 — Draft `PROTECTED.md` - [ ] **P0.6 — GATE: user confirms PROTECTED list + answers Q1–Q5** ← HERE - [ ] Phase 1 — Admin parity (branch `parity/phase-1-admin`, `01-ADMIN-MATRIX.md`) - [ ] **GATE:** "Admin parity is complete and tested. Shall we move on to the apps (user-app & user-app-v2)?" - [ ] Phase 2 — Apps parity (`02-APPS-MATRIX.md`, both user apps) - [ ] Phase 3 — Work through `ISSUES.md` (only when user asks) ## Open questions blocking Phase 1 | # | Question | Proposed answer | |---|---|---| | Q1 | Reference leaves all ~215 admin routes unauthenticated (`henza_server/routes/admin.php:12,272`). Target enforces JWT + 144 rids. Strict parity = remove auth. | Keep target's stricter auth as an accepted deviation (`PROTECTED.md` §D) | | Q2 | The brief's gold-banking checklist (buy/sell, deposit/withdraw, transfer, KYC levels, sockets, payment callbacks) does not exist in the reference — it's a jewellery e-commerce system. | Audit the domain the reference actually has (`00-INVENTORY.md` §0) | | Q3 | 5 reference user-app routes missing from BOTH target apps: `/report`, `/report/detail`, `/ChildOrder`, `/customerChoice`, `/complete_profile`. ~5 screens × 2 designs + backend. | In scope for Phase 2, or deferred? | | Q4 | 20 defects in `henza_pwa` + 18 in `henza_admin`. Replicate or log? | Log, don't replicate the broken/destructive ones (`PROTECTED.md` §F) | | Q5 | Stray `gold-banking-monorepo/user-app-v2/` at repo root (only `package.json` + outdated `vite.config.ts`, ignored by pnpm-workspace). | Delete, or leave? | ## Key context (survives context loss) - **Domain correction:** the reference is a **gold-jewellery B2B/B2C e-commerce** system, not a gold bank. No buy/sell order book, no spread, no deposit/withdraw, no P2P transfer, no KYC levels, no daily limits (only `gram_level`), no payment callback route, no cron, no websockets. See `00-INVENTORY.md` §0. - **The gold price formula** (Phase 1 row #1) — `henza_server/app/Models/ProductVariant.php:183-190`: `+extra%` → `+7%` margin → `+9%` VAT **on the non-metal portion only** → `×grams` → `floor(/1000)*1000`. Three superseded commented-out variants above it apply VAT to the whole price — do **not** port those. - **A large prior port already happened** — see `docs/ADMIN-PORT-PLAN.md` and `docs/CHANGELOG-PORT-HISTORY.md` (80 views, 25 Nest modules, 29 Prisma models, 154 admin routes, 144/144 rids). Prior port notes **no view was ever visually verified in a browser**. - **Stack changed across the port:** Laravel→NestJS/Prisma, Vue2/Vuesax→Vue3/antd. Port behaviour, not code style. - **Reference scale is inflated:** 541 admin `.vue` files but only ~69 reachable (rest are Vuexy template demos); 9 reference router files are dead (not imported); ~28 legacy Django-era DB tables have no migrations. - **v1 ⇄ v2 logic gaps** (5, all v2 behind v1) are parity work, not design: `ISSUES.md` MON-01, V2-01..05. ## Inventory files (Phase 0 working files) | File | Scope | Lines | |---|---|---| | `_inv-ref-server.md` | henza_server | 1313 | | `_inv-tgt-api.md` | apps/api | 1179 | | `_inv-ref-admin.md` | henza_admin | 1705 | | `_inv-tgt-admin.md` | apps/admin-panel | 1261 | | `_inv-ref-pwa.md` | henza_pwa | 1178 | | `_inv-tgt-userapp.md` | apps/user-app | 612 | | `_inv-tgt-userappv2.md` | apps/user-app-v2 | 700 | Consolidated into `00-INVENTORY.md`. Issues found: `ISSUES.md` (26 entries).