Handoff Sep 30 9pm

I’m continuing a long development project (Stella Quotes WordPress plugin). Memory is full, so all you know is what I paste in here. Please read the handoff packet below carefully and treat it as the project state.

⚠️ Key working rule: I am **not a coder**. When I paste a file, you must return the **entire corrected replacement** for that section or file, not just snippets. That avoids mistakes on my side.

Your first task is to load this context fully. Then we will pick up with **Day 2 tasks** from the checklist (compare picker UX + benefits rendering). Please confirm once you’ve read and understood the handoff packet.

 

# Stella Quotes — Handoff Packet (as of Sept 30, 2025)

## Starting state of this chat
– We began with **Intake & Data backbone** as the focus.
– Last stable plugin build = v0.3.2, which worked but was missing some UX polish and had broken pieces from later builds.
– Goal for this chat: lock intake form fields, unify census data flow, verify county→area mapping, and confirm 2025Q1 rates load/display correctly.

## Progress made in this chat
1. **Intake form**
– Locked core fields: Employer, Effective Date, County, Age vs Composite, Renewal Mode.
– Confirmed census upload and manual counts are flowing into the same data model.

2. **Confirmation strip**
– Added summary strip above the compare picker showing Employer, Effective Date, and counts (EO/ES/EC/EF).
– This gives brokers a quick visual that their intake choices carried forward.

3. **County → Rating Area**
– Moved `county_areas_tx.csv` to `/wp-content/uploads/stella/`.
– Intake now resolves County → Rating Area correctly.
– Confirmed dropdown still wasn’t showing initially because file permissions were wrong; fixed to 0644. Works now.

4. **Effective Dates**
– Fixed dropdown to show correct quarter (Jan–Mar 2025).
– Temporary override block provided to hardcode Jan/Feb/Mar while testing.
– Permanent block updated to dynamically pick current quarter + next quarter.

5. **Compare Picker → Compare Table flow**
– Fixed bug where submitting from picker bounced back to intake.
– Solution: update `quote_intake()` in `class-stq-shortcodes.php` so it renders picker when either `stq_intake_submit` **or** `stq_compare_submit` is set.
– Now compare table renders correctly.

## Outstanding issues (to revisit)
– Some admin UI pieces are scattered across **Settings**, **Tools**, and **Stella Quotes** sections. Long-term: consolidate menus under **Stella Quotes**.
– Template uploads (Excel pages) still live under Settings; may later be reorganized.
– Renewal flow still needs full test once 2026Q1 rates are loaded.
– Export performance still slow (~20s vs. goal of ~2s). Not addressed yet in this chat.

## Daily build checklist (remaining work)
### ✅ Day 1 (done)
– Lock intake fields.
– Census upload/manual counts unify.
– County mapping confirmed.
– Confirmation strip added.
– Fix compare picker flow.

### ▶ Day 2 (next up)
– Side-by-side compare picker UX polish.
– Benefits rendering fixes (N/A for HMOs, preserve $0, Rx strings intact).
– Confirm group-size handling for census (child-4+ and waive logic).
– Verify rates load/display correctly for 2025Q1 (Blue Cross, Baylor).

### ▶ Day 3
– Renewal mode logic (current vs renewal vs census-changed).
– Display % increases and benefit change flags.
– Start wiring up export (Excel multi-sheet + PDF).

### ▶ Day 4
– Output formatting (row vs side-by-side).
– Broker branding (carrier logos left on single-carrier, broker logo right).
– Begin testing styled Excel export.

### ▶ Day 5
– Polish export (multi-sheet, PDF).
– Add template selection (broker chooses which sheets to include).
– Test with real 2025 data.

### ▶ Day 6–7
– Final QA, fix bugs.
– Deploy MVP before Oct 6.

## Phase 2+ (not part of MVP week, but tracked)
– Broker-specific custom templates (requires per-broker access control).
– Rule-based recommendations (stay/switch carrier analysis).
– AI-driven recommendations (future).
– Employee packet generator (cover sheet, election form, SBC links, compliance).
– Saved quotes dashboard for brokers.

## Important note for next chat
– Eric is **not a coder**. He prefers providing the **full PHP file** for review, and the assistant should respond with the **entire corrected replacement block** rather than piecemeal edits.
– This reduces errors and confusion when pasting code.
– Files already touched:
– `class-stq-shortcodes.php` (confirmation strip + intake→picker flow)
– Intake template (effective dates dropdown fix)

## Next immediate step
– Begin **Day 2 work**: fix compare picker UX and benefits rendering (N/A, $0, Rx string preservation).
– Eric can paste in the relevant PHP (shortcodes, compare functions) so assistant has full context.


Refresh mid chate if needed

Stella Quotes – Cheat Sheet (Handoff Quick Reference)

Project: WordPress plugin to quote fully-insured TX small group medical plans. Expanding beyond Texas later.
Current Build Base: v0.3.2 (last stable).


Core Rules

  • 27 TX rating areas; counties → area mapping via county_areas_tx.csv.

  • Age curve from HHS (baseline age 21 = 1.0).

  • Tier multipliers: EO=1, ES=2, EC=2, EF=3.

  • Child 4+ rule: only charge for 3 dependents under 21.

  • Composite rates = sum(age rates) ÷ EO-units.

  • Renewals: hold incumbent composite constant, recalc competitors.


Data Model

  • /data/ folder for stable stuff (counties, age curve, plan benefits, successors).

  • Quarterly: plan rates (2025Q1 live; 2026Q1 next).

  • Uploads in WP Admin: rates only.

  • Everything else lives in /data/.


UI / Broker Flow

  1. Intake form: Employer, Effective Date, County (→ area), Composite vs Age, Renewal Mode.

  2. Census: upload or manual counts, both feed same model.

  3. Confirmation strip shows employer, effective, counts.

  4. Compare Picker: carrier → plan dropdowns.

    • Shows plan availability by rate_set + area.

    • Carriers only appear if loaded in DB.

  5. Outputs:

    • Side-by-side (columns, up to 4–8).

    • Carrier view (all plans, row layout).

    • Grouped view (12 plan buckets, A=PPO/EPO, B=HMO).

    • Current vs Renewal (row + side-by-side).

    • Export to Excel (styled) + PDF/HTML (still needed).


Status (end of Day 1)

  • ✅ Intake form works (effective date logic fixed to Jan–Mar 2025).

  • ✅ County → area mapping restored (via /data/ folder).

  • ✅ Rates 2025Q1 load into DB.

  • ✅ Picker loads carriers & plans.

  • ⚠️ Issue: after plan select, system was bouncing back to intake — fixed.


Day 2 Tasks

  1. Compare Picker UX

    • Clean dropdowns: carrier → plan marketing names in plan_code order.

    • Preserve broker overrides.

  2. Benefits Rendering

    • $0 must show as “$0” (not blank).

    • Rx strings intact (e.g. $10-40-60-20%).

    • “N/A” for OON values on HMO/EPO.

    • Facility copays like “$150 + D&C” display correctly.


Phase 1 Deliverable (by Oct 6)

  • Stable intake + census rules.

  • Correct plan availability.

  • Working compare picker.

  • Clean benefits rendering.

  • Side-by-side + carrier/row output pages.

  • Excel export styled, PDF/HTML exports aligned.


⚠️ Working rule: I am not a coder. When I paste a PHP file or section, return the entire corrected replacement, not snippets.