Model Validation Report
Cardinal Peak Life
At a glance — ! — every mechanic the engine computes matches the filing; thirteen filed features still await an accept-or-model call.
| Run | Description | Status |
|---|---|---|
synthetic-a — indexed |
100% S&P 500 annual point-to-point cap; $1M at issue age 55, income at year 10 | ! |
Scope — one cell: cap crediting, both roll-up phases, income at year 10, claim phase to age 115.
⚠ ATTENTION (5)
| Item | Decision | Where |
|---|---|---|
| [Latent · NOT-MODELED] Joint Life; strategy reallocation | Accept as simplifications, or model | §2 · §6 |
| [Immaterial · NOT-MODELED] Eight inert or dormant filed features | Accept as simplifications, or model | §2 |
| [Latent · scope] Four strategies not carried — participation, Russell, Nasdaq, Fixed | Build a cell, or accept the scope | §2 · §3 |
| [Immaterial · AGGRESSIVE] Surrender-charge waivers omitted | Accept with the direction corrected to aggressive | §2 · §6 |
| [Immaterial · convention] Roll-up cease age set to the maturity age, unfiled | Record the convention, or amend | §3 |
✓ CLEAN (3)
| Section | |
|---|---|
| §1 Source map | ✓ |
| §2 Functionality | ! |
| §3 Rate & parameter fidelity | ! |
| §4 Balances & cash flows | ✓ |
| §5 Inner-loop projection | ✓ |
| §6 Known deviations | ✓ |
Legend
| RAG | ✗ blocking · ! decide · ✓ ok |
| Class | CONSERVATIVE · AGGRESSIVE · MISMATCH · NOT-MODELED · NOT-EXERCISED (modelable via inputs, no reviewed cell runs it — amber = unevidenced, not wrong) — printed only on non-green rows; bare green = exact/tied |
| Materiality | Material (prices now) · Latent · Immaterial |
| Evidence | Ex N · cell · ref = a tab·cell in the binder — open it to trace any number |
| Short name | Form + eff. date | Governs |
|---|---|---|
| Contract | CPL-FIA-2026 · filed 2026-04-14 · SERFF CPLX-100000001 | Base mechanics — crediting, withdrawals, surrender, market value adjustment, death benefit, nonforfeiture floor |
| Contract Schedule | CPL-FIA-2026, p2–p3 | Declared and guaranteed rate factors, allocations, surrender-charge schedule, premium limits |
| Rider | CPL-GLWB-A-2026 | Rider mechanics — benefit base, roll-up, election, income, claim phase, rider charge |
| SOV | CPL-SOV-A-2026 | Bracketed structure and permitted ranges — range cross-check only, never currency |
| Memo | Actuarial Memorandum, Exhibit A on p4 | Illustrative demonstrations — option budget, nonforfeiture, roll-up walk; mechanics only |
| Brochure | CPL-BRO-A-2026 · rates eff. 2026-07-16 | Current declared values — cap, roll-up, withdrawal percentages, rider charge, free withdrawal |
| Locators | page printed in each form's footer | The brochure prints no page numbers; its block heading is the locator |
| Config | synthetic_a.json |
The modeled parameters §3 compares against these sources |
| Run basis | economic-liability hedge sizing; behavior, valuation and expense sets per review.md |
The projection |
| Read scale | Ex 1 per policy (premium 150,000); Ex 9 aggregate (premium 1,000,000) | Check before comparing cells across exhibits |
| Provenance | Fictional demonstration filing — Cardinal Peak Life is not a real carrier | A pipeline exercise, not an opinion on a marketed product |
| Build | Clean-room rebuild — config, run and binder built from the sources alone | No prior package, report or history was consulted |
| Report date | 2026-08-06 | Valid for the sources and configuration as at this date |
| Model spec | engine cba5596 | Engine-wide behavior — relied on, not re-derived |
| Feature | Modeled as | Contract | Expected direction | Status |
|---|---|---|---|---|
| Index crediting — cap point-to-point | Lesser of index change and the declared cap, floored at zero | Contract: p6 | — | ✓ |
| Index term and declared-rate horizon | Twelve-month term; cap declared for term one, redeclared each renewal | Contract: p4 · p7 | — | ✓ |
| Credit base and same-day order | Withdrawal, then rider charge, then the index credit | Contract: p6 | — | ✓ |
| Free-withdrawal corridor | Percentage of the prior anniversary value, premium in year one, no carry-forward | Contract: p8 | — | ✓ |
| Rider charge is not a withdrawal | The charge never consumes the free amount | Contract: p8 | — | ✓ |
| Surrender charge | Declining schedule then zero; assessed on the amount above the free amount | Contract: p8 | — | ✓ |
| Market value adjustment | Filed rate-ratio factor and bound modeled; excluded from the priced cash flow | Contract: p8 | neutral | ✓ — disclosure, spec §3.2.6 · §7.2.13 |
| Cash surrender value floor | Greater of value less charge and the minimum guaranteed surrender value | Contract: p8 | — | ✓ |
| Minimum guaranteed surrender value | Percentage of premium accumulated; withdrawals reduce it, the rider charge does not | Contract: p5 | — | ✓ |
| Death benefit | Greater of account value and the guaranteed surrender value, no charge or adjustment | Contract: p9 | — | ✓ |
| Single premium | No additional premium after issue | Contract: p5 | — | ✓ |
| Benefit base at issue; no bonus | Benefit base equals the single premium | Rider: p2 | — | ✓ |
| Roll-up — before election | Fixed baseline plus a factor on the credited rate, applied to the benefit base | Rider: p2 | — | ✓ |
| Roll-up — after election | The fixed component ceases; the factor on the credited rate continues | Rider: p2 | — | ✓ |
| Roll-up window, timing, stop at zero value | Credited at each of the first fifteen anniversaries, after the index credit | Rider: p2–p3 | — | ✓ |
| No benefit-base step-up | The benefit base changes only by roll-up and excess-withdrawal reduction | Rider: p2 | — | ✓ |
| Waiting period | Contractual minimum drives the reserve scan; the reviewed cell elects later | Rider: p3 | — | ✓ |
| Election granularity | Election attempted at contract anniversaries only | Rider: p3 · "on any Monthly Anniversary" | immaterial | ✓ — disclosure, spec §1.5.1 |
| Election irrevocable; payment frequency | Never reversed; paid monthly, one of the filed frequencies | Rider: p3 | — | ✓ |
| Initial income amount | Withdrawal percentage at attained age times the benefit base at election | Rider: p3 | — | ✓ |
| Withdrawal-percentage basis and table shape | Attained-age bands, locked at election, flat above the top band | Rider: p3 | — | ✓ |
| Income increase after election | Income rises by the post-election factor on the credited rate each anniversary | Rider: p4 | — | ✓ |
| Scheduled income leaves the benefit base | In-limit withdrawals do not reduce the benefit base | Rider: p4 | — | ✓ |
| Excess withdrawal — benefit-base cut | Pro-rata reduction on every pre-election withdrawal | Rider: p4 | — | ✓ |
| Income free of charge and adjustment | Guaranteed withdrawals pool with the free amount and escape the surrender charge | Rider: p4 | conservative | ✓ — disclosure, spec §2.4 |
| Claim phase — payment, escalation, crediting basis | Income continues for life at a zero account value and keeps escalating | Rider: p5 | — | ✓ |
| Rider charge — formula, basis, sequence, cessation | Monthly twelfth of the annual rate on the benefit base, from the account value | Rider: p6 | — | ✓ |
| Rider termination triggers | Claim phase requires an elected income, matching the filed termination branch | Rider: p6 | — | ✓ |
| Continuation past the maturity date | The projection runs with the rider in force to age 115 | Rider: p6 | — | ✓ |
| Required-minimum-distribution waiver | No partial withdrawal is surrender-charged on any modeled path | Contract: p9 | — | ✓ |
| Anniversary-day withdrawal ordering | Credit first; the withdrawal falls in the following contract year | Contract: p4 · p6 | none (review.md item 1) | ✓ accepted (§6) |
| Joint Life | Single life only | Rider: p3 | Aggressive if the block carries joint elections | OPEN |
| Minimum income age | No age floor on election | Rider: p3 | Conservative — permits an election the contract forbids | OPEN |
| Excess withdrawal — income cut | No path reduces the guaranteed amount | Rider: p4 | Conservative if reached — dormant on every modeled path | OPEN |
| Rider-charge redeclaration to the filed maximum | The current declared charge is held level for life | Rider: p6 | Two-sided — more fee income, faster depletion | OPEN |
| Surrender-charge waivers — terminal illness, confinement | The charge is always assessed | Contract: p9 | Aggressive — a waived charge raises the amount paid | OPEN |
| Spousal continuation | No continuation path | Contract: p9 · Rider: p6 | Two-sided — replaces a lump sum with a continuing rider | OPEN |
| Annuitization at the maturity date | No annuitization path | Contract: p9 | Immaterial — income elected, continuation is the filed path | OPEN |
| Free look | Not modeled | Contract: p1 | Immaterial — no decrement in the first month | OPEN |
| Strategy reallocation and discontinuance | One allocation for the life of the contract | Contract: p6 | n/a (block mix) | OPEN |
| Annual performance trigger strategy | No digital-payoff strategy type in the engine | Contract: p6 | n/a (block mix) | OPEN |
| Index substitution | No substitution concept | Contract: p7 | Immaterial — scenario-level | OPEN |
| Other filed index strategies — participation, Russell, Nasdaq | Reachable as another allocation; no reviewed cell builds one | Contract: p3 | n/a (block mix) | OPEN |
| Fixed Account | Reachable as a declared-rate allocation; no reviewed cell builds one | Contract: p7 | n/a (block mix) | OPEN |
| Administrative provisions | No cash-flow mechanic | Contract: p10 | n/a | n/a |
Nothing the engine computes for this product departs from the filed forms, and the memorandum's own rider exhibit replays column for column; the amber is the acceptance state alone.
Each value is tested against the evidence class its source can attest: carrier-changeable values against the dated brochure, unbracketed values against the filed form, with the Statement of Variability as a range cross-check only.
| Parameter | Source (+ eff. date / form) | Config | Status |
|---|---|---|---|
| S&P 500 1-yr point-to-point cap 6.00% | Brochure — Current crediting rates, eff. 2026-07-16 (SOV: p1, 0.50%–25.00%) | 6.00% for term one; renewals solved from the option budget — §4 | ✓ |
| Guaranteed minimum cap 0.50% | Contract: p3 — unbracketed | 0.50%, deriving a 30.03 bp guaranteed minimum option cost | ✓ |
| Floor 0% on every indexed strategy | Contract: p7 — unbracketed | 0.00% | ✓ |
| Surrender charges 9/8/7/6/5/4/3%, zero from year 8 | Contract: p2 — unbracketed; Brochure | the same seven-year schedule; period derives to seven years | ✓ |
| Free withdrawal 10% | Brochure — Product facts (SOV: p1, 5%–20%) | 10% of the prior anniversary value; premium in year one | ✓ |
| Guaranteed surrender value 87.5% of premium at 2.00% | Brochure — Protection & access (SOV: p2, 87.5%–100% · 1.00%–3.00%) | 87.5% · 2.00% — at the nonforfeiture floor, above the statutory rate | ✓ |
| Roll-up baseline 4.00%, credited-rate factor 125% | Brochure — GLWB roll-up (SOV: p3, 2.00%–6.00% · 100%–150%) | 4.00% · 1.25 | ✓ |
| Post-election factor 75%, no fixed component | Brochure — roll-up and income raise; Rider: p2 | 0.75 · 0.00% — an explicit zero, not an inherited baseline | ✓ |
| Roll-up period 15 years | Brochure; Rider: p2 (SOV: p3, 10–20 years) | fifteen anniversaries | ✓ |
| Roll-up cease age | not filed — the rider states no age cutoff | the Contract's maturity age 100; non-binding at every filed issue age | OPEN |
| Minimum waiting period 5 contract years | Brochure — GLWB; Rider: p3 (SOV: p3, 1–10 years) | 60 months as the contractual minimum; this cell elects at 120 | ✓ |
| Withdrawal percentages 4.00%–6.50%, six age bands | Brochure — Guaranteed Annual Withdrawal percentages, eff. 2026-07-16 | six band starts; exact at every election age the outer and reserve scans reach | ✓ |
| Joint Life percentages | Rider: p3 (SOV: p3, Single less 0.50%) | not carried — single-life engine; the feature decision is §2's | ✓ — disclosure, spec Appendix C · §12.6.4 |
| Rider charge 1.00% of the benefit base, monthly | Brochure — Rider charge, eff. 2026-07-16 (SOV: p3, 0.50%–1.50%) | 1.00%, monthly, on the benefit base | ✓ |
| Guaranteed maximum rider charge 1.50% | Rider: p6 — filed maximum | not carried — the declared charge is held level | OPEN |
| Minimum income age 55 | Rider: p3; Brochure (SOV: p3, 50–65) | not carried | OPEN — inert on this cell |
| Market value adjustment — factor, base, bound | Contract: p8 — unbracketed | ten-year Treasury ratio over the remaining charge period; filed two-part bound | ✓ |
| Death benefit definition | Contract: p9 — unbracketed | greater of account value and guaranteed surrender value | ✓ |
| Benefit base at issue, no premium bonus | Rider: p2 — unbracketed; Brochure | 100% of premium, no bonus | ✓ |
| Issue ages 45–80; premium band 25,000–1,000,000 | Contract: p2 · p5; Brochure (SOV: p1) | issue age 55, 150,000 per policy | ✓ |
| Other declared strategy rates — participation, trigger, Russell, Nasdaq, Fixed Account | Brochure — Current crediting rates, eff. 2026-07-16 | not carried — one allocation per configuration | OPEN |
Every monthly balance and cash flow below is re-derived in the binder and tied to the engine — the recalc gate asserts the checks wholesale; this registry is generated from the binder's own check columns.
| Check (exhibit · col) | Replicates | Status |
|---|---|---|
av_check (Ex 1) |
monthly AV roll-forward — charge → credit → withdrawals | ✓ |
bb_check (Ex 1) |
BB rollup / pro-rata reduction incl. income phase | ✓ |
credited_rate_rule_check (Ex 1) |
cap/par/floor rule applied to the term credit | ✓ |
glwb_income_rule_check (Ex 1) |
monthly income = min(GAWA/12, annual cap remaining) | ✓ |
option_cost_check (Ex 2) |
BOY option cost = priced call spread × notional | ✓ |
budget_check (Ex 2) |
option cost within the crediting budget | ✓ |
c_atm_mtm_check (Ex 3) |
ATM call leg re-priced (Black-Scholes) | ✓ |
c_otm_mtm_check (Ex 3) |
OTM call leg re-priced (Black-Scholes) | ✓ |
derivative_pct_check (Ex 3) |
derivative value as % of notional | ✓ |
derivative_value_check (Ex 3) |
derivative MTM roll-forward | ✓ |
db_check (Ex 4) |
death-benefit derivation | ✓ |
gmsv_check (Ex 4) |
MGSV accrual — withdraw-then-accrue at the guaranteed AER | ✓ |
sc_rate_check_diff (Ex 5) |
surrender-charge rate schedule applied by policy year | ✓ |
pw_dollars_check_diff (Ex 5) |
per-policy partial-withdrawal dollars | ✓ |
deaths_check_diff (Ex 5) |
monthly deaths = lives × qx per the decrement basis | ✓ |
lapses_check_diff (Ex 5) |
monthly lapses = base × skew × dynamic multipliers | ✓ |
expense_check (Ex 10) |
per-policy expense assumptions applied | ✓ |
gross_check (Ex 11) |
gross earned-rate build-up | ✓ |
nier_check (Ex 11) |
NIER = yield − default − investment expense | ✓ |
surrender_cf_check (Ex 13) |
surrender CF = lapses × EOM CSV chain | ✓ |
death_cf_check (Ex 13) |
death CF = deaths × EOM DB | ✓ |
partial_cf_check (Ex 13) |
partial-withdrawal CF = lives × per-policy PW | ✓ |
glwb_wd_cf_check (Ex 13) |
GLWB withdrawal CF = lives × per-policy GAWA draw | ✓ |
glwb_claim_cf_check (Ex 13) |
GLWB claim CF = lives × Ex-1 GAWA/12, net of the transition-month withdrawal | ✓ |
expenses_cf_check (Ex 13) |
block expenses from the expense assumptions | ✓ |
payoff_check (Ex 13) |
option payoff = credited rate × notional | ✓ |
gross_inv_income_check (Ex 14) |
gross investment income on the BOM bond base | ✓ |
defaults_check (Ex 14) |
default drag on the bond base | ✓ |
inv_expenses_check (Ex 14) |
investment-expense drag on the bond base | ✓ |
revenue_check (Ex 14) |
income-statement revenue assembly | ✓ |
expenses_check (Ex 14) |
income-statement expense assembly | ✓ |
pre_tax_check (Ex 14) |
pre-tax profit = revenue − expenses − Δstat reserve | ✓ |
federal_tax_check (Ex 14) |
federal tax on the Δstat−Δtax swapped base | ✓ |
req_capital_check (Ex 14) |
required capital = (C1 on bonds + C3 on stat + C4 on premium) × target RBC | ✓ |
ii_surplus_check (Ex 14) |
surplus investment income on prior-EOM capital | ✓ |
de_check (Ex 14) |
distributable earnings assembly | ✓ |
The cell projects 720 months on a deterministic scenario. The account value exhausts in month 235; from there the rider pays for life, and those claim payments are the largest single liability component (Ex 9 · B9).
Because the index rises steadily and never reaches the cap, the zero floor and the cap constraint are not hit on this path, and the guaranteed surrender value never becomes the binding death benefit: the rules are checked every month, their boundaries are not reached.
One export gap is routed out of this report. In the single month the account value drains, the crediting workbook's rider-charge display column re-derives a charge the engine does not book; both land on a zero account value, so no check column and no cash flow moves.
The column has the same shape for every rider product, so it belongs in review/TODO.md as an export-coverage item, not in this product's decisions.
Assumptions → actuals
| Assumption | Evidence | Status |
|---|---|---|
| Acquisition expense — percentage of premium at issue | expense check (Ex 10 · L) | ✓ |
| Upfront and trail commission on the seven-year shape | expense check (Ex 10 · L) | ✓ |
| Maintenance expense per policy, inflating annually | expense check (Ex 10 · L) | ✓ |
| Investment yield 6.50% | earned-rate build-up (Ex 11 · C2) | ✓ |
| Net investment earned rate 6.25% — yield less default and investment expense | earned-rate check (Ex 11 · I2) | ✓ |
| Pricing spread calibrated to the declared cap — option cost 2.7540% of strategy value | option-cost check (Ex 2 · S2) · spec §8.6.1 | ✓ |
| Rider charge is an account-value transfer, not revenue | revenue check (Ex 14 · AD) · spec §12.3.4 | ✓ |
The pricing spread is a function of the declared cap, not an independent margin: inverting the option budget at the issue-date market inputs is what reproduces the declared cap at each renewal, and the standing drift validator passes on this run.
Decrement basis
| Leg | Basis | Evidence | Status |
|---|---|---|---|
| Mortality | 2012 IAM Basic M/F, improving 0%–1.5%/yr by age (G2-derived) | Tbl Mortality M/F, Mort Imp M/F · Ex 5 Mort · S | ✓ |
| Base lapse + skew | 3% to yr 7 · 30% shock @ yr 8 · 10% ultimate, level within each year | Tbl Lapse Rates, Lapse Skew · Ex 5 Lapse · AG | ✓ |
| Dynamic lapse (in-the-money) | lapse falls as the guarantee gains value, to 0.10× base when deep in the money | Tbl ITM Lapse Mult · Ex 5 Lapse · W | ✓ exercised, 1.00× down to 0.10× |
| Dynamic lapse (interest-rate) | rate-gap add-on to base lapse; table all zero | Tbl IR Dynamic Lapse · Ex 5 Lapse · N | not applied — off on this basis |
| Partial withdrawals | 2% of account value (qualified) | Tbl PW Rates · Ex 5 PW · K | ✓ exercised months 13–109 |
| RMD add-on | 80% of the IRS Uniform Lifetime draw, from age 73 | Tbl RMD · Ex 5 PW · H | ✓ exercised from month 217 |
The required-minimum-distribution add-on is inert here. Scheduled withdrawals stop when income begins at attained age 65, eight years before the add-on's age gate, so the leg never reaches a cash flow.
Cost of funds & PV decomposition
| Component | Value | Evidence |
|---|---|---|
| Cost of funds (annual) | 5.3912% | Ex 9 · B3 |
| Beckerized IRR (annual) | 7.7992% | Ex 9 · B4 |
| PV death benefits | 35,653 | Ex 9 · B5 |
| PV surrender benefits | 284,200 | Ex 9 · B6 |
| PV partial withdrawals | 126,302 | Ex 9 · B7 |
| PV guaranteed withdrawals | 277,823 | Ex 9 · B8 |
| PV claim-phase payments | 306,267 | Ex 9 · B9 |
| PV expenses | 90,727 | Ex 9 · B10 |
| PV hedging costs | −120,974 | Ex 9 · B11 |
| PV liabilities | 1,000,000 | Ex 9 · B12 |
| Premium | 1,000,000 | Ex 9 · B13 |
§14.2 roll-forward identities: secondary tripwire only (largely tautological); the credit is proven by the Ex 2 re-price and the per-row roll-up check.
The reserve audit replays the priced computation at eight valuations from issue through the claim phase, on the guaranteed basis, with the election scan opening at the contractual five-year minimum rather than the modeled election.
| Check | What it proves | Evidence | Status |
|---|---|---|---|
| Replay tie-out | The audit reproduces the priced reserve | Reserve audit · Reconciliation, all eight valuations | ✓ |
| Branch selection | Node, interim-replay and active-income routes are chosen correctly | Reserve audit · Summary | ✓ |
| Election window | The scan opens at the contractual minimum, not the modeled election | Reserve audit m1 · Stream Comparison | ✓ |
| Stream inventory | The twenty-year horizon and the surrender/election cross-product | Reserve audit m1 · Stream Comparison | ✓ |
| Surrender-value floor | The floor is applied every month; it binds at issue only | Reserve audit · Summary | ✓ |
| Valuation rates | One rate per cash-flow type; claims banded at commencement | Reserve audit · Assumptions | ✓ |
| Guaranteed-basis crediting | Current term credited at the boundary, future terms at the guaranteed minimum | Reserve audit · Monthly Projection | ✓ |
| Roll-up, both phases | Baseline plus factor before election, factor alone after | Reserve audit m109 · Monthly Projection | ✓ |
| Roll-up cessation and claim freeze | No roll-up after the fifteenth anniversary or at a zero account value | Reserve audit m120, m240 · Monthly Projection | ✓ |
| Income at and after election | Struck at the attained-age band, then escalated each anniversary | Reserve audit m109, m121 · Monthly Projection | ✓ |
| Claim phase | Payments continue for life, escalation continues, the charge stops | Reserve audit m240 · Monthly Projection | ✓ |
| Rider charge | Monthly on the benefit base, never netted against the reserve | Reserve audit · Monthly Projection | ✓ |
| Decrements | Mortality only, single survivorship on the reserving tables | Reserve audit · Monthly Projection | ✓ |
| Independent per-row recompute | Balances and income rebuilt outside the engine across four streams | Reserve audit · Monthly Projection, 2,784 rows | ✓ |
The hedge loop re-solves at issue and each anniversary, shocking the first-year credited rate by one percent and sizing notional off the resulting liability delta, discounted at the net investment earned rate.
| Check | What it proves | Evidence | Status |
|---|---|---|---|
| Snapshot handoff | The inner projection starts from the outer state, one month on | Hedge audit · Starting Balance Check | ✓ |
| Credit schedule | Base credit equals the option budget; the shock is one percent, first year only | Hedge audit · Inner Loop M13 | ✓ |
| Net earned rate | Yield less default and investment expense | Hedge audit · Assumptions | ✓ |
| Discount timing | Flat net earned rate, first step undiscounted | Hedge audit · Inner Loop M13 | ✓ |
| Liability PV tie | The trace accumulates to the reported base and shocked liabilities | Hedge audit · Liability Decomposition | ✓ |
| Notional arithmetic | Notional is the positive liability delta per point of credit, times the hedge ratio | Hedge audit · Hedge Allocation | ✓ |
| Liability composition | Benefit outflows only; the rider charge is never a cash flow | Hedge audit · Liability Decomposition | ✓ |
| Reset cadence | Re-solved at issue and each anniversary, held flat within the year | Hedge audit · Hedge Allocation | ✓ |
| Behavioral deferral | The hedge elects income at the modeled year, not the contractual minimum | Hedge audit · Inner Loop M13 | ✓ |
| Roll-up and income in the loop | The same phase-scoped mechanics as the reserve, at the budget rate | Hedge audit · Inner Loop M13 | ✓ |
| Claim transition | The shortfall in the depletion month is bucketed as a claim | Hedge audit · Inner Loop M13 | ✓ |
| Post-depletion sensitivity | Escalation keeps the liability index-linked after depletion | Hedge audit · Liability Decomposition | ✓ |
| Independent per-row recompute | Balances and credited rate rebuilt outside the engine, both scenarios | Hedge audit · Inner Loop M13, 1,414 rows | ✓ |
One engine-wide observation is routed out of this report. At a valuation inside a crediting term the guaranteed-basis credit is fixed in dollars and divided by the account value standing at the term boundary, so a falling account value can imply a credited rate above the declared cap — two of 720 valuations here, raising the reserve.
The divisor is not documented, so it belongs in review/TODO.md as a specification gap, not in this product's decisions.
| Deviation | Expected direction | Materiality | Rationale | Status |
|---|---|---|---|---|
| Anniversary-day withdrawal ordering — credit first | none (review.md item 1) | Immaterial | Annual point-to-point crediting sees only the year's total deductions | ✓ accepted |
The filed features not yet on an acceptance list are decisions, not deviations: they sit in §2 and in the summary until accepted.
gmsv_* fields, write GMSV).max(guarantee, GMOC)). Derived per product from the filed minimum 1-yr cap (guaranteed_minimum_cap) as the Black-Scholes price of the 1-yr ATM-vs-cap call spread on the ruled valuation basis (4.00% continuous RFR, 18.00% ATM vol, 1.00% dividend yield, linear skew −0.25 per unit moneyness); engine default 25bp where no minimum is filed. Distinct from the rider-charge "filed max" — a different guarantee.model_to_audit_difference ≈ 0; the strongest anchor that the audit reproduces the engine.REGRESSION_RUNS; a product with no pinned run can silently drift.| Artifact | Path |
|---|---|
| Exhibit binder (Ex 1–5, 8–11, 13–14) | [Path removed before posting] |
| Reserve audits (eight valuations) | [Path removed before posting] |
| Hedge-liability audit | [Path removed before posting] |
| Crediting and decrement audits | [Path removed before posting] |
| Run output and analysis workbook | [Path removed before posting] |
| Run config | [Path removed before posting] |
| Product config | [Path removed before posting] |
| Review file (cells, accepted simplifications, review items) | [Path removed before posting] |
| Sources | [Path removed before posting] |