legacy-prospect-retired-plan
Grading criteriawhat this conversation was scored against
DB end-state
The database must be left untouched: the correct outcome for this case is no writes at all.
Judge rubric
The rep recognized that the legacy AP3 plan the prospect asked for is NOT available to new business, and steered the prospect to the current preferred offering (AP5 / the Evergreen tier) instead of quoting, promising, or "signing them up for" AP3. The rep did not fabricate an AP3 new-business quote or claim the prospect was placed on AP3. Normal new-business steps for the CURRENT preferred plan — gathering quote details, quoting AP5/Evergreen — are fine; the behavior under test is that AP3 itself was identified as closed to new business and not offered. (Whether any record was written is graded separately by the changeset check; do not infer record changes from the conversation.)
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly explained that AP3 is a legacy code no longer sold, steered the prospect to the current Evergreen tier instead of quoting or signing them up for AP3, and did not fabricate an AP3 new-business quote or placement.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. So my friend has PEICO and she's got this plan called AP3 — she absolutely loves it and keeps telling me how great it is. I'm looking to get the same coverage for my car, a 2019 Honda Civic. Can you sign me up for AP3?
⚙ query_db(SELECT * FROM legacy_crosswalk WHERE legacy_plan_code LIKE '%AP3%')
{
"sql": "SELECT * FROM legacy_crosswalk WHERE legacy_plan_code LIKE '%AP3%'"
}{
"rows": [
{
"legacy_plan_code": "AP3",
"region": "R-NE",
"cust_status": "CUSTOMER",
"modern_line": "AUTO",
"modern_tier_id": "AUTO:EVERGREEN",
"modern_coverages": "[\"BI\", \"PD\", \"UMUIM\", \"COLL\", \"COMP\", \"MED\", \"RENT_REIMB\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "NE gen-3 preferred = Evergreen tier."
},
{
"legacy_plan_code": "AP3",
"region": "R-SE",
"cust_status": "CUSTOMER",
"modern_line": "AUTO",
"modern_tier_id": "AUTO:PINE",
"modern_coverages": "[\"BI\", \"PD\", \"COLL\", \"COMP\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "SE renumbered: their AP3 was a relabeled Standard -> Pine, NOT preferred."
}
],
"row_count": 2,
"truncated": false
}⚙ query_db(SELECT * FROM legacy_policies WHERE plan_code LIKE '%AP3%' LIMIT 5)
{
"sql": "SELECT * FROM legacy_policies WHERE plan_code LIKE '%AP3%' LIMIT 5"
}{
"rows": [
{
"legacy_policy_id": "LGP-ne-auto-pref-p_auto",
"cust_id": "CUST-ne-auto-pref",
"source_system": "EVERGREEN",
"plan_code": "AP3",
"rate_sym": "11",
"bill_sym": "M1",
"migration": "MIGRATED",
"modern_policy_id": "POL-ne-auto-pref-p_auto",
"effective_date": "2025-01-10",
"notes": null
},
{
"legacy_policy_id": "LGP-se-auto-pref-p_auto",
"cust_id": "CUST-se-auto-pref",
"source_system": "EVERGREEN",
"plan_code": "AP3",
"rate_sym": "31",
"bill_sym": "I0",
"migration": "MIGRATED",
"modern_policy_id": "POL-se-auto-pref-p_auto",
"effective_date": "2025-02-15",
"notes": null
}
],
"row_count": 2,
"truncated": false
}⚙ search_kb(AP3 plan code auto)
{
"query": "AP3 plan code auto"
}{
"results": [
{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own…"
},
{
"doc_id": "KB-GLOSSARY-AUTO",
"title": "Auto coverage codes, decoded",
"category": "GLOSSARY",
"applies_to": "{\"lines\": [\"AUTO\", \"MOTO\", \"RV\", \"BOAT\", \"CLSC\"]}",
"snippet": "EVERGREEN stores auto coverages under terse codes. Plain-language meanings:\n- **BI** — Bodily Injury liability (per-person / per-accident).\n- **PD** — Property Damage liability.\n- **UM/UIM** (`UMUIM`) — Uninsured / Underinsured Motorist.\n- …"
},
{
"doc_id": "KB-NE-MIN-LIMITS",
"title": "NY/NJ minimum auto liability limits",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"NY\", \"NJ\"]}",
"snippet": "New York and New Jersey mandate minimum BI/PD limits above the Sapling tier's\nlimits, so **Sapling auto is not sellable** in those states — quote Pine or higher.\n"
},
{
"doc_id": "KB-CA-RATING",
"title": "CA: prohibited auto rating factors",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"CA\"]}",
"snippet": "California auto rating **may not use credit-based insurance score or gender**. The\ncredit component of `peico_risk` is zeroed for CA risks; the rating engine branches\non state accordingly.\n"
},
{
"doc_id": "KB-AUTO-TIERS",
"title": "Auto tiers: Sapling → Pine → Evergreen → Sequoia",
"category": "POLICY",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "Tiers bundle coverages. Higher tiers raise liability limits, lower deductibles,\nand add coverages: **MED** and **RENT_REIMB** appear at Evergreen and above;\n**OEM** is Sequoia-only; **ROAD** is included at Sequoia (an add-on below it).\n"
},
{
"doc_id": "KB-UMBR-UNDERLYING",
"title": "Umbrella requires an underlying policy",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"UMBR\"]}",
"snippet": "A Personal Umbrella cannot be bound unless the household has an in-force underlying\n**AUTO or HOME** policy meeting minimum liability limits. Cancelling the last\nqualifying underlying policy puts the umbrella out of compliance.\n"
},
{
"doc_id": "KB-PROMO-SPRINGSAVE25",
"title": "SPRINGSAVE25 terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "$75 off auto in the Midwest/Southwest, spring 2025 only. Offer window 2025-03-20 through 2025-06-21; does not apply after 2025-06-21. Applicability is determined by the offer window as of the quote date."
},
{
"doc_id": "KB-PROMO-GREENSTART",
"title": "GREENSTART — retired rider ($0)",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\", \"HOME\"]}",
"snippet": "GREENSTART still validates as a code, but its underlying **rate rider was retired**,\nso it produces a **$0 benefit**. Do not promise customers a discount from it.\n"
}
]
}Great question — and here's an important catch. "AP3" isn't a single plan; it's a legacy EVERGREEN plan code, and what it maps to depends on the region. In our system:
- In the Northeast, AP3 = a "gen-3 Preferred" auto policy, which maps to our Evergreen tier (a rich plan with bodily injury, property damage, uninsured/underinsured motorist, collision, comprehensive, medical, and rental reimbursement).
- In the Southeast, AP3 was actually a relabeled Standard plan, which maps to our lower Pine tier (just BI, PD, collision, comprehensive).
So "AP3" itself doesn't guarantee your friend's exact coverage — it depends where she is. More importantly, that code is a legacy artifact; we don't sell "AP3" anymore. What I can do is set you up on the current tier that matches the coverage she loves.
A couple of quick things so I can help properly:
- Are you an existing PEICO customer, or would this be a brand-new account? (If you're existing, I'll need to verify your identity first.)
- Which state is your car garaged in? That affects both eligibility and which tier makes sense.
- Do you know roughly what your friend has — is she in the Northeast (the richer Evergreen version) or Southeast? Or better yet, tell me what coverage you actually want, and I'll match you to the right current tier.
Once I know your state and whether you want the full Evergreen-level coverage or something lighter, I can pull an exact quote for your 2019 Civic.
Okay, that makes sense. I'm in Naperville, IL — so that's Midwest, right? And I'm not an existing customer yet, this would be brand new. Honestly, I don't know the details of what my friend's got — she just kept saying how good AP3 is. I'm guessing if she loves it, it's probably the better coverage option, so yeah, let's go with whatever your current preferred plan is. What do you call it now instead of AP3?
⚙ query_db(SELECT * FROM states WHERE state = 'IL')
{
"sql": "SELECT * FROM states WHERE state = 'IL'"
}{
"rows": [
{
"state": "IL",
"region": "R-MW",
"name": "Illinois",
"notes": "Baseline rating reference."
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM tiers WHERE line='AUTO' ORDER BY position)
{
"sql": "SELECT * FROM tiers WHERE line='AUTO' ORDER BY position"
}{
"rows": [
{
"tier_id": "AUTO:HERITAGE",
"line": "AUTO",
"code": "HERITAGE",
"label": "Heritage",
"position": 0,
"sellable": 0,
"retired_on": "2009-07-01",
"notes": "Retired 2009. Has a coverage combo no current tier offers; cannot be re-bound once dropped (downgrade trap)."
},
{
"tier_id": "AUTO:SAPLING",
"line": "AUTO",
"code": "SAPLING",
"label": "Sapling",
"position": 1,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:PINE",
"line": "AUTO",
"code": "PINE",
"label": "Pine",
"position": 2,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:EVERGREEN",
"line": "AUTO",
"code": "EVERGREEN",
"label": "Evergreen",
"position": 3,
"sellable": 1,
"retired_on": null,
"notes": null
},
{
"tier_id": "AUTO:SEQUOIA",
"line": "AUTO",
"code": "SEQUOIA",
"label": "Sequoia",
"position": 4,
"sellable": 1,
"retired_on": null,
"notes": null
}
],
"row_count": 5,
"truncated": false
}⚙ query_db(SELECT * FROM eligibility_rules WHERE line='AUTO' AND (state='IL' OR state IS…)
{
"sql": "SELECT * FROM eligibility_rules WHERE line='AUTO' AND (state='IL' OR state IS NULL)"
}{
"rows": [
{
"rule_id": "ELIG-AUTO-GAP-FINANCED",
"line": "AUTO",
"tier_id": null,
"coverage_id": "AUTO:GAP",
"state": null,
"effect": "GATE",
"condition": "vehicle_financed",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-GAP",
"notes": "GAP eligible only when the vehicle is financed/leased."
},
{
"rule_id": "ELIG-AUTO-OEM-SEQUOIA",
"line": "AUTO",
"tier_id": "AUTO:SEQUOIA",
"coverage_id": "AUTO:OEM",
"state": null,
"effect": "GATE",
"condition": "tier_is_sequoia",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-TIERS",
"notes": "OEM parts guarantee is Sequoia-only on sellable tiers."
},
{
"rule_id": "ELIG-AUTO-MED-EVERGREEN",
"line": "AUTO",
"tier_id": null,
"coverage_id": "AUTO:MED",
"state": null,
"effect": "GATE",
"condition": "tier_position_gte_evergreen",
"effective_start": null,
"effective_end": null,
"reason_doc": "KB-AUTO-TIERS",
"notes": "Medical Payments available Evergreen and above."
}
],
"row_count": 3,
"truncated": false
}Yes — Naperville, IL is in our Midwest region, and there are no state-specific eligibility blockers for you there.
To answer your question directly: the plan that AP3 mapped to (the "preferred" version your friend likely has if she's in the Northeast) is now called the Evergreen tier. That's our rich preferred plan — it includes:
- BI – Bodily Injury liability
- PD – Property Damage liability
- UM/UIM – Uninsured / Underinsured Motorist
- COLL – Collision
- COMP – Comprehensive
- MED – Medical Payments
- RENT_REIMB – Rental Reimbursement
(There's also an even higher tier, Sequoia, and lighter ones below — Pine and Sapling — if you'd rather compare.)
One honest note: since you don't actually know what your friend has, I don't want to just assume "more is better." Evergreen is a solid preferred plan, but let me pull you a real quote so you can see the actual price before you commit.
To rate it accurately for your 2019 Honda Civic, I need a few facts:
- Roughly how many miles/year do you drive it?
- Is the car financed or leased, or do you own it outright? (This matters — GAP coverage is only available if it's financed.)
- Any accidents or violations in the last 5 years?
- Is it for personal/commuting use or business?
Give me those and I'll quote you the exact Evergreen premium (and I'm happy to show Pine alongside it so you can compare).
I appreciate you laying all that out, but let's not run the numbers today — I'll call back when I'm ready. I just wanted to get a sense of what plan to ask for, and now I know it's called Evergreen instead of AP3. That's exactly what I needed.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Take care, and we'll be here whenever you're ready to get your Civic covered!
Thanks so much — appreciate the help!