# State duals knowledge base v5: msp limits

`medicare_silver.state_duals_kb_msp_limits_v5` · State programs · status live · 217 rows

Cited, curated state-by-state knowledge of what Medicaid gives each dual category and who pays (current version v5: v1 seeds + CA/FL/TX/PA/NJ depth + wave-3 and wave-4 demand-driven depth, under neutral source and rule ids). Every row carries source_id, a verbatim quote + locator on exact rows, confidence (exact / rule / judged), effective dates and spine_ref. Seeds pipelines/medicare/data/state_duals_kb/v1..v4 through v5/neutralise_v5.yaml; row contract pipelines/medicare/dsnp_wrap/kb.py.

**Grain.** Key msp_limit_id. Spine: 3 population (eligibility group).

| column | type | meaning |
|---|---|---|
| msp_limit_id | string |  |
| state_code | string |  |
| year | int |  |
| msp_category | string |  |
| income_limit_fpl_pct | double |  |
| income_limit_monthly_individual | double |  |
| income_limit_monthly_couple | double |  |
| asset_test | string |  |
| asset_limit_individual | double |  |
| asset_limit_couple | double |  |
| effective_from | string |  |
| effective_to | string |  |
| quote | string |  |
| source_id | string |  |
| rule_id | string |  |
| confidence | string |  |
| spine_ref | string |  |
| notes | string |  |
| parse_revision | int |  |
| seed_file | string |  |
| seed_sha256 | string |  |

Query it: `query_substrate` with `SELECT ... FROM medicare_silver.state_duals_kb_msp_limits_v5 WHERE ... LIMIT 100`; read `describe_data_source("medicare_silver.state_duals_kb_msp_limits_v5")` first.
