Work / Chitragupt / Wiki / Decisions
2026-08-02-phase-4-wiring-scope-cuts
Decisioncanonicalverified 2026-08-02
DECISION.2026-08-02.PHASE-4-WIRING-SCOPE-CUTSPhase 4 CA Portal/Admin wiring — two items scoped down, not built
Decision
Of the 9 gaps identified for Phase 4 ("CA Portal + Admin completeness"), 7 were closed by wiring real backend data into existing UI (support-ticket reply threads, dispute SLA + structured resolve panel, consultation message thread, preflight-checklist notes, locked specialisations, client drill-in receipt/summary panels, CA-application pricing/consent/timeline). Two were not built and are deliberately deferred:
- In-place consultation tier upgrade (
/ca/ask/upgrade) — "Upgrade" currently deep-links into a fresh/ca/hirecheckout rather than pro-rating/crediting the prior payment against the same engagement. No wireframe exists for a true upgrade flow, and no backend concept of "upgrade an existing consult" exists (ConsultRequestSchemahas no tier-upgrade path — an "upgrade" is just a newrequestConsultbooking). Building real proration would mean inventing new payment logic against.claude/rules/backend.md's money-gate/idempotency rules without a product spec to build against. - CA clients-list bulk actions (
/ca/portal/clients) — the wireframe shows a checkbox column + bulk toolbar ("File ITR · N", "Export XML · N", "Mark ready · N", "Send pre-flight"). No backend callable exists for any of these as a batch operation (no bulk-file, bulk-export, or bulk-notify endpoint anywhere inapps/functions/src/caormarketplace) — building the UI would mean fabricating a client-side loop over a batch of calls, since no atomic bulk endpoint exists, or inventing new backend surface not otherwise scoped.
Also deferred (same "no wireframe backing" pattern): CA profile editor's photo upload and
credentials gallery (ca_profiles has no photo_url or credentials fields; would need new
schema + Storage plumbing). The specialisations-lock part of that same wireframe section was
built — see apps/functions/src/ca/profile.ts's updateCaProfile gate.
Why
Matches the standing project convention (established across Phases 2–3): wire what's real, scope down rather than fabricate data or invent backend features without a wireframe or product spec to build against. All four deferred items would require designing new payment logic, new bulk-operation semantics, or new file-upload plumbing from scratch — none of which is "wiring an unused component," which is what this pass is scoped to.
Impact
/ca/ask/upgradekeeps its current re-checkout behavior; no code changed./ca/portal/clientskeeps its current single-row actions; no bulk UI added.- CA profile editor keeps text-only fields (photo/credentials gallery not built).
- If any of these become a real V1 requirement, they need a wireframe (upgrade flow, bulk toolbar semantics) and/or new backend design (proration, bulk-file endpoint, Storage schema) before implementation — not a follow-up wiring pass.
Every project of mine is written down like this.
Read the résumé