diff --git a/FINAL_REPORT.md b/FINAL_REPORT.md index 74cdc96d..59296eb9 100644 --- a/FINAL_REPORT.md +++ b/FINAL_REPORT.md @@ -1,111 +1,186 @@ -# Final report: microcosm #462 register alignment - -## Outcome - -Completed the split-PR remediation on `loss-contract-alignment`, based on -`origin/main` at `7b6e10b`. The change is now register alignment only: one -shared critical-target register, one shared congressional-district classifier, -two consumers, builder contract-row gating, and behavioral containment of the -publish contract. - -The critical-row loss multiplier was removed entirely per -[microcosm#492](https://github.com/PolicyEngine/microcosm/issues/492). There is no -constant, CLI option, validation, loss overlay, telemetry, diagnostics/scorer -provenance, or historical replay pin left. `_fiscal_target_loss_weights` is -source-identical to `origin/main`, and its output therefore preserves main's -bit-level behavior for the same registry and family multipliers. - -## Sol round-1 findings - -1. **Table 1.4 selector parity:** removed the builder-only - `accepted_name_prefixes=("irs_soi.",)` constraint. The adapter now has - exactly the shared requirement's substring and suffix selectors. The - outside-prefix reproduction is builder-rejected. -2. **Congressional-district parity:** added exported, stdlib-only - `is_congressional_district_target(name, metadata)` and made the publisher - and builder classifiers thin wrappers. It ORs layout dimension, source-id - token, geography level, geography scope, truthy CD GEOID, and name token. - The builder's exact/semantic, Table 1.4, and zero-support paths now see the - same registry metadata. -3. **Recorded relative-error shape:** a matched row with missing/`None` - `relative_error` now fails with the publish-contract message instead of - silently passing after recomputation. Existing non-numeric and stale-value - checks remain. -4. **Behavioral anti-drift:** the load-bearing test now runs adversarial rows - through both consumers for exact-name, family+role, Table pattern, - missing/non-finite values, and a disallowed incumbent escape at the 0.25 - hard stop. A production Ledger compile supplies six separate CD evidence - rows; builder and publisher exclude identical six-name sets and counts. - Field comparisons remain as fast checks, and any added conjunctive prefix - is proven to trip the guard. - -The [#490](https://github.com/PolicyEngine/microcosm/issues/490) medical 0.25 -adjudication tolerance and its adjacent comment in `us_critical_targets.py` -remain byte-for-byte unchanged, as required. - -## Reproduction receipts - -The Table 1.4 prefix reproduction now returns: - -```text -SOI Table 1.4 national dollar fit failed: other.table_1_4.all.bad_amount@2024: relative_error=1 exceeds 0.25 for SOI Pub 1304 Table 1.4 national dollar rows (soi_table_1_4_national_dollar_rows); target=100.0, final_estimate=200.0. -``` - -The missing-relative-error reproduction now returns: - -```text -SOI Table 1.4 national dollar fit failed: irs_soi.ty2023.table_1_4.all.adversarial_amount@2024: missing recorded relative_error; the publish contract requires a numeric value. -``` - -The CD reproduction has the owner-mandated exclusion result: - -```text -builder_excluded=True -publisher_excluded=True -builder_failures=[] -``` - -Calling that row "rejected" would contradict the required OR-union exclusion -semantics. The two malformed critical rows are rejected; the CD row is -symmetrically excluded by both consumers. +# Final report: microcosm #722 passive pass-through NIIT input + +## Outcome and base + +Completed on `passive-pass-through-722`, based on +`origin/main@9c20c1d2`. + +I inspected the verified #530 chain through `qbi-v3-wiring` but did not stack +on it. Its tip diverges before the repository rename and still imports the +retired `popu` + `lace.*` namespace and uses the retired package layout. +Stacking it would have reintroduced stale names into the current +`microcosm.*` tree, so I ported only the required evidence, calibration, RNG, +and wiring concepts onto current main. + +The result emits `passive_partnership_s_corp_income` as a person-level subset +of positive partnership plus S-corporation income. It does not add that subset +to gross income because the parent income is already present there. + +## Evidence and SCF cells + +The new provisional, spec-only resource +`us/qbi_passive_passthrough_v1.json` is declared in +`country_package.json`. It pools the five SCF 2022 implicates with weight +`X42001 / 5`, defines active businesses from `X3103/X3104/X3105`, and uses +the SCFP `NONACTBUS` value components for holdings without an active +management role. Bands use Schedule-E income `X5714`. + +The prevalence denominator is households with an actively managed business. +All prevalence cells clear effective n = 30. Conditional-share cells use the +band estimate when holder effective n is at least 30; the three thin middle +bands use the pooled all-band holder cell (effective n 236.0; 1,180 pooled +records). + +| X5714 band | Active effective n | Non-active holding prevalence | Holder effective n | Selected non-active value share | Share cell | +|---|---:|---:|---:|---:|---| +| Nonpositive | 454.4 | 3.3493% | 63.0 | 60.2080% | Exact | +| $0–$25k | 102.6 | 4.1324% | 13.8 | 41.0605% | Pooled fallback | +| $25k–$100k | 121.2 | 6.4533% | 11.4 | 41.0605% | Pooled fallback | +| $100k–$250k | 82.6 | 9.6543% | 17.2 | 41.0605% | Pooled fallback | +| $250k–$1m | 117.2 | 21.2269% | 35.2 | 14.3741% | Exact | +| Over $1m | 229.0 | 38.9806% | 95.4 | 32.9077% | Exact | + +The administrative anchor is IRS Publication 4801, Form 8960, TY2023: + +- Line 4a: $1,185,607,258,000 across 4,988,033 returns. +- Line 4b: −$1,076,350,273,000 across 4,038,235 returns. +- Reported line 4c: $109,256,984,000 across 2,260,296 returns. +- Reported line 4c / line 4a survival ratio: 9.215276%. + +The published thousand-dollar rows differ by $1,000 when line 4a and line 4b +are recombined. The resource therefore preserves the independently reported +line 4c value rather than replacing it with derived arithmetic. + +No passive split exists in the checked entity-side partnership tables +23pa01/04/06/10/23 or IRS Table 1.4. Form 8960 line 4 is the only +administrative level available on disk, and the resource says so directly. + +## Assignment and calibration + +I implemented a version-1 sibling stage before QBI reconciliation rather than +`qbi_simulation_version=4`. Current main consumes 15 archived QBI leaves and +does not contain the old opt-in simulator, so a sibling preserves that contract +without advancing an old stream. The stage order is Schedule-D completion, +passive assignment, then QBI reconciliation. + +The pure assignment uses a new PCG64 seed family with entropy 4722 and separate +presence/share children. It draws full-length arrays before support masks. Its +Schedule-E proxy is: + +`partnership_income + s_corp_income + rental_income + estate_income`. + +The array API accepts a v3 latent entity form when available and uses it only +to route partnership/S-corporation eligibility. The current main frame has no +such latent field. SCF probabilities and shares remain band-only because SCF +active and non-active businesses are not entity-linked. + +The assumptions-build step solved and persisted one shift; runtime performs no +calibration and never reads the restricted artifact: + +| Calibration quantity | Result | +|---|---:| +| Lower bound | $0 | +| Upper bound | $109,256,984,000 | +| Provisional midpoint target | $54,628,492,000 | +| Persisted log-odds shift | −1.157105426398319 | +| Expected weighted aggregate | $54,628,491,999.999985 | +| Seed-0 replay aggregate | $55,021,131,518.061035 | +| Replay error versus target | +$392,639,518.061035 (+0.718745%) | +| Positive assigned rows | 6,207 | + +The achieved replay is inside the required ±5% tolerance and inside the +documented $0–$109.257 billion bounds. + +The pinned replay artifact is 241,045,964 bytes with SHA-256 +`8182579ddfecaf5e5b872e2307b88f03e8e8def993171b648f701a19a847f37b`. +It contains 484,015 persons and 207,692 tax units; 83,820 rows have positive +partnership/S-corporation income, whose weighted aggregate is +$1,632,692,702,130.5078. + +## Wiring and diagnostics + +The column is wired through multispine, direct PUF-support, fiscal-refresh, +operator ownership, L0 export, release coverage, and checkpoint identities. +Existing assigned values survive fiscal rebuilds; legacy inputs missing the +column are assigned once. The 997-row remaining-stage manifest now has SHA-256 +`4ec692e3262f396ebacd6144c900b31ef2ae3eabc1062f38e6db6d3ab6f433fa`. + +The #535 standing surface now contains two distinct, provisional, +diagnostics-only, non-gating rows with per-row error containment: + +- `net_investment_income` versus Form 8960 line 12: + $1,197,238,417,000. +- `passive_partnership_s_corp_income` versus reported line 4c as an upper + bound: $0–$109,256,984,000. + +The locked PolicyEngine-US 1.764.6 predates PR #9306. An exact temporary +engine-registry exception permits the new emitted input while that lock is in +place and becomes a no-op once the engine recognizes it. + +## Open questions and explicit limitations + +- Form 8960 line 4c combines rental, royalty, partnership, S-corporation, + trust, and other flow-through income. There is no source-backed rental versus + passive-pass-through decomposition. The lower bound assumes all line 4c is + rental/royalty; the upper bound assumes all is passive pass-through; the + midpoint is deliberately provisional. +- The engine includes `rental_income` in NIIT in full, while Schedule-E + rental is frequently passive. Rental handling is unchanged here. The overlap + must be resolved before promoting the calibration target. +- The passive leaf is a subset of an existing gross-income parent, not a new + gross-income leg. The change affects only NIIT source routing once the engine + update lands. +- TY2023 administrative anchors are applied to the pinned 2024-shaped replay + without a population-vintage backcast. Line 12 also differs from the modeled + surface in deductions/modifications and estate/trust-return coverage. +- Exact historical v1/v2/v3 seeded simulator goldens could not be executed: + that simulator and its tests are absent from current main, and stacking the + stale branches would violate the rename decision above. The available + replacement test proves the independent passive family does not call or + advance old streams and preserves all 15 current archived QBI leaves + byte-for-byte under multiple passive seeds. This is not a claim that the + absent historical golden suite was run. +- Current main exposes no v3 latent entity form to the frame wrapper. The pure + API's latent-form routing is covered synthetically; live assignment therefore + uses the SCF Schedule-E-band cells. +- Until PolicyEngine-US #9306 is present in the lock, the emitted column cannot + change live NIIT calculations. The diagnostic remains contained and + non-gating under the old engine. ## Verification -The requested suite ran with `UV_NO_SYNC=1` to use the already-synced workspace -environment in the network-restricted sandbox: - -```text -uv run --package microcosm-build --extra us --group dev python -m pytest packages/microcosm-data/tests packages/microcosm-build/tests/test_us_fiscal_refresh_builder.py packages/microcosm-build/tests/test_us_state_files_scorer.py -q -264 passed, 3 skipped (267 collected) -``` - -Additional receipts: - -- Complete `test_gates.py`: passed. -- Required multiplier grep: zero Python hits. -- Ruff check: clean on all ten touched Python files. -- Ruff format check: clean on the eight non-exempt touched Python files; the - two historical experiment files were not reformatted, as instructed. -- `git diff --check`: clean. -- The medical adjudication block compares byte-for-byte equal to pre-fix - commit `068854d`. -- Pytest emitted non-failing macOS temporary-directory cleanup warnings; no - test failed. - -## Remediation commits - -- `5077f95` — start microcosm#462 Sol remediation progress. -- `c48ba37` — remove the microcosm#462 loss multiplier per microcosm#492. -- `afa910a` — fix Sol finding 1 selector parity. -- `89f74f4` — fix Sol finding 2 CD classifier parity. -- `77040fb` — fix Sol finding 3 relative-error shape. -- `bad7145` — fix Sol finding 4 behavioral containment. -- `3c96514` — apply the finding-2 classifier's required Ruff formatting. - -Nothing was pushed at the time of this report; the branch was subsequently -pushed and merged as #491 (2026-07-22). - -The sandbox rejected writing -`/Users/maxghenis/PolicyEngine/_reviews/sol-491-fix-out.md` with `Operation not -permitted`; the full completion report is therefore committed here and will be -printed to stdout as the requested fallback. +All commands ran offline with the existing synced environment. + +- Full workspace, exact final code tree: `6,394 passed, 73 skipped` in + 42m45s; exit code 0. Pytest reported 1,890 non-failing warnings. +- Restricted replay with the specified `POPULACE_PUF_2024_H5` artifact: + `12 passed`. +- Evidence, passive assignment, and reform diagnostics focused set: + `64 passed, 1 expected gated skip`. +- Spec-only country-package, executable-entrypoint, and ordinary incumbent + guard set: `51 passed`. +- Repository-wide `uv run ruff check .`: clean. +- All 26 changed Python files: Ruff format check clean. +- `git diff --check origin/main...HEAD`: clean. +- Manual incumbent package-name sweep over every changed Python, TOML, + Markdown, and JSON file: no hits. This was run explicitly because the + ordinary guard skips paths under `.claude/`. +- Deterministic resource regeneration, strict content hashes, checkpoint + identities, release ownership/coverage, replay tolerance, and QBI + byte-preservation contracts pass. + +The towncrier fragment is `changelog.d/722-passive-pass-through.added.md`. +No network access, push, or pull request was used. + +## Commits + +- `ce08745a` — start the progress journal. +- `d1830f00` — record the sibling-stage design. +- `bb390fac` — add SCF/Form 8960 evidence. +- `5dc6a874` — add assignment, assumptions, calibration, and tests. +- `365c7428` — record calibrated replay progress. +- `3eb1c2e6` — add Form 8960 diagnostics. +- `d671b80e` — wire assignment through build surfaces. +- `218b6cb9` — clarify provisional contracts. +- `0842acef` and `3f6ecc73` — update stage-order/sparse fixtures. +- `cc7fe11f` — format branch-owned passive files. diff --git a/PROGRESS_PASSIVE_722.md b/PROGRESS_PASSIVE_722.md new file mode 100644 index 00000000..92dba7d0 --- /dev/null +++ b/PROGRESS_PASSIVE_722.md @@ -0,0 +1,150 @@ +# Progress: microcosm #722 + +## State + +Dual-review remediation is in progress on `passive-pass-through-722` as of +2026-08-21. The real merge of already-fetched `origin/main` at `2c7a7218` is +committed as `d9f19c66`, with the supervisor-approved resolutions reproduced +exactly. The post-merge resource closure and first-class typed passive contract +are regenerated and their fail-closed coverage ledger is verified. The +non-vacuous QBI preservation regression, locked-registry release gate, and +non-circular restricted calibration certification are also complete. Work +remains offline: no fetch, push, PR mutation, publication, or promotion is in +scope. + +## Done + +- Read the binding adversarial verdict before inspecting or changing the + branch. +- Re-read `CLAUDE.md` and confirmed the PR-CI/certification and root-journal + contracts for this remediation pass. +- Attempted the GitNexus debugging workflow; no GitNexus query/context tools + are configured in this session, so direct source and call-path analysis is + the documented fallback. +- Confirmed the branch, detached pre-approved merge worktree, merge base, and + current `origin/main` identities without network access. +- Resolved the only three merge conflicts with the approved typed country + resource rows, both independent multispine imports, and one measured runtime + graph pin. The three resolved file blobs match the pre-approved detached + index exactly. +- Ran the post-merge source-blindness graph test itself with repository + conftests disabled because the pre-sync environment does not yet contain + main's new `jsonschema` dependency. The single registered tool reaches the + pinned 67-module graph (base 64, branch +2, main +1). +- Traced the country-package closure failure to + `tools/generate_us_bundle_from_constants.py::LEGACY_RESOURCE_PATHS`; the + loader's `_assert_file_closure` compares that emitted manifest with package + files. +- Committed the real merge of current `origin/main` as `d9f19c66`; its second + parent is `2c7a7218` and it is not a rebase or squash. +- Declared the three passive/repeal JSON resources on + `LEGACY_RESOURCE_PATHS`, completed the full generator run, and ran the exact + offline `uv sync --all-packages --all-extras` equivalent against the locked + environment. +- Traced the remaining constants-adapter failure to the passive contract being + present only as generated pool code. Added it to the typed pipeline schema, + compiler identity contract, and stacked-authority projection, then regenerated + the bundle at spec SHA-256 + `11b5f830141d007b53131f6c863d15a6be10787fc6d88aeb147317d2c1f593e0`. +- Independently reviewed the changed field-usage claims: 62 new pointers total + (29 authored, 33 resolved), all accounted for by the three typed manifest + rows and the typed passive pipeline/pool-code contract. +- Regenerated the F0 evidence report with exact 41,442/41,442 field coverage + and 40/40 inventory checks. The targeted adapter, schema/identity, + field-ledger, inventory, and coverage suite passes 45 tests; the US generator + check and targeted Ruff checks are also clean. +- Replaced the vacuous passive wrapper preservation proxy with current-main QBI + reconciliation on both the baseline and passive-staged paths. Seed 13 + realizes exactly two nonzero rows (positions 25 and 36) while all 15 incumbent + QBI leaves retain identical dtype and bytes. +- Strengthened the production multispine regression with a $2 million + partnership-income fixture. Production seed 0 realizes exactly one nonzero + row (position 5, amount `158609.82342210703`) and every incumbent QBI leaf is + byte-identical to the no-passive current-main pipeline. The independent + full-length RNG-family array test remains in place; all three focused tests + pass and targeted Ruff is clean. +- Made `us_release_input_coverage_gate` require every hard-required manifest + column to exist in `engine.variables()`, independently of frame presence and + signal. Failures name the version read from `engine_abi.lock.json` and report + `required_missing_from_engine_registry` in gate details. +- Added the two explicit failure-mode regressions + `test_required_all_zero_column_fails_when_registry_contains_it` and + `test_required_column_absent_from_locked_registry_fails_even_with_signal`. + The former proves default-only data stays red even with registry presence; + the latter proves nonzero data stays red when the locked variable is absent. +- Documented in the generated release manifest, passive assumptions, repeal + benchmark resource, and US fact-to-target guide that the passive column is + engine-inert under PolicyEngine-US 1.764.6 and the hard release gate remains + red until the pin advances past 1.764.6 to a release containing #9306. +- Regenerated the manifest and restricted assumptions, then propagated their + identity through the US bundle (spec SHA-256 + `00b4c73b0ff2e29abf00b9f6f8112c9b87e937d323fb5c973bb5cd0652a95931`) + and F0 report. The targeted gate/resource/inventory/adapter suite passes 153 + tests in 8m34s; the generator check and targeted Ruff are clean. +- Replaced the circular restricted replay check with an independent solve: the + validator derives the `$54,628,492,000` midpoint from the evidence artifact's + separately pinned bounds, runs the full 128-iteration calibration on the + restricted PUF, and compares the solved `-1.157105426398319` shift to the + persisted value within `1e-12` (expected aggregate within `$1`). The ordinary + assumptions validator also rejects shifts outside the declared solver bounds + instead of discarding the parsed value. All 12 passive tests pass in 53.76s + with the restricted artifact, and targeted Ruff is clean. +- The implementation and verification bullets below describe the historical + pre-review checkpoint at `a4d93f78`; the verdict supersedes its former + completion claim. + +- Read `CLAUDE.md` and established the PR-CI/certification and journal + contracts. +- Confirmed the primary checkout has unrelated untracked paths and left it + untouched. +- Created the requested isolated worktree at + `.claude/worktrees/passive-722` from current `origin/main`. +- Attempted the GitNexus exploration workflow; no GitNexus MCP resources or + tools are configured, so source and Git-history inspection are the fallback. +- Confirmed the old QBI v3 stack is opt-in, diverges before the repository + rename, and does not expose its latent entity form on the output frame. +- Selected a sibling passive assignment stage before current QBI + reconciliation. This preserves the archived 15-leaf QBI contract and all + prior QBI random streams while still accepting a latent form for routing + when one becomes available. +- Reproduced the six SCF Schedule-E-band cells from the local 2022 public + extract. Presence cells all clear effective n=30; the three middle-band + conditional-share cells fall back to the pooled holder sample. +- Confirmed the restricted PUF replay artifact is present and pinned its + size, digest, row counts, weighted positive pass-through aggregate, and + provisional Form 8960 midpoint calibration target. +- Added the reproducible provisional SCF evidence resource. Holding + prevalence rises from 3.35% in the nonpositive Schedule-E band to 38.98% + above $1 million; conditional-share cells in the three thin middle bands + use the documented all-holder fallback. +- Added the version-1 sibling assignment and assumptions build. The persisted + log-odds shift is `-1.157105426398319`; its expected aggregate is the + $54.628492 billion midpoint and the seed-0 replay produces $55.021132 + billion (0.72% high, inside the 5% diagnostic tolerance). +- Verified the restricted replay (12 focused tests), deterministic assumptions + regeneration, strict resource hashes, isolated PCG64 families, latent-form + routing, and byte preservation of all 15 existing QBI leaves. +- Integrated the sibling between Schedule-D completion and QBI reconciliation + in multispine and direct support builds, while preserving already-assigned + rebuilt support. The 997-row remaining-stage audit and support/pool + checkpoint identities now bind the evidence, assumptions, shift, and RNG. +- Added the new output to ownership, L0 export, and release-coverage contracts. + The exact pending-engine exception is limited to the input arriving in + PolicyEngine-US PR #9306 and becomes a no-op once that engine version lands. +- Added separate, diagnostics-only Form 8960 line 12 and line 4c aggregate + rows. They cannot affect the release gate and retain row-local error + containment under the currently locked pre-#9306 engine. +- Completed the exact final-tree workspace suite: 6,394 passed and 73 skipped + in 42m45s. The restricted artifact replay separately passed all 12 tests. +- Completed repository-wide `ruff check .`, changed-file Ruff format checks, + `git diff --check`, the spec-only/entrypoint guards, and a manual incumbent + package-name sweep over the branch diff. The manual sweep is required because + the ordinary tree guard deliberately excludes `.claude/` worktrees. +- Added and committed the towncrier fragment and wrote the completion report + to `FINAL_REPORT.md`. + +## Next + +- Run targeted and full workspace tests with the prescribed restricted-data + environment, run Ruff, commit regenerated artifacts, and write the final + report to `FINAL_REPORT.md`. diff --git a/changelog.d/722-passive-pass-through.added.md b/changelog.d/722-passive-pass-through.added.md new file mode 100644 index 00000000..dd05a3bf --- /dev/null +++ b/changelog.d/722-passive-pass-through.added.md @@ -0,0 +1,3 @@ +Add a provisional SCF-shaped, Form 8960-anchored assignment for the passive +partnership and S-corporation income NIIT input, with persisted replay +calibration, release coverage, and diagnostics-only administrative checks. diff --git a/docs/evidence/spec-engine/us-f0-coverage.json b/docs/evidence/spec-engine/us-f0-coverage.json index 482879d4..4ef9208b 100644 --- a/docs/evidence/spec-engine/us-f0-coverage.json +++ b/docs/evidence/spec-engine/us-f0-coverage.json @@ -6,7 +6,7 @@ "country": "us", "documentation_sha256": "aed5b95645a5c605671e374ed2a9d511c7fd9dc29c63760c32a205d9f2db9491", "field_usage": { - "authored_normative_field_count": 32160, + "authored_normative_field_count": 32189, "claim_count": 47, "claims": [ { @@ -16,8 +16,8 @@ "legacy_sinks": [], "mode": "front_end_validation", "pointer_class": "all", - "pointer_count": 98, - "pointer_sha256": "cbbda6d2d245f04325c0b5a7b986cb71d24d6e3c81a7a3af1544de7f75be2a1f", + "pointer_count": 107, + "pointer_sha256": "2c2099d3d5ef3d664f74a2e732870391022a852cf49d5cf96810c9a984d2b20b", "rationale": null, "relative_sink_prefix": null, "source_prefix": "/authored/country_package.json", @@ -498,8 +498,8 @@ ], "mode": "legacy_behavior", "pointer_class": "all", - "pointer_count": 88, - "pointer_sha256": "c6e63034c73b2b3ad06df26d03fbf7d63d52aec3a7c3a176b228bacf08d18975", + "pointer_count": 108, + "pointer_sha256": "2598e73f840ef4b3172e06535ed6eeaf8bbdb2eaf571eb4bf265a6c461b7b50b", "rationale": null, "relative_sink_prefix": null, "source_prefix": "/authored/spec~1spine.yaml/pipeline_contract", @@ -690,8 +690,8 @@ ], "mode": "legacy_behavior", "pointer_class": "all", - "pointer_count": 8060, - "pointer_sha256": "eaa9eb5f5d4d4e4e4da624f50aeafe2a085a60dcaac0673d4b1946760f0fde35", + "pointer_count": 8093, + "pointer_sha256": "a5ab579d6a4aeac2f1b2f761f7b12beb2f96af2e47d18086cde3cfe51bff23e1", "rationale": null, "relative_sink_prefix": null, "source_prefix": "/resolved/generated_authorities", @@ -740,21 +740,21 @@ "verifier": "vintages" } ], - "configuration_field_count": 41379, - "consumed_field_count": 41379, + "configuration_field_count": 41441, + "consumed_field_count": 41441, "generation0_effect_counts": { - "legacy_behavior": 37717, - "no_generation0_effect": 3662 + "legacy_behavior": 37770, + "no_generation0_effect": 3671 }, "mode_counts": { "compiler_semantic": 27661, - "front_end_validation": 346, + "front_end_validation": 355, "identity_only": 128, - "legacy_behavior": 13244 + "legacy_behavior": 13297 }, "multiple_primary_use_field_count": 0, - "pointer_inventory_sha256": "b9d2932e0ae5efb6637be7b5d90e33b2e159ffb807ee50ff36ee2b51296cfdc4", - "resolved_binding_field_count": 9219, + "pointer_inventory_sha256": "a773fd257a2a9e3e961fcfca6b82d5e64274c4e2c04dcd93df3874d8aa80dadf", + "resolved_binding_field_count": 9252, "unused_field_count": 0 }, "inventory_coverage": { @@ -790,7 +790,7 @@ "source_operators": 16, "source_stages": 37, "stacked_checkpoint_full_components": 12, - "stacked_checkpoint_pool_code_components": 19, + "stacked_checkpoint_pool_code_components": 20, "stacked_checkpoint_static_components": 9, "tail_control_fields": 934, "take_up_pipeline_steps": 24, @@ -1852,7 +1852,7 @@ "alpha", "zeta" ], - "sha256": "2972db18e0f69ac4df4079916355a1bcd9ec5c12f3e19d5650fc47b5a8a0e3e8" + "sha256": "8048a795463ea1e5f0d2c113b6eb3d65c112ce08ab526ba96d29ecf7718b7b49" }, "failures": [], "observed": { @@ -1875,7 +1875,7 @@ "alpha", "zeta" ], - "sha256": "2972db18e0f69ac4df4079916355a1bcd9ec5c12f3e19d5650fc47b5a8a0e3e8" + "sha256": "8048a795463ea1e5f0d2c113b6eb3d65c112ce08ab526ba96d29ecf7718b7b49" }, "status": "covered" }, @@ -1913,6 +1913,7 @@ "remaining_stage_input_manifest", "simulation_household_batch_size", "take_up_contract", + "us_qbi_passive_passthrough_contract", "us_qbi_reconciliation_contract" ] }, @@ -1937,9 +1938,10 @@ "remaining_stage_input_manifest", "simulation_household_batch_size", "take_up_contract", + "us_qbi_passive_passthrough_contract", "us_qbi_reconciliation_contract" ], - "sha256": "8df3775167f89e79b44cc3606b52b54d488edaee8fc34dd757163dd8b6510fa7" + "sha256": "d034f564016020002ebb7d6c27e69485d428ad0d81d64f2de48435bb899b239e" }, "status": "covered" }, @@ -2438,7 +2440,7 @@ "country": "us", "schema_id": "country_spec", "schema_version": 1, - "spec_sha256": "586491f0866180f7a8f1e01530af5c2a3f2ebc18ad289ac1a3385d1897e79626" + "spec_sha256": "1e287bd9a5cd3d46e83b913cb2aa2ec60c4196065bbf98f8a84c476e13805290" } }, "report_schema_version": 3, @@ -2448,7 +2450,7 @@ "country": "us", "schema_id": "country_spec", "schema_version": 1, - "spec_sha256": "586491f0866180f7a8f1e01530af5c2a3f2ebc18ad289ac1a3385d1897e79626" + "spec_sha256": "1e287bd9a5cd3d46e83b913cb2aa2ec60c4196065bbf98f8a84c476e13805290" }, "status": "pass" } diff --git a/docs/us-fact-to-target.md b/docs/us-fact-to-target.md index 9b5d14ec..00395681 100644 --- a/docs/us-fact-to-target.md +++ b/docs/us-fact-to-target.md @@ -126,6 +126,13 @@ Probes are **generated data**: author them in manifest with that tool — never hand-edit the JSON (a byte-sync test enforces this). Probe discipline: +Persisting a required source column does not prove that the locked engine can +consume it. The release-input gate also requires every required name to exist +in the locked engine registry. In particular, +`passive_partnership_s_corp_income` remains engine-inert under +PolicyEngine-US 1.764.6, and the gate must remain red until the pin advances +past 1.764.6 to a release containing PolicyEngine-US #9306. + - **Measure the effect first** on the certified artifact; set `min_abs_effect` well under it (~25%). Never guess floors. - **Probe the law year where the channel exists.** Attribution-only columns diff --git a/packages/microcosm-build/src/microcosm/build/spec_engine/field_usage.py b/packages/microcosm-build/src/microcosm/build/spec_engine/field_usage.py index fb7a04c0..c379b444 100644 --- a/packages/microcosm-build/src/microcosm/build/spec_engine/field_usage.py +++ b/packages/microcosm-build/src/microcosm/build/spec_engine/field_usage.py @@ -26,9 +26,9 @@ ) from .schemas import load_schema_registry -EXPECTED_AUTHORED_FIELD_COUNT = 32_160 -EXPECTED_RESOLVED_BINDING_FIELD_COUNT = 9_219 -EXPECTED_CONFIGURATION_FIELD_COUNT = 41_379 +EXPECTED_AUTHORED_FIELD_COUNT = 32_189 +EXPECTED_RESOLVED_BINDING_FIELD_COUNT = 9_252 +EXPECTED_CONFIGURATION_FIELD_COUNT = 41_441 class FieldUsageError(AssertionError): @@ -325,12 +325,12 @@ def _path_inventory(rows: Sequence[tuple[str, object]]) -> tuple[int, str]: "64182b6be1ea6d95bff345b30a2aa046b6fa7e8ee61a282b225dfa49c28fbfdc", ), "country_manifest": ( - 98, - "cbbda6d2d245f04325c0b5a7b986cb71d24d6e3c81a7a3af1544de7f75be2a1f", + 107, + "2c2099d3d5ef3d664f74a2e732870391022a852cf49d5cf96810c9a984d2b20b", ), "generated_authorities": ( - 8_060, - "eaa9eb5f5d4d4e4e4da624f50aeafe2a085a60dcaac0673d4b1946760f0fde35", + 8_093, + "a5ab579d6a4aeac2f1b2f761f7b12beb2f96af2e47d18086cde3cfe51bff23e1", ), "geography": ( 26, @@ -449,8 +449,8 @@ def _path_inventory(rows: Sequence[tuple[str, object]]) -> tuple[int, str]: "cf0000464013118955571dac2691d4cc1b900c97c6570349b489678cdf937649", ), "spine_pipeline_contract": ( - 88, - "c6e63034c73b2b3ad06df26d03fbf7d63d52aec3a7c3a176b228bacf08d18975", + 108, + "2598e73f840ef4b3172e06535ed6eeaf8bbdb2eaf571eb4bf265a6c461b7b50b", ), "spine_sampling": ( 17, @@ -1041,7 +1041,9 @@ def _verify_source_pins(context: _VerificationContext, claim: UsageClaim) -> Non if isinstance(row, Mapping) and isinstance(row.get("id"), str) ] if len(ids) != len(rows) or len(ids) != len(set(ids)): - raise FieldUsageError("source_pins: source ids are not an exact unique registry") + raise FieldUsageError( + "source_pins: source ids are not an exact unique registry" + ) expected_refs: set[tuple[str, str, str]] = set() for index, value in enumerate(rows): @@ -1384,9 +1386,7 @@ def _verify_claim(context: _VerificationContext, claim: UsageClaim) -> None: "legacy": lambda: _verify_legacy(context, claim), "source_pins": lambda: _verify_source_pins(context, claim), "spine_channels": lambda: _verify_spine_channels(context, claim), - "spine_assembly_legacy": lambda: _verify_spine_assembly_legacy( - context, claim - ), + "spine_assembly_legacy": lambda: _verify_spine_assembly_legacy(context, claim), "spine_assembly_validation": lambda: _verify_spine_assembly_validation( context, claim ), diff --git a/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py b/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py index 9bf9ea50..7fb3bcf3 100644 --- a/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py +++ b/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py @@ -89,6 +89,7 @@ "remaining_stage_input_manifest", "simulation_household_batch_size", "take_up_contract", + "us_qbi_passive_passthrough_contract", "us_qbi_reconciliation_contract", } ) @@ -332,7 +333,7 @@ "acs_person_predictors": "878c788a6f037d7aca12b3586ea034eff04f3034ffa11935a736493042551f25", "authority": "f0b676f6508dbf6bb2b787c42e6b85331bacc57c6649ac7ad15fdaa5884a1b2d", "early_families": "e26a90e2b5c16e23e7c17424d1c2e4ab18ed66b1d0e129248e87c0bab9b3fd5d", - "full_checkpoint": "2972db18e0f69ac4df4079916355a1bcd9ec5c12f3e19d5650fc47b5a8a0e3e8", + "full_checkpoint": "8048a795463ea1e5f0d2c113b6eb3d65c112ce08ab526ba96d29ecf7718b7b49", "gap_fill_schedule": "96aefe2853de91ae95f50bc2ccc2c1dd94802c27f21c643981152bbcb13c4e10", "graph_nodes": "a83363de26cad0144b5a98b36b4bca49542e37a7b9fee3d7e541f692deeff864", "late_families": "a160432fc12a85df20ba7fd6687673b3c31786df7a983e2477604ab923b26d18", @@ -421,7 +422,7 @@ "source_operators": 16, "source_stages": 37, "stacked_checkpoint_full_components": 12, - "stacked_checkpoint_pool_code_components": 19, + "stacked_checkpoint_pool_code_components": 20, "stacked_checkpoint_static_components": 9, "tail_control_fields": 934, "take_up_pipeline_steps": 24, diff --git a/packages/microcosm-build/src/microcosm/build/spec_engine/schema/spine.schema.json b/packages/microcosm-build/src/microcosm/build/spec_engine/schema/spine.schema.json index f84467d8..ff884dbf 100644 --- a/packages/microcosm-build/src/microcosm/build/spec_engine/schema/spine.schema.json +++ b/packages/microcosm-build/src/microcosm/build/spec_engine/schema/spine.schema.json @@ -270,6 +270,7 @@ "post_clone_source_operator_order", "derive_operator_order", "auxiliary_operations", + "qbi_passive_passthrough", "qbi_reconciliation", "simulation_household_batch_size" ], @@ -303,6 +304,9 @@ "x-canonical-order": "set", "items": {"$ref": "#/$defs/operator_id"} }, + "qbi_passive_passthrough": { + "$ref": "#/$defs/qbi_passive_passthrough_contract" + }, "qbi_reconciliation": {"$ref": "#/$defs/qbi_reconciliation_contract"}, "simulation_household_batch_size": { "type": "object", @@ -334,6 +338,66 @@ "type": "string", "pattern": "^_?[a-z][a-z0-9_]*$" }, + "qbi_passive_passthrough_contract": { + "type": "object", + "additionalProperties": false, + "required": [ + "version", + "assignment_stage_version", + "output_column", + "person_input_columns", + "evidence_resource", + "evidence_sha256", + "assumptions_resource", + "assumptions_sha256", + "log_odds_shift", + "random_streams", + "sha256" + ], + "properties": { + "version": {"const": 1}, + "assignment_stage_version": {"const": 1}, + "output_column": {"const": "passive_partnership_s_corp_income"}, + "person_input_columns": { + "type": "array", + "prefixItems": [ + {"const": "partnership_income"}, + {"const": "s_corp_income"}, + {"const": "rental_income"}, + {"const": "estate_income"} + ], + "items": false + }, + "evidence_resource": {"const": "qbi_passive_passthrough_v1.json"}, + "evidence_sha256": {"$ref": "defs.schema.json#/$defs/sha256"}, + "assumptions_resource": { + "const": "qbi_passive_passthrough_assumptions_v1.json" + }, + "assumptions_sha256": {"$ref": "defs.schema.json#/$defs/sha256"}, + "log_odds_shift": {"type": "number"}, + "random_streams": { + "type": "object", + "additionalProperties": false, + "required": [ + "bit_generator", + "draw_policy", + "family_entropy", + "presence_family", + "root_seed_default", + "share_family" + ], + "properties": { + "bit_generator": {"const": "PCG64"}, + "draw_policy": {"const": "full_length_before_support_masks"}, + "family_entropy": {"const": 4722}, + "presence_family": {"const": 0}, + "root_seed_default": {"const": 0}, + "share_family": {"const": 1} + } + }, + "sha256": {"$ref": "defs.schema.json#/$defs/sha256"} + } + }, "qbi_reconciliation_contract": { "type": "object", "additionalProperties": false, diff --git a/packages/microcosm-build/src/microcosm/build/spec_engine/stacked_authority_semantics.py b/packages/microcosm-build/src/microcosm/build/spec_engine/stacked_authority_semantics.py index 74e65e2a..0d78f8b4 100644 --- a/packages/microcosm-build/src/microcosm/build/spec_engine/stacked_authority_semantics.py +++ b/packages/microcosm-build/src/microcosm/build/spec_engine/stacked_authority_semantics.py @@ -1095,6 +1095,16 @@ def project_stacked_checkpoint_base_identity( "acs_pums_earnings_universe_contract": _acs_earnings_contract( domains["imputation"] ), + "us_qbi_passive_passthrough_contract": deepcopy( + dict( + _mapping( + pipeline.get("qbi_passive_passthrough"), + location=( + "spine/pipeline_contract/qbi_passive_passthrough" + ), + ) + ) + ), "us_qbi_reconciliation_contract": deepcopy( dict( _mapping( diff --git a/packages/microcosm-build/src/microcosm/build/us/country_package.json b/packages/microcosm-build/src/microcosm/build/us/country_package.json index 34e30f6d..426b7779 100644 --- a/packages/microcosm-build/src/microcosm/build/us/country_package.json +++ b/packages/microcosm-build/src/microcosm/build/us/country_package.json @@ -92,11 +92,26 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "qbi_passive_passthrough_assumptions_v1.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "qbi_passive_passthrough_v1.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "release_input_coverage_manifest.json", "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "repeal_revenue_benchmarks.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "soca_capital_gain_distribution_shares.json", "kind": "legacy_json", diff --git a/packages/microcosm-build/src/microcosm/build/us/engine_abi.lock.json b/packages/microcosm-build/src/microcosm/build/us/engine_abi.lock.json index 9a38d4e4..0859ae56 100644 --- a/packages/microcosm-build/src/microcosm/build/us/engine_abi.lock.json +++ b/packages/microcosm-build/src/microcosm/build/us/engine_abi.lock.json @@ -1 +1 @@ -{"engine":{"package":"policyengine-us","version":"1.764.6"},"programs":{"aca":{"consumers":["assigned_aca_ptc","person_receives_aca","selected_marketplace_plan_actuarial_value","selected_marketplace_plan_premium_proxy"],"default":true,"engine_class":"data_seeded","entity":"tax_unit","value_type":"bool","variable":"takes_up_aca_if_eligible"},"basic_health_program":{"consumers":["basic_health_program_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_basic_health_program_if_eligible"},"chip":{"consumers":["chip_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_chip_if_eligible"},"dc_ptc":{"consumers":["dc_ptc"],"default":true,"engine_class":"data_seeded","entity":"tax_unit","value_type":"bool","variable":"takes_up_dc_ptc"},"early_head_start":{"consumers":["early_head_start"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_early_head_start_if_eligible"},"eitc":{"consumers":["dc_eitc_without_qualifying_child","eitc","nj_eitc","ok_federal_eitc","wa_working_families_tax_credit","wa_working_families_tax_credit_age_expansion_eligible"],"default":true,"engine_class":"data_seeded","entity":"tax_unit","value_type":"bool","variable":"takes_up_eitc"},"head_start":{"consumers":["head_start"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_head_start_if_eligible"},"housing_assistance":{"consumers":["housing_assistance"],"default":true,"engine_class":"data_seeded","entity":"spm_unit","value_type":"bool","variable":"takes_up_housing_assistance_if_eligible"},"medicaid":{"consumers":["medicaid_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_medicaid_if_eligible"},"medicare":{"consumers":["medicare_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_medicare_if_eligible"},"snap":{"consumers":["snap"],"default":true,"engine_class":"data_seeded","entity":"spm_unit","value_type":"bool","variable":"takes_up_snap_if_eligible"},"ssi":{"consumers":["ssi"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_ssi_if_eligible"},"tanf":{"consumers":["tanf"],"default":true,"engine_class":"data_seeded","entity":"spm_unit","value_type":"bool","variable":"takes_up_tanf_if_eligible"}},"remaining_stage_input_manifest":{"receipt":{"consumer_counts":{"PolicyEngineUSEngine.materialize":12,"_complete_schedule_d_input":5,"_simulation_projection":863,"prepare_stacked_tail_derivation":2,"seed_multispine_pool_inputs":13,"ssi_static_dependency_closure":55,"with_us_qbi_input_reconciliation":27,"with_us_take_up_inputs":16},"engine_input_projection_contract":{"default_count":863,"defaults_sha256":"87f508fbb382036946aa5e225d339e1b593a464ee6cfc644d7d710540b00a9a7","engine_version_ref":{"kind":"engine_abi_lock","pointer":"/engine/version"},"input_count":863,"sha256":"67a66b018c6261a03a88852cce5c5a4cbe9f5595735d17f2f7666e19e464dfbf"},"entry_count":993,"manifest_sha256":"8247a93e5f8f63d3ae71c1de681c29524d4bb8f07e3c6a50dcaf431b1377020f","schema_version":1,"sha256":"54b7196a6cf7d1ae18a6b149833fe5ecf5d998b4b14f8388766341af153ff3df","ssi_dependency_contract":{"edge_count":186,"engine_version_ref":{"kind":"engine_abi_lock","pointer":"/engine/version"},"formula_node_count":62,"input_leaf_count":55,"root":"ssi","sha256":"e3351cdedbe592456b637286ecd04b7079746e1c409e594fbca60a7d28666838"},"stage_counts":{"derive":34,"seed":29,"simulate":930}},"rows":[{"available_by":"transferred","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"long_term_capital_gains_before_response"},{"available_by":"transferred","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"non_sch_d_capital_gains"},{"available_by":"assembled","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"derive","variable":"person_tax_unit_id"},{"available_by":"transferred","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":"derive_from_finite_transferred_parents","provision":"optional_transferred_or_schedule_d_derived","stage":"derive","variable":"schedule_d_capital_gain_distributions"},{"available_by":"assembled","consumer":"_complete_schedule_d_input","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"derive","variable":"tax_unit_id"},{"available_by":"assembled","consumer":"prepare_stacked_tail_derivation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_provenance","stage":"derive","variable":"person_support_clone_index"},{"available_by":"transferred","consumer":"prepare_stacked_tail_derivation","entity":"person","execution_scope":"clone_2","fallback":"absent_or_cleared_then_schedule_d_derived","provision":"optional_existing_derived_leaf","stage":"derive","variable":"schedule_d_capital_gain_distributions"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_raw_acs_source_authority","stage":"derive","variable":"SEMP"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_native_person_input","stage":"derive","variable":"age"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"business_is_sstb"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"estate_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"estate_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"farm_operations_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"farm_rent_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"non_qualified_dividend_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"partnership_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"partnership_s_corp_income_would_be_qualified"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"derive","variable":"person_id"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":"person_id_for_unstacked_lineage_digest","provision":"assembly_support_source_identity","stage":"derive","variable":"person_source_id"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_provenance","stage":"derive","variable":"person_support_channel"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_provenance","stage":"derive","variable":"person_support_clone_index"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"derive","variable":"person_tax_unit_id"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"qualified_bdc_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"qualified_reit_and_ptp_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"rental_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"primary_puf_exact_zero_universe","stage":"derive","variable":"s_corp_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:primary_puf_qrf_nontransfer","stage":"derive","variable":"self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_unadjusted_basis_qualified_property"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_w2_wages_from_qualified_business"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"unadjusted_basis_qualified_property"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"w2_wages_from_qualified_business"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_basic_health_program_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_chip_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_early_head_start_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_head_start_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_medicaid_if_eligible"},{"available_by":"transferred","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"transferred_or_preserved_input","stage":"seed","variable":"takes_up_medicare_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_ssi_if_eligible"},{"available_by":"transferred","consumer":"seed_multispine_pool_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"transferred_or_preserved_input","stage":"seed","variable":"takes_up_housing_assistance_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_snap_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":"sourced_seed_when_input_is_missing","provision":"administrative_seed_or_preserved_input","stage":"seed","variable":"takes_up_tanf_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_aca_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_dc_ptc"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":"sourced_seed_when_input_is_missing","provision":"administrative_seed_or_preserved_input","stage":"seed","variable":"takes_up_eitc"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"family","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"family_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"household","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"household_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"marital_unit","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"marital_unit_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_native_person_input","stage":"seed","variable":"age"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"person_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"seed","variable":"person_spm_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"seed","variable":"person_tax_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":"support_source_id_then_entity_id","provision":"optional_assembled_source_identity","stage":"seed","variable":"source_household_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":"support_source_id_then_entity_id","provision":"optional_assembled_source_identity","stage":"seed","variable":"source_person_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":"support_source_id_then_entity_id","provision":"optional_assembled_source_identity","stage":"seed","variable":"source_year"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_resolve_weights_from_household_weight","stage":"seed","variable":""},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"seed","variable":"spm_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"spm_unit_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_resolve_weights_from_household_weight","stage":"seed","variable":""},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"seed","variable":"tax_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"tax_unit_source_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"family","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"family_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"household","execution_scope":"whole_pool","fallback":null,"provision":"frame_household_weight","stage":"simulate","variable":""},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"household","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"household_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"marital_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"marital_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_family_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_household_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"person_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_marital_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_spm_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_tax_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"spm_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"tax_unit_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"family","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"family_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"family","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"family_weight"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ssp_excluded_institutional_setting"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"auto_loan_balance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"auto_loan_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"average_home_energy_use_in_state"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"bedrooms"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"block_geoid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cbo_corporate_income_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cbo_excise_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cbsa_code"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"congressional_district_geoid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"county_fips"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_tfa_region"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"current_home_energy_use"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_business_assets_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_business_assets_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_business_assets_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_count"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"household_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_income_ami_ratio"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_other_real_estate_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_other_real_estate_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_other_real_estate_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_rental_property_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_rental_property_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_rental_property_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_owned"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_weight"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_denver"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_wilmington"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_yonkers"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_homeless"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_public_housing"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_non_english_speaking_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_on_tribal_land"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_rural"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_shared_living"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_sro"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"living_arrangements_allow_for_food_preparation"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_state_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"net_worth"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_drive_clean_purchased_qualifying_vehicle"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_drive_clean_vehicle_cost"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_drive_clean_vehicle_electric_range"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"parent_has_less_than_high_school_education"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"place_fips"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_for_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"puma"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_passenger_vehicle_loan_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sldl"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sldu"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"state_fips"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tenant_pays_utilities"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"tenure_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tract_geoid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"vtd"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"zcta"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"zip_code"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"marital_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"marital_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"able_contributions_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"adopted_this_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"after_school_expenses"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"age"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ccap_care_schedule"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ccap_charged_rate"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_resides_in_assisted_living_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ccsp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ccsp_quality_tier"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_level_b_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_meets_snf_criteria"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_receives_elderly_disabled_medicaid_waiver"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ssp_care_setting"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ssp_grandfathered"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ssp_living_arrangement"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"alimony_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"alimony_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ambulance_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"american_opportunity_credit_claimed_prior_years"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"amt_foreign_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ar_sra_care_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"assessed_property_value"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"attends_eligible_educational_institution_for_american_opportunity_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"attends_eligible_educational_institution_for_lifetime_learning_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_530a_distribution"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_ccap_quality_enhanced_provider"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bank_account_assets"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bond_assets"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"business_is_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"business_is_sstb"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_days_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_factor_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_provider_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_time_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_weeks_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_welfare_to_work"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_cvrp_vehicle_rebate_amount"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_in_home_supportive_services"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_in_medical_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_state_disability_insurance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"care_and_support_costs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"care_and_support_payments_from_tax_filer"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"casualty_loss"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"charitable_cash_donations"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"charitable_non_cash_donations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"charitable_non_cash_donations_non_50_pct_orgs"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"child_support_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"child_support_received"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_attending_days_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_days_per_week"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_hours_per_day"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_provider_type_group"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"claimed_as_dependent_on_another_return"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"claimed_ma_covid_19_essential_employee_premium_pay_program_2020"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_care_worker_credit_eligible_care_worker"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_denver_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_glendale_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_greenwood_village_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_quality_rating_of_child_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_sheridan_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cost_of_attending_college"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"count_529_contribution_beneficiaries"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cps_race"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"csrs_retirement_pay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_c4k_provider_accredited"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_c4k_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_ssp_has_therapeutic_diet"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_ssp_lives_with_others"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_ssp_resides_in_boarding_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"current_pregnancy_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_attending_days_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_child_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_childcare_provider_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_schedule_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ossp_facility_size"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ossp_in_adult_foster_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_poc_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_wilmington_nonresident_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"debt_relief"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dependent_care_employer_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"detailed_occupation_recode"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"disability_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"divorce_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e00700"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e01100"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e01200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e02000"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03220"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03230"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03240"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03270"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03290"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03300"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03400"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03500"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e07240"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e07260"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e07300"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e09700"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e09800"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e09900"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e11200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e18500"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e19200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e19800"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e20100"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e20400"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e24515"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e24518"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e26270"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e27200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e32800"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e58990"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e62900"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e87521"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e87530"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"early_withdrawal_penalty"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"educational_assistance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"educator_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_contribution_to_health_insurance_premiums_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_headcount"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_ny_mctmt_zone_1_quarterly_payroll_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_ny_mctmt_zone_2_quarterly_payroll_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_quarterly_payroll_expense_override"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_sponsored_insurance_premiums"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_state_unemployment_tax_rate_override"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_denver_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_denver_occupational_privilege_tax_owner_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_glendale_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_glendale_occupational_privilege_tax_owner_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_greenwood_village_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_greenwood_village_occupational_privilege_tax_owner_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_sheridan_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_mo_st_louis_payroll_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_or_lane_transit_district_taxable_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_or_trimet_taxable_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_payroll_tax_gross_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_taxable_earnings_for_federal_unemployment_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_taxable_earnings_for_social_security"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_taxable_earnings_for_state_unemployment_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_current_year_total"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_lower_band_taxable_payroll"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_prior_year_total"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_upper_band_taxable_payroll"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_social_housing_excess_compensation"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"employment_income_before_lsr"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"er_visit_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"estate_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"estate_income_would_be_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"excess_withheld_payroll_tax"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_operations_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_operations_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_rent_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_rent_income_would_be_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"financial_assistance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_oss_community_care_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_oss_program_track"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_sr_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"four_year_college_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fsla_overtime_premium"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_care_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_quality_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_ssp_in_nursing_home_or_institutionalized_hospice"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gambling_losses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gambling_winnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"general_assistance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"general_business_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gi_cash_assistance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_american_opportunity_credit_1098_t_or_exception"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_american_opportunity_credit_institution_ein"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_applied_for_unemployment_compensation"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_bcc_qualifying_coverage"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_champva_health_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_completed_first_four_years_of_postsecondary_education"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_developmental_delay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_emergency_medical_condition"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_esi"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_felony_drug_conviction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_health_coverage_other_than_chip"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_indian_health_service_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_individualized_education_program"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_lifetime_learning_credit_1098_t_or_exception"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_marketplace_health_coverage"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_marketplace_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_medicaid_health_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_never_worked"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_no_prior_formal_early_learning"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_non_marketplace_direct_purchase_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_other_means_tested_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_tricare_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_va_health_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"health_insurance_premiums"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"health_insurance_premiums_without_medicare_part_b"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"health_savings_account_payroll_contributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heating_expense_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"hi_ccap_provider_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"hi_oss_care_facility_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"home_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"home_is_on_agricultural_land"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"home_mortgage_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"hourly_wage"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"hours_worked_last_week"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ia_cca_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ia_cca_quality_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_aabd_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_iccp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_aabd_is_bedfast"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"illicit_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"imaging_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"immigration_status_str"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_ccdf_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_ccdf_ptq_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_out_of_home_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_resides_in_licensed_residential_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_resides_in_unlicensed_residential_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"inpatient_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"investment_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"investment_in_529_plan_indv"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"investment_income_elected_form_4952"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"investment_interest_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_american_indian_or_alaska_native_for_medicaid_ce"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_blind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_born_outside_us"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_breastfeeding"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_complying_with_tanf_work_requirements"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_computer_scientist"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_deaf"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_deceased"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_disabled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_english_proficient"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_enrolled_at_least_half_time_for_american_opportunity_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_enrolled_in_ccdf"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_enrolled_in_head_start"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_executive_administrative_professional"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_farmer_fisher"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_federal_work_study_participant"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"is_female"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_full_time_college_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_fully_disabled_service_connected_veteran"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_grandparent_of_filer_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_hispanic"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"is_household_head"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_adult_residential_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_foster_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_foster_care_group_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_k12_nonpublic_school"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_medicaid_community_engagement_treatment_program"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_medicaid_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_residential_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_secondary_school"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_substance_use_treatment_program"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_work_program"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_incapable_of_self_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_incarcerated"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_medicaid_1115_mec_adult"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_medicaid_community_engagement_seasonal_worker"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_medically_frail_or_has_special_medical_needs_for_medicaid_ce"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_migratory_child"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_military"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_paid_hourly"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_parent_of_filer_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_part_time_college_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_permanently_and_totally_disabled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_permanently_disabled_veteran"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_pregnant"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_pursuing_credential_for_american_opportunity_credit"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"is_related_to_head_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_runaway_child"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_self_employed"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_separated"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_severely_disabled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_abawd_discretionary_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_abawd_indian_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_employment_training_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_work_incentive_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_work_program_participant"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_workfare_participant"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_surviving_child_of_disabled_veteran"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_surviving_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_surviving_spouse_of_disabled_veteran"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_tafdc_related_to_head_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_union_member_or_covered"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_unmarried_partner_of_household_head"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_wccc_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_wic_at_nutritional_risk"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_wic_fully_breastfeeding"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"keogh_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ks_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_service_credit_months_post_1997"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_service_credit_months_pre_1998"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_ssp_care_receivers"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_ssp_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_quality_rating_of_child_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_receives_blind_exemption"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"lab_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"life_insurance_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_basis"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"long_term_capital_gains_before_response"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_on_assets_eligible_for_vt_exclusion"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"long_term_capital_gains_on_collectibles"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_on_small_business_stock"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_years_held"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_health_insurance_premiums"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_care_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_is_in_relatives_home_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_schedule_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_ccs_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_paa_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_paa_pending_federal_benefit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_claiming_tax_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_community_service_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_less_than_half_time_education_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_six_month_average_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_work_program_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_tax_dependent_exception_non_custodial_parent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicare_part_b_premiums_reported"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicare_quarters_of_coverage"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"meets_ssi_disability_criteria"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_exempt_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_star_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_basic_pay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_retirement_pay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_retirement_pay_survivors"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_service_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"miscellaneous_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_quality_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_has_guardian"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_housing_assistance_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_uses_representative_payee"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_ccs_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_kansas_city_earnings_tax_taxable_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_snc_facility_base_charge"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_st_louis_earnings_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_st_louis_earnings_tax_taxable_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"months_receiving_social_security_disability"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ms_ccpp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mt_ccap_care_time"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mt_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_ccap_provider_qris_step"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_aabd_alternate_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_child_care_subsidy_eligible_parent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_school_readiness_credit_child_care_worker_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_school_readiness_credit_eligible_worker"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"never_eligible_for_social_security_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nh_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_ccap_grow_nj_kids_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_base_period_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_base_period_weeks"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_qualifying_dependents"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_spouse_employed_when_claim_established"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_weekly_gross_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_weeks_claimed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_working_less_than_full_time"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_focus_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_non_traditional_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"non_public_school_tuition"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"non_qualified_dividend_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"non_sch_d_capital_gains"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nv_ccdp_provider_star_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nv_ccdp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_yonkers_nonresident_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"offered_aca_disqualifying_esi"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_bonus_depreciation_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_educator_expense_deduction_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_federal_conformity_deductions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_has_taken_oh_lump_sum_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_homestead_exemption_qualifying_surviving_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_other_add_backs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_section_179_expense_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_uniformed_services_retirement_income_deduction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"other_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"other_health_insurance_premiums"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"other_medical_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"outpatient_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"over_the_counter_health_expenses"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"own_children_in_household"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"p08000"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_ccw_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_philadelphia_wage_tax_reduced_rate_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_philadelphia_wage_tax_resident"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_philadelphia_wage_tax_taxable_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_base_year_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_credit_weeks"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_gross_weekly_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_highest_quarter_wages"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"partnership_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"partnership_s_corp_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"partnership_self_employment_net_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_countable_assets"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_dependent_available_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_dependent_other_allowances"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_head_allowances"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_months_in_school"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pension_survivors"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"person_count"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_family_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_household_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_marital_unit_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_spm_unit_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_tax_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"personal_property"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"physician_services_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"pre_subsidy_care_expenses"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"pre_subsidy_rent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pre_subsidy_transportation_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pre_tax_health_insurance_premiums"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prescription_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"previous_year_income_available"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prior_year_minimum_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_adoption_assistance_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_bdc_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_dividend_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_reit_and_ptp_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_tuition_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"railroad_benefits"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"real_estate_taxes"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"receives_medicaid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"receives_or_needs_protective_services"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"receives_wic"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"rental_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"rental_income_would_be_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retired_from_federal_government"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retired_from_ky_government"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retired_on_total_disability"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retirement_benefits_from_ss_exempt_employment"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_star_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_step_rating"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"roth_401k_contributions_desired"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"roth_403b_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"roth_ira_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"s_corp_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"salt_refund_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_quality_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_registered_quality_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_second_child_discount_rate"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_tuition_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_tuition_credit_eligible"},{"available_by":"derived","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"derived_schedule_d_input","stage":"simulate","variable":"schedule_d_capital_gain_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employed_pension_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_last_year"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"short_term_capital_gains"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_dependents"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_disability"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_retirement"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_survivors"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ss_aime_input"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_another_persons_household"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_medical_treatment_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_medicaid_pays_majority_of_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_others_pay_all_meals"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_qualifying_quarters_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_food_from_others"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_outside_shelter_support"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_shelter_from_others_in_household"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_for_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"ssi_reported"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_shelter_support_value"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"ssn_card_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_unadjusted_basis_qualified_property"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_w2_wages_from_qualified_business"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"state_or_federal_salary"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"stock_assets"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"strike_benefits"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"student_loan_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"survivor_benefits"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_basic_health_program_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_chip_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_early_head_start_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_head_start_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_medicaid_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_medicare_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_ssi_if_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_401k_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_403b_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_interest_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_ira_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_private_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_public_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_sep_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_preparation_fees"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_401k_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_403b_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_estate_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_federal_pension_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_interest_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_ira_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_private_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_public_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_roth_conversions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_sep_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"technical_institution_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tip_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"total_disability_payments"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"traditional_401k_contributions_desired"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"traditional_403b_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"traditional_ira_contributions_desired"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"treasury_tipped_occupation_code"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ccs_care_schedule"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ccs_provider_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ccs_provider_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unadjusted_basis_qualified_property"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"under_12_months_postpartum"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"under_60_days_postpartum"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unemployment_compensation"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unreimbursed_business_employee_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"urgent_care_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"us_bonds_for_higher_ed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"us_govt_interest_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"use_reported_ssi"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_ccsp_is_full_day"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_ccsp_provider_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"veterans_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"vt_ccfap_provider_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"w2_wages_from_qualified_business"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_eceap_slot_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pfml_average_weekly_wage_override"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pfml_leave_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pfml_qualifying_period_hours_worked"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_wccc_day_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_wccc_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"was_in_foster_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"was_recently_incarcerated_for_medicaid_ce"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"weekly_hours_worked_before_lsr"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"weekly_snap_work_program_hours"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"weeks_unemployed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wic_breastfeeding_infant_count"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wic_infant_feeding_category"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"workers_compensation"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"would_claim_wic"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_ccap_non_traditional_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_ccap_quality_tier"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"year_deceased"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"year_of_retirement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"years_in_military"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"years_since_us_entry"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ccsp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ar_months_since_tea_exit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ar_was_tea_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"bottled_gas_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"broadband_cost"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_riv_share_eligible_for_emergency_payment"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_scc_general_assistance_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_clothing_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_food_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_housing_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_is_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_utilities_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_smc_general_assistance_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_ccap_is_in_entry_process"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_ccap_is_in_re_determination_process"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"coal_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cooking_fuel_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_liheap_heating_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_liheap_housing_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_poc_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"enrolled_in_ebb"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"experienced_covid_income_loss"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fdpir"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_sr_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fuel_oil_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gas_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heat_expense_included_in_rent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heating_cooling_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heating_expense_last_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"homeowners_association_fees"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"homeowners_insurance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"housing_designated_welfare"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ia_cca_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_iccp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_aabd_institutional_status"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_aabd_vehicle_is_essential"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_liheap_eligible_for_crisis_assistance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_ccdf_continuous_income_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_ccdf_initial_income_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_ccdf_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_nd_ccap_enrolled"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_tanf_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_general_relief_disability_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_general_relief_housing_subsidy_program_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_general_relief_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_eaedc_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_liheap_heating_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_ccs_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"meets_ccdf_activity_test"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"metered_gas_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_registration_fee"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_ccs_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"months_since_calworks_exit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mortgage_payments"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mt_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nv_ccdp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_ccw_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_ccw_has_stepparent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"phone_cost"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pre_subsidy_electricity_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"receives_housing_assistance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"receives_snap"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sd_tanf_is_shared_living"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sewage_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"snap_self_employment_income_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_assets"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_count"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"spm_unit_energy_subsidy"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"spm_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_net_income_reported"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"spm_unit_pre_subsidy_childcare_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_school_lunch_subsidy"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_snap"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"spm_unit_tenure_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_total_income_reported"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_housing_assistance_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_snap_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_tanf_if_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"trash_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ottanf_crisis_criteria"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_ccsp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_show_all_cash_assistance_programs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"was_calworks_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"water_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wy_power_shelter_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"advanced_main_air_circulating_fan_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"air_sealing_ventilation_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"amt_form_completed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"amt_non_agi_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_charitable_contributions_to_qualifying_charitable_organizations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_charitable_contributions_to_qualifying_foster_care_organizations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"biomass_stove_boiler_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_property_tax_exemption"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cohabitating_spouses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_amt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_section_179_expense_add_back"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"domestic_production_ald"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_heat_pump_clothes_dryer_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_load_service_center_upgrade_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_stove_cooktop_range_or_oven_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_wiring_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_central_air_conditioner_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_door_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_insulation_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_roof_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_window_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"excess_payroll_tax_withheld"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"first_home_mortgage_balance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"first_home_mortgage_interest"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"first_home_mortgage_origination_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"foreign_earned_income_exclusion"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"foreign_tax_credit_potential"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"form_4972_lumpsum_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fuel_cell_property_capacity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fuel_cell_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_investment_in_529_plan_deduction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_itemized_deductions_adjustment"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"geothermal_heat_pump_property_expenditures"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"health_savings_account_ald"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heat_pump_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heat_pump_water_heater_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"home_energy_audit_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_receives_aged_or_disabled_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_pass_through_entity_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_pass_through_withholding"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_schedule_m_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_schedule_m_subtractions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_bonus_depreciation_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_healthcare_sharing_deduction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_nol"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_nol_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_oos_municipal_obligation_interest_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_other_add_backs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_other_deductions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_section_179_expense_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_tax_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_use_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"investment_income_form_4952"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_barred_from_american_opportunity_credit_due_to_improper_claims"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_nonresident_alien_for_american_opportunity_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_nonresident_alien_for_lifetime_learning_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"k12_tuition_and_fees"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ks_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_total_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_affordability_payment_subtraction_reported"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_step_4_share_of_child_care_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_renters_credit_property_tax_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_renters_credit_qualifying_crp"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ms_charitable_contributions_to_qualifying_foster_care_organizations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ms_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nc_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_renters_refund_property_tax_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_battery_capacity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_battery_components_made_in_north_america"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_battery_critical_minerals_extracted_in_trading_partner_country"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_classification"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_msrp"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nh_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_senior_freeze"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_qualified_geothermal_energy_system_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_qualified_solar_energy_systems_equipment_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nyc_unincorporated_business_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ok_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ok_adjustments"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"or_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"or_federal_pension_subtraction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"or_tax_before_credits_in_prior_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"other_net_gain"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_primary_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prior_energy_efficient_home_improvement_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prior_energy_efficient_window_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"property_sales_net_capital_gain"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"puerto_rico_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"purchased_qualifying_new_clean_vehicle"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"purchased_qualifying_used_clean_vehicle"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_battery_storage_technology_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_furnace_or_hot_water_boiler_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_retirement_penalty"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"recapture_of_investment_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"refundable_payroll_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"rent_is_shared_with_another_tax_unit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"residential_efficiency_electrification_retrofit_energy_savings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"residential_efficiency_electrification_retrofit_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_section_179_expense_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"salt_refund_last_year"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"second_home_mortgage_balance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"second_home_mortgage_interest"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"second_home_mortgage_origination_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"selected_marketplace_plan_benchmark_ratio"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"selected_marketplace_plan_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"separate_filer_itemizes"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"small_wind_energy_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"solar_electric_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"solar_water_heating_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"specified_possession_income"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_aca_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_dc_ptc"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_eitc"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_unit_count"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"tax_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_unit_income_ami_ratio"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_unit_stillborn_children"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxsim_pprofinc"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxsim_sprofinc"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tuition_and_fees"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unrecaptured_section_1250_gain"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"unreported_payroll_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"used_clean_vehicle_sale_price"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ut_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"utilities_included_in_rent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pte_cotenant_disposable_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"would_file_if_eligible_for_refundable_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"would_file_taxes_voluntarily"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_additions"},{"available_by":"assembled","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_native_person_input","stage":"simulate","variable":"age"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"alimony_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bank_account_assets"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bond_assets"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"child_support_received"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"disability_benefits"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"employment_income_before_lsr"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"financial_assistance"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"gi_cash_assistance"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"immigration_status_str"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_blind"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_disabled"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_full_time_college_student"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_separated"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"keogh_distributions"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"meets_ssi_disability_criteria"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"non_qualified_dividend_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"own_children_in_household"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_dividend_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"rental_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_dependents"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_disability"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_retirement"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_survivors"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_another_persons_household"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_medical_treatment_facility"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_medicaid_pays_majority_of_care"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_others_pay_all_meals"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_qualifying_quarters_earnings"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_food_from_others"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_outside_shelter_support"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_shelter_from_others_in_household"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_shelter_support_value"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"stock_assets"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"survivor_benefits"},{"available_by":"seeded","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"seed_receipted_value_or_disclosed_engine_default","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_ssi_if_eligible"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_401k_distributions"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_403b_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_interest_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_ira_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_private_pension_income"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_public_pension_income"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_sep_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_401k_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_403b_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_interest_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_ira_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_private_pension_income"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_public_pension_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_sep_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"unemployment_compensation"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"veterans_benefits"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"workers_compensation"}]}} +{"engine":{"package":"policyengine-us","version":"1.764.6"},"programs":{"aca":{"consumers":["assigned_aca_ptc","person_receives_aca","selected_marketplace_plan_actuarial_value","selected_marketplace_plan_premium_proxy"],"default":true,"engine_class":"data_seeded","entity":"tax_unit","value_type":"bool","variable":"takes_up_aca_if_eligible"},"basic_health_program":{"consumers":["basic_health_program_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_basic_health_program_if_eligible"},"chip":{"consumers":["chip_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_chip_if_eligible"},"dc_ptc":{"consumers":["dc_ptc"],"default":true,"engine_class":"data_seeded","entity":"tax_unit","value_type":"bool","variable":"takes_up_dc_ptc"},"early_head_start":{"consumers":["early_head_start"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_early_head_start_if_eligible"},"eitc":{"consumers":["dc_eitc_without_qualifying_child","eitc","nj_eitc","ok_federal_eitc","wa_working_families_tax_credit","wa_working_families_tax_credit_age_expansion_eligible"],"default":true,"engine_class":"data_seeded","entity":"tax_unit","value_type":"bool","variable":"takes_up_eitc"},"head_start":{"consumers":["head_start"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_head_start_if_eligible"},"housing_assistance":{"consumers":["housing_assistance"],"default":true,"engine_class":"data_seeded","entity":"spm_unit","value_type":"bool","variable":"takes_up_housing_assistance_if_eligible"},"medicaid":{"consumers":["medicaid_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_medicaid_if_eligible"},"medicare":{"consumers":["medicare_enrolled"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_medicare_if_eligible"},"snap":{"consumers":["snap"],"default":true,"engine_class":"data_seeded","entity":"spm_unit","value_type":"bool","variable":"takes_up_snap_if_eligible"},"ssi":{"consumers":["ssi"],"default":true,"engine_class":"data_seeded","entity":"person","value_type":"bool","variable":"takes_up_ssi_if_eligible"},"tanf":{"consumers":["tanf"],"default":true,"engine_class":"data_seeded","entity":"spm_unit","value_type":"bool","variable":"takes_up_tanf_if_eligible"}},"remaining_stage_input_manifest":{"receipt":{"consumer_counts":{"PolicyEngineUSEngine.materialize":12,"_complete_schedule_d_input":5,"_simulation_projection":863,"prepare_stacked_tail_derivation":2,"seed_multispine_pool_inputs":13,"ssi_static_dependency_closure":55,"with_us_qbi_input_reconciliation":27,"with_us_qbi_passive_passthrough_assignment":4,"with_us_take_up_inputs":16},"engine_input_projection_contract":{"default_count":863,"defaults_sha256":"87f508fbb382036946aa5e225d339e1b593a464ee6cfc644d7d710540b00a9a7","engine_version_ref":{"kind":"engine_abi_lock","pointer":"/engine/version"},"input_count":863,"sha256":"67a66b018c6261a03a88852cce5c5a4cbe9f5595735d17f2f7666e19e464dfbf"},"entry_count":997,"manifest_sha256":"4ec692e3262f396ebacd6144c900b31ef2ae3eabc1062f38e6db6d3ab6f433fa","schema_version":1,"sha256":"08d6a5ad5750875d36b800202e31720d70c7de6df4689c3bad321c6e21a007d5","ssi_dependency_contract":{"edge_count":186,"engine_version_ref":{"kind":"engine_abi_lock","pointer":"/engine/version"},"formula_node_count":62,"input_leaf_count":55,"root":"ssi","sha256":"e3351cdedbe592456b637286ecd04b7079746e1c409e594fbca60a7d28666838"},"stage_counts":{"derive":38,"seed":29,"simulate":930}},"rows":[{"available_by":"transferred","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"long_term_capital_gains_before_response"},{"available_by":"transferred","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"non_sch_d_capital_gains"},{"available_by":"assembled","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"derive","variable":"person_tax_unit_id"},{"available_by":"transferred","consumer":"_complete_schedule_d_input","entity":"person","execution_scope":"whole_pool","fallback":"derive_from_finite_transferred_parents","provision":"optional_transferred_or_schedule_d_derived","stage":"derive","variable":"schedule_d_capital_gain_distributions"},{"available_by":"assembled","consumer":"_complete_schedule_d_input","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"derive","variable":"tax_unit_id"},{"available_by":"assembled","consumer":"prepare_stacked_tail_derivation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_provenance","stage":"derive","variable":"person_support_clone_index"},{"available_by":"transferred","consumer":"prepare_stacked_tail_derivation","entity":"person","execution_scope":"clone_2","fallback":"absent_or_cleared_then_schedule_d_derived","provision":"optional_existing_derived_leaf","stage":"derive","variable":"schedule_d_capital_gain_distributions"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_raw_acs_source_authority","stage":"derive","variable":"SEMP"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_native_person_input","stage":"derive","variable":"age"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"business_is_sstb"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"estate_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"estate_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"farm_operations_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"farm_rent_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"non_qualified_dividend_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"partnership_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"partnership_s_corp_income_would_be_qualified"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"derive","variable":"person_id"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":"person_id_for_unstacked_lineage_digest","provision":"assembly_support_source_identity","stage":"derive","variable":"person_source_id"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_provenance","stage":"derive","variable":"person_support_channel"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_provenance","stage":"derive","variable":"person_support_clone_index"},{"available_by":"assembled","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"derive","variable":"person_tax_unit_id"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"qualified_bdc_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"qualified_reit_and_ptp_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"rental_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"primary_puf_exact_zero_universe","stage":"derive","variable":"s_corp_income"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:primary_puf_qrf_nontransfer","stage":"derive","variable":"self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_unadjusted_basis_qualified_property"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"sstb_w2_wages_from_qualified_business"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"unadjusted_basis_qualified_property"},{"available_by":"transferred","consumer":"with_us_qbi_input_reconciliation","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"w2_wages_from_qualified_business"},{"available_by":"transferred","consumer":"with_us_qbi_passive_passthrough_assignment","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"estate_income"},{"available_by":"transferred","consumer":"with_us_qbi_passive_passthrough_assignment","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"partnership_income"},{"available_by":"transferred","consumer":"with_us_qbi_passive_passthrough_assignment","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:puf_tax_itemization","stage":"derive","variable":"rental_income"},{"available_by":"transferred","consumer":"with_us_qbi_passive_passthrough_assignment","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"pool_input_surface:primary_puf_qrf_nontransfer","stage":"derive","variable":"s_corp_income"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_basic_health_program_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_chip_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_early_head_start_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_head_start_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_medicaid_if_eligible"},{"available_by":"transferred","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"transferred_or_preserved_input","stage":"seed","variable":"takes_up_medicare_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"person","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_ssi_if_eligible"},{"available_by":"transferred","consumer":"seed_multispine_pool_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"transferred_or_preserved_input","stage":"seed","variable":"takes_up_housing_assistance_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_snap_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":"sourced_seed_when_input_is_missing","provision":"administrative_seed_or_preserved_input","stage":"seed","variable":"takes_up_tanf_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_aca_if_eligible"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":"checked_take_up_contract_engine_default","provision":"preserved_input_or_disclosed_engine_default","stage":"seed","variable":"takes_up_dc_ptc"},{"available_by":"seeded","consumer":"seed_multispine_pool_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":"sourced_seed_when_input_is_missing","provision":"administrative_seed_or_preserved_input","stage":"seed","variable":"takes_up_eitc"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"family","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"family_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"household","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"household_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"marital_unit","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"marital_unit_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_native_person_input","stage":"seed","variable":"age"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"person_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"seed","variable":"person_spm_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"seed","variable":"person_tax_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":"support_source_id_then_entity_id","provision":"optional_assembled_source_identity","stage":"seed","variable":"source_household_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":"support_source_id_then_entity_id","provision":"optional_assembled_source_identity","stage":"seed","variable":"source_person_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"person","execution_scope":"whole_pool","fallback":"support_source_id_then_entity_id","provision":"optional_assembled_source_identity","stage":"seed","variable":"source_year"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_resolve_weights_from_household_weight","stage":"seed","variable":""},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"seed","variable":"spm_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"spm_unit_source_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_resolve_weights_from_household_weight","stage":"seed","variable":""},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"seed","variable":"tax_unit_id"},{"available_by":"assembled","consumer":"with_us_take_up_inputs","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"assembly_support_source_identity","stage":"seed","variable":"tax_unit_source_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"family","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"family_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"household","execution_scope":"whole_pool","fallback":null,"provision":"frame_household_weight","stage":"simulate","variable":""},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"household","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"household_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"marital_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"marital_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_family_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_household_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"person_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_marital_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_spm_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"frame_membership","stage":"simulate","variable":"person_tax_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"spm_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"spm_unit_id"},{"available_by":"assembled","consumer":"PolicyEngineUSEngine.materialize","entity":"tax_unit","execution_scope":"whole_pool","fallback":null,"provision":"frame_entity_id","stage":"simulate","variable":"tax_unit_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"family","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"family_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"family","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"family_weight"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ssp_excluded_institutional_setting"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"auto_loan_balance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"auto_loan_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"average_home_energy_use_in_state"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"bedrooms"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"block_geoid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cbo_corporate_income_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cbo_excise_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cbsa_code"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"congressional_district_geoid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"county_fips"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_tfa_region"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"current_home_energy_use"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_business_assets_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_business_assets_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_business_assets_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_count"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"household_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_income_ami_ratio"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_other_real_estate_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_other_real_estate_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_other_real_estate_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_rental_property_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_rental_property_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_rental_property_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_debt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_owned"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_vehicles_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"household_weight"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_denver"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_wilmington"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_yonkers"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_homeless"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_public_housing"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_non_english_speaking_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_on_tribal_land"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_rural"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_shared_living"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_sro"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"living_arrangements_allow_for_food_preparation"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_state_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"net_worth"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_drive_clean_purchased_qualifying_vehicle"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_drive_clean_vehicle_cost"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_drive_clean_vehicle_electric_range"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"parent_has_less_than_high_school_education"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"place_fips"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_for_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"puma"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_passenger_vehicle_loan_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sldl"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sldu"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"state_fips"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tenant_pays_utilities"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"tenure_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tract_geoid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"vtd"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"zcta"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"household","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"zip_code"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"marital_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"marital_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"able_contributions_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"adopted_this_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"after_school_expenses"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"age"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ccap_care_schedule"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ccap_charged_rate"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ak_resides_in_assisted_living_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ccsp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ccsp_quality_tier"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_level_b_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_meets_snf_criteria"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_receives_elderly_disabled_medicaid_waiver"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ssp_care_setting"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ssp_grandfathered"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ssp_living_arrangement"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"alimony_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"alimony_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ambulance_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"american_opportunity_credit_claimed_prior_years"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"amt_foreign_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ar_sra_care_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"assessed_property_value"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"attends_eligible_educational_institution_for_american_opportunity_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"attends_eligible_educational_institution_for_lifetime_learning_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_530a_distribution"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_ccap_quality_enhanced_provider"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bank_account_assets"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bond_assets"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"business_is_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"business_is_sstb"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_days_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_factor_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_provider_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_time_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_weeks_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_calworks_child_care_welfare_to_work"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_cvrp_vehicle_rebate_amount"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_in_home_supportive_services"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_in_medical_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_state_disability_insurance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"care_and_support_costs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"care_and_support_payments_from_tax_filer"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"casualty_loss"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"charitable_cash_donations"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"charitable_non_cash_donations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"charitable_non_cash_donations_non_50_pct_orgs"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"child_support_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"child_support_received"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_attending_days_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_days_per_week"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_hours_per_day"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"childcare_provider_type_group"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"claimed_as_dependent_on_another_return"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"claimed_ma_covid_19_essential_employee_premium_pay_program_2020"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_care_worker_credit_eligible_care_worker"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_denver_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_glendale_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_greenwood_village_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_quality_rating_of_child_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_sheridan_employee_occupational_privilege_tax_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cost_of_attending_college"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"count_529_contribution_beneficiaries"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cps_race"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"csrs_retirement_pay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_c4k_provider_accredited"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_c4k_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_ssp_has_therapeutic_diet"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_ssp_lives_with_others"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_ssp_resides_in_boarding_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"current_pregnancy_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_attending_days_per_month"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_child_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_childcare_provider_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_schedule_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ossp_facility_size"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ossp_in_adult_foster_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_poc_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_wilmington_nonresident_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"debt_relief"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dependent_care_employer_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"detailed_occupation_recode"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"disability_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"divorce_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e00700"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e01100"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e01200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e02000"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03220"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03230"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03240"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03270"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03290"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03300"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03400"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e03500"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e07240"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e07260"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e07300"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e09700"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e09800"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e09900"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e11200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e18500"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e19200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e19800"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e20100"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e20400"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e24515"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e24518"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e26270"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e27200"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e32800"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e58990"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e62900"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e87521"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"e87530"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"early_withdrawal_penalty"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"educational_assistance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"educator_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_contribution_to_health_insurance_premiums_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_headcount"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_ny_mctmt_zone_1_quarterly_payroll_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_ny_mctmt_zone_2_quarterly_payroll_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_quarterly_payroll_expense_override"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_sponsored_insurance_premiums"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_state_unemployment_tax_rate_override"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_denver_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_denver_occupational_privilege_tax_owner_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_glendale_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_glendale_occupational_privilege_tax_owner_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_greenwood_village_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_greenwood_village_occupational_privilege_tax_owner_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_co_sheridan_occupational_privilege_tax_employee_months"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_mo_st_louis_payroll_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_or_lane_transit_district_taxable_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_or_trimet_taxable_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_payroll_tax_gross_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_taxable_earnings_for_federal_unemployment_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_taxable_earnings_for_social_security"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_taxable_earnings_for_state_unemployment_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_current_year_total"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_lower_band_taxable_payroll"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_prior_year_total"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_payroll_expense_upper_band_taxable_payroll"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"employer_total_wa_seattle_social_housing_excess_compensation"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"employment_income_before_lsr"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"er_visit_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"estate_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"estate_income_would_be_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"excess_withheld_payroll_tax"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_operations_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_operations_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_rent_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"farm_rent_income_would_be_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"financial_assistance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_oss_community_care_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_oss_program_track"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_sr_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"four_year_college_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fsla_overtime_premium"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_care_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_quality_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_ssp_in_nursing_home_or_institutionalized_hospice"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gambling_losses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gambling_winnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"general_assistance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"general_business_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gi_cash_assistance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_american_opportunity_credit_1098_t_or_exception"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_american_opportunity_credit_institution_ein"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_applied_for_unemployment_compensation"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_bcc_qualifying_coverage"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_champva_health_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_completed_first_four_years_of_postsecondary_education"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_developmental_delay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_emergency_medical_condition"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_esi"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_felony_drug_conviction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_health_coverage_other_than_chip"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_indian_health_service_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_individualized_education_program"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_lifetime_learning_credit_1098_t_or_exception"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_marketplace_health_coverage"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_marketplace_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_medicaid_health_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_never_worked"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"has_no_prior_formal_early_learning"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_non_marketplace_direct_purchase_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_other_means_tested_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_tricare_health_coverage_at_interview"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"has_va_health_coverage_at_interview"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"health_insurance_premiums"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"health_insurance_premiums_without_medicare_part_b"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"health_savings_account_payroll_contributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heating_expense_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"hi_ccap_provider_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"hi_oss_care_facility_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"home_equity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"home_is_on_agricultural_land"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"home_mortgage_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"hourly_wage"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"hours_worked_last_week"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ia_cca_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ia_cca_quality_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_aabd_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_iccp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_aabd_is_bedfast"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"illicit_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"imaging_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"immigration_status_str"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_ccdf_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_ccdf_ptq_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_out_of_home_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_resides_in_licensed_residential_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_resides_in_unlicensed_residential_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"inpatient_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"investment_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"investment_in_529_plan_indv"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"investment_income_elected_form_4952"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"investment_interest_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_american_indian_or_alaska_native_for_medicaid_ce"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_blind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_born_outside_us"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_breastfeeding"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_complying_with_tanf_work_requirements"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_computer_scientist"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_deaf"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_deceased"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_disabled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_english_proficient"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_enrolled_at_least_half_time_for_american_opportunity_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_enrolled_in_ccdf"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_enrolled_in_head_start"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_executive_administrative_professional"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_farmer_fisher"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_federal_work_study_participant"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"is_female"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_full_time_college_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_fully_disabled_service_connected_veteran"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_grandparent_of_filer_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_hispanic"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"is_household_head"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_adult_residential_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_foster_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_foster_care_group_home"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_k12_nonpublic_school"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_medicaid_community_engagement_treatment_program"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_medicaid_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_residential_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_secondary_school"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_substance_use_treatment_program"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_work_program"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_incapable_of_self_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_incarcerated"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_medicaid_1115_mec_adult"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_medicaid_community_engagement_seasonal_worker"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_medically_frail_or_has_special_medical_needs_for_medicaid_ce"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_migratory_child"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_military"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_paid_hourly"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_parent_of_filer_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_part_time_college_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_permanently_and_totally_disabled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_permanently_disabled_veteran"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_pregnant"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_pursuing_credential_for_american_opportunity_credit"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"is_related_to_head_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_runaway_child"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_self_employed"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_separated"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_severely_disabled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_abawd_discretionary_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_abawd_indian_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_employment_training_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_work_incentive_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_work_program_participant"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_snap_workfare_participant"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_surviving_child_of_disabled_veteran"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_surviving_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_surviving_spouse_of_disabled_veteran"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_tafdc_related_to_head_or_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_union_member_or_covered"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_unmarried_partner_of_household_head"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_wccc_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_wic_at_nutritional_risk"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_wic_fully_breastfeeding"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"keogh_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ks_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_service_credit_months_post_1997"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_service_credit_months_pre_1998"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_ssp_care_receivers"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_ssp_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_quality_rating_of_child_care_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_receives_blind_exemption"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"lab_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"life_insurance_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_basis"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"long_term_capital_gains_before_response"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_on_assets_eligible_for_vt_exclusion"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"long_term_capital_gains_on_collectibles"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_on_small_business_stock"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_capital_gains_years_held"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"long_term_health_insurance_premiums"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_care_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_is_in_relatives_home_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_schedule_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_ccs_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_paa_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_paa_pending_federal_benefit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_claiming_tax_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_community_service_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_less_than_half_time_education_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_six_month_average_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_community_engagement_work_program_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicaid_tax_dependent_exception_non_custodial_parent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicare_part_b_premiums_reported"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"medicare_quarters_of_coverage"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"meets_ssi_disability_criteria"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_exempt_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_star_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_basic_pay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_retirement_pay"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_retirement_pay_survivors"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"military_service_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"miscellaneous_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_quality_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_has_guardian"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_housing_assistance_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_msa_uses_representative_payee"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_ccs_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_kansas_city_earnings_tax_taxable_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_snc_facility_base_charge"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_ssp_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_st_louis_earnings_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_st_louis_earnings_tax_taxable_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"months_receiving_social_security_disability"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ms_ccpp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mt_ccap_care_time"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mt_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_ccap_provider_qris_step"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_aabd_alternate_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_child_care_subsidy_eligible_parent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_school_readiness_credit_child_care_worker_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_school_readiness_credit_eligible_worker"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"never_eligible_for_social_security_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nh_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_ccap_grow_nj_kids_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_base_period_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_base_period_weeks"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_qualifying_dependents"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_spouse_employed_when_claim_established"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_weekly_gross_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_weeks_claimed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_unemployment_insurance_working_less_than_full_time"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_focus_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_non_traditional_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"non_public_school_tuition"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"non_qualified_dividend_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"non_sch_d_capital_gains"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nv_ccdp_provider_star_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nv_ccdp_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_yonkers_nonresident_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"offered_aca_disqualifying_esi"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_bonus_depreciation_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_educator_expense_deduction_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_federal_conformity_deductions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_has_taken_oh_lump_sum_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_homestead_exemption_qualifying_surviving_spouse"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_other_add_backs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_section_179_expense_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_uniformed_services_retirement_income_deduction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"other_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"other_health_insurance_premiums"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"other_medical_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"outpatient_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"over_the_counter_health_expenses"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"own_children_in_household"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"p08000"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_ccw_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_philadelphia_wage_tax_reduced_rate_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_philadelphia_wage_tax_resident"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_philadelphia_wage_tax_taxable_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_base_year_wages"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_credit_weeks"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_gross_weekly_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_uc_highest_quarter_wages"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"partnership_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"partnership_s_corp_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"partnership_self_employment_net_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_countable_assets"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_dependent_available_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_dependent_other_allowances"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_head_allowances"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_months_in_school"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pension_survivors"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"person_count"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_family_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_household_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_marital_unit_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_spm_unit_id"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"person_tax_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"personal_property"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"physician_services_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"pre_subsidy_care_expenses"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"pre_subsidy_rent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pre_subsidy_transportation_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pre_tax_health_insurance_premiums"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prescription_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"previous_year_income_available"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prior_year_minimum_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_adoption_assistance_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_bdc_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_dividend_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_reit_and_ptp_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_tuition_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"railroad_benefits"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"real_estate_taxes"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"receives_medicaid"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"receives_or_needs_protective_services"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"receives_wic"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"rental_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"rental_income_would_be_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retired_from_federal_government"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retired_from_ky_government"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retired_on_total_disability"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"retirement_benefits_from_ss_exempt_employment"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_star_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_step_rating"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"roth_401k_contributions_desired"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"roth_403b_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"roth_ira_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"s_corp_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"salt_refund_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_quality_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_registered_quality_level"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_ccap_second_child_discount_rate"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_tuition_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sc_tuition_credit_eligible"},{"available_by":"derived","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"derived_schedule_d_input","stage":"simulate","variable":"schedule_d_capital_gain_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employed_pension_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_last_year"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"short_term_capital_gains"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_dependents"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_disability"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_retirement"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_survivors"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ss_aime_input"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_another_persons_household"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_medical_treatment_facility"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_medicaid_pays_majority_of_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_others_pay_all_meals"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_qualifying_quarters_earnings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_food_from_others"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_outside_shelter_support"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_shelter_from_others_in_household"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_for_null","provision":"preserved_stacked_engine_input","stage":"simulate","variable":"ssi_reported"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_shelter_support_value"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"ssn_card_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_self_employment_income_would_be_qualified"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_unadjusted_basis_qualified_property"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_w2_wages_from_qualified_business"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"state_or_federal_salary"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"stock_assets"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"strike_benefits"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"student_loan_interest"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"survivor_benefits"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_basic_health_program_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_chip_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_early_head_start_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_head_start_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_medicaid_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_medicare_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_ssi_if_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_401k_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_403b_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_interest_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_ira_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_private_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_public_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_sep_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_preparation_fees"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_401k_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_403b_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_estate_value"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_federal_pension_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_interest_income"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_ira_distributions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_private_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_public_pension_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_roth_conversions"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_sep_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"technical_institution_student"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tip_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"total_disability_payments"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"traditional_401k_contributions_desired"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"traditional_403b_contributions_desired"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"traditional_ira_contributions_desired"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"treasury_tipped_occupation_code"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ccs_care_schedule"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ccs_provider_rating"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ccs_provider_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unadjusted_basis_qualified_property"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"under_12_months_postpartum"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"under_60_days_postpartum"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unemployment_compensation"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unreimbursed_business_employee_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"urgent_care_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"us_bonds_for_higher_ed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"us_govt_interest_person"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"use_reported_ssi"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_ccsp_is_full_day"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_ccsp_provider_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"veterans_benefits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"vt_ccfap_provider_type"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"w2_wages_from_qualified_business"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_eceap_slot_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pfml_average_weekly_wage_override"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pfml_leave_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pfml_qualifying_period_hours_worked"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_wccc_day_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_wccc_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"was_in_foster_care"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"was_recently_incarcerated_for_medicaid_ce"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"weekly_hours_worked_before_lsr"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"weekly_snap_work_program_hours"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"weeks_unemployed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wic_breastfeeding_infant_count"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wic_infant_feeding_category"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"workers_compensation"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"would_claim_wic"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_ccap_non_traditional_hours"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_ccap_provider_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_ccap_quality_tier"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"year_deceased"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"year_of_retirement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"years_in_military"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"person","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"years_since_us_entry"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_ccsp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ar_months_since_tea_exit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ar_was_tea_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"bottled_gas_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"broadband_cost"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_riv_share_eligible_for_emergency_payment"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_scc_general_assistance_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_clothing_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_food_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_housing_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_is_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_sf_caap_utilities_provided_in_kind"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ca_smc_general_assistance_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_ccap_is_in_entry_process"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_ccap_is_in_re_determination_process"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"coal_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cooking_fuel_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_ccsp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_liheap_heating_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"dc_liheap_housing_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"de_poc_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"enrolled_in_ebb"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"experienced_covid_income_loss"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fdpir"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fl_sr_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fuel_oil_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_caps_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"gas_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heat_expense_included_in_rent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heating_cooling_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heating_expense_last_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"homeowners_association_fees"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"homeowners_insurance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"housing_designated_welfare"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ia_cca_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_iccp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_aabd_institutional_status"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_aabd_vehicle_is_essential"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_liheap_eligible_for_crisis_assistance"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_ccdf_continuous_income_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_ccdf_initial_income_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_in_ccdf_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_nd_ccap_enrolled"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_tanf_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_general_relief_disability_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_general_relief_housing_subsidy_program_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"la_general_relief_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_ccfa_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_eaedc_living_arrangement"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ma_liheap_heating_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_ccs_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"meets_ccdf_activity_test"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"metered_gas_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_ccap_registration_fee"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mo_ccs_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"months_since_calworks_exit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mortgage_payments"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mt_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nv_ccdp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_ccw_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pa_ccw_has_stepparent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"phone_cost"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pre_subsidy_electricity_expense"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"receives_housing_assistance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"receives_snap"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_ccap_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sd_tanf_is_shared_living"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"sewage_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"snap_self_employment_income_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_assets"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_count"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"spm_unit_energy_subsidy"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"spm_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_net_income_reported"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"spm_unit_pre_subsidy_childcare_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_school_lunch_subsidy"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_snap"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"assembled_native_engine_input","stage":"simulate","variable":"spm_unit_tenure_type"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"spm_unit_total_income_reported"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_housing_assistance_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_snap_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_tanf_if_eligible"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"trash_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tx_ottanf_crisis_criteria"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_ccsp_enrolled"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_show_all_cash_assistance_programs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"was_calworks_recipient"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"water_expense"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"spm_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wy_power_shelter_qualified"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"advanced_main_air_circulating_fan_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"air_sealing_ventilation_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"al_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"amt_form_completed"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"amt_non_agi_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_charitable_contributions_to_qualifying_charitable_organizations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"az_charitable_contributions_to_qualifying_foster_care_organizations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"biomass_stove_boiler_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"co_property_tax_exemption"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"cohabitating_spouses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_amt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ct_section_179_expense_add_back"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"domestic_production_ald"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_heat_pump_clothes_dryer_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_load_service_center_upgrade_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_stove_cooktop_range_or_oven_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"electric_wiring_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_central_air_conditioner_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_door_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_insulation_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_roof_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"energy_efficient_window_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"excess_payroll_tax_withheld"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"first_home_mortgage_balance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"first_home_mortgage_interest"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"first_home_mortgage_origination_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"foreign_earned_income_exclusion"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"foreign_tax_credit_potential"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"form_4972_lumpsum_distributions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fuel_cell_property_capacity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"fuel_cell_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_investment_in_529_plan_deduction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_itemized_deductions_adjustment"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ga_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"geothermal_heat_pump_property_expenditures"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"health_savings_account_ald"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heat_pump_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"heat_pump_water_heater_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"home_energy_audit_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"id_receives_aged_or_disabled_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_pass_through_entity_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_pass_through_withholding"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_schedule_m_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"il_schedule_m_subtractions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_bonus_depreciation_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_healthcare_sharing_deduction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_nol"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_nol_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_oos_municipal_obligation_interest_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_other_add_backs"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_other_deductions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_section_179_expense_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_tax_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"in_use_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"investment_income_form_4952"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_barred_from_american_opportunity_credit_due_to_improper_claims"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_nonresident_alien_for_american_opportunity_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"is_nonresident_alien_for_lifetime_learning_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"k12_tuition_and_fees"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ks_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ky_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"md_total_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_affordability_payment_subtraction_reported"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"me_step_4_share_of_child_care_expenses"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mi_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_renters_credit_property_tax_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"mn_renters_credit_qualifying_crp"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ms_charitable_contributions_to_qualifying_foster_care_organizations"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ms_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nc_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nd_renters_refund_property_tax_exempt"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ne_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_battery_capacity"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_battery_components_made_in_north_america"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_battery_critical_minerals_extracted_in_trading_partner_country"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_classification"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"new_clean_vehicle_msrp"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nh_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nj_senior_freeze"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nm_non_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_qualified_geothermal_energy_system_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ny_qualified_solar_energy_systems_equipment_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"nyc_unincorporated_business_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"oh_refundable_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ok_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ok_adjustments"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"or_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"or_federal_pension_subtraction"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"or_tax_before_credits_in_prior_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"other_net_gain"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"pell_grant_primary_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prior_energy_efficient_home_improvement_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"prior_energy_efficient_window_credits"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"property_sales_net_capital_gain"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"puerto_rico_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"purchased_qualifying_new_clean_vehicle"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"purchased_qualifying_used_clean_vehicle"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_battery_storage_technology_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_furnace_or_hot_water_boiler_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"qualified_retirement_penalty"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"recapture_of_investment_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"refundable_payroll_tax_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"rent_is_shared_with_another_tax_unit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"residential_efficiency_electrification_retrofit_energy_savings"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"residential_efficiency_electrification_retrofit_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ri_section_179_expense_add_back"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"salt_refund_last_year"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"second_home_mortgage_balance"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"second_home_mortgage_interest"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"second_home_mortgage_origination_year"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"selected_marketplace_plan_benchmark_ratio"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"selected_marketplace_plan_category"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"separate_filer_itemizes"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"small_wind_energy_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"solar_electric_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"solar_water_heating_property_expenditures"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"specified_possession_income"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_aca_if_eligible"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_dc_ptc"},{"available_by":"seeded","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_eitc"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_unit_count"},{"available_by":"assembled","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"frame_structural_engine_input","stage":"simulate","variable":"tax_unit_id"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_unit_income_ami_ratio"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_unit_stillborn_children"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxsim_pprofinc"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxsim_sprofinc"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"tuition_and_fees"},{"available_by":"transferred","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"ephemeral_simulation_projection_engine_default_if_present_null","provision":"materialized_pool_input_surface","stage":"simulate","variable":"unrecaptured_section_1250_gain"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"unreported_payroll_tax"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"used_clean_vehicle_sale_price"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"ut_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"utilities_included_in_rent"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"va_additions"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wa_pte_cotenant_disposable_income"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"would_file_if_eligible_for_refundable_credit"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"would_file_taxes_voluntarily"},{"available_by":"simulate","consumer":"_simulation_projection","entity":"tax_unit","execution_scope":"disposable_simulation_copy","fallback":"policyengine_default_if_absent","provision":"declared_absent_engine_input","stage":"simulate","variable":"wv_additions"},{"available_by":"assembled","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"assembled_native_person_input","stage":"simulate","variable":"age"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"alimony_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bank_account_assets"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"bond_assets"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"child_support_received"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"disability_benefits"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"employment_income_before_lsr"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"financial_assistance"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"gi_cash_assistance"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"immigration_status_str"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_blind"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_disabled"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_full_time_college_student"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"is_separated"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"keogh_distributions"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"meets_ssi_disability_criteria"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"non_qualified_dividend_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"own_children_in_household"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"qualified_dividend_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"rental_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_dependents"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_disability"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_retirement"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"social_security_survivors"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_another_persons_household"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_lives_in_medical_treatment_facility"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_medicaid_pays_majority_of_care"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_others_pay_all_meals"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_qualifying_quarters_earnings"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_food_from_others"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_outside_shelter_support"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_receives_shelter_from_others_in_household"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"ssi_shelter_support_value"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"sstb_self_employment_income_before_lsr"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"ephemeral_simulation_projection_engine_default","provision":"declared_deferred_null_input","stage":"simulate","variable":"stock_assets"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"survivor_benefits"},{"available_by":"seeded","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"seed_receipted_value_or_disclosed_engine_default","provision":"seed_stage_program_contract","stage":"simulate","variable":"takes_up_ssi_if_eligible"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_401k_distributions"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_403b_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_interest_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_ira_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"tax_exempt_private_pension_income"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_public_pension_income"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"tax_exempt_sep_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_401k_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_403b_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_interest_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_ira_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_private_pension_income"},{"available_by":"simulate","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":"policyengine_default_for_absent_input","provision":"declared_absent_engine_input","stage":"simulate","variable":"taxable_public_pension_income"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"taxable_sep_distributions"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"unemployment_compensation"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"veterans_benefits"},{"available_by":"transferred","consumer":"ssi_static_dependency_closure","entity":"person","execution_scope":"whole_pool","fallback":null,"provision":"materialized_pool_input_surface","stage":"simulate","variable":"workers_compensation"}]}} diff --git a/packages/microcosm-build/src/microcosm/build/us/qbi_passive_passthrough_assumptions_v1.json b/packages/microcosm-build/src/microcosm/build/us/qbi_passive_passthrough_assumptions_v1.json new file mode 100644 index 00000000..a147df18 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/us/qbi_passive_passthrough_assumptions_v1.json @@ -0,0 +1,75 @@ +{ + "assignment_stage": { + "architecture": "sibling_before_qbi_reconciliation", + "latent_form_treatment": "When a v3 latent entity form is available it routes only partnership and S-corporation records into eligibility; the SCF probability and share remain band-only because active and non-active SCF businesses are not entity-linked.", + "output_column": "passive_partnership_s_corp_income", + "person_input_columns": [ + "partnership_income", + "s_corp_income", + "rental_income", + "estate_income" + ], + "schedule_e_proxy": "partnership_income + s_corp_income + rental_income + estate_income", + "version": 1, + "versioning_decision": "Use a version-1 sibling rather than QBI simulation version 4: the current renamed tree consumes 15 archived QBI leaves and does not carry the old opt-in simulation stack." + }, + "calibration": { + "bounds": { + "lower": 0.0, + "upper": 109256984000.0 + }, + "expected_aggregate": 54628491999.999985, + "log_odds_shift": -1.157105426398319, + "provisional_target": { + "amount": 54628492000.0, + "choice": "midpoint_of_unresolved_bounds" + }, + "replay_artifact": { + "bytes": 241045964, + "filename": "puf_2024.h5", + "person_rows": 484015, + "person_weight_total": 317181074.5235834, + "positive_passthrough_rows": 83820, + "positive_passthrough_weighted_aggregate": 1632692702130.5078, + "sha256": "8182579ddfecaf5e5b872e2307b88f03e8e8def993171b648f701a19a847f37b", + "tax_unit_rows": 207692 + }, + "replay_relative_tolerance": 0.05, + "seeded_replay": { + "aggregate": 55021131518.061035, + "positive_assigned_rows": 6207, + "relative_error": 0.007187449327011208, + "seed": 0 + }, + "solver": { + "iterations": 128, + "lower_bound": -30.0, + "method": "bisection_on_expected_weighted_aggregate", + "upper_bound": 30.0 + } + }, + "evidence": { + "resource": "qbi_passive_passthrough_v1.json", + "schema_version": 1, + "sha256": "32fac446d5f208a9c3f73c8234184144dd0c1f322ccdf186e5fb94dd774d61a7" + }, + "notes": [ + "The target is provisional because Form 8960 line 4c does not decompose passive pass-through income from rental and royalty income.", + "Rental income remains unchanged: the current engine includes it fully in NIIT, and this stage assigns only the pass-through leaf.", + "The output remains engine-inert under locked PolicyEngine-US 1.764.6 because that registry does not expose the variable; the hard release gate stays red until the engine pin advances past 1.764.6 to a release containing PolicyEngine-US #9306.", + "The runtime does not read the restricted replay artifact or solve the calibration shift.", + "The sibling stage neither invokes nor advances any archived QBI random stream and preserves all 15 existing QBI leaves.", + "The TY2023 administrative target is applied to the pinned 2024-shaped replay without a population-vintage backcast; this period mismatch is another reason the target remains provisional." + ], + "provisional": true, + "random_streams": { + "bit_generator": "PCG64", + "draw_policy": "full_length_before_support_masks", + "family_entropy": 4722, + "presence_family": 0, + "root_seed_default": 0, + "share_family": 1 + }, + "resource": "qbi_passive_passthrough_assumptions", + "schema_version": 1 +} diff --git a/packages/microcosm-build/src/microcosm/build/us/qbi_passive_passthrough_v1.json b/packages/microcosm-build/src/microcosm/build/us/qbi_passive_passthrough_v1.json new file mode 100644 index 00000000..96e539ec --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/us/qbi_passive_passthrough_v1.json @@ -0,0 +1,442 @@ +{ + "cells": [ + { + "conditional_share": { + "conditional_on": "X3401 == 1 and ACTBUS + NONACTBUS > 0", + "estimate_level": "exact", + "requested_mean": 0.6020802648193814, + "requested_quantiles": { + "q05": 0.02912621359223301, + "q25": 0.18181818181818182, + "q50": 0.84472049689441, + "q75": 1.0, + "q95": 1.0 + }, + "selected_mean": 0.6020802648193814, + "selected_quantiles": { + "q05": 0.02912621359223301, + "q25": 0.18181818181818182, + "q50": 0.84472049689441, + "q75": 1.0, + "q95": 1.0 + }, + "source_counts": { + "implicate_adjusted_unweighted_n": 63.0, + "pooled_record_count": 315, + "weighted_households": 359517.357858932 + }, + "source_income_band": "nonpositive" + }, + "holding_prevalence": { + "estimate": 0.03349291816162936, + "estimate_level": "exact", + "requested_estimate": 0.03349291816162936, + "source_counts": { + "implicate_adjusted_unweighted_n": 454.4, + "pooled_record_count": 2272, + "weighted_households": 10734130.604087148 + }, + "source_income_band": "nonpositive" + }, + "income_band": "nonpositive", + "requested_counts": { + "active_implicate_adjusted_unweighted_n": 454.4, + "active_pooled_record_count": 2272, + "active_weighted_households": 10734130.604087148, + "nonactive_holder_implicate_adjusted_unweighted_n": 63.0, + "nonactive_holder_pooled_record_count": 315, + "nonactive_holder_weighted_households": 359517.357858932, + "positive_denominator_holder_implicate_adjusted_unweighted_n": 63.0, + "positive_denominator_holder_pooled_record_count": 315, + "positive_denominator_holder_weighted_households": 359517.357858932 + } + }, + { + "conditional_share": { + "conditional_on": "X3401 == 1 and ACTBUS + NONACTBUS > 0", + "estimate_level": "all_income_bands", + "requested_mean": 0.2790077931286368, + "requested_quantiles": { + "q05": 0.0, + "q25": 0.002613240418118467, + "q50": 0.06976744186046512, + "q75": 0.6097560975609756, + "q95": 0.9935897435897436 + }, + "selected_mean": 0.4106054515053052, + "selected_quantiles": { + "q05": 0.0, + "q25": 0.06976744186046512, + "q50": 0.3333333333333333, + "q75": 0.7170827214880078, + "q95": 1.0 + }, + "source_counts": { + "implicate_adjusted_unweighted_n": 236.0, + "pooled_record_count": 1180, + "weighted_households": 930929.1390162968 + }, + "source_income_band": "all" + }, + "holding_prevalence": { + "estimate": 0.041323551642333756, + "estimate_level": "exact", + "requested_estimate": 0.041323551642333756, + "source_counts": { + "implicate_adjusted_unweighted_n": 102.6, + "pooled_record_count": 513, + "weighted_households": 2165633.7738445457 + }, + "source_income_band": "0_to_25k" + }, + "income_band": "0_to_25k", + "requested_counts": { + "active_implicate_adjusted_unweighted_n": 102.6, + "active_pooled_record_count": 513, + "active_weighted_households": 2165633.7738445457, + "nonactive_holder_implicate_adjusted_unweighted_n": 13.8, + "nonactive_holder_pooled_record_count": 69, + "nonactive_holder_weighted_households": 89491.67909184723, + "positive_denominator_holder_implicate_adjusted_unweighted_n": 13.8, + "positive_denominator_holder_pooled_record_count": 69, + "positive_denominator_holder_weighted_households": 89491.67909184723 + } + }, + { + "conditional_share": { + "conditional_on": "X3401 == 1 and ACTBUS + NONACTBUS > 0", + "estimate_level": "all_income_bands", + "requested_mean": 0.44704119295026856, + "requested_quantiles": { + "q05": 0.0, + "q25": 0.4, + "q50": 0.4, + "q75": 0.5827505827505828, + "q95": 0.9362898188632105 + }, + "selected_mean": 0.4106054515053052, + "selected_quantiles": { + "q05": 0.0, + "q25": 0.06976744186046512, + "q50": 0.3333333333333333, + "q75": 0.7170827214880078, + "q95": 1.0 + }, + "source_counts": { + "implicate_adjusted_unweighted_n": 236.0, + "pooled_record_count": 1180, + "weighted_households": 930929.1390162968 + }, + "source_income_band": "all" + }, + "holding_prevalence": { + "estimate": 0.0645329198764294, + "estimate_level": "exact", + "requested_estimate": 0.0645329198764294, + "source_counts": { + "implicate_adjusted_unweighted_n": 121.2, + "pooled_record_count": 606, + "weighted_households": 2454506.560942089 + }, + "source_income_band": "25k_to_100k" + }, + "income_band": "25k_to_100k", + "requested_counts": { + "active_implicate_adjusted_unweighted_n": 121.2, + "active_pooled_record_count": 606, + "active_weighted_households": 2454506.560942089, + "nonactive_holder_implicate_adjusted_unweighted_n": 11.4, + "nonactive_holder_pooled_record_count": 57, + "nonactive_holder_weighted_households": 158396.4752334461, + "positive_denominator_holder_implicate_adjusted_unweighted_n": 11.4, + "positive_denominator_holder_pooled_record_count": 57, + "positive_denominator_holder_weighted_households": 158396.4752334461 + } + }, + { + "conditional_share": { + "conditional_on": "X3401 == 1 and ACTBUS + NONACTBUS > 0", + "estimate_level": "all_income_bands", + "requested_mean": 0.1889671863895858, + "requested_quantiles": { + "q05": 0.022222222222222223, + "q25": 0.034974093264248704, + "q50": 0.1724137931034483, + "q75": 0.1736111111111111, + "q95": 0.7203591107733232 + }, + "selected_mean": 0.4106054515053052, + "selected_quantiles": { + "q05": 0.0, + "q25": 0.06976744186046512, + "q50": 0.3333333333333333, + "q75": 0.7170827214880078, + "q95": 1.0 + }, + "source_counts": { + "implicate_adjusted_unweighted_n": 236.0, + "pooled_record_count": 1180, + "weighted_households": 930929.1390162968 + }, + "source_income_band": "all" + }, + "holding_prevalence": { + "estimate": 0.09654342380984532, + "estimate_level": "exact", + "requested_estimate": 0.09654342380984532, + "source_counts": { + "implicate_adjusted_unweighted_n": 82.6, + "pooled_record_count": 413, + "weighted_households": 971818.2959718417 + }, + "source_income_band": "100k_to_250k" + }, + "income_band": "100k_to_250k", + "requested_counts": { + "active_implicate_adjusted_unweighted_n": 82.6, + "active_pooled_record_count": 413, + "active_weighted_households": 971818.2959718417, + "nonactive_holder_implicate_adjusted_unweighted_n": 17.2, + "nonactive_holder_pooled_record_count": 86, + "nonactive_holder_weighted_households": 93822.6656141712, + "positive_denominator_holder_implicate_adjusted_unweighted_n": 17.2, + "positive_denominator_holder_pooled_record_count": 86, + "positive_denominator_holder_weighted_households": 93822.6656141712 + } + }, + { + "conditional_share": { + "conditional_on": "X3401 == 1 and ACTBUS + NONACTBUS > 0", + "estimate_level": "exact", + "requested_mean": 0.14374098966992677, + "requested_quantiles": { + "q05": 0.0, + "q25": 0.0009000900090009, + "q50": 0.03932584269662921, + "q75": 0.16666666666666666, + "q95": 0.6962676962676962 + }, + "selected_mean": 0.14374098966992677, + "selected_quantiles": { + "q05": 0.0, + "q25": 0.0009000900090009, + "q50": 0.03932584269662921, + "q75": 0.16666666666666666, + "q95": 0.6962676962676962 + }, + "source_counts": { + "implicate_adjusted_unweighted_n": 35.2, + "pooled_record_count": 176, + "weighted_households": 125777.33801387913 + }, + "source_income_band": "250k_to_1m" + }, + "holding_prevalence": { + "estimate": 0.2122687904327135, + "estimate_level": "exact", + "requested_estimate": 0.2122687904327135, + "source_counts": { + "implicate_adjusted_unweighted_n": 117.2, + "pooled_record_count": 586, + "weighted_households": 592538.0634500245 + }, + "source_income_band": "250k_to_1m" + }, + "income_band": "250k_to_1m", + "requested_counts": { + "active_implicate_adjusted_unweighted_n": 117.2, + "active_pooled_record_count": 586, + "active_weighted_households": 592538.0634500245, + "nonactive_holder_implicate_adjusted_unweighted_n": 35.2, + "nonactive_holder_pooled_record_count": 176, + "nonactive_holder_weighted_households": 125777.33801387913, + "positive_denominator_holder_implicate_adjusted_unweighted_n": 35.2, + "positive_denominator_holder_pooled_record_count": 176, + "positive_denominator_holder_weighted_households": 125777.33801387913 + } + }, + { + "conditional_share": { + "conditional_on": "X3401 == 1 and ACTBUS + NONACTBUS > 0", + "estimate_level": "exact", + "requested_mean": 0.32907709570621996, + "requested_quantiles": { + "q05": 0.014393086449806773, + "q25": 0.13549459684123025, + "q50": 0.29411764705882354, + "q75": 0.40508684863523575, + "q95": 0.8722044728434505 + }, + "selected_mean": 0.32907709570621996, + "selected_quantiles": { + "q05": 0.014393086449806773, + "q25": 0.13549459684123025, + "q50": 0.29411764705882354, + "q75": 0.40508684863523575, + "q95": 0.8722044728434505 + }, + "source_counts": { + "implicate_adjusted_unweighted_n": 95.4, + "pooled_record_count": 477, + "weighted_households": 103923.6232040211 + }, + "source_income_band": "over_1m" + }, + "holding_prevalence": { + "estimate": 0.38980634752196003, + "estimate_level": "exact", + "requested_estimate": 0.38980634752196003, + "source_counts": { + "implicate_adjusted_unweighted_n": 229.0, + "pooled_record_count": 1145, + "weighted_households": 266603.2091695646 + }, + "source_income_band": "over_1m" + }, + "income_band": "over_1m", + "requested_counts": { + "active_implicate_adjusted_unweighted_n": 229.0, + "active_pooled_record_count": 1145, + "active_weighted_households": 266603.2091695646, + "nonactive_holder_implicate_adjusted_unweighted_n": 95.4, + "nonactive_holder_pooled_record_count": 477, + "nonactive_holder_weighted_households": 103923.6232040211, + "positive_denominator_holder_implicate_adjusted_unweighted_n": 95.4, + "positive_denominator_holder_pooled_record_count": 477, + "positive_denominator_holder_weighted_households": 103923.6232040211 + } + } + ], + "external_anchor": { + "caveats": [ + "Line 4c includes rental and royalty net investment income as well as passive partnership and S-corporation income; it is not a passive pass-through point estimate.", + "The engine counts rental_income in NIIT in full. Schedule E rental income is frequently passive, so using line 4c without a rental decomposition would overlap an existing NIIT leg. Rental handling is unchanged here.", + "No entity-side SOI passive split exists: partnership tables 23pa01, 23pa04, 23pa06, 23pa10, and 23pa23 were checked, and IRS Table 1.4 likewise has no passive split. Form 8960 line 4 is the only administrative level available for this provisional evidence surface." + ], + "form_8960": { + "line_4a": { + "amount": 1185607258000.0, + "description": "gross rental, royalty, partnership, S corporation, trust, and trade-or-business flow-through", + "returns_count": 4988033 + }, + "line_4b": { + "amount": -1076350273000.0, + "description": "non-section-1411 trade-or-business amount removed", + "returns_count": 4038235 + }, + "line_4c": { + "amount": 109256984000.0, + "description": "line 4a plus line 4b; amount remaining in the NIIT base", + "returns_count": 2260296 + } + }, + "line_4c_to_4a_survival_ratio": 0.09215276244538645, + "passive_passthrough_bounds": { + "decomposition_status": "open question: no administrative source on disk decomposes line 4c between rental or royalty income and passive partnership or S-corporation income", + "lower": { + "amount": 0.0, + "assumption": "all Form 8960 line 4c is rental or royalty income" + }, + "upper": { + "amount": 109256984000.0, + "assumption": "all Form 8960 line 4c is passive pass-through income" + } + }, + "source": "IRS Publication 4801, Form 8960 statistics, tax year 2023", + "units": "dollars" + }, + "methodology": { + "estimands": { + "conditional_share": "NONACTBUS / (ACTBUS + NONACTBUS), conditional on X3401 == 1 and a positive denominator", + "holding_prevalence": "P(X3401 == 1 | actively managed business, X5714 income band)" + }, + "fallback_order": [ + "income_band", + "all_income_bands" + ], + "implicate_count": 5, + "income_bands": [ + { + "definition": "X5714 <= 0", + "id": "nonpositive" + }, + { + "definition": "0 < X5714 <= 25,000", + "id": "0_to_25k" + }, + { + "definition": "25,000 < X5714 <= 100,000", + "id": "25k_to_100k" + }, + { + "definition": "100,000 < X5714 <= 250,000", + "id": "100k_to_250k" + }, + { + "definition": "250,000 < X5714 <= 1,000,000", + "id": "250k_to_1m" + }, + { + "definition": "X5714 > 1,000,000", + "id": "over_1m" + } + ], + "minimum_effective_n": 30.0, + "quantile_method": "weighted inverse CDF", + "quantile_probabilities": [ + 0.05, + 0.25, + 0.5, + 0.75, + 0.95 + ] + }, + "notes": [ + "SCF X3119 identifies the legal form of the largest actively managed business, not the non-actively-managed holding. There is no defensible entity-form link, so these estimates are band-only.", + "The SCF value share is a survey shape, not an income-share level. The separate assumptions build supplies the provisional administrative calibration and persists its solved shift.", + "A household with X3401 == 1 remains a holder when NONACTBUS is zero; this preserves the requested holding concept." + ], + "provenance": { + "deterministic": true, + "generated_by": "tools/build_us_qbi_passive_passthrough_evidence.py", + "inputs": [ + { + "bytes": 8856125, + "filename": "scf2022s.zip", + "role": "scf_2022_source", + "sha256": "409e6811df895766d50b2f597c10b1b3c5813e7d3e0e45d910ad26c0cb07f4eb" + }, + { + "bytes": 236952250, + "container_filename": "scf2022s.zip", + "filename": "p22i6.dta", + "role": "scf_2022_archive_member", + "sha256": "61e2fceb1594e4009eb996d6e25d38a5d8e4874930fc2bfce3c87ffa6946ad0a" + } + ], + "random_draws": "none", + "run_command": "uv run python tools/build_us_qbi_passive_passthrough_evidence.py --scf /path/to/scf2022s.zip" + }, + "provisional": true, + "resource": "us_qbi_passive_passthrough_evidence", + "schema_version": 1, + "source": { + "public_extract": "full public data, pooled multiple-imputation file p22i6.dta", + "record_selection": "X3103 == 1 and X3104 == 1 and X3105 >= 1; one record per household implicate. A non-active holding is X3401 == 1, even when the reported NONACTBUS value is zero.", + "survey": "Federal Reserve Survey of Consumer Finances", + "variables": { + "active_business_value": "SCFP ACTBUS: active-business net values and family-business loan adjustments for X3121-X3335, plus FARMBUS", + "active_management_screeners": [ + "X3103", + "X3104", + "X3105" + ], + "nonactive_business_value": "SCFP NONACTBUS: sum of nonnegative X3408, X3412, X3416, X3420, X3452, and X3428", + "nonactive_holding_screener": "X3401", + "schedule_e_income_band": "X5714" + }, + "vintage": 2022, + "weight": "X42001 divided by five implicates" + }, + "survey_year": 2022 +} diff --git a/packages/microcosm-build/src/microcosm/build/us/release_input_coverage_manifest.json b/packages/microcosm-build/src/microcosm/build/us/release_input_coverage_manifest.json index 29fd5bf9..5c03c571 100644 --- a/packages/microcosm-build/src/microcosm/build/us/release_input_coverage_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/us/release_input_coverage_manifest.json @@ -298,6 +298,10 @@ "partnership_s_corp_income_would_be_qualified": { "status": "required" }, + "passive_partnership_s_corp_income": { + "note": "Section 469 passive subset of partnership and S-corporation income, assigned by the provisional SCF-shaped sibling stage for the NIIT base. Required with no reviewed exclusion so release publication cannot silently drop the new engine input. The locked PolicyEngine-US 1.764.6 registry does not expose this variable, so the column remains engine-inert and the release gate stays red until the engine pin advances past 1.764.6 to a release containing PolicyEngine-US #9306.", + "status": "required" + }, "pre_subsidy_care_expenses": { "note": "Adult/disabled-dependent care expense leaf of the section 21 CDCC (PolicyEngine/microcosm#451 item 1), written by the adult_care_inputs base-builder stage: without it every CDCC reform binding through adult care scores exactly $0 (the #368 absent-input class). Currently absent — the intended red gate until the next base rebuild carries the stage through.", "status": "required" @@ -534,11 +538,11 @@ } }, "counts": { - "required": 163, + "required": 164, "reviewed_exclusion": 7, - "total": 170 + "total": 171 }, - "derivation": "Required surface = input columns in the pinned, sha-verified ecps_parity_reference.json populated layers, plus the documented post-reference fsla_overtime_premium, qualified_passenger_vehicle_loan_interest, five desired retirement-contribution inputs, meets_ssi_disability_criteria required by shipped validation probes, and the #282 Schedule-D capital-gain-distributions route leg schedule_d_capital_gain_distributions (PolicyEngine/microcosm#462). status='reviewed_exclusion' for ecps_parity_known_gaps.json entries (reason+issue from that register); EXCEPT every primary-source restoration pinned by RESTORED_REFERENCE_ECPS_REQUIRED_INPUTS (including the Section 199A QBI family), and the SSI countable-resource asset inputs (bank_account_assets, stock_assets, bond_assets), which are status='required' with NO exclusion per PolicyEngine/microcosm#368 so the gate fails on today's artifacts and asset restoration (Deliverable 2) turns it green. All other populated layers are 'required'. Regenerate with tools/build_us_release_input_coverage_manifest.py.", + "derivation": "Required surface = input columns in the pinned, sha-verified ecps_parity_reference.json populated layers, plus the documented post-reference fsla_overtime_premium, qualified_passenger_vehicle_loan_interest, five desired retirement-contribution inputs, meets_ssi_disability_criteria required by shipped validation probes, the #722 passive pass-through NIIT input, and the #282 Schedule-D capital-gain-distributions route leg schedule_d_capital_gain_distributions (PolicyEngine/microcosm#462). status='reviewed_exclusion' for ecps_parity_known_gaps.json entries (reason+issue from that register); EXCEPT every primary-source restoration pinned by RESTORED_REFERENCE_ECPS_REQUIRED_INPUTS (including the Section 199A QBI family), and the SSI countable-resource asset inputs (bank_account_assets, stock_assets, bond_assets), which are status='required' with NO exclusion per PolicyEngine/microcosm#368 so the gate fails on today's artifacts and asset restoration (Deliverable 2) turns it green. All other populated layers are 'required'. Regenerate with tools/build_us_release_input_coverage_manifest.py.", "description": "Declared full-coverage contract for a US release: every input column the reference eCPS exports must be persisted as a key with non-default signal, or carry a reviewed exclusion. Enforced as a hard release gate (microcosm.build.us_runtime.release_input_coverage) that generalizes assert_required_us_release_source_columns from 5 columns to the full eCPS input surface.", "issue": "PolicyEngine/microcosm#368", "reference": { diff --git a/packages/microcosm-build/src/microcosm/build/us/repeal_revenue_benchmarks.json b/packages/microcosm-build/src/microcosm/build/us/repeal_revenue_benchmarks.json new file mode 100644 index 00000000..1b296c66 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/us/repeal_revenue_benchmarks.json @@ -0,0 +1,42 @@ +{ + "_comment": "Standing diagnostics-only administrative aggregate surface. Despite the historical filename, these rows are baseline totals, not repeal simulations or neutralizations.", + "schema_version": 1, + "administrative_aggregate_diagnostics": [ + { + "id": "form_8960_net_investment_income", + "name": "Form 8960 net investment income", + "variable": "net_investment_income", + "period": 2023, + "benchmark": { + "value": 1197238417000, + "year": "TY2023", + "source": "IRS SOI Publication 4801, Form 8960 line 12", + "source_url": "" + }, + "comparison_role": "point_estimate", + "provisional": true, + "diagnostics_only": true, + "description": "Weighted baseline net investment income compared with the TY2023 Form 8960 line 12 administrative amount. The diagnostic uses the 2023 policy period on the release artifact's 2024-shaped population without a population-vintage backcast. Line 12 is net of Form 8960 deductions and modifications, while the modeled variable follows the engine's configured investment-income source list; any expense-coverage difference is part of the diagnostic interpretation. The administrative line covers Forms 8960 filed by individuals, estates, and trusts, while the household microdata do not separately represent every estate or trust return. This is therefore a provisional diagnostic rather than a release gate." + }, + { + "id": "form_8960_line_4c_passive_flowthrough_upper_bound", + "name": "Form 8960 line 4c passive flow-through upper bound", + "variable": "passive_partnership_s_corp_income", + "period": 2023, + "benchmark": { + "value": 109256984000, + "year": "TY2023", + "source": "IRS SOI Publication 4801, Form 8960 line 4c", + "source_url": "" + }, + "comparison_role": "upper_bound", + "bounds": { + "lower": 0, + "upper": 109256984000 + }, + "provisional": true, + "diagnostics_only": true, + "description": "Line 4c combines rental real estate, royalties, partnerships, S corporations, trusts, and other trade-or-business flow-through amounts after the non-section-1411 adjustment. It does not identify the passive partnership/S-corporation component. The diagnostic uses the 2023 policy period on the release artifact's 2024-shaped population without a population-vintage backcast. The lower bound assumes all line 4c income is rental or royalty income; the upper bound assumes all of it is passive pass-through income. Rental income already enters the engine NIIT base in full, so overlap remains an explicit open question and no rental treatment changes here. The passive column remains engine-inert under the locked PolicyEngine-US 1.764.6 registry; the hard release gate stays red until the pin advances past 1.764.6 to a release containing PolicyEngine-US #9306." + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/us/spec/spine.yaml b/packages/microcosm-build/src/microcosm/build/us/spec/spine.yaml index 851394da..1d68b850 100644 --- a/packages/microcosm-build/src/microcosm/build/us/spec/spine.yaml +++ b/packages/microcosm-build/src/microcosm/build/us/spec/spine.yaml @@ -42,11 +42,34 @@ pipeline_contract: - with_us_education_inputs derive_operator_order: - _complete_schedule_d_input + - with_us_qbi_passive_passthrough_assignment - with_us_qbi_input_reconciliation auxiliary_operations: - assign_us_puma_ladder - calibrate - select_exact_k + qbi_passive_passthrough: + version: 1 + assignment_stage_version: 1 + output_column: passive_partnership_s_corp_income + person_input_columns: + - partnership_income + - s_corp_income + - rental_income + - estate_income + evidence_resource: qbi_passive_passthrough_v1.json + evidence_sha256: 32fac446d5f208a9c3f73c8234184144dd0c1f322ccdf186e5fb94dd774d61a7 + assumptions_resource: qbi_passive_passthrough_assumptions_v1.json + assumptions_sha256: 0be963b0c57042d70afc84a0921613f49f32c19358a8647d75e2ce6555b5d309 + log_odds_shift: -1.157105426398319 + random_streams: + bit_generator: PCG64 + draw_policy: full_length_before_support_masks + family_entropy: 4722 + presence_family: 0 + root_seed_default: 0 + share_family: 1 + sha256: b67ef6deed6dd344aa7ae888c3a9f6ac88c1565914289ca42483d0369d628b18 qbi_reconciliation: version: 2 operation: shared_all_or_nothing_identity_reconciliation diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/__init__.py b/packages/microcosm-build/src/microcosm/build/us_runtime/__init__.py index e55690cb..05c0090f 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/__init__.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/__init__.py @@ -639,6 +639,12 @@ us_qbi_inputs_summary, with_us_qbi_input_reconciliation, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, + US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS, + us_qbi_passive_passthrough_contract_identity, + with_us_qbi_passive_passthrough_assignment, +) from microcosm.build.us_runtime.reform_coverage_smoke import ( us_reform_coverage_smoke_gate, ) @@ -1450,6 +1456,10 @@ "us_qbi_inputs_stage_spec", "us_qbi_inputs_summary", "with_us_qbi_input_reconciliation", + "US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN", + "US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS", + "us_qbi_passive_passthrough_contract_identity", + "with_us_qbi_passive_passthrough_assignment", "US_AOTC_ELIGIBILITY_OUTPUT_COLUMNS", "US_EDUCATION_INPUTS_NONCONSTANT_PERSON_COLUMNS", "US_EDUCATION_INPUTS_OUTPUT_COLUMNS", diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/l0_refit_export.py b/packages/microcosm-build/src/microcosm/build/us_runtime/l0_refit_export.py index 80adf18a..0b2caa9d 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/l0_refit_export.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/l0_refit_export.py @@ -91,6 +91,9 @@ from microcosm.build.us_runtime.qbi_inputs import ( US_QBI_NONCONSTANT_PERSON_COLUMNS, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, +) from microcosm.build.us_runtime.relationship_inputs import ( US_RELATIONSHIP_INPUTS_NONCONSTANT_PERSON_COLUMNS, ) @@ -178,6 +181,7 @@ *US_RETIREMENT_CONTRIBUTION_NONCONSTANT_PERSON_COLUMNS, *US_RETIREMENT_DISTRIBUTION_NONCONSTANT_PERSON_COLUMNS, *US_QBI_NONCONSTANT_PERSON_COLUMNS, + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, *US_ORG_WAGES_NONCONSTANT_PERSON_COLUMNS, *US_OTHER_HEALTH_INSURANCE_NONCONSTANT_PERSON_COLUMNS, *US_SE_HEALTH_ATTRIBUTION_OUTPUT_COLUMNS, diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py index 3b67636b..40ef1655 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py @@ -83,6 +83,10 @@ validate_us_qbi_reconciliation_transition, with_us_qbi_input_reconciliation, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS, + with_us_qbi_passive_passthrough_assignment, +) from microcosm.build.us_runtime.relationship_inputs import ( with_us_relationship_inputs, ) @@ -231,9 +235,10 @@ POOL_DERIVE_OPERATOR_ORDER = ( "_complete_schedule_d_input", + "with_us_qbi_passive_passthrough_assignment", "with_us_qbi_input_reconciliation", ) -"""Whole-pool deterministic operators owned by the derive stage.""" +"""Whole-pool post-transfer operators owned by the derive stage.""" POOL_RANDOM_SEED = 0 """Fixed seed shared by pool imputations and seeded input stages.""" @@ -345,9 +350,9 @@ class PoolEngineInputProjectionContract: """Exact installed input registry scanned by the disposable projection.""" POOL_REMAINING_STAGE_INPUT_MANIFEST_SHA256 = ( - "8247a93e5f8f63d3ae71c1de681c29524d4bb8f07e3c6a50dcaf431b1377020f" + "4ec692e3262f396ebacd6144c900b31ef2ae3eabc1062f38e6db6d3ab6f433fa" ) -"""Pinned content digest of all 993 post-transfer consumer/input rows.""" +"""Pinned content digest of all 997 post-transfer consumer/input rows.""" @dataclass(frozen=True) @@ -600,6 +605,13 @@ class SourceOperatorContract: "transferred tax-unit parents exist only on the physically cloned pool", execution_scope=_WHOLE_POOL_EXECUTION_SCOPE, ), + "with_us_qbi_passive_passthrough_assignment": SourceOperatorContract( + "qbi_passive_passthrough", + (_POST_CLONE_PHASE,), + "the independent seeded passive share draw consumes transferred " + "Schedule E components before legacy QBI identity reconciliation", + execution_scope=_WHOLE_POOL_EXECUTION_SCOPE, + ), "with_us_qbi_input_reconciliation": SourceOperatorContract( "qbi_reconciliation", (_POST_CLONE_PHASE,), @@ -607,7 +619,7 @@ class SourceOperatorContract: execution_scope=_WHOLE_POOL_EXECUTION_SCOPE, ), } -"""Total clone-phase registry for all 23 pool-path operator kernels.""" +"""Total clone-phase registry for all 24 pool-path operator kernels.""" POOL_SOURCE_OPERATOR_CONTRACTS = POOL_OPERATOR_CONTRACTS """Backward-compatible name for the now-total pool operator registry.""" @@ -1114,7 +1126,7 @@ def pool_remaining_stage_input_manifest( """Enumerate and statically provision every remaining-stage data read. The manifest starts at a validated ``transferred`` checkpoint and covers - tail preparation, both derive kernels, all thirteen seed-program branches, + tail preparation, all three derive kernels, all thirteen seed-program branches, and the terminal SSI simulation. Simulation leaves come from the pinned source-index graph rather than a handwritten dependency list. """ @@ -1226,6 +1238,17 @@ def surface_provision(variable: str) -> str: fallback="derive_from_finite_transferred_parents", ) + for variable in US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS: + register( + "derive", + "with_us_qbi_passive_passthrough_assignment", + "person", + variable, + execution_scope="whole_pool", + provision=surface_provision(variable), + available_by="transferred", + ) + for variable in US_QBI_RECONCILED_PERSON_COLUMNS: register( "derive", @@ -2849,12 +2872,13 @@ def _frame_row_counts(frame: Frame) -> dict[str, int]: def derive_multispine_pool_inputs(frame: Frame) -> PoolStageOutput: - """Complete deterministic post-transfer inputs without reading a spine. + """Complete post-transfer inputs without reading a source-spine label. Schedule D capital-gain distributions are derived once per tax unit from the transferred parent inputs, then carried by the first person only when the unit has no pre-existing values. Existing non-null values are never - rewritten. The shared QBI reconciliation then restores its documented + rewritten. The independent passive pass-through stream then assigns the + NIIT input before shared QBI reconciliation restores its documented all-or-nothing identities on the imputed PUF-detail surface. """ @@ -2880,11 +2904,18 @@ def reconcile_qbi_with_receipt(input_frame: Frame) -> PoolStageOutput: operator_names=POOL_DERIVE_OPERATOR_ORDER, operators={ "_complete_schedule_d_input": _complete_schedule_d_input, + "with_us_qbi_passive_passthrough_assignment": lambda input_frame: ( + with_us_qbi_passive_passthrough_assignment( + input_frame, + seed=POOL_RANDOM_SEED, + ) + ), "with_us_qbi_input_reconciliation": reconcile_qbi_with_receipt, }, ) schedule_d_receipt = completed.receipt["suboperators"][0]["kernel_receipt"] - qbi_receipt = completed.receipt["suboperators"][1]["kernel_receipt"] + passive_receipt = completed.receipt["suboperators"][1]["kernel_receipt"] + qbi_receipt = completed.receipt["suboperators"][2]["kernel_receipt"] authorized = bind_us_qbi_reconciliation_transition_authority( completed.frame, qbi_receipt, @@ -2902,6 +2933,7 @@ def reconcile_qbi_with_receipt(input_frame: Frame) -> PoolStageOutput: "operator_order": list(POOL_DERIVE_OPERATOR_ORDER), "remaining_stage_input_manifest": remaining_stage_manifest_receipt, "schedule_d_capital_gain_distributions": schedule_d_receipt, + "qbi_passive_passthrough_assignment": passive_receipt, "qbi_input_reconciliation": dict(qbi_receipt), }, qbi_transition_authority_sha256=qbi_receipt["sha256"], diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/operator_boundary.py b/packages/microcosm-build/src/microcosm/build/us_runtime/operator_boundary.py index 6023ef75..62c95585 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/operator_boundary.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/operator_boundary.py @@ -74,6 +74,9 @@ PUF_TAX_DETAIL_DEFAULT_TAX_UNIT_OUTPUTS, ) from microcosm.build.us_runtime.qbi_inputs import US_QBI_RECONCILED_PERSON_COLUMNS +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, +) from microcosm.build.us_runtime.relationship_inputs import ( US_RELATIONSHIP_INPUTS_OUTPUT_COLUMNS, ) @@ -320,6 +323,9 @@ "qbi_reconciliation": { "person": frozenset(US_QBI_RECONCILED_PERSON_COLUMNS), }, + "qbi_passive_passthrough": { + "person": frozenset({US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN}), + }, "housing_assistance": { "spm_unit": frozenset( { diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/qbi_passive_passthrough.py b/packages/microcosm-build/src/microcosm/build/us_runtime/qbi_passive_passthrough.py new file mode 100644 index 00000000..02f3a52e --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/qbi_passive_passthrough.py @@ -0,0 +1,823 @@ +"""Assign the passive share of partnership and S-corporation income. + +This is a versioned sibling of the archived QBI-input reconciliation, not a +replacement for it. Survey evidence supplies the Schedule-E-band shape and a +restricted replay build persists the single administrative-anchor shift. The +runtime only loads those committed resources and makes seeded draws. +""" + +from __future__ import annotations + +import hashlib +import json +import math +import re +from collections.abc import Mapping +from importlib.resources import files +from typing import Any + +import numpy as np +import pandas as pd + +from microcosm.build.us_runtime.qbi_passive_passthrough_evidence import ( + SCF_PASSIVE_INCOME_BANDS, + validate_qbi_passive_passthrough_resource, +) +from microcosm.frame import Frame + +__all__ = [ + "QBI_PASSIVE_ASSUMPTIONS_RESOURCE", + "QBI_PASSIVE_EVIDENCE_RESOURCE", + "US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN", + "US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS", + "assign_passive_partnership_s_corp_income", + "build_qbi_passive_passthrough_assumptions_payload", + "calibrate_qbi_passive_log_odds_shift", + "load_qbi_passive_passthrough_assumptions", + "load_qbi_passive_passthrough_evidence", + "qbi_passive_expected_aggregate", + "us_qbi_passive_passthrough_contract_identity", + "validate_qbi_passive_passthrough_assumptions", + "with_us_qbi_passive_passthrough_assignment", +] + +QBI_PASSIVE_EVIDENCE_RESOURCE = "qbi_passive_passthrough_v1.json" +QBI_PASSIVE_ASSUMPTIONS_RESOURCE = "qbi_passive_passthrough_assumptions_v1.json" +US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN = "passive_partnership_s_corp_income" +US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS: tuple[str, ...] = ( + "partnership_income", + "s_corp_income", + "rental_income", + "estate_income", +) + +_ASSIGNMENT_STAGE_VERSION = 1 +_ASSUMPTIONS_SCHEMA_VERSION = 1 +_DEFAULT_ROOT_SEED = 0 +_RNG_FAMILY_ENTROPY = 4722 +_PRESENCE_FAMILY = 0 +_SHARE_FAMILY = 1 +_SOLVER_ITERATIONS = 128 +_SOLVER_LOWER_BOUND = -30.0 +_SOLVER_UPPER_BOUND = 30.0 +_PROBABILITY_CLIP = 1e-12 +_SHA256 = re.compile(r"[0-9a-f]{64}") + + +def _resource_bytes(name: str) -> bytes: + return files("microcosm.build.us").joinpath(name).read_bytes() + + +def _resource_payload(name: str) -> dict[str, Any]: + payload = json.loads(_resource_bytes(name)) + if not isinstance(payload, dict): + raise ValueError(f"{name} must contain one JSON object.") + return payload + + +def _resource_sha256(name: str) -> str: + return hashlib.sha256(_resource_bytes(name)).hexdigest() + + +def _mapping(value: object, location: str) -> Mapping[str, Any]: + if not isinstance(value, Mapping): + raise ValueError(f"{location} must be a JSON object.") + return value + + +def _number( + value: object, + location: str, + *, + minimum: float | None = None, +) -> float: + if isinstance(value, bool) or not isinstance(value, (int, float)): + raise ValueError(f"{location} must be numeric.") + result = float(value) + if not math.isfinite(result) or (minimum is not None and result < minimum): + suffix = "" if minimum is None else f" and at least {minimum}" + raise ValueError(f"{location} must be finite{suffix}.") + return result + + +def _integer(value: object, location: str, *, minimum: int = 0) -> int: + if isinstance(value, bool) or not isinstance(value, int) or value < minimum: + raise ValueError(f"{location} must be an integer at least {minimum}.") + return value + + +def _text(value: object, location: str) -> str: + if not isinstance(value, str) or not value.strip(): + raise ValueError(f"{location} must be a nonempty string.") + return value + + +def _digest(value: object, location: str) -> str: + result = _text(value, location) + if _SHA256.fullmatch(result) is None: + raise ValueError(f"{location} must be a lowercase SHA-256 digest.") + return result + + +def _finite_vector(value: object, location: str) -> np.ndarray: + result = np.asarray(value, dtype=np.float64) + if result.ndim != 1: + raise ValueError(f"{location} must be one-dimensional.") + if not np.isfinite(result).all(): + raise ValueError(f"{location} must be finite.") + return result + + +def _aligned_vectors(**values: object) -> dict[str, np.ndarray]: + arrays = {name: _finite_vector(value, name) for name, value in values.items()} + lengths = {len(value) for value in arrays.values()} + if len(lengths) != 1: + raise ValueError("Passive pass-through arrays must have equal lengths.") + return arrays + + +def _income_band_index(values: np.ndarray) -> np.ndarray: + return np.select( + ( + values <= 0.0, + values <= 25_000.0, + values <= 100_000.0, + values <= 250_000.0, + values <= 1_000_000.0, + ), + (0, 1, 2, 3, 4), + default=5, + ).astype(np.int8) + + +def _logistic(values: np.ndarray | float) -> np.ndarray: + array = np.asarray(values, dtype=np.float64) + return 1.0 / (1.0 + np.exp(-np.clip(array, -700.0, 700.0))) + + +def _logit(values: np.ndarray | float) -> np.ndarray: + array = np.clip( + np.asarray(values, dtype=np.float64), + _PROBABILITY_CLIP, + 1.0 - _PROBABILITY_CLIP, + ) + return np.log(array / (1.0 - array)) + + +def _evidence_model( + evidence: Mapping[str, Any], +) -> tuple[np.ndarray, np.ndarray, np.ndarray]: + validate_qbi_passive_passthrough_resource(evidence) + methodology = _mapping(evidence["methodology"], "methodology") + probabilities = _finite_vector( + methodology["quantile_probabilities"], + "methodology.quantile_probabilities", + ) + cells = { + _text(cell["income_band"], "cells[].income_band"): cell + for cell in evidence["cells"] + } + prevalence: list[float] = [] + quantiles: list[np.ndarray] = [] + for band in SCF_PASSIVE_INCOME_BANDS: + cell = _mapping(cells[band], f"cells.{band}") + holding = _mapping( + cell["holding_prevalence"], + f"cells.{band}.holding_prevalence", + ) + share = _mapping( + cell["conditional_share"], + f"cells.{band}.conditional_share", + ) + prevalence.append( + _number( + holding["estimate"], + f"cells.{band}.holding_prevalence.estimate", + minimum=0.0, + ) + ) + selected_quantiles = _mapping( + share["selected_quantiles"], + f"cells.{band}.conditional_share.selected_quantiles", + ) + quantiles.append( + _finite_vector( + [ + selected_quantiles[name] + for name in ("q05", "q25", "q50", "q75", "q95") + ], + f"cells.{band}.conditional_share.selected_quantiles", + ) + ) + prevalence_array = np.asarray(prevalence, dtype=np.float64) + quantile_array = np.asarray(quantiles, dtype=np.float64) + if np.any(prevalence_array > 1.0): + raise ValueError("SCF passive holding prevalence must lie in [0, 1].") + if quantile_array.shape != ( + len(SCF_PASSIVE_INCOME_BANDS), + len(probabilities), + ): + raise ValueError("SCF passive conditional-share quantiles are misaligned.") + if np.any((quantile_array < 0.0) | (quantile_array > 1.0)): + raise ValueError("SCF passive share quantiles must lie in [0, 1].") + if np.any(np.diff(probabilities) <= 0.0): + raise ValueError("SCF passive quantile probabilities must increase.") + if probabilities[0] <= 0.0 or probabilities[-1] >= 1.0: + raise ValueError("SCF passive quantile probabilities must lie in (0, 1).") + if np.any(np.diff(quantile_array, axis=1) < 0.0): + raise ValueError("SCF passive share quantiles must be nondecreasing.") + return prevalence_array, probabilities, quantile_array + + +def _inverse_cdf_means( + probabilities: np.ndarray, + quantiles: np.ndarray, +) -> np.ndarray: + left = quantiles[:, 0] * probabilities[0] + middle = np.sum( + (quantiles[:, :-1] + quantiles[:, 1:]) * np.diff(probabilities) / 2.0, + axis=1, + ) + right = quantiles[:, -1] * (1.0 - probabilities[-1]) + return left + middle + right + + +def _latent_form_eligibility( + latent_entity_form: object | None, + *, + length: int, +) -> np.ndarray: + if latent_entity_form is None: + return np.ones(length, dtype=bool) + forms = np.asarray(latent_entity_form) + if forms.ndim != 1 or len(forms) != length: + raise ValueError("latent_entity_form must align one-for-one with inputs.") + if np.issubdtype(forms.dtype, np.number): + numeric = np.asarray(forms, dtype=np.float64) + if not np.isfinite(numeric).all(): + raise ValueError("latent_entity_form numeric codes must be finite.") + return np.isin(numeric, (1.0, 2.0)) + normalized = np.asarray( + [str(value).strip().lower() for value in forms], + dtype=object, + ) + recognized = { + "partnership", + "partnership_or_llc", + "s_corporation", + } + return np.isin(normalized, tuple(recognized)) + + +def validate_qbi_passive_passthrough_assumptions( + payload: Mapping[str, Any], +) -> None: + """Fail closed on the persisted passive assignment contract.""" + + required = { + "schema_version", + "resource", + "provisional", + "assignment_stage", + "evidence", + "random_streams", + "calibration", + "notes", + } + if set(payload) != required: + raise ValueError( + "Passive pass-through assumptions keys must be exactly " + f"{sorted(required)}; got {sorted(payload)}." + ) + if payload["schema_version"] != _ASSUMPTIONS_SCHEMA_VERSION: + raise ValueError("Unsupported passive pass-through assumptions schema.") + if payload["resource"] != "qbi_passive_passthrough_assumptions": + raise ValueError("Unexpected passive pass-through assumptions resource.") + if payload["provisional"] is not True: + raise ValueError("Passive pass-through assumptions must remain provisional.") + + stage = _mapping(payload["assignment_stage"], "assignment_stage") + if stage.get("version") != _ASSIGNMENT_STAGE_VERSION: + raise ValueError("Unexpected passive assignment stage version.") + if stage.get("architecture") != "sibling_before_qbi_reconciliation": + raise ValueError("Unexpected passive assignment stage architecture.") + if stage.get("output_column") != US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN: + raise ValueError("Passive assignment output column does not match runtime.") + if tuple(stage.get("person_input_columns", ())) != ( + US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS + ): + raise ValueError("Passive assignment input columns do not match runtime.") + + evidence = _mapping(payload["evidence"], "evidence") + if evidence.get("resource") != QBI_PASSIVE_EVIDENCE_RESOURCE: + raise ValueError("Passive assumptions name the wrong evidence resource.") + if evidence.get("schema_version") != 1: + raise ValueError("Passive assumptions require evidence schema 1.") + _digest(evidence.get("sha256"), "evidence.sha256") + + streams = _mapping(payload["random_streams"], "random_streams") + expected_streams = { + "bit_generator": "PCG64", + "root_seed_default": _DEFAULT_ROOT_SEED, + "family_entropy": _RNG_FAMILY_ENTROPY, + "presence_family": _PRESENCE_FAMILY, + "share_family": _SHARE_FAMILY, + "draw_policy": "full_length_before_support_masks", + } + if dict(streams) != expected_streams: + raise ValueError("Passive assignment random-stream contract drifted.") + + calibration = _mapping(payload["calibration"], "calibration") + bounds = _mapping(calibration.get("bounds"), "calibration.bounds") + lower = _number(bounds.get("lower"), "calibration.bounds.lower", minimum=0.0) + upper = _number(bounds.get("upper"), "calibration.bounds.upper", minimum=0.0) + target = _mapping( + calibration.get("provisional_target"), + "calibration.provisional_target", + ) + amount = _number( + target.get("amount"), + "calibration.provisional_target.amount", + minimum=0.0, + ) + if target.get("choice") != "midpoint_of_unresolved_bounds": + raise ValueError("Passive provisional target choice must remain explicit.") + if not math.isclose(amount, (lower + upper) / 2.0, abs_tol=1e-6): + raise ValueError("Passive provisional target is not the bounds midpoint.") + shift = _number(calibration.get("log_odds_shift"), "calibration.log_odds_shift") + expected = _number( + calibration.get("expected_aggregate"), + "calibration.expected_aggregate", + minimum=0.0, + ) + if not math.isclose(expected, amount, rel_tol=1e-10, abs_tol=1.0): + raise ValueError("Passive expected aggregate does not hit its target.") + if not _SOLVER_LOWER_BOUND <= shift <= _SOLVER_UPPER_BOUND: + raise ValueError("Passive log-odds shift is outside its solver bounds.") + tolerance = _number( + calibration.get("replay_relative_tolerance"), + "calibration.replay_relative_tolerance", + minimum=0.0, + ) + seeded = _mapping(calibration.get("seeded_replay"), "calibration.seeded_replay") + achieved = _number( + seeded.get("aggregate"), + "calibration.seeded_replay.aggregate", + minimum=0.0, + ) + relative_error = _number( + seeded.get("relative_error"), + "calibration.seeded_replay.relative_error", + minimum=0.0, + ) + if seeded.get("seed") != _DEFAULT_ROOT_SEED: + raise ValueError("Passive replay must use the committed default seed.") + if not math.isclose(relative_error, abs(achieved / amount - 1.0), abs_tol=1e-12): + raise ValueError("Passive seeded replay relative error is inconsistent.") + if relative_error > tolerance: + raise ValueError("Passive seeded replay exceeds its committed tolerance.") + replay = _mapping(calibration.get("replay_artifact"), "replay_artifact") + _text(replay.get("filename"), "replay_artifact.filename") + _digest(replay.get("sha256"), "replay_artifact.sha256") + _integer(replay.get("bytes"), "replay_artifact.bytes", minimum=1) + _integer(replay.get("tax_unit_rows"), "replay_artifact.tax_unit_rows", minimum=1) + _integer(replay.get("person_rows"), "replay_artifact.person_rows", minimum=1) + _number( + replay.get("person_weight_total"), + "replay_artifact.person_weight_total", + minimum=0.0, + ) + _integer( + replay.get("positive_passthrough_rows"), + "replay_artifact.positive_passthrough_rows", + ) + _number( + replay.get("positive_passthrough_weighted_aggregate"), + "replay_artifact.positive_passthrough_weighted_aggregate", + minimum=0.0, + ) + solver = _mapping(calibration.get("solver"), "calibration.solver") + if solver.get("method") != "bisection_on_expected_weighted_aggregate": + raise ValueError("Unexpected passive calibration solver.") + if solver.get("iterations") != _SOLVER_ITERATIONS: + raise ValueError("Unexpected passive calibration iteration count.") + if solver.get("lower_bound") != _SOLVER_LOWER_BOUND: + raise ValueError("Unexpected passive calibration lower bound.") + if solver.get("upper_bound") != _SOLVER_UPPER_BOUND: + raise ValueError("Unexpected passive calibration upper bound.") + notes = payload["notes"] + if not isinstance(notes, list) or not all( + isinstance(note, str) and note.strip() for note in notes + ): + raise ValueError("Passive assumptions notes must be nonempty strings.") + + +def load_qbi_passive_passthrough_evidence() -> dict[str, Any]: + payload = _resource_payload(QBI_PASSIVE_EVIDENCE_RESOURCE) + validate_qbi_passive_passthrough_resource(payload) + return payload + + +def load_qbi_passive_passthrough_assumptions() -> dict[str, Any]: + payload = _resource_payload(QBI_PASSIVE_ASSUMPTIONS_RESOURCE) + validate_qbi_passive_passthrough_assumptions(payload) + expected_evidence_sha = payload["evidence"]["sha256"] + actual_evidence_sha = _resource_sha256(QBI_PASSIVE_EVIDENCE_RESOURCE) + if expected_evidence_sha != actual_evidence_sha: + raise ValueError( + "Passive assumptions evidence digest does not match the packaged resource." + ) + return payload + + +def _assignment_inputs( + partnership_s_corp_income: object, + schedule_e_income: object, + *, + evidence: Mapping[str, Any], + log_odds_shift: float, +) -> tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, np.ndarray]: + arrays = _aligned_vectors( + partnership_s_corp_income=partnership_s_corp_income, + schedule_e_income=schedule_e_income, + ) + passthrough = np.maximum(arrays["partnership_s_corp_income"], 0.0) + band_index = _income_band_index(arrays["schedule_e_income"]) + prevalence, probabilities, quantiles = _evidence_model(evidence) + shifted = _logistic(_logit(prevalence) + float(log_odds_shift)) + return passthrough, band_index, shifted, probabilities, quantiles + + +def assign_passive_partnership_s_corp_income( + partnership_s_corp_income: object, + schedule_e_income: object, + *, + seed: int = _DEFAULT_ROOT_SEED, + latent_entity_form: object | None = None, + evidence: Mapping[str, Any] | None = None, + assumptions: Mapping[str, Any] | None = None, +) -> np.ndarray: + """Return one seeded passive amount per person. + + Presence and conditional-share generators draw over the complete input + length before eligibility masks are applied. Adding or removing support + rows therefore cannot advance another random family. + """ + + if isinstance(seed, bool) or not isinstance(seed, int) or seed < 0: + raise ValueError("Passive assignment seed must be a nonnegative integer.") + evidence_payload = ( + load_qbi_passive_passthrough_evidence() if evidence is None else dict(evidence) + ) + assumptions_payload = ( + load_qbi_passive_passthrough_assumptions() + if assumptions is None + else dict(assumptions) + ) + validate_qbi_passive_passthrough_assumptions(assumptions_payload) + shift = float(assumptions_payload["calibration"]["log_odds_shift"]) + passthrough, band_index, shifted, probabilities, quantiles = _assignment_inputs( + partnership_s_corp_income, + schedule_e_income, + evidence=evidence_payload, + log_odds_shift=shift, + ) + length = len(passthrough) + eligible = _latent_form_eligibility(latent_entity_form, length=length) + presence_rng = np.random.Generator( + np.random.PCG64( + np.random.SeedSequence([seed, _RNG_FAMILY_ENTROPY, _PRESENCE_FAMILY]) + ) + ) + share_rng = np.random.Generator( + np.random.PCG64( + np.random.SeedSequence([seed, _RNG_FAMILY_ENTROPY, _SHARE_FAMILY]) + ) + ) + presence_draw = presence_rng.random(length) + share_draw = share_rng.random(length) + sampled_share = np.zeros(length, dtype=np.float64) + for band in range(len(SCF_PASSIVE_INCOME_BANDS)): + mask = band_index == band + sampled_share[mask] = np.interp( + share_draw[mask], + probabilities, + quantiles[band], + ) + present = presence_draw < shifted[band_index] + return np.where( + eligible & (passthrough > 0.0) & present, passthrough * sampled_share, 0.0 + ) + + +def qbi_passive_expected_aggregate( + partnership_s_corp_income: object, + schedule_e_income: object, + person_weights: object, + *, + evidence: Mapping[str, Any], + log_odds_shift: float, + latent_entity_form: object | None = None, +) -> float: + arrays = _aligned_vectors( + partnership_s_corp_income=partnership_s_corp_income, + schedule_e_income=schedule_e_income, + person_weights=person_weights, + ) + if np.any(arrays["person_weights"] < 0.0): + raise ValueError("Passive replay person weights must be nonnegative.") + passthrough, band_index, shifted, probabilities, quantiles = _assignment_inputs( + arrays["partnership_s_corp_income"], + arrays["schedule_e_income"], + evidence=evidence, + log_odds_shift=log_odds_shift, + ) + eligible = _latent_form_eligibility( + latent_entity_form, + length=len(passthrough), + ) + expected_share = _inverse_cdf_means(probabilities, quantiles) + values = ( + passthrough + * shifted[band_index] + * expected_share[band_index] + * eligible.astype(np.float64) + ) + return float(np.dot(arrays["person_weights"], values)) + + +def calibrate_qbi_passive_log_odds_shift( + partnership_s_corp_income: object, + schedule_e_income: object, + person_weights: object, + *, + evidence: Mapping[str, Any], + target: float, + latent_entity_form: object | None = None, +) -> tuple[float, float]: + target_value = _number(target, "target", minimum=0.0) + + def aggregate(shift: float) -> float: + return qbi_passive_expected_aggregate( + partnership_s_corp_income, + schedule_e_income, + person_weights, + evidence=evidence, + log_odds_shift=shift, + latent_entity_form=latent_entity_form, + ) + + lower = _SOLVER_LOWER_BOUND + upper = _SOLVER_UPPER_BOUND + lower_value = aggregate(lower) + upper_value = aggregate(upper) + if target_value < lower_value or target_value > upper_value: + raise ValueError( + "Passive aggregate target is unattainable inside the solver bounds: " + f"target={target_value}, range=[{lower_value}, {upper_value}]." + ) + for _ in range(_SOLVER_ITERATIONS): + midpoint = (lower + upper) / 2.0 + if aggregate(midpoint) < target_value: + lower = midpoint + else: + upper = midpoint + shift = (lower + upper) / 2.0 + return shift, aggregate(shift) + + +def build_qbi_passive_passthrough_assumptions_payload( + *, + evidence: Mapping[str, Any], + evidence_sha256: str, + partnership_s_corp_income: object, + schedule_e_income: object, + person_weights: object, + replay_artifact: Mapping[str, Any], +) -> dict[str, Any]: + """Solve and persist the one-parameter provisional replay calibration.""" + + validate_qbi_passive_passthrough_resource(evidence) + evidence_digest = _digest(evidence_sha256, "evidence_sha256") + external = _mapping(evidence["external_anchor"], "external_anchor") + bounds = _mapping( + external["passive_passthrough_bounds"], + "external_anchor.passive_passthrough_bounds", + ) + lower = _number( + _mapping(bounds["lower"], "bounds.lower")["amount"], + "bounds.lower.amount", + minimum=0.0, + ) + upper = _number( + _mapping(bounds["upper"], "bounds.upper")["amount"], + "bounds.upper.amount", + minimum=0.0, + ) + target = (lower + upper) / 2.0 + shift, expected = calibrate_qbi_passive_log_odds_shift( + partnership_s_corp_income, + schedule_e_income, + person_weights, + evidence=evidence, + target=target, + ) + arrays = _aligned_vectors( + partnership_s_corp_income=partnership_s_corp_income, + schedule_e_income=schedule_e_income, + person_weights=person_weights, + ) + + provisional_payload: dict[str, Any] = { + "schema_version": _ASSUMPTIONS_SCHEMA_VERSION, + "resource": "qbi_passive_passthrough_assumptions", + "provisional": True, + "assignment_stage": { + "version": _ASSIGNMENT_STAGE_VERSION, + "architecture": "sibling_before_qbi_reconciliation", + "versioning_decision": ( + "Use a version-1 sibling rather than QBI simulation version 4: " + "the current renamed tree consumes 15 archived QBI leaves and " + "does not carry the old opt-in simulation stack." + ), + "output_column": US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, + "person_input_columns": list( + US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS + ), + "schedule_e_proxy": ( + "partnership_income + s_corp_income + rental_income + estate_income" + ), + "latent_form_treatment": ( + "When a v3 latent entity form is available it routes only " + "partnership and S-corporation records into eligibility; the " + "SCF probability and share remain band-only because active and " + "non-active SCF businesses are not entity-linked." + ), + }, + "evidence": { + "resource": QBI_PASSIVE_EVIDENCE_RESOURCE, + "schema_version": 1, + "sha256": evidence_digest, + }, + "random_streams": { + "bit_generator": "PCG64", + "root_seed_default": _DEFAULT_ROOT_SEED, + "family_entropy": _RNG_FAMILY_ENTROPY, + "presence_family": _PRESENCE_FAMILY, + "share_family": _SHARE_FAMILY, + "draw_policy": "full_length_before_support_masks", + }, + "calibration": { + "bounds": {"lower": lower, "upper": upper}, + "provisional_target": { + "amount": target, + "choice": "midpoint_of_unresolved_bounds", + }, + "log_odds_shift": shift, + "expected_aggregate": expected, + "replay_relative_tolerance": 0.05, + # A valid placeholder permits the pure seeded assignment to consume + # the otherwise complete assumptions object. It is replaced below + # by the realized full-artifact diagnostic before validation/return. + "seeded_replay": { + "seed": _DEFAULT_ROOT_SEED, + "aggregate": target, + "relative_error": 0.0, + "positive_assigned_rows": 0, + }, + "replay_artifact": { + **dict(replay_artifact), + "person_rows": len(arrays["partnership_s_corp_income"]), + "person_weight_total": float(arrays["person_weights"].sum()), + "positive_passthrough_rows": int( + np.count_nonzero(arrays["partnership_s_corp_income"] > 0.0) + ), + "positive_passthrough_weighted_aggregate": float( + np.dot( + arrays["person_weights"], + np.maximum(arrays["partnership_s_corp_income"], 0.0), + ) + ), + }, + "solver": { + "method": "bisection_on_expected_weighted_aggregate", + "iterations": _SOLVER_ITERATIONS, + "lower_bound": _SOLVER_LOWER_BOUND, + "upper_bound": _SOLVER_UPPER_BOUND, + }, + }, + "notes": [ + "The target is provisional because Form 8960 line 4c does not " + "decompose passive pass-through income from rental and royalty income.", + "Rental income remains unchanged: the current engine includes it " + "fully in NIIT, and this stage assigns only the pass-through leaf.", + "The output remains engine-inert under locked PolicyEngine-US " + "1.764.6 because that registry does not expose the variable; the " + "hard release gate stays red until the engine pin advances past " + "1.764.6 to a release containing PolicyEngine-US #9306.", + "The runtime does not read the restricted replay artifact or solve " + "the calibration shift.", + "The sibling stage neither invokes nor advances any archived QBI " + "random stream and preserves all 15 existing QBI leaves.", + "The TY2023 administrative target is applied to the pinned " + "2024-shaped replay without a population-vintage backcast; this " + "period mismatch is another reason the target remains provisional.", + ], + } + assigned = assign_passive_partnership_s_corp_income( + arrays["partnership_s_corp_income"], + arrays["schedule_e_income"], + seed=_DEFAULT_ROOT_SEED, + evidence=evidence, + assumptions=provisional_payload, + ) + achieved = float(np.dot(arrays["person_weights"], assigned)) + provisional_payload["calibration"]["seeded_replay"] = { + "seed": _DEFAULT_ROOT_SEED, + "aggregate": achieved, + "relative_error": abs(achieved / target - 1.0), + "positive_assigned_rows": int(np.count_nonzero(assigned > 0.0)), + } + validate_qbi_passive_passthrough_assumptions(provisional_payload) + return provisional_payload + + +def us_qbi_passive_passthrough_contract_identity() -> dict[str, Any]: + """Return the content-addressed assignment identity for checkpoint pins.""" + + assumptions = load_qbi_passive_passthrough_assumptions() + identity: dict[str, Any] = { + "version": 1, + "assignment_stage_version": _ASSIGNMENT_STAGE_VERSION, + "output_column": US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, + "person_input_columns": list(US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS), + "evidence_resource": QBI_PASSIVE_EVIDENCE_RESOURCE, + "evidence_sha256": _resource_sha256(QBI_PASSIVE_EVIDENCE_RESOURCE), + "assumptions_resource": QBI_PASSIVE_ASSUMPTIONS_RESOURCE, + "assumptions_sha256": _resource_sha256(QBI_PASSIVE_ASSUMPTIONS_RESOURCE), + "log_odds_shift": assumptions["calibration"]["log_odds_shift"], + "random_streams": dict(assumptions["random_streams"]), + } + encoded = json.dumps( + identity, + sort_keys=True, + separators=(",", ":"), + allow_nan=False, + ).encode() + identity["sha256"] = hashlib.sha256(encoded).hexdigest() + return identity + + +def with_us_qbi_passive_passthrough_assignment( + frame: Frame, + *, + seed: int = _DEFAULT_ROOT_SEED, +) -> Frame: + """Add the passive pass-through person input without touching QBI leaves.""" + + person = frame.table("person") + missing = sorted( + column + for column in US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS + if column not in person + ) + if missing: + raise ValueError( + f"Passive pass-through assignment requires person input(s): {missing}." + ) + if US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN in person: + raise ValueError( + "Passive pass-through assignment refuses to overwrite its owned " + "output column." + ) + numeric = person.loc[ + :, list(US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS) + ].apply(pd.to_numeric, errors="coerce") + if not np.isfinite(numeric.to_numpy(dtype=np.float64)).all(): + raise ValueError("Passive pass-through assignment inputs must be finite.") + passthrough = numeric["partnership_income"].to_numpy(dtype=np.float64) + numeric[ + "s_corp_income" + ].to_numpy(dtype=np.float64) + schedule_e = ( + passthrough + + numeric["rental_income"].to_numpy(dtype=np.float64) + + numeric["estate_income"].to_numpy(dtype=np.float64) + ) + assigned = assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + seed=seed, + ) + result = person.copy() + result[US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN] = assigned + tables = {entity: frame.table(entity).copy() for entity in frame.entities} + tables.update({link: frame.link(link).copy() for link in frame.links}) + tables["person"] = result + return Frame( + tables, + frame.schema, + {entity: frame.weights_for(entity) for entity in frame.weighted_entities}, + frame.strata, + mass_log=frame.mass_log, + metadata=frame.metadata, + ) diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/qbi_passive_passthrough_evidence.py b/packages/microcosm-build/src/microcosm/build/us_runtime/qbi_passive_passthrough_evidence.py new file mode 100644 index 00000000..7ee9c055 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/qbi_passive_passthrough_evidence.py @@ -0,0 +1,885 @@ +"""Build and validate the SCF shape for passive pass-through income. + +The public 2022 Survey of Consumer Finances (SCF) does not identify passive +income by tax entity. It does, however, separately identify households that +actively manage a business and households that hold a business without an +active management role. This module turns those observations into the small, +deterministic evidence surface used by the NIIT passive pass-through stage: + +* the probability of holding any non-actively-managed business, conditional + on having an actively managed business and an ``X5714`` income band; and +* the conditional share of business value held outside active management, + ``NONACTBUS / (ACTBUS + NONACTBUS)``. + +All five SCF implicates are pooled and ``X42001`` is divided by five. A band +estimate is retained only when its implicate-adjusted unweighted sample is at +least 30; otherwise it collapses to the all-band sample. This is evidence +construction only. Assignment and administrative-level calibration live in +the sibling passive pass-through runtime. +""" + +from __future__ import annotations + +import json +from collections.abc import Mapping, Sequence +from importlib.resources import files +from pathlib import Path +from typing import Any + +import numpy as np +import pandas as pd + +SCF_PASSIVE_IMPLICATE_COUNT = 5 +SCF_PASSIVE_MINIMUM_EFFECTIVE_N = 30.0 +SCF_PASSIVE_QUANTILE_PROBABILITIES = (0.05, 0.25, 0.50, 0.75, 0.95) +SCF_PASSIVE_INCOME_BANDS = ( + "nonpositive", + "0_to_25k", + "25k_to_100k", + "100k_to_250k", + "250k_to_1m", + "over_1m", +) + +SCF_PASSIVE_REQUIRED_COLUMNS = ( + "y1", + "x42001", + "x3103", + "x3104", + "x3105", + "x3401", + "x5714", + "x3129", + "x3124", + "x3126", + "x3127", + "x3121", + "x3122", + "x3229", + "x3224", + "x3226", + "x3227", + "x3221", + "x3222", + "x3335", + "x3408", + "x3412", + "x3416", + "x3420", + "x3452", + "x3428", + "x507", + "x513", + "x526", + "x805", + "x905", + "x1005", + "x1103", + "x1108", + "x1114", + "x1119", + "x1125", + "x1130", + "x1136", +) + +FORM_8960_TAX_YEAR = 2023 +FORM_8960_LINE_4A_AMOUNT = 1_185_607_258_000.0 +FORM_8960_LINE_4A_RETURNS = 4_988_033 +FORM_8960_LINE_4B_AMOUNT = -1_076_350_273_000.0 +FORM_8960_LINE_4B_RETURNS = 4_038_235 +FORM_8960_LINE_4C_AMOUNT = 109_256_984_000.0 +FORM_8960_LINE_4C_RETURNS = 2_260_296 +FORM_8960_LINE_4C_TO_4A_RATIO = FORM_8960_LINE_4C_AMOUNT / FORM_8960_LINE_4A_AMOUNT + +_QUANTILE_NAMES = ("q05", "q25", "q50", "q75", "q95") +_RESOURCE_NAME = "qbi_passive_passthrough_v1.json" + + +def _normalized_scf_frame(frame: pd.DataFrame) -> pd.DataFrame: + normalized = frame.rename( + columns={str(column): str(column).lower() for column in frame.columns} + ) + duplicates = normalized.columns[normalized.columns.duplicated()].tolist() + if duplicates: + raise ValueError( + "SCF frame has case-insensitive duplicate columns " + f"{sorted(set(duplicates))}." + ) + missing = sorted(set(SCF_PASSIVE_REQUIRED_COLUMNS) - set(normalized.columns)) + if missing: + raise ValueError(f"SCF frame is missing required columns {missing}.") + + result = normalized.loc[:, SCF_PASSIVE_REQUIRED_COLUMNS].copy() + for column in SCF_PASSIVE_REQUIRED_COLUMNS: + result[column] = pd.to_numeric(result[column], errors="coerce") + values = result[column].to_numpy(dtype=np.float64) + if not np.isfinite(values).all(): + raise ValueError( + f"SCF column {column!r} contains nonnumeric or nonfinite values." + ) + return result + + +def _validate_implicates(source: pd.DataFrame) -> tuple[np.ndarray, np.ndarray]: + raw_y1 = source["y1"].to_numpy(dtype=np.float64) + y1 = raw_y1.astype(np.int64) + if not np.array_equal(raw_y1, y1.astype(np.float64)): + raise ValueError("SCF Y1 must contain integer identifiers.") + if pd.Series(y1).duplicated().any(): + raise ValueError("SCF Y1 must be unique across household implicates.") + + household_id = y1 // 10 + implicate = y1 % 10 + expected = set(range(1, SCF_PASSIVE_IMPLICATE_COUNT + 1)) + malformed = [ + int(identifier) + for identifier, group in pd.DataFrame( + {"household_id": household_id, "implicate": implicate} + ).groupby("household_id")["implicate"] + if set(group.tolist()) != expected + ] + if malformed: + raise ValueError( + "SCF Y1 must encode exactly implicates 1-5 for every household; " + f"malformed household ids include {malformed[:5]}." + ) + return household_id, implicate + + +def _positive(source: pd.DataFrame, column: str) -> np.ndarray: + return np.maximum(source[column].to_numpy(dtype=np.float64), 0.0) + + +def _farm_business_value(source: pd.DataFrame) -> np.ndarray: + """Reproduce the SCFP ``FARMBUS`` balance-sheet construction.""" + + x507 = source["x507"].to_numpy(dtype=np.float64) + business_fraction = np.where(x507 > 0.0, np.minimum(x507, 9_000.0) / 10_000.0, 0.0) + farm = business_fraction * ( + source["x513"].to_numpy(dtype=np.float64) + + source["x526"].to_numpy(dtype=np.float64) + - source["x805"].to_numpy(dtype=np.float64) + - source["x905"].to_numpy(dtype=np.float64) + - source["x1005"].to_numpy(dtype=np.float64) + ) + + first = source["x1108"].to_numpy(dtype=np.float64) + second = source["x1119"].to_numpy(dtype=np.float64) + third = source["x1130"].to_numpy(dtype=np.float64) + first_farm = source["x1103"].to_numpy(dtype=np.float64) == 1.0 + second_farm = source["x1114"].to_numpy(dtype=np.float64) == 1.0 + third_farm = source["x1125"].to_numpy(dtype=np.float64) == 1.0 + farm -= business_fraction * np.where(first_farm, first, 0.0) + farm -= business_fraction * np.where(second_farm, second, 0.0) + farm -= business_fraction * np.where(third_farm, third, 0.0) + + # The SCFP macro mutates each farm-secured line-of-credit balance after + # subtracting its business share. Its subsequent X1136 allocation uses + # those reduced copies, not the original balances. + first_reduced = np.where(first_farm, first * (1.0 - business_fraction), first) + second_reduced = np.where(second_farm, second * (1.0 - business_fraction), second) + third_reduced = np.where(third_farm, third * (1.0 - business_fraction), third) + other_mortgage = source["x1136"].to_numpy(dtype=np.float64) + mortgage_total = first_reduced + second_reduced + third_reduced + farm_mortgage = ( + first_reduced * first_farm.astype(np.float64) + + second_reduced * second_farm.astype(np.float64) + + third_reduced * third_farm.astype(np.float64) + ) + shared_fraction = np.divide( + farm_mortgage, + mortgage_total, + out=np.zeros_like(farm_mortgage), + where=mortgage_total > 0.0, + ) + farm -= np.where( + (other_mortgage > 0.0) & (mortgage_total > 0.0), + other_mortgage * business_fraction * shared_fraction, + 0.0, + ) + return farm + + +def _active_business_value(source: pd.DataFrame) -> np.ndarray: + first = ( + _positive(source, "x3129") + + _positive(source, "x3124") + - _positive(source, "x3126") + * (source["x3127"].to_numpy(dtype=np.float64) == 5.0) + + _positive(source, "x3121") + * np.isin(source["x3122"].to_numpy(dtype=np.float64), (1.0, 6.0)) + ) + second = ( + _positive(source, "x3229") + + _positive(source, "x3224") + - _positive(source, "x3226") + * (source["x3227"].to_numpy(dtype=np.float64) == 5.0) + + _positive(source, "x3221") + * np.isin(source["x3222"].to_numpy(dtype=np.float64), (1.0, 6.0)) + ) + return first + second + _positive(source, "x3335") + _farm_business_value(source) + + +def _nonactive_business_value(source: pd.DataFrame) -> np.ndarray: + columns = ("x3408", "x3412", "x3416", "x3420", "x3452", "x3428") + return sum((_positive(source, column) for column in columns), np.zeros(len(source))) + + +def _income_band(values: pd.Series) -> pd.Series: + return pd.cut( + values, + bins=(-np.inf, 0.0, 25_000.0, 100_000.0, 250_000.0, 1_000_000.0, np.inf), + labels=SCF_PASSIVE_INCOME_BANDS, + right=True, + include_lowest=True, + ).astype("object") + + +def build_scf_passive_passthrough_records(frame: pd.DataFrame) -> pd.DataFrame: + """Return pooled active-business household-implicate records from SCF.""" + + source = _normalized_scf_frame(frame) + household_id, implicate = _validate_implicates(source) + raw_weight = source["x42001"].to_numpy(dtype=np.float64) + if (raw_weight <= 0.0).any(): + raise ValueError("SCF X42001 must be positive for every implicate.") + + active = ( + source["x3103"].eq(1) & source["x3104"].eq(1) & source["x3105"].ge(1) + ).to_numpy() + if not active.any(): + raise ValueError("SCF frame contains no actively managed business households.") + + actbus = _active_business_value(source) + nonactbus = _nonactive_business_value(source) + denominator = actbus + nonactbus + holder = source["x3401"].eq(1).to_numpy() + eligible_share = holder & (denominator > 0.0) + share = np.divide( + nonactbus, + denominator, + out=np.full(len(source), np.nan, dtype=np.float64), + where=eligible_share, + ) + invalid_share = eligible_share & ((share < 0.0) | (share > 1.0)) + if invalid_share.any(): + raise ValueError( + "SCF NONACTBUS / (ACTBUS + NONACTBUS) falls outside [0, 1] " + f"for {int(invalid_share.sum())} eligible record(s)." + ) + + records = pd.DataFrame( + { + "household_id": household_id, + "implicate": implicate, + "weight": raw_weight / SCF_PASSIVE_IMPLICATE_COUNT, + "schedule_e_income": source["x5714"].to_numpy(dtype=np.float64), + "income_band": _income_band(source["x5714"]), + "holds_nonactive_business": holder, + "actbus": actbus, + "nonactbus": nonactbus, + "positive_share_denominator": denominator > 0.0, + "nonactive_business_value_share": share, + } + ) + return records.loc[active].reset_index(drop=True) + + +def weighted_inverse_cdf( + values: Sequence[float] | np.ndarray, + weights: Sequence[float] | np.ndarray, + probabilities: Sequence[float] = SCF_PASSIVE_QUANTILE_PROBABILITIES, +) -> dict[str, float]: + """Return weighted inverse-CDF quantiles with stable tie handling.""" + + value_array = np.asarray(values, dtype=np.float64) + weight_array = np.asarray(weights, dtype=np.float64) + probability_array = np.asarray(probabilities, dtype=np.float64) + if value_array.ndim != 1 or value_array.shape != weight_array.shape: + raise ValueError("Weighted values and weights must be equal 1-D arrays.") + if value_array.size == 0: + raise ValueError("Weighted quantiles require at least one observation.") + if ( + not np.isfinite(value_array).all() + or not np.isfinite(weight_array).all() + or (weight_array <= 0.0).any() + ): + raise ValueError( + "Weighted quantiles require finite values and positive weights." + ) + if ( + not np.isfinite(probability_array).all() + or (probability_array < 0.0).any() + or (probability_array > 1.0).any() + ): + raise ValueError("Weighted quantile probabilities must lie in [0, 1].") + + order = np.argsort(value_array, kind="stable") + cumulative = np.cumsum(weight_array[order]) + positions = np.searchsorted( + cumulative, probability_array * cumulative[-1], side="left" + ) + positions = np.minimum(positions, len(order) - 1) + return { + name: float(value_array[order[position]]) + for name, position in zip(_QUANTILE_NAMES, positions, strict=True) + } + + +def _counts(frame: pd.DataFrame) -> dict[str, float | int]: + return { + "pooled_record_count": int(len(frame)), + "implicate_adjusted_unweighted_n": float( + len(frame) / SCF_PASSIVE_IMPLICATE_COUNT + ), + "weighted_households": float(frame["weight"].sum()), + } + + +def _weighted_mean(frame: pd.DataFrame) -> float: + return float( + np.average( + frame["nonactive_business_value_share"].to_numpy(dtype=np.float64), + weights=frame["weight"].to_numpy(dtype=np.float64), + ) + ) + + +def _quantiles(frame: pd.DataFrame) -> dict[str, float]: + return weighted_inverse_cdf( + frame["nonactive_business_value_share"].to_numpy(dtype=np.float64), + frame["weight"].to_numpy(dtype=np.float64), + ) + + +def _selected_sample( + requested: pd.DataFrame, + pooled: pd.DataFrame, +) -> tuple[str, str, pd.DataFrame]: + effective_n = len(requested) / SCF_PASSIVE_IMPLICATE_COUNT + if effective_n >= SCF_PASSIVE_MINIMUM_EFFECTIVE_N: + return "exact", str(requested["income_band"].iloc[0]), requested + if pooled.empty: + raise ValueError("SCF all-band fallback sample is empty.") + return "all_income_bands", "all", pooled + + +def _requested_counts( + active: pd.DataFrame, + holders: pd.DataFrame, + eligible_holders: pd.DataFrame, +) -> dict[str, float | int]: + counts: dict[str, float | int] = {} + for prefix, sample in ( + ("active", active), + ("nonactive_holder", holders), + ("positive_denominator_holder", eligible_holders), + ): + sample_counts = _counts(sample) + for name, value in sample_counts.items(): + counts[f"{prefix}_{name}"] = value + return counts + + +def _source_description() -> dict[str, object]: + return { + "survey": "Federal Reserve Survey of Consumer Finances", + "vintage": 2022, + "public_extract": "full public data, pooled multiple-imputation file p22i6.dta", + "weight": "X42001 divided by five implicates", + "record_selection": ( + "X3103 == 1 and X3104 == 1 and X3105 >= 1; one record per " + "household implicate. A non-active holding is X3401 == 1, even " + "when the reported NONACTBUS value is zero." + ), + "variables": { + "schedule_e_income_band": "X5714", + "active_management_screeners": ["X3103", "X3104", "X3105"], + "nonactive_holding_screener": "X3401", + "active_business_value": ( + "SCFP ACTBUS: active-business net values and family-business " + "loan adjustments for X3121-X3335, plus FARMBUS" + ), + "nonactive_business_value": ( + "SCFP NONACTBUS: sum of nonnegative X3408, X3412, X3416, " + "X3420, X3452, and X3428" + ), + }, + } + + +def _methodology() -> dict[str, object]: + return { + "estimands": { + "holding_prevalence": ( + "P(X3401 == 1 | actively managed business, X5714 income band)" + ), + "conditional_share": ( + "NONACTBUS / (ACTBUS + NONACTBUS), conditional on X3401 == 1 " + "and a positive denominator" + ), + }, + "income_bands": [ + {"id": "nonpositive", "definition": "X5714 <= 0"}, + {"id": "0_to_25k", "definition": "0 < X5714 <= 25,000"}, + {"id": "25k_to_100k", "definition": "25,000 < X5714 <= 100,000"}, + { + "id": "100k_to_250k", + "definition": "100,000 < X5714 <= 250,000", + }, + { + "id": "250k_to_1m", + "definition": "250,000 < X5714 <= 1,000,000", + }, + {"id": "over_1m", "definition": "X5714 > 1,000,000"}, + ], + "implicate_count": SCF_PASSIVE_IMPLICATE_COUNT, + "minimum_effective_n": SCF_PASSIVE_MINIMUM_EFFECTIVE_N, + "fallback_order": ["income_band", "all_income_bands"], + "quantile_probabilities": list(SCF_PASSIVE_QUANTILE_PROBABILITIES), + "quantile_method": "weighted inverse CDF", + } + + +def _external_anchor() -> dict[str, object]: + return { + "source": "IRS Publication 4801, Form 8960 statistics, tax year 2023", + "units": "dollars", + "form_8960": { + "line_4a": { + "description": ( + "gross rental, royalty, partnership, S corporation, trust, " + "and trade-or-business flow-through" + ), + "returns_count": FORM_8960_LINE_4A_RETURNS, + "amount": FORM_8960_LINE_4A_AMOUNT, + }, + "line_4b": { + "description": "non-section-1411 trade-or-business amount removed", + "returns_count": FORM_8960_LINE_4B_RETURNS, + "amount": FORM_8960_LINE_4B_AMOUNT, + }, + "line_4c": { + "description": "line 4a plus line 4b; amount remaining in the NIIT base", + "returns_count": FORM_8960_LINE_4C_RETURNS, + "amount": FORM_8960_LINE_4C_AMOUNT, + }, + }, + "line_4c_to_4a_survival_ratio": FORM_8960_LINE_4C_TO_4A_RATIO, + "passive_passthrough_bounds": { + "lower": { + "amount": 0.0, + "assumption": "all Form 8960 line 4c is rental or royalty income", + }, + "upper": { + "amount": FORM_8960_LINE_4C_AMOUNT, + "assumption": "all Form 8960 line 4c is passive pass-through income", + }, + "decomposition_status": ( + "open question: no administrative source on disk decomposes line " + "4c between rental or royalty income and passive partnership or " + "S-corporation income" + ), + }, + "caveats": [ + ( + "Line 4c includes rental and royalty net investment income as well " + "as passive partnership and S-corporation income; it is not a " + "passive pass-through point estimate." + ), + ( + "The engine counts rental_income in NIIT in full. Schedule E rental " + "income is frequently passive, so using line 4c without a rental " + "decomposition would overlap an existing NIIT leg. Rental handling " + "is unchanged here." + ), + ( + "No entity-side SOI passive split exists: partnership tables " + "23pa01, 23pa04, 23pa06, 23pa10, and 23pa23 were checked, and " + "IRS Table 1.4 likewise has no passive split. Form 8960 line 4 " + "is the only administrative level available for this provisional " + "evidence surface." + ), + ], + } + + +def build_qbi_passive_passthrough_resource( + frame: pd.DataFrame, + *, + provenance: Mapping[str, object], +) -> dict[str, object]: + """Build the deterministic version-1 passive pass-through evidence resource.""" + + records = build_scf_passive_passthrough_records(frame) + pooled_holders = records.loc[ + records["holds_nonactive_business"] & records["positive_share_denominator"] + ] + if pooled_holders.empty: + raise ValueError("SCF records contain no eligible non-active business holders.") + + cells: list[dict[str, object]] = [] + for income_band in SCF_PASSIVE_INCOME_BANDS: + active = records.loc[records["income_band"].eq(income_band)] + if active.empty: + raise ValueError(f"SCF income band {income_band!r} is empty.") + holders = active.loc[active["holds_nonactive_business"]] + eligible_holders = holders.loc[holders["positive_share_denominator"]] + if eligible_holders.empty: + raise ValueError( + f"SCF income band {income_band!r} has no positive-denominator holders." + ) + + presence_level, presence_source_band, presence_sample = _selected_sample( + active, records + ) + share_level, share_source_band, share_sample = _selected_sample( + eligible_holders, pooled_holders + ) + requested_weight = float(active["weight"].sum()) + selected_presence_weight = float(presence_sample["weight"].sum()) + cells.append( + { + "income_band": income_band, + "requested_counts": _requested_counts( + active, holders, eligible_holders + ), + "holding_prevalence": { + "estimate": float( + presence_sample.loc[ + presence_sample["holds_nonactive_business"], "weight" + ].sum() + / selected_presence_weight + ), + "requested_estimate": float( + holders["weight"].sum() / requested_weight + ), + "estimate_level": presence_level, + "source_income_band": presence_source_band, + "source_counts": _counts(presence_sample), + }, + "conditional_share": { + "conditional_on": ("X3401 == 1 and ACTBUS + NONACTBUS > 0"), + "requested_mean": _weighted_mean(eligible_holders), + "requested_quantiles": _quantiles(eligible_holders), + "selected_mean": _weighted_mean(share_sample), + "selected_quantiles": _quantiles(share_sample), + "estimate_level": share_level, + "source_income_band": share_source_band, + "source_counts": _counts(share_sample), + }, + } + ) + + payload: dict[str, object] = { + "schema_version": 1, + "resource": "us_qbi_passive_passthrough_evidence", + "survey_year": 2022, + "provisional": True, + "source": _source_description(), + "methodology": _methodology(), + "cells": cells, + "external_anchor": _external_anchor(), + "notes": [ + ( + "SCF X3119 identifies the legal form of the largest actively " + "managed business, not the non-actively-managed holding. There is " + "no defensible entity-form link, so these estimates are band-only." + ), + ( + "The SCF value share is a survey shape, not an income-share level. " + "The separate assumptions build supplies the provisional " + "administrative calibration and persists its solved shift." + ), + ( + "A household with X3401 == 1 remains a holder when NONACTBUS is " + "zero; this preserves the requested holding concept." + ), + ], + "provenance": dict(provenance), + } + validate_qbi_passive_passthrough_resource(payload) + return payload + + +def _require_mapping(value: object, location: str) -> Mapping[str, Any]: + if not isinstance(value, Mapping): + raise ValueError(f"{location} must be an object.") + return value + + +def _require_list(value: object, location: str) -> list[Any]: + if not isinstance(value, list): + raise ValueError(f"{location} must be a list.") + return value + + +def _finite_number(value: object, location: str) -> float: + if isinstance(value, bool) or not isinstance(value, (int, float)): + raise ValueError(f"{location} must be numeric.") + result = float(value) + if not np.isfinite(result): + raise ValueError(f"{location} must be finite.") + return result + + +def _probability(value: object, location: str) -> float: + result = _finite_number(value, location) + if not 0.0 <= result <= 1.0: + raise ValueError(f"{location} must lie in [0, 1].") + return result + + +def _validate_quantiles(value: object, location: str) -> None: + quantiles = _require_mapping(value, location) + if tuple(quantiles) != _QUANTILE_NAMES: + raise ValueError(f"{location} must have ordered keys {_QUANTILE_NAMES}.") + values = [_probability(quantiles[name], f"{location}.{name}") for name in quantiles] + if values != sorted(values): + raise ValueError(f"{location} must be nondecreasing.") + + +def _validate_counts(value: object, location: str) -> Mapping[str, Any]: + counts = _require_mapping(value, location) + for name in ( + "pooled_record_count", + "implicate_adjusted_unweighted_n", + "weighted_households", + ): + number = _finite_number(counts.get(name), f"{location}.{name}") + if number < 0.0: + raise ValueError(f"{location}.{name} must be nonnegative.") + pooled = _finite_number( + counts["pooled_record_count"], f"{location}.pooled_record_count" + ) + effective = _finite_number( + counts["implicate_adjusted_unweighted_n"], + f"{location}.implicate_adjusted_unweighted_n", + ) + if not np.isclose(effective, pooled / SCF_PASSIVE_IMPLICATE_COUNT): + raise ValueError(f"{location} has inconsistent implicate-adjusted n.") + return counts + + +def validate_qbi_passive_passthrough_resource( + payload: Mapping[str, object], +) -> None: + """Reject malformed or silently de-provisionalized evidence payloads.""" + + root = _require_mapping(payload, "resource") + if root.get("schema_version") != 1: + raise ValueError("resource.schema_version must equal 1.") + if root.get("resource") != "us_qbi_passive_passthrough_evidence": + raise ValueError("resource.resource has the wrong identifier.") + if root.get("survey_year") != 2022: + raise ValueError("resource.survey_year must equal 2022.") + if root.get("provisional") is not True: + raise ValueError("Passive pass-through evidence must remain provisional.") + + methodology = _require_mapping(root.get("methodology"), "methodology") + if methodology.get("implicate_count") != SCF_PASSIVE_IMPLICATE_COUNT: + raise ValueError("methodology.implicate_count must equal 5.") + if methodology.get("minimum_effective_n") != SCF_PASSIVE_MINIMUM_EFFECTIVE_N: + raise ValueError("methodology.minimum_effective_n must equal 30.") + if methodology.get("fallback_order") != ["income_band", "all_income_bands"]: + raise ValueError("methodology.fallback_order is not the reviewed hierarchy.") + probabilities = _require_list( + methodology.get("quantile_probabilities"), + "methodology.quantile_probabilities", + ) + if probabilities != list(SCF_PASSIVE_QUANTILE_PROBABILITIES): + raise ValueError("methodology.quantile_probabilities are not reviewed values.") + + cells = _require_list(root.get("cells"), "cells") + if [cell.get("income_band") for cell in cells if isinstance(cell, Mapping)] != list( + SCF_PASSIVE_INCOME_BANDS + ) or len(cells) != len(SCF_PASSIVE_INCOME_BANDS): + raise ValueError("cells must contain the six reviewed income bands in order.") + for index, cell_value in enumerate(cells): + cell = _require_mapping(cell_value, f"cells[{index}]") + band = SCF_PASSIVE_INCOME_BANDS[index] + requested = _require_mapping( + cell.get("requested_counts"), f"cells[{index}].requested_counts" + ) + for prefix in ( + "active", + "nonactive_holder", + "positive_denominator_holder", + ): + _validate_counts( + { + name: requested.get(f"{prefix}_{name}") + for name in ( + "pooled_record_count", + "implicate_adjusted_unweighted_n", + "weighted_households", + ) + }, + f"cells[{index}].requested_counts.{prefix}", + ) + + presence = _require_mapping( + cell.get("holding_prevalence"), f"cells[{index}].holding_prevalence" + ) + _probability( + presence.get("estimate"), f"cells[{index}].holding_prevalence.estimate" + ) + _probability( + presence.get("requested_estimate"), + f"cells[{index}].holding_prevalence.requested_estimate", + ) + presence_counts = _validate_counts( + presence.get("source_counts"), + f"cells[{index}].holding_prevalence.source_counts", + ) + active_n = _finite_number( + requested.get("active_implicate_adjusted_unweighted_n"), + f"cells[{index}].requested_counts.active_implicate_adjusted_unweighted_n", + ) + expected_level = ( + "exact" + if active_n >= SCF_PASSIVE_MINIMUM_EFFECTIVE_N + else "all_income_bands" + ) + if presence.get("estimate_level") != expected_level: + raise ValueError(f"cells[{index}] holding fallback is inconsistent with n.") + expected_source = band if expected_level == "exact" else "all" + if presence.get("source_income_band") != expected_source: + raise ValueError(f"cells[{index}] holding source band is inconsistent.") + if expected_level == "exact" and not np.isclose( + _finite_number( + presence_counts["implicate_adjusted_unweighted_n"], + f"cells[{index}].holding_prevalence.source_counts.n", + ), + active_n, + ): + raise ValueError(f"cells[{index}] exact holding source n is inconsistent.") + + share = _require_mapping( + cell.get("conditional_share"), f"cells[{index}].conditional_share" + ) + _probability( + share.get("requested_mean"), + f"cells[{index}].conditional_share.requested_mean", + ) + _probability( + share.get("selected_mean"), + f"cells[{index}].conditional_share.selected_mean", + ) + _validate_quantiles( + share.get("requested_quantiles"), + f"cells[{index}].conditional_share.requested_quantiles", + ) + _validate_quantiles( + share.get("selected_quantiles"), + f"cells[{index}].conditional_share.selected_quantiles", + ) + share_counts = _validate_counts( + share.get("source_counts"), + f"cells[{index}].conditional_share.source_counts", + ) + share_n = _finite_number( + requested.get( + "positive_denominator_holder_implicate_adjusted_unweighted_n" + ), + f"cells[{index}].requested_counts.positive_denominator_holder_n", + ) + expected_level = ( + "exact" + if share_n >= SCF_PASSIVE_MINIMUM_EFFECTIVE_N + else "all_income_bands" + ) + if share.get("estimate_level") != expected_level: + raise ValueError(f"cells[{index}] share fallback is inconsistent with n.") + expected_source = band if expected_level == "exact" else "all" + if share.get("source_income_band") != expected_source: + raise ValueError(f"cells[{index}] share source band is inconsistent.") + if expected_level == "exact" and not np.isclose( + _finite_number( + share_counts["implicate_adjusted_unweighted_n"], + f"cells[{index}].conditional_share.source_counts.n", + ), + share_n, + ): + raise ValueError(f"cells[{index}] exact share source n is inconsistent.") + + anchor = _require_mapping(root.get("external_anchor"), "external_anchor") + form = _require_mapping(anchor.get("form_8960"), "external_anchor.form_8960") + expected_lines = { + "line_4a": (FORM_8960_LINE_4A_AMOUNT, FORM_8960_LINE_4A_RETURNS), + "line_4b": (FORM_8960_LINE_4B_AMOUNT, FORM_8960_LINE_4B_RETURNS), + "line_4c": (FORM_8960_LINE_4C_AMOUNT, FORM_8960_LINE_4C_RETURNS), + } + for line, (amount, returns_count) in expected_lines.items(): + row = _require_mapping(form.get(line), f"external_anchor.form_8960.{line}") + if _finite_number(row.get("amount"), f"{line}.amount") != amount: + raise ValueError( + f"external_anchor.form_8960.{line}.amount is not reviewed." + ) + if row.get("returns_count") != returns_count: + raise ValueError( + f"external_anchor.form_8960.{line}.returns_count is not reviewed." + ) + ratio = _finite_number( + anchor.get("line_4c_to_4a_survival_ratio"), + "external_anchor.line_4c_to_4a_survival_ratio", + ) + if not np.isclose(ratio, FORM_8960_LINE_4C_TO_4A_RATIO, rtol=0.0, atol=1e-15): + raise ValueError("external_anchor survival ratio is inconsistent.") + bounds = _require_mapping( + anchor.get("passive_passthrough_bounds"), + "external_anchor.passive_passthrough_bounds", + ) + lower = _require_mapping(bounds.get("lower"), "bounds.lower") + upper = _require_mapping(bounds.get("upper"), "bounds.upper") + if _finite_number(lower.get("amount"), "bounds.lower.amount") != 0.0: + raise ValueError("Passive pass-through lower bound must equal zero.") + if ( + _finite_number(upper.get("amount"), "bounds.upper.amount") + != FORM_8960_LINE_4C_AMOUNT + ): + raise ValueError("Passive pass-through upper bound must equal line 4c.") + status = bounds.get("decomposition_status") + if not isinstance(status, str) or "open question" not in status.lower(): + raise ValueError("Bounds must retain the open decomposition question.") + + _require_mapping(root.get("source"), "source") + _require_list(root.get("notes"), "notes") + _require_mapping(root.get("provenance"), "provenance") + + +def default_qbi_passive_passthrough_resource_path() -> Path: + """Return the packaged evidence resource path.""" + + return Path(str(files("microcosm.build.us").joinpath(_RESOURCE_NAME))) + + +def load_qbi_passive_passthrough_resource( + path: Path | str | None = None, +) -> dict[str, object]: + """Load and validate the packaged or explicitly supplied evidence JSON.""" + + resource_path = ( + default_qbi_passive_passthrough_resource_path() if path is None else Path(path) + ) + payload = json.loads(resource_path.read_text(encoding="utf-8")) + validate_qbi_passive_passthrough_resource(payload) + return payload + + +__all__ = [ + "FORM_8960_LINE_4A_AMOUNT", + "FORM_8960_LINE_4C_AMOUNT", + "FORM_8960_LINE_4C_TO_4A_RATIO", + "SCF_PASSIVE_INCOME_BANDS", + "SCF_PASSIVE_MINIMUM_EFFECTIVE_N", + "SCF_PASSIVE_QUANTILE_PROBABILITIES", + "SCF_PASSIVE_REQUIRED_COLUMNS", + "build_qbi_passive_passthrough_resource", + "build_scf_passive_passthrough_records", + "default_qbi_passive_passthrough_resource_path", + "load_qbi_passive_passthrough_resource", + "validate_qbi_passive_passthrough_resource", + "weighted_inverse_cdf", +] diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/reform_validation.py b/packages/microcosm-build/src/microcosm/build/us_runtime/reform_validation.py index 0d7bb19e..910982b0 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/reform_validation.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/reform_validation.py @@ -4,9 +4,8 @@ Where ``calibration_diagnostics.json`` reports how well the calibrated weights reproduce their *calibration targets*, ``reform_validation.json`` reports a downstream property the calibration did not directly optimize: how closely the -dataset reproduces the *budget effects of scored policy reforms*. Two kinds of -reform are validated, and each row is labelled so a consumer can tell them -apart: +dataset reproduces the *budget effects of scored policy reforms*. Reform rows +and aggregate diagnostics are labelled so a consumer can tell them apart: * **in-sample** — the JCT tax-expenditure reforms that are themselves calibration targets (``US_JCT_TAX_EXPENDITURE_REFORMS``). The dataset was @@ -15,6 +14,9 @@ * **out-of-sample** — reforms the calibration never saw (e.g. provisions of the 2025 One Big Beautiful Bill Act), curated in ``obbba_reforms.json`` with their JCT scores. These are the genuine test of dataset fidelity. +* **administrative aggregate diagnostics** — plain baseline totals compared + with published amounts, kept in a separate non-gating table. These are not + reforms or calibration targets. The simulation is isolated behind an injected ``simulate`` callable so the payload assembly is unit-testable without policyengine-us; the default factory @@ -48,7 +50,9 @@ __all__ = [ "REFORM_VALIDATION_SCHEMA_VERSION", + "AdministrativeAggregateDiagnosticSpec", "BaselineLevelSpec", + "administrative_aggregate_diagnostic_specs", "state_spm_poverty_level_specs", "ReformValidationSpec", "in_sample_reform_specs", @@ -65,8 +69,9 @@ ] #: Schema version of reform_validation.json. The calibration-diagnostics -#: dashboard keys its reader on it; bump with any shape change. -REFORM_VALIDATION_SCHEMA_VERSION = 1 +#: dashboard keys its reader on it; v2 adds a standing, diagnostics-only +#: administrative aggregate table. +REFORM_VALIDATION_SCHEMA_VERSION = 2 #: The budget effect of a reform is the weighted-sum change of this variable #: between the reform and baseline simulations, unless a spec overrides it. For @@ -500,10 +505,196 @@ def __post_init__(self) -> None: raise ValueError(f"Rate level {self.id} cannot use cap_variable.") +@dataclass(frozen=True) +class AdministrativeAggregateDiagnosticSpec: + """One published aggregate compared with a plain baseline total. + + This is deliberately distinct from :class:`ReformValidationSpec`: an + administrative aggregate does not construct a reform, neutralize a + variable, or participate in any release gate. + """ + + id: str + name: str + variable: str + period: int + benchmark_value: float + benchmark_year: str + source: str + source_url: str + description: str + comparison_role: str + provisional: bool + diagnostics_only: bool + lower_bound: float | None = None + upper_bound: float | None = None + + def __post_init__(self) -> None: + if not self.id or not self.name or not self.variable: + raise ValueError( + "AdministrativeAggregateDiagnosticSpec requires id, name, and variable." + ) + if self.period <= 0: + raise ValueError(f"{self.id}: period must be a positive year.") + if not math.isfinite(self.benchmark_value) or self.benchmark_value <= 0: + raise ValueError(f"{self.id}: benchmark must be finite and positive.") + if self.comparison_role not in {"point_estimate", "upper_bound"}: + raise ValueError( + f"{self.id}: comparison_role must be 'point_estimate' or 'upper_bound'." + ) + if not self.diagnostics_only: + raise ValueError(f"{self.id}: diagnostics_only must be true.") + if self.lower_bound is not None and ( + not math.isfinite(self.lower_bound) or self.lower_bound < 0 + ): + raise ValueError(f"{self.id}: lower_bound must be finite and nonnegative.") + if self.upper_bound is not None and ( + not math.isfinite(self.upper_bound) or self.upper_bound <= 0 + ): + raise ValueError(f"{self.id}: upper_bound must be finite and positive.") + if ( + self.lower_bound is not None + and self.upper_bound is not None + and self.lower_bound > self.upper_bound + ): + raise ValueError(f"{self.id}: lower_bound cannot exceed upper_bound.") + if self.comparison_role == "upper_bound": + if self.lower_bound is None or self.upper_bound is None: + raise ValueError(f"{self.id}: upper-bound rows require both bounds.") + if self.benchmark_value != self.upper_bound: + raise ValueError( + f"{self.id}: benchmark must equal upper_bound for an " + "upper-bound comparison." + ) + + def _soi_baseline_levels_config_path() -> Path: return Path(str(files("microcosm.build.us").joinpath("soi_baseline_levels.json"))) +def _administrative_aggregate_diagnostics_config_path() -> Path: + return Path( + str(files("microcosm.build.us").joinpath("repeal_revenue_benchmarks.json")) + ) + + +def administrative_aggregate_diagnostic_specs( + path: Path | None = None, +) -> tuple[AdministrativeAggregateDiagnosticSpec, ...]: + """Load the standing, non-gating administrative aggregate diagnostics.""" + config_path = path or _administrative_aggregate_diagnostics_config_path() + if not config_path.exists(): + return () + payload = json.loads(config_path.read_text()) + if payload.get("schema_version") != 1: + raise ValueError( + f"{config_path}: aggregate diagnostic schema_version must be 1." + ) + rows = payload.get("administrative_aggregate_diagnostics") + if not isinstance(rows, list): + raise ValueError( + f"{config_path}: administrative_aggregate_diagnostics must be a JSON array." + ) + + specs: list[AdministrativeAggregateDiagnosticSpec] = [] + seen_ids: set[str] = set() + for index, raw in enumerate(rows): + context = f"{config_path}: administrative_aggregate_diagnostics[{index}]" + if not isinstance(raw, dict): + raise ValueError(f"{context} must be a JSON object.") + required = { + "id", + "name", + "variable", + "period", + "benchmark", + "comparison_role", + "provisional", + "diagnostics_only", + "description", + } + missing = sorted(required - raw.keys()) + if missing: + raise ValueError(f"{context} is missing required fields {missing}.") + diagnostic_id = raw["id"] + if not isinstance(diagnostic_id, str) or not diagnostic_id.strip(): + raise ValueError(f"{context}.id must be a non-empty string.") + if diagnostic_id in seen_ids: + raise ValueError(f"{context}.id duplicates {diagnostic_id!r}.") + seen_ids.add(diagnostic_id) + for field in ("name", "variable", "comparison_role", "description"): + value = raw[field] + if not isinstance(value, str) or not value.strip(): + raise ValueError(f"{context}.{field} must be a non-empty string.") + row_period = raw["period"] + if isinstance(row_period, bool) or not isinstance(row_period, int): + raise ValueError(f"{context}.period must be an integer year.") + for field in ("provisional", "diagnostics_only"): + if not isinstance(raw[field], bool): + raise ValueError(f"{context}.{field} must be a boolean.") + benchmark = raw["benchmark"] + if not isinstance(benchmark, dict): + raise ValueError(f"{context}.benchmark must be a JSON object.") + missing_benchmark_fields = sorted( + {"value", "year", "source", "source_url"} - benchmark.keys() + ) + if missing_benchmark_fields: + raise ValueError( + f"{context}.benchmark is missing required fields " + f"{missing_benchmark_fields}." + ) + if isinstance(benchmark["value"], bool): + raise ValueError(f"{context}.benchmark.value must be a number.") + try: + benchmark_value = float(benchmark["value"]) + except (KeyError, TypeError, ValueError) as error: + raise ValueError(f"{context}.benchmark.value must be a number.") from error + for field in ("year", "source", "source_url"): + value = benchmark.get(field, "") + if not isinstance(value, str): + raise ValueError(f"{context}.benchmark.{field} must be a string.") + if not benchmark["year"].strip() or not benchmark["source"].strip(): + raise ValueError( + f"{context}.benchmark.year and source must be non-empty strings." + ) + bounds = raw.get("bounds") + if bounds is not None and not isinstance(bounds, dict): + raise ValueError(f"{context}.bounds must be a JSON object.") + if bounds is not None: + for field in ("lower", "upper"): + value = bounds.get(field) + if isinstance(value, bool) or not isinstance(value, int | float): + raise ValueError(f"{context}.bounds.{field} must be a number.") + + specs.append( + AdministrativeAggregateDiagnosticSpec( + id=diagnostic_id, + name=raw["name"], + variable=raw["variable"], + period=row_period, + benchmark_value=benchmark_value, + benchmark_year=benchmark.get("year", ""), + source=benchmark.get("source", ""), + source_url=benchmark.get("source_url", ""), + description=raw["description"], + comparison_role=raw["comparison_role"], + provisional=raw["provisional"], + diagnostics_only=raw["diagnostics_only"], + lower_bound=( + None + if bounds is None or bounds.get("lower") is None + else float(bounds["lower"]) + ), + upper_bound=( + None + if bounds is None or bounds.get("upper") is None + else float(bounds["upper"]) + ), + ) + ) + return tuple(specs) + + def _baseline_level_specs_from_config( config_path: Path, *, default_category: str ) -> tuple[BaselineLevelSpec, ...]: @@ -697,6 +888,9 @@ def reform_validation_payload( in_sample_estimates: dict[str, float] | None = None, in_sample_targets: dict[str, float] | None = None, baseline_levels: Sequence[BaselineLevelSpec] = (), + administrative_aggregate_diagnostics: Sequence[ + AdministrativeAggregateDiagnosticSpec + ] = (), release_id: str | None = None, ) -> dict[str, Any]: """Score each reform on the dataset and render the JSON-stable payload. @@ -719,6 +913,11 @@ def reform_validation_payload( incremental effect given the lines above it — so the per-line effects sum to the bill total, matching JCT (see ``stacked_obbba_effects``). The shape matches the calibration-diagnostics dashboard's reform_validation reader. + + ``administrative_aggregate_diagnostics`` shares the same baseline object, + but remains outside ``reforms`` and ``out_of_sample_simulated``. Each row is + a plain weighted total with no counterfactual, threshold, or pass/fail + meaning; failures are contained on the affected row. """ estimates = in_sample_estimates or {} targets = in_sample_targets or {} @@ -991,8 +1190,71 @@ def _level_total(level: BaselineLevelSpec) -> float: } ) - # microcosm#456: the shared baseline simulation has served every reform row - # and baseline-level row by now; release it before assembling the payload. + aggregate_diagnostic_rows: list[dict[str, Any]] = [] + for diagnostic in administrative_aggregate_diagnostics: + error_message: str | None = None + try: + modeled_total = ( + None + if simulate is None + else baseline_total(diagnostic.variable, diagnostic.period) + ) + except Exception as error: + # Administrative aggregates are explicitly diagnostics-only. A + # missing engine variable or calculation failure is recorded on + # its row and must not block release payload construction. + modeled_total = None + error_message = f"{type(error).__name__}: {error}" + relative_gap = ( + None + if modeled_total is None + else modeled_total / diagnostic.benchmark_value - 1 + ) + within_bounds = ( + None + if modeled_total is None + or diagnostic.lower_bound is None + or diagnostic.upper_bound is None + else diagnostic.lower_bound <= modeled_total <= diagnostic.upper_bound + ) + aggregate_row: dict[str, Any] = { + "id": diagnostic.id, + "name": diagnostic.name, + "period": diagnostic.period, + "unit": "currency-USD", + "diagnostics_only": diagnostic.diagnostics_only, + "provisional": diagnostic.provisional, + "description": diagnostic.description, + "variable": diagnostic.variable, + "benchmark": _finite(diagnostic.benchmark_value), + "benchmark_year": diagnostic.benchmark_year or None, + "benchmark_source": diagnostic.source or None, + "benchmark_source_url": diagnostic.source_url or None, + "comparison_role": diagnostic.comparison_role, + "lower_bound": ( + None + if diagnostic.lower_bound is None + else _finite(diagnostic.lower_bound) + ), + "upper_bound": ( + None + if diagnostic.upper_bound is None + else _finite(diagnostic.upper_bound) + ), + "modeled_total": ( + None if modeled_total is None else _finite(modeled_total) + ), + "relative_gap": (None if relative_gap is None else _finite(relative_gap)), + "within_bounds": within_bounds, + } + if error_message is not None: + aggregate_row["status"] = "error" + aggregate_row["message"] = error_message + aggregate_diagnostic_rows.append(aggregate_row) + + # microcosm#456: the shared baseline simulation has served every reform, + # baseline-level, and administrative-aggregate row by now; release it + # before assembling the payload. if baseline is not None: release_engine_simulation(baseline) baseline = None @@ -1005,9 +1267,15 @@ def _level_total(level: BaselineLevelSpec) -> float: payload: dict[str, Any] = { "schema_version": REFORM_VALIDATION_SCHEMA_VERSION, "baseline_period": int(period), - "scoring_window": "see per-reform jct.window", + "scoring_window": "see per-row reform or benchmark window", "out_of_sample_simulated": out_of_sample_simulated, "reforms": rows, + "administrative_aggregate_diagnostics": { + "diagnostics_only": True, + "simulated": simulate is not None + or not administrative_aggregate_diagnostics, + "rows": aggregate_diagnostic_rows, + }, } if release_id is not None: payload["release_id"] = release_id diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/release_input_coverage.py b/packages/microcosm-build/src/microcosm/build/us_runtime/release_input_coverage.py index 40d983c3..499dcf92 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/release_input_coverage.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/release_input_coverage.py @@ -33,8 +33,10 @@ :func:`assert_release_input_coverage_manifest_current` proves the manifest against the pinned eCPS surface and the live PolicyEngine-US graph, so the register cannot silently rot: it must cover exactly the reference eCPS populated layers, -every declared column must be a real engine input leaf, and the SSI asset inputs -must stay hard requirements. +every declared column must be a real engine input leaf apart from the exact +pending-input declaration, and the SSI asset inputs must stay hard requirements. +That declaration exception never bypasses the release gate's independent locked- +registry requirement. """ from __future__ import annotations @@ -76,6 +78,9 @@ US_PRIOR_YEAR_INCOME_PERSISTED_OUTPUT_COLUMNS, ) from microcosm.build.us_runtime.qbi_inputs import US_QBI_OUTPUT_COLUMNS +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, +) from microcosm.build.us_runtime.relationship_inputs import ( US_RELATIONSHIP_INPUTS_OUTPUT_COLUMNS, ) @@ -109,6 +114,7 @@ "US_CGD_ROUTE_REQUIRED_INPUTS", "US_RELEASE_INPUT_COVERAGE_RESOURCE", "POST_REFERENCE_ECPS_REQUIRED_INPUTS", + "PROVISIONAL_PENDING_ENGINE_INPUTS", "RESTORED_REFERENCE_ECPS_REQUIRED_INPUTS", "ReformCoverageProbe", "ReleaseInputColumn", @@ -122,6 +128,7 @@ ] US_RELEASE_INPUT_COVERAGE_RESOURCE = "release_input_coverage_manifest.json" +_ENGINE_ABI_LOCK_RESOURCE = "engine_abi.lock.json" # The frozen reference artifact predates the retired pipeline's export of the # pure FLSA overtime-premium input, OBBBA's distinct qualifying passenger- @@ -149,9 +156,19 @@ "is_incapable_of_self_care", "health_insurance_premiums", "is_self_employed", + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, } ) +# The source column ships ahead of the engine release that consumes it. This +# exception applies only to manifest declaration validation below; it does not +# exempt the release gate's required=>locked-registry condition. Keep it exact +# and short-lived: once PolicyEngine-US #9306 is in the installed registry, +# subtracting it below is a no-op. +PROVISIONAL_PENDING_ENGINE_INPUTS = frozenset( + {US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN} +) + # Populated inputs in the frozen reference that have been restored from their # primary-source derivations. Keeping this separate from the post-reference # additions lets the anti-rot check reject any future attempt to put a completed @@ -420,6 +437,26 @@ def _resource_payload(resource: str) -> Mapping[str, Any]: return raw +def _locked_policyengine_us_version() -> str: + """Read the release gate's engine version from the generated ABI lock.""" + payload = _resource_payload(_ENGINE_ABI_LOCK_RESOURCE) + engine = payload.get("engine") + if not isinstance(engine, Mapping): + raise ValueError( + f"{_ENGINE_ABI_LOCK_RESOURCE}: 'engine' must be a JSON object." + ) + if engine.get("package") != "policyengine-us": + raise ValueError( + f"{_ENGINE_ABI_LOCK_RESOURCE}: expected the policyengine-us package." + ) + version = engine.get("version") + if not isinstance(version, str) or not version.strip(): + raise ValueError( + f"{_ENGINE_ABI_LOCK_RESOURCE}: engine.version must be a nonempty string." + ) + return version + + def load_release_input_coverage_manifest( resource: str = US_RELEASE_INPUT_COVERAGE_RESOURCE, ) -> ReleaseInputCoverageManifest: @@ -552,13 +589,14 @@ def us_release_input_coverage_gate( ) -> GateResult: """Build the named US release input-column coverage gate for an export frame. - Every ``required`` manifest column must be persisted by ``frame`` as a key - with at least one finite/non-null, non-default value; a required column that - is absent or degenerate (no observations, or every value the engine default) - fails the gate, and a reviewed exclusion whose column now carries signal is - stale and fails too (#286 cannot-rot). Run on the calibrated export frame - just before ``write_dataset``, it hard-fails the release like the export-mass - parity gate. + Every ``required`` manifest column must exist in the locked engine registry + and be persisted by ``frame`` as a key with at least one finite/non-null, + non-default value. A required column that is absent from the registry, + absent from the frame, or degenerate (no observations, or every value the + engine default) fails the gate, and a reviewed exclusion whose column now + carries signal is stale and fails too (#286 cannot-rot). Run on the + calibrated export frame just before ``write_dataset``, it hard-fails the + release like the export-mass parity gate. Args: frame: The export :class:`microcosm.frame.Frame`. @@ -572,6 +610,9 @@ def us_release_input_coverage_gate( required = manifest.required_columns reviewed = manifest.reviewed_exclusions relevant = required | set(reviewed) + locked_engine_version = _locked_policyengine_us_version() + engine_registry = {str(variable) for variable in engine.variables()} + missing_from_registry = sorted(required - engine_registry) present_values: dict[str, Any] = {} for entity in frame.entities: @@ -590,7 +631,7 @@ def us_release_input_coverage_gate( present_values["household_weight"] = frame.weights_for("household").values degenerate, no_observed = _degenerate_columns(present_values, engine) - return input_column_coverage_gate( + column_result = input_column_coverage_gate( present_values.keys(), required_columns=required, degenerate_columns=degenerate, @@ -598,6 +639,24 @@ def us_release_input_coverage_gate( reviewed_exclusions=reviewed, name="us_release_input_coverage", ) + registry_failures = tuple( + f"{column}: required release input is absent from the locked " + f"PolicyEngine-US {locked_engine_version} variable registry; the " + "adapter would silently omit it. Advance the engine pin to a version " + "that registers this input before release." + for column in missing_from_registry + ) + return GateResult( + name=column_result.name, + passed=column_result.passed and not registry_failures, + failures=(*column_result.failures, *registry_failures), + details={ + **dict(column_result.details), + "locked_engine_version": locked_engine_version, + "engine_registry_variable_count": len(engine_registry), + "required_missing_from_engine_registry": missing_from_registry, + }, + ) def _coverage_engine() -> Any | None: @@ -645,9 +704,11 @@ def assert_release_input_coverage_manifest_current( reflected here. - The three SSI countable-resource asset inputs must be ``required`` with no reviewed exclusion — the #368 red-gate guarantee cannot be quietly undone. - - Every declared column must be a real PolicyEngine-US input leaf, and every - probe's ``binding_inputs`` / ``budget_measure`` must resolve on the live - engine, so the contract cannot guard names the engine no longer has. + - Every declared column must be a real PolicyEngine-US input leaf, apart + from the exact provisional #722 input shipping ahead of its engine + release, and every probe's ``binding_inputs`` must resolve on the live + engine, so the contract cannot otherwise guard names the engine lacks. + This declaration-only exception does not exempt the runtime release gate. A no-op for the engine-graph half when no engine is available (the workspace test environment); the checked-in-facts half always runs. @@ -704,6 +765,13 @@ def assert_release_input_coverage_manifest_current( "required manifest column (#462)." ) + for column in PROVISIONAL_PENDING_ENGINE_INPUTS: + if column in reviewed or column not in required: + failures.append( + f"{column}: provisional pending engine input must remain a hard " + "requirement with no reviewed exclusion (#722)." + ) + for column in RESTORED_REFERENCE_ECPS_REQUIRED_INPUTS: if column in reviewed: failures.append( @@ -723,7 +791,9 @@ def assert_release_input_coverage_manifest_current( except ImportError: input_variables = None if input_variables is not None: - non_leaves = sorted(declared - input_variables) + non_leaves = sorted( + declared - input_variables - PROVISIONAL_PENDING_ENGINE_INPUTS + ) if non_leaves: failures.append( "manifest declares column(s) that are not PolicyEngine-US " diff --git a/packages/microcosm-build/tests/test_reform_validation.py b/packages/microcosm-build/tests/test_reform_validation.py index e547b9d1..b94d4a17 100644 --- a/packages/microcosm-build/tests/test_reform_validation.py +++ b/packages/microcosm-build/tests/test_reform_validation.py @@ -13,7 +13,9 @@ import microcosm.build.us_runtime.reform_validation as reform_validation_module from microcosm.build.us_runtime.reform_validation import ( REFORM_VALIDATION_SCHEMA_VERSION, + AdministrativeAggregateDiagnosticSpec, ReformValidationSpec, + administrative_aggregate_diagnostic_specs, in_sample_reform_specs, out_of_sample_reform_specs, reform_validation_payload, @@ -527,6 +529,184 @@ def test_write_round_trips(tmp_path): assert json.loads(path.read_text())["reforms"][0]["id"] == "obbba_salt" +def test_shipped_form_8960_aggregate_diagnostics_are_explicitly_non_gating(): + specs = administrative_aggregate_diagnostic_specs() + assert [spec.id for spec in specs] == [ + "form_8960_net_investment_income", + "form_8960_line_4c_passive_flowthrough_upper_bound", + ] + assert all(spec.period == 2023 for spec in specs) + assert all(spec.provisional for spec in specs) + assert all(spec.diagnostics_only for spec in specs) + + nii, passive = specs + assert nii.variable == "net_investment_income" + assert nii.benchmark_value == pytest.approx(1_197_238_417_000) + assert nii.comparison_role == "point_estimate" + assert nii.lower_bound is None + assert nii.upper_bound is None + + assert passive.variable == "passive_partnership_s_corp_income" + assert passive.benchmark_value == pytest.approx(109_256_984_000) + assert passive.comparison_role == "upper_bound" + assert passive.lower_bound == 0 + assert passive.upper_bound == pytest.approx(109_256_984_000) + assert "rental" in passive.description.lower() + assert "upper bound" in passive.description.lower() + + +def test_administrative_aggregate_loader_rejects_a_gating_row(tmp_path): + path = tmp_path / "repeal_revenue_benchmarks.json" + path.write_text( + json.dumps( + { + "schema_version": 1, + "administrative_aggregate_diagnostics": [ + { + "id": "bad_gate", + "name": "Bad gate", + "variable": "net_investment_income", + "period": 2023, + "benchmark": { + "value": 1, + "year": "TY2023", + "source": "Synthetic", + "source_url": "", + }, + "comparison_role": "point_estimate", + "provisional": True, + "diagnostics_only": False, + "description": "Must remain diagnostic-only.", + } + ], + } + ) + ) + with pytest.raises(ValueError, match="diagnostics_only must be true"): + administrative_aggregate_diagnostic_specs(path) + + +def test_administrative_aggregate_diagnostics_share_baseline_and_emit_table(): + calls = [] + + def simulate(reform): + calls.append(reform) + return _FakeSim( + { + "net_investment_income": 1_100_000_000_000, + "passive_partnership_s_corp_income": 55_000_000_000, + } + ) + + payload = reform_validation_payload( + (), + period=2024, + simulate=simulate, + administrative_aggregate_diagnostics=( + AdministrativeAggregateDiagnosticSpec( + id="nii", + name="NII", + variable="net_investment_income", + period=2023, + benchmark_value=1_197_238_417_000, + benchmark_year="TY2023", + source="Form 8960 line 12", + source_url="", + description="Synthetic point comparison.", + comparison_role="point_estimate", + provisional=True, + diagnostics_only=True, + ), + AdministrativeAggregateDiagnosticSpec( + id="passive", + name="Passive", + variable="passive_partnership_s_corp_income", + period=2023, + benchmark_value=109_256_984_000, + benchmark_year="TY2023", + source="Form 8960 line 4c", + source_url="", + description="Synthetic upper-bound comparison.", + comparison_role="upper_bound", + provisional=True, + diagnostics_only=True, + lower_bound=0, + upper_bound=109_256_984_000, + ), + ), + ) + + # Both rows are plain totals from one shared baseline. No reform is built. + assert calls == [None] + table = payload["administrative_aggregate_diagnostics"] + assert table["diagnostics_only"] is True + assert table["simulated"] is True + assert payload["out_of_sample_simulated"] is True + assert payload["reforms"] == [] + + nii, passive = table["rows"] + assert nii["diagnostics_only"] is True + assert nii["provisional"] is True + assert nii["modeled_total"] == pytest.approx(1_100_000_000_000) + assert "neutralized_variable" not in nii + assert "parameter_changes" not in nii + assert nii["relative_gap"] == pytest.approx( + 1_100_000_000_000 / 1_197_238_417_000 - 1 + ) + assert nii["within_bounds"] is None + assert passive["modeled_total"] == pytest.approx(55_000_000_000) + assert passive["comparison_role"] == "upper_bound" + assert passive["within_bounds"] is True + + +def test_administrative_aggregate_error_is_contained_and_not_a_release_gate(): + specs = ( + AdministrativeAggregateDiagnosticSpec( + id="missing", + name="Missing", + variable="missing_measure", + period=2023, + benchmark_value=1, + benchmark_year="TY2023", + source="Synthetic", + source_url="", + description="Deliberately missing measure.", + comparison_role="point_estimate", + provisional=True, + diagnostics_only=True, + ), + AdministrativeAggregateDiagnosticSpec( + id="present", + name="Present", + variable="present_measure", + period=2023, + benchmark_value=50, + benchmark_year="TY2023", + source="Synthetic", + source_url="", + description="Present measure.", + comparison_role="point_estimate", + provisional=True, + diagnostics_only=True, + ), + ) + payload = reform_validation_payload( + (), + period=2024, + simulate=lambda reform: _FakeSim({"present_measure": 45}), + administrative_aggregate_diagnostics=specs, + ) + missing, present = payload["administrative_aggregate_diagnostics"]["rows"] + assert missing["status"] == "error" + assert missing["message"].startswith("KeyError:") + assert missing["modeled_total"] is None + assert missing["relative_gap"] is None + assert present["modeled_total"] == pytest.approx(45) + # This pre-existing field controls the publish guard. The contained + # diagnostics failure does not alter it. + assert payload["out_of_sample_simulated"] is True + + def test_soi_baseline_levels_load_from_default_config(): from microcosm.build.us_runtime.reform_validation import soi_baseline_level_specs @@ -893,14 +1073,12 @@ def test_state_reform_specs_shipped_config_loads(): ) # Federal rows score federal income tax against JCT/CBO published figures. assert all( - spec.budget_measure == "income_tax" - for spec in by_category["Federal reform"] + spec.budget_measure == "income_tax" for spec in by_category["Federal reform"] ) # Mechanical rows measure the reform's own spending variable, so the # benchmark is an exact external anchor (population x amount). assert all( - spec.jct_score_type == "mechanical" - for spec in by_category["Mechanical check"] + spec.jct_score_type == "mechanical" for spec in by_category["Mechanical check"] ) diff --git a/packages/microcosm-build/tests/test_release_input_coverage.py b/packages/microcosm-build/tests/test_release_input_coverage.py index 5a1601e6..eaf4a121 100644 --- a/packages/microcosm-build/tests/test_release_input_coverage.py +++ b/packages/microcosm-build/tests/test_release_input_coverage.py @@ -11,12 +11,12 @@ 5. a bound reform scoring ~$0 fails the reform-coverage smoke. The frame is a real :class:`~microcosm.frame.Frame`; most tests use an engine stub -exposing only ``default_values`` (the surface the gate uses), and the simulation is -injected (with ``_build_reform`` monkeypatched). One optional regression reproduces -the nullable-boolean failure against the real PolicyEngine-US defaults and full US -entity schema. Separate tests assert the shipped manifest keeps the #368 -red-by-design guarantee: the SSI countable-resource assets stay hard requirements -with no exclusion, and demoting one is rejected. +exposing ``default_values`` and the locked ``variables`` registry, and the +simulation is injected (with ``_build_reform`` monkeypatched). One optional +regression reproduces the nullable-boolean failure against the real PolicyEngine-US +defaults and full US entity schema. Separate tests assert the shipped manifest +keeps the #368 red-by-design guarantee: the SSI countable-resource assets stay hard +requirements with no exclusion, and demoting one is rejected. """ from __future__ import annotations @@ -135,14 +135,22 @@ def _household_weight_frame( class _StubEngine: - """Only ``default_values(names)`` — the single engine surface the gate uses.""" + """The default-value and locked-variable surfaces used by the gate.""" - def __init__(self, defaults: dict[str, object]) -> None: + def __init__( + self, + defaults: dict[str, object], + variables: set[str] | None = None, + ) -> None: self._defaults = dict(defaults) + self._variables = set(defaults) if variables is None else set(variables) def default_values(self, names) -> dict[str, object]: return {name: self._defaults[name] for name in names if name in self._defaults} + def variables(self) -> list[str]: + return sorted(self._variables) + def _manifest( columns: tuple[ReleaseInputColumn, ...], @@ -203,7 +211,7 @@ def test_missing_required_column_fails(self) -> None: for failure in result.failures ) - def test_degenerate_required_column_without_exclusion_fails(self) -> None: + def test_required_all_zero_column_fails_when_registry_contains_it(self) -> None: # Case 3: stock_assets is present but every value is the engine default, # so the export writer's default-broadcast makes it indistinguishable # from absence — and there is no reviewed exclusion to accept it. @@ -217,12 +225,35 @@ def test_degenerate_required_column_without_exclusion_fails(self) -> None: frame, _StubEngine(_DEFAULTS), manifest=_CONTRACT ) assert not result.passed + assert result.details["required_missing_from_engine_registry"] == [] assert "stock_assets" in result.details["degenerate_required"] assert any( "stock_assets" in failure and "default" in failure for failure in result.failures ) + def test_required_column_absent_from_locked_registry_fails_even_with_signal( + self, + ) -> None: + name = "future_engine_input" + manifest = _manifest((ReleaseInputColumn(name, "required"),)) + frame = _person_frame({name: np.asarray([0.0, 125.0])}) + + result = us_release_input_coverage_gate( + frame, + _StubEngine({name: 0.0}, variables=set()), + manifest=manifest, + ) + + assert not result.passed + assert result.details["missing"] == [] + assert result.details["degenerate_required"] == [] + assert result.details["locked_engine_version"] == "1.764.6" + assert result.details["required_missing_from_engine_registry"] == [name] + assert len(result.failures) == 1 + assert name in result.failures[0] + assert "locked PolicyEngine-US 1.764.6 variable registry" in result.failures[0] + def test_all_nonfinite_required_asset_columns_fail(self) -> None: assets = tuple(sorted(SSI_COUNTABLE_RESOURCE_ASSETS)) assert assets == ("bank_account_assets", "bond_assets", "stock_assets") @@ -732,6 +763,25 @@ def test_manifest_is_current(self) -> None: # SSI assets must stay hard requirements. assert_release_input_coverage_manifest_current() + def test_manifest_declaration_may_precede_engine_registry(self) -> None: + # This is only the manifest-authoring exception. The runtime release + # gate independently fails required names absent from the locked graph. + manifest = load_release_input_coverage_manifest() + for engine_has_passive_input in (False, True): + variables = set(manifest.declared_columns) + if not engine_has_passive_input: + variables.remove("passive_partnership_s_corp_income") + engine = type( + "FixtureVariableRegistry", + (), + {"variables": lambda _self, _variables=variables: sorted(_variables)}, + )() + + assert_release_input_coverage_manifest_current( + engine=engine, + manifest=manifest, + ) + def test_medicare_part_b_plural_names_are_deliberate_nonrequirements( self, ) -> None: diff --git a/packages/microcosm-build/tests/test_spec_engine_coverage_tool.py b/packages/microcosm-build/tests/test_spec_engine_coverage_tool.py index c49b9a38..e3fd0ea9 100644 --- a/packages/microcosm-build/tests/test_spec_engine_coverage_tool.py +++ b/packages/microcosm-build/tests/test_spec_engine_coverage_tool.py @@ -52,22 +52,22 @@ def test_us_coverage_is_exact_complete_and_honest( assert_coverage_complete(coverage_report) assert coverage_report["status"] == "pass" fields = coverage_report["field_usage"] - assert fields["configuration_field_count"] == 41_379 - assert fields["authored_normative_field_count"] == 32_160 - assert fields["resolved_binding_field_count"] == 9_219 - assert fields["consumed_field_count"] == 41_379 + assert fields["configuration_field_count"] == 41_441 + assert fields["authored_normative_field_count"] == 32_189 + assert fields["resolved_binding_field_count"] == 9_252 + assert fields["consumed_field_count"] == 41_441 assert fields["unused_field_count"] == 0 assert fields["multiple_primary_use_field_count"] == 0 assert fields["claim_count"] == 47 assert fields["mode_counts"] == { - "legacy_behavior": 13_244, + "legacy_behavior": 13_297, "compiler_semantic": 27_661, - "front_end_validation": 346, + "front_end_validation": 355, "identity_only": 128, } assert fields["generation0_effect_counts"] == { - "legacy_behavior": 37_717, - "no_generation0_effect": 3_662, + "legacy_behavior": 37_770, + "no_generation0_effect": 3_671, } inventory = coverage_report["inventory_coverage"] diff --git a/packages/microcosm-build/tests/test_spec_engine_engine_abi.py b/packages/microcosm-build/tests/test_spec_engine_engine_abi.py index 8948268d..21392067 100644 --- a/packages/microcosm-build/tests/test_spec_engine_engine_abi.py +++ b/packages/microcosm-build/tests/test_spec_engine_engine_abi.py @@ -362,8 +362,8 @@ def test_checked_in_us_lock_is_fresh_schema_valid_and_not_authored() -> None: for row in payload["programs"].values() ) remaining = payload["remaining_stage_input_manifest"] - assert len(remaining["rows"]) == 993 - assert remaining["receipt"]["entry_count"] == 993 + assert len(remaining["rows"]) == 997 + assert remaining["receipt"]["entry_count"] == 997 assert remaining["receipt"]["stage_counts"] == { "derive": 34, "seed": 29, diff --git a/packages/microcosm-build/tests/test_spec_engine_field_usage.py b/packages/microcosm-build/tests/test_spec_engine_field_usage.py index e0f565e0..0cbcbd22 100644 --- a/packages/microcosm-build/tests/test_spec_engine_field_usage.py +++ b/packages/microcosm-build/tests/test_spec_engine_field_usage.py @@ -92,22 +92,22 @@ def _mutated_bundle( def test_exact_complete_ledger_has_one_primary_mode_per_pointer(field_ledger) -> None: - assert len(field_ledger.fields) == EXPECTED_CONFIGURATION_FIELD_COUNT == 41_379 + assert len(field_ledger.fields) == EXPECTED_CONFIGURATION_FIELD_COUNT == 41_441 assert field_ledger.source_counts == { - "authored": 32_160, - "resolved_bindings": 9_219, + "authored": 32_189, + "resolved_bindings": 9_252, } assert field_ledger.mode_counts == { - "legacy_behavior": 13_244, + "legacy_behavior": 13_297, "compiler_semantic": 27_661, - "front_end_validation": 346, + "front_end_validation": 355, "identity_only": 128, } assert field_ledger.generation0_effect_counts == { - "legacy_behavior": 37_717, - "no_generation0_effect": 3_662, + "legacy_behavior": 37_770, + "no_generation0_effect": 3_671, } - assert len({field.pointer for field in field_ledger.fields}) == 41_379 + assert len({field.pointer for field in field_ledger.fields}) == 41_441 def test_eligibility_concepts_are_validation_not_generation0_behavior( diff --git a/packages/microcosm-build/tests/test_spec_engine_identity_contracts.py b/packages/microcosm-build/tests/test_spec_engine_identity_contracts.py index b4693a0e..6f210699 100644 --- a/packages/microcosm-build/tests/test_spec_engine_identity_contracts.py +++ b/packages/microcosm-build/tests/test_spec_engine_identity_contracts.py @@ -25,6 +25,9 @@ from microcosm.build.us_runtime.qbi_inputs import ( us_qbi_reconciliation_contract_identity, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + us_qbi_passive_passthrough_contract_identity, +) from microcosm.build.us_runtime.us_late_producer_registry import ( CANONICAL_US_LATE_TRANSFER_GROUPS, ) @@ -75,6 +78,9 @@ def test_pipeline_contract_is_an_exact_generation_zero_projection() -> None: POOL_POST_CLONE_SOURCE_OPERATOR_ORDER ) assert contract["derive_operator_order"] == list(POOL_DERIVE_OPERATOR_ORDER) + assert contract["qbi_passive_passthrough"] == ( + us_qbi_passive_passthrough_contract_identity() + ) assert contract["qbi_reconciliation"] == (us_qbi_reconciliation_contract_identity()) assert contract["simulation_household_batch_size"] == { "value": POOL_SIMULATION_HOUSEHOLD_BATCH_SIZE, diff --git a/packages/microcosm-build/tests/test_spec_engine_inventory_coverage.py b/packages/microcosm-build/tests/test_spec_engine_inventory_coverage.py index 1a514700..c87b9af1 100644 --- a/packages/microcosm-build/tests/test_spec_engine_inventory_coverage.py +++ b/packages/microcosm-build/tests/test_spec_engine_inventory_coverage.py @@ -90,7 +90,7 @@ "source_operators": 16, "source_stages": 37, "stacked_checkpoint_full_components": 12, - "stacked_checkpoint_pool_code_components": 19, + "stacked_checkpoint_pool_code_components": 20, "stacked_checkpoint_static_components": 9, "tail_control_fields": 934, "take_up_pipeline_steps": 24, diff --git a/packages/microcosm-build/tests/test_us_capital_gain_distributions.py b/packages/microcosm-build/tests/test_us_capital_gain_distributions.py index d5d5487e..9113ca9d 100644 --- a/packages/microcosm-build/tests/test_us_capital_gain_distributions.py +++ b/packages/microcosm-build/tests/test_us_capital_gain_distributions.py @@ -281,9 +281,10 @@ def test_base_outer_stage_records_and_materializes_the_declared_split( stage_index = pipeline_names.index( builder.CAPITAL_GAIN_DISTRIBUTIONS_STAGE_NAME ) - assert pipeline_names[stage_index - 1 : stage_index + 2] == [ + assert pipeline_names[stage_index - 1 : stage_index + 3] == [ builder.PUF_CAPITAL_GAINS_TAIL_STAGE_NAME, builder.CAPITAL_GAIN_DISTRIBUTIONS_STAGE_NAME, + "qbi_passive_passthrough", "qbi_reconciliation", ] assert context["completed"] == pipeline_names[: stage_index + 1] diff --git a/packages/microcosm-build/tests/test_us_fiscal_refresh_builder.py b/packages/microcosm-build/tests/test_us_fiscal_refresh_builder.py index a5fa7c08..91af4929 100644 --- a/packages/microcosm-build/tests/test_us_fiscal_refresh_builder.py +++ b/packages/microcosm-build/tests/test_us_fiscal_refresh_builder.py @@ -4287,6 +4287,11 @@ def fake_base_population_mass_repair(frame): "with_us_qbi_input_reconciliation", lambda frame: frame, ) + monkeypatch.setattr( + builder, + "_with_qbi_passive_passthrough_if_missing", + lambda frame, *, seed: frame, + ) monkeypatch.setattr( builder, "us_qbi_inputs_signal_gate", @@ -6819,6 +6824,39 @@ def fake_calculate_array(simulation, variable, *, map_to=None): ) +def test_passive_passthrough_assignment_preserves_rebuilt_support( + monkeypatch, +) -> None: + builder = _load_builder_module() + calls: list[tuple[object, int]] = [] + + class FixtureFrame: + def __init__(self, *, already_assigned: bool) -> None: + columns = ( + {"passive_partnership_s_corp_income": [10.0]} + if already_assigned + else {} + ) + self.person = pd.DataFrame(columns) + + def table(self, entity: str) -> pd.DataFrame: + assert entity == "person" + return self.person + + assigned = FixtureFrame(already_assigned=True) + monkeypatch.setattr( + builder, + "with_us_qbi_passive_passthrough_assignment", + lambda frame, *, seed: calls.append((frame, seed)) or assigned, + ) + legacy = FixtureFrame(already_assigned=False) + rebuilt = FixtureFrame(already_assigned=True) + + assert builder._with_qbi_passive_passthrough_if_missing(legacy, seed=42) is assigned + assert builder._with_qbi_passive_passthrough_if_missing(rebuilt, seed=99) is rebuilt + assert calls == [(legacy, 42)] + + def test_aca_source_tax_unit_table_batches_policyengine_inputs(monkeypatch) -> None: builder = _load_builder_module() person = pd.DataFrame( @@ -8799,6 +8837,7 @@ def call_name(call: ast.Call) -> str | None: assert pool_owned_call_sites == guarded_call_sites assert { "with_us_weeks_unemployed", + "_with_qbi_passive_passthrough_if_missing", "with_us_qbi_input_reconciliation", "with_us_childcare_inputs", "with_us_energy_subsidy_input", diff --git a/packages/microcosm-build/tests/test_us_l0_refit_export.py b/packages/microcosm-build/tests/test_us_l0_refit_export.py index d6a756d8..be32627f 100644 --- a/packages/microcosm-build/tests/test_us_l0_refit_export.py +++ b/packages/microcosm-build/tests/test_us_l0_refit_export.py @@ -95,6 +95,7 @@ def _us_frame(**person_extra: object) -> Frame: "business_is_sstb": [False, True, False], "qualified_bdc_income": [0.0, 20.0, 0.0], "qualified_reit_and_ptp_income": [100.0, 0.0, 50.0], + "passive_partnership_s_corp_income": [25.0, 0.0, 10.0], "sstb_self_employment_income_before_lsr": [0.0, 1_000.0, 0.0], "sstb_unadjusted_basis_qualified_property": [0.0, 5_000.0, 0.0], "sstb_w2_wages_from_qualified_business": [0.0, 2_000.0, 0.0], @@ -1098,6 +1099,9 @@ def write_dataset(self, bundle, path, period): assert "keogh_distributions" in summary["required_person_source_columns"] assert "business_is_sstb" in summary["required_person_source_columns"] assert "qualified_reit_and_ptp_income" in summary["required_person_source_columns"] + assert ( + "passive_partnership_s_corp_income" in summary["required_person_source_columns"] + ) assert "domestic_production_ald" in summary["required_source_columns"] assert "would_file_taxes_voluntarily" in summary["required_source_columns"] assert ( diff --git a/packages/microcosm-build/tests/test_us_multispine_pool.py b/packages/microcosm-build/tests/test_us_multispine_pool.py index 35e1b826..5ccceec3 100644 --- a/packages/microcosm-build/tests/test_us_multispine_pool.py +++ b/packages/microcosm-build/tests/test_us_multispine_pool.py @@ -84,6 +84,10 @@ us_qbi_reconciliation_change_receipt, with_us_qbi_input_reconciliation, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, + US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS, +) from microcosm.build.us_runtime.spine_agreement import ( SpineAgreementSpec, default_spine_agreement_registry, @@ -1429,6 +1433,10 @@ def test_remaining_stage_manifest_covers_every_derive_read() -> None: ("person", "schedule_d_capital_gain_distributions"), ("tax_unit", "tax_unit_id"), }, + "with_us_qbi_passive_passthrough_assignment": { + ("person", variable) + for variable in US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS + }, "with_us_qbi_input_reconciliation": { *{("person", variable) for variable in US_QBI_OUTPUT_COLUMNS}, ("person", "self_employment_income_before_lsr"), @@ -1643,9 +1651,9 @@ def test_simulation_projection_defaults_match_pinned_engine_surface() -> None: def test_remaining_stage_manifest_is_unique_complete_and_stable() -> None: manifest = pool_remaining_stage_input_manifest(_installed_variable_metadata_index()) - assert len(manifest) == 993 + assert len(manifest) == 997 assert Counter(entry.stage for entry in manifest) == Counter( - {"derive": 34, "seed": 29, "simulate": 930} + {"derive": 38, "seed": 29, "simulate": 930} ) assert len( { @@ -1658,9 +1666,9 @@ def test_remaining_stage_manifest_is_unique_complete_and_stable() -> None: receipt = pool_remaining_stage_input_manifest_receipt( _installed_variable_metadata_index() ) - assert receipt["entry_count"] == 993 + assert receipt["entry_count"] == 997 assert receipt["stage_counts"] == { - "derive": 34, + "derive": 38, "seed": 29, "simulate": 930, } @@ -2983,8 +2991,8 @@ def observe_guarded_chain( for phase in contract.phases } assert observed_placements == registered_placements - assert len({name for name, _phase in observed_placements}) == 23 - assert len(observed_placements) == 24 + assert len({name for name, _phase in observed_placements}) == 24 + assert len(observed_placements) == 25 def test_derive_stage_rejects_preclone_pool_before_kernels( @@ -3011,6 +3019,11 @@ def unexpected_kernel(frame: Frame) -> Frame: "with_us_qbi_input_reconciliation", unexpected_kernel, ) + monkeypatch.setattr( + multispine_pool_module, + "with_us_qbi_passive_passthrough_assignment", + unexpected_kernel, + ) with pytest.raises(ValueError, match="post_clone.*incompatible clone provenance"): multispine_pool_module.derive_multispine_pool_inputs(assembled) @@ -3032,15 +3045,19 @@ def test_derive_stage_keeps_whole_pool_qbi_reconciliation() -> None: person["self_employment_income_before_lsr"] = 10.0 person["SEMP"] = 10.0 person["sstb_self_employment_income_before_lsr"] = 5.0 + person["partnership_income"] = 100.0 + person["s_corp_income"] = 0.0 + person["rental_income"] = 0.0 + person["estate_income"] = 0.0 frame = _replace_person(frame, person) result = multispine_pool_module.derive_multispine_pool_inputs(frame) derived = result.frame.table("person") assert result.receipt["operator_order"] == list(POOL_DERIVE_OPERATOR_ORDER) - assert result.receipt["remaining_stage_input_manifest"]["entry_count"] == 993 + assert result.receipt["remaining_stage_input_manifest"]["entry_count"] == 997 assert result.receipt["remaining_stage_input_manifest"]["stage_counts"] == { - "derive": 34, + "derive": 38, "seed": 29, "simulate": 930, } @@ -3060,10 +3077,36 @@ def test_derive_stage_keeps_whole_pool_qbi_reconciliation() -> None: == 0 ) assert derived["schedule_d_capital_gain_distributions"].notna().all() + assert US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN in derived assert derived["self_employment_income_before_lsr"].eq(15.0).all() assert derived["sstb_self_employment_income_before_lsr"].eq(0.0).all() +def test_passive_assignment_preserves_archived_qbi_leaf_bytes() -> None: + pytest.importorskip("policyengine_us") + frame = _qbi_ready_derive_frame() + person = frame.table("person").copy() + person["partnership_income"] = 2_000_000.0 + frame = _replace_person(frame, person) + without_passive = with_us_qbi_input_reconciliation( + _complete_schedule_d_input(frame).frame + ).table("person") + + with_passive = multispine_pool_module.derive_multispine_pool_inputs( + frame + ).frame.table("person") + + passive = with_passive[US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN].to_numpy() + assert np.flatnonzero(passive).tolist() == [5] + assert passive[5] == pytest.approx(158_609.82342210703) + + for column in US_QBI_OUTPUT_COLUMNS: + baseline = without_passive[column].to_numpy(copy=False) + staged = with_passive[column].to_numpy(copy=False) + assert staged.dtype.str == baseline.dtype.str + assert staged.tobytes() == baseline.tobytes() + + def _qbi_ready_derive_frame() -> Frame: assembled = assemble_spines( {"asec": _source_frame(), "acs": _source_frame()}, @@ -3078,6 +3121,10 @@ def _qbi_ready_derive_frame() -> Frame: person["self_employment_income_before_lsr"] = 10.0 person["SEMP"] = 10.0 person["sstb_self_employment_income_before_lsr"] = 5.0 + person["partnership_income"] = 100.0 + person["s_corp_income"] = 0.0 + person["rental_income"] = 0.0 + person["estate_income"] = 0.0 return _replace_person(frame, person) diff --git a/packages/microcosm-build/tests/test_us_multispine_pool_tool.py b/packages/microcosm-build/tests/test_us_multispine_pool_tool.py index 1031564d..97bd2ee3 100644 --- a/packages/microcosm-build/tests/test_us_multispine_pool_tool.py +++ b/packages/microcosm-build/tests/test_us_multispine_pool_tool.py @@ -1903,7 +1903,7 @@ def capture_equality(expected: object, actual: object) -> None: "country": "us", "schema_id": "country_spec", "schema_version": 1, - "spec_sha256": "586491f0866180f7a8f1e01530af5c2a3f2ebc18ad289ac1a3385d1897e79626", + "spec_sha256": "1e287bd9a5cd3d46e83b913cb2aa2ec60c4196065bbf98f8a84c476e13805290", }, } @@ -2106,7 +2106,7 @@ def test_constants_adapter_fixture_checkpoints_are_byte_identical_and_only_recei "country": "us", "schema_id": "country_spec", "schema_version": 1, - "spec_sha256": "586491f0866180f7a8f1e01530af5c2a3f2ebc18ad289ac1a3385d1897e79626", + "spec_sha256": "1e287bd9a5cd3d46e83b913cb2aa2ec60c4196065bbf98f8a84c476e13805290", } def run_fixture(root: Path, *, config_authority: str) -> dict[str, object]: @@ -3677,9 +3677,11 @@ def deterministic_fixture_h5( # checkpoint metadata). "pool_h5": "ced797ecdd44a638c2a3945f07ad612098a7095ca53a5f458699bca6d6e38b3e", "agreement": "f39f0d918bf7ee01dddb5517d8830b8adb541273c5be084307be91397caca3cb", - # Exact pre-#653 schema-4/materializer-3 publication bytes from - # preserved #652 commit 54d2dee6. - "manifest": "14e6b3a409dfe2108253668a65ed32c0365b246f379ad895d8441c939adde65e", + # The payload and agreement bytes remain exact; only the publication + # manifest changes because #722 content-binds the passive sibling's + # evidence, assumptions, and independent RNG contract (re-measured + # after merging origin/main at 2aa96795). + "manifest": "77db113c00e84521c9d00da5599b8d1f7f75a573a4dd9e6dd91f092c834174d6", } diff --git a/packages/microcosm-build/tests/test_us_puf_support_base_builder.py b/packages/microcosm-build/tests/test_us_puf_support_base_builder.py index 7f2d44dd..a93953db 100644 --- a/packages/microcosm-build/tests/test_us_puf_support_base_builder.py +++ b/packages/microcosm-build/tests/test_us_puf_support_base_builder.py @@ -773,6 +773,7 @@ def test_reconciled_outer_pipeline_order_is_locked() -> None: "qrf_finalization", "capital_gains_tail_transfer", "capital_gain_distributions", + "qbi_passive_passthrough", "qbi_reconciliation", "wic_post_clone", "housing_assistance", @@ -1118,7 +1119,14 @@ def test_outer_stage_resume_rejects_changed_builder_code( "_builder_code_identity", lambda: {"source_sha256": "first"}, ) + passive_contract = {"sha256": "a" * 64} + monkeypatch.setattr( + builder, + "us_qbi_passive_passthrough_contract_identity", + lambda: passive_contract, + ) first_config = builder._stage_run_config(args) + assert first_config["qbi_passive_passthrough_contract"] == passive_contract builder.StageRuntime( args.checkpoint_dir, builder.OUTER_STAGE_PIPELINE, @@ -1954,6 +1962,7 @@ def test_main_runs_cps_only_inputs_before_clone_and_after_puf_then_fails_gate( prior_year_income_reconciliation_frames: list[object] = [] capital_gains_tail_calls: list[object] = [] capital_gain_distributions_calls: list[object] = [] + passive_passthrough_calls: list[tuple[object, int]] = [] qbi_reconciliation_calls: list[object] = [] monkeypatch.setattr( @@ -2234,6 +2243,16 @@ def fake_capital_gain_distributions(args, frame): fake_capital_gain_distributions, ) + def fake_passive_passthrough(frame, *, seed): + passive_passthrough_calls.append((frame, seed)) + return "passive-passthrough" + + monkeypatch.setattr( + builder, + "with_us_qbi_passive_passthrough_assignment", + fake_passive_passthrough, + ) + def fake_qbi_reconciliation(frame): qbi_reconciliation_calls.append(frame) return "qbi-reconciled" @@ -2513,7 +2532,8 @@ def fake_retirement_distributions_signal_gate(frame): assert capital_gains_tail_calls == [("puf-imputed", None)] assert capital_gain_distributions_calls == ["capital-gains-tail"] - assert qbi_reconciliation_calls == ["capital-gain-distributions"] + assert passive_passthrough_calls == [("capital-gain-distributions", 7)] + assert qbi_reconciliation_calls == ["passive-passthrough"] if failing_gate == "wic_claim": assert child_support_calls == [("housing-direct", 7, 2024)] assert prior_year_income_calls == [("cps", 7, 2024)] diff --git a/packages/microcosm-build/tests/test_us_qbi_passive_passthrough.py b/packages/microcosm-build/tests/test_us_qbi_passive_passthrough.py new file mode 100644 index 00000000..1a985d19 --- /dev/null +++ b/packages/microcosm-build/tests/test_us_qbi_passive_passthrough.py @@ -0,0 +1,505 @@ +"""Assignment and replay contracts for passive partnership/S-corp income.""" + +from __future__ import annotations + +import hashlib +import importlib.util +import json +import os +from copy import deepcopy +from importlib.resources import files +from pathlib import Path + +import numpy as np +import pandas as pd +import pytest + +from microcosm.build.us_runtime import qbi_passive_passthrough as passive_module +from microcosm.build.us_runtime.qbi_inputs import ( + US_QBI_BOOLEAN_OUTPUT_COLUMNS, + US_QBI_OUTPUT_COLUMNS, + with_us_qbi_input_reconciliation, +) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + QBI_PASSIVE_EVIDENCE_RESOURCE, + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, + assign_passive_partnership_s_corp_income, + calibrate_qbi_passive_log_odds_shift, + load_qbi_passive_passthrough_assumptions, + load_qbi_passive_passthrough_evidence, + validate_qbi_passive_passthrough_assumptions, + with_us_qbi_passive_passthrough_assignment, +) +from microcosm.frame import US_SCHEMA, Frame, WeightKind, Weights + +ROOT = Path(__file__).resolve().parents[3] +ASSUMPTIONS_BUILDER_PATH = ( + ROOT / "tools/build_us_qbi_passive_passthrough_assumptions.py" +) +PUF_REPLAY_ENVIRONMENT = "POPU" + "LACE_PUF_2024_H5" +EXPECTED_REPLAY_SHA256 = ( + "8182579ddfecaf5e5b872e2307b88f03e8e8def993171b648f701a19a847f37b" +) +EXPECTED_REPLAY_BYTES = 241_045_964 +EXPECTED_REPLAY_TAX_UNIT_ROWS = 207_692 +EXPECTED_REPLAY_PERSON_ROWS = 484_015 +PROVISIONAL_TARGET = 54_628_492_000.0 + + +def _load_assumptions_builder(): + spec = importlib.util.spec_from_file_location( + "qbi_passive_passthrough_assumptions_builder", + ASSUMPTIONS_BUILDER_PATH, + ) + assert spec is not None and spec.loader is not None + builder = importlib.util.module_from_spec(spec) + spec.loader.exec_module(builder) + return builder + + +def _constant_evidence( + *, + prevalence: float, + shares: list[float] | None = None, + quantiles: tuple[float, float, float, float, float] | None = None, +) -> dict[str, object]: + evidence = deepcopy(load_qbi_passive_passthrough_evidence()) + if shares is None: + shares = [0.5] * len(evidence["cells"]) + if len(shares) != len(evidence["cells"]): + raise AssertionError("The fixture requires one share per income band.") + names = ("q05", "q25", "q50", "q75", "q95") + for cell, share in zip(evidence["cells"], shares, strict=True): + cell["holding_prevalence"]["estimate"] = prevalence + values = quantiles or (share,) * len(names) + cell["conditional_share"]["selected_mean"] = float(np.mean(values)) + cell["conditional_share"]["selected_quantiles"] = dict( + zip(names, values, strict=True) + ) + return evidence + + +def _assumptions_with_shift(shift: float) -> dict[str, object]: + assumptions = deepcopy(load_qbi_passive_passthrough_assumptions()) + assumptions["calibration"]["log_odds_shift"] = shift + validate_qbi_passive_passthrough_assumptions(assumptions) + return assumptions + + +def _frame(person: pd.DataFrame) -> Frame: + person = person.copy(deep=True).reset_index(drop=True) + count = len(person) + ids = np.arange(1, count + 1, dtype=np.int64) + person.insert(0, "person_id", ids) + for entity in ("household", "tax_unit", "spm_unit", "family", "marital_unit"): + person[f"person_{entity}_id"] = ids + tables = { + "person": person, + "household": pd.DataFrame({"household_id": ids}), + "tax_unit": pd.DataFrame({"tax_unit_id": ids}), + "spm_unit": pd.DataFrame({"spm_unit_id": ids}), + "family": pd.DataFrame({"family_id": ids}), + "marital_unit": pd.DataFrame({"marital_unit_id": ids}), + } + return Frame( + tables, + US_SCHEMA, + {"household": Weights(np.ones(count), WeightKind.DESIGN)}, + ) + + +def _qbi_frame() -> Frame: + count = 64 + positions = np.arange(count) + columns: dict[str, np.ndarray] = {} + for offset, name in enumerate(US_QBI_OUTPUT_COLUMNS): + if name in US_QBI_BOOLEAN_OUTPUT_COLUMNS: + columns[name] = (positions + offset) % 3 == 0 + else: + columns[name] = positions.astype(np.float64) + offset + 0.125 + columns.update( + { + "partnership_income": np.where(positions % 3 == 0, 10_000.0, 0.0), + "s_corp_income": np.where(positions % 5 == 0, 20_000.0, 0.0), + "rental_income": positions.astype(np.float64) * 100.0, + "estate_income": positions.astype(np.float64) * 10.0, + "self_employment_income_before_lsr": ( + positions.astype(np.float64) + 1_000.0 + ), + } + ) + return _frame(pd.DataFrame(columns)) + + +def test_packaged_assumptions_are_strict_and_pin_evidence_digest( + monkeypatch: pytest.MonkeyPatch, +) -> None: + assumptions = load_qbi_passive_passthrough_assumptions() + evidence_bytes = ( + files("microcosm.build.us").joinpath(QBI_PASSIVE_EVIDENCE_RESOURCE).read_bytes() + ) + + assert ( + assumptions["evidence"]["sha256"] == hashlib.sha256(evidence_bytes).hexdigest() + ) + assert assumptions["calibration"]["provisional_target"]["amount"] == ( + PROVISIONAL_TARGET + ) + assert assumptions["random_streams"] == { + "bit_generator": "PCG64", + "root_seed_default": 0, + "family_entropy": 4722, + "presence_family": 0, + "share_family": 1, + "draw_policy": "full_length_before_support_masks", + } + + extra_key = deepcopy(assumptions) + extra_key["unreviewed"] = True + with pytest.raises(ValueError, match="keys must be exactly"): + validate_qbi_passive_passthrough_assumptions(extra_key) + + drifted_stream = deepcopy(assumptions) + drifted_stream["random_streams"]["family_entropy"] += 1 + with pytest.raises(ValueError, match="random-stream contract drifted"): + validate_qbi_passive_passthrough_assumptions(drifted_stream) + + out_of_bounds_shift = deepcopy(assumptions) + out_of_bounds_shift["calibration"]["log_odds_shift"] = 31.0 + with pytest.raises(ValueError, match="outside its solver bounds"): + validate_qbi_passive_passthrough_assumptions(out_of_bounds_shift) + + monkeypatch.setattr(passive_module, "_resource_sha256", lambda _name: "0" * 64) + with pytest.raises(ValueError, match="evidence digest does not match"): + load_qbi_passive_passthrough_assumptions() + + +def test_synthetic_income_bands_select_the_reviewed_share_cells() -> None: + evidence = _constant_evidence( + prevalence=1.0, + shares=[0.0, 0.2, 0.4, 0.6, 0.8, 1.0], + ) + assumptions = _assumptions_with_shift(30.0) + passthrough = np.full(11, 100.0) + schedule_e = np.array( + [ + -1.0, + 0.0, + 1.0, + 25_000.0, + 25_000.01, + 100_000.0, + 100_000.01, + 250_000.0, + 250_000.01, + 1_000_000.0, + 1_000_000.01, + ] + ) + + assigned = assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + evidence=evidence, + assumptions=assumptions, + ) + + np.testing.assert_allclose( + assigned, + [0.0, 0.0, 20.0, 20.0, 40.0, 40.0, 60.0, 60.0, 80.0, 80.0, 100.0], + ) + assert np.all(assigned >= 0.0) + assert np.all(assigned <= passthrough) + + +@pytest.mark.parametrize( + ("forms", "eligible"), + [ + ( + [ + "partnership", + "partnership_or_llc", + "s_corporation", + "sole_proprietorship", + "", + ], + [True, True, True, False, False], + ), + ([1, 2, 3, 0, -1], [True, True, False, False, False]), + ], +) +def test_latent_entity_form_only_routes_eligible_records( + forms: list[object], eligible: list[bool] +) -> None: + assigned = assign_passive_partnership_s_corp_income( + np.full(5, 100.0), + np.full(5, 50_000.0), + latent_entity_form=forms, + evidence=_constant_evidence(prevalence=1.0, shares=[1.0] * 6), + assumptions=_assumptions_with_shift(30.0), + ) + + np.testing.assert_array_equal(assigned, np.asarray(eligible) * 100.0) + + +@pytest.mark.parametrize( + ("passthrough", "schedule_e", "forms", "message"), + [ + ([1.0, np.nan], [1.0, 1.0], None, "must be finite"), + ([1.0, 1.0], [1.0, np.inf], None, "must be finite"), + ([1.0, 1.0], [1.0, 1.0], [1.0, np.nan], "codes must be finite"), + ], +) +def test_assignment_rejects_nonfinite_inputs( + passthrough: list[float], + schedule_e: list[float], + forms: list[float] | None, + message: str, +) -> None: + with pytest.raises(ValueError, match=message): + assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + latent_entity_form=forms, + ) + + +def test_assignment_uses_independent_full_length_rng_families() -> None: + count = 2_048 + seed = 19 + evidence = _constant_evidence( + prevalence=0.5, + quantiles=(0.0, 0.25, 0.5, 0.75, 1.0), + ) + assumptions = _assumptions_with_shift(0.0) + passthrough = np.ones(count) + schedule_e = np.full(count, 50_000.0) + assigned = assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + seed=seed, + evidence=evidence, + assumptions=assumptions, + ) + + streams = assumptions["random_streams"] + presence = np.random.Generator( + np.random.PCG64( + np.random.SeedSequence( + [seed, streams["family_entropy"], streams["presence_family"]] + ) + ) + ).random(count) + share = np.random.Generator( + np.random.PCG64( + np.random.SeedSequence( + [seed, streams["family_entropy"], streams["share_family"]] + ) + ) + ).random(count) + expected = np.where( + presence < 0.5, + np.interp(share, (0.05, 0.25, 0.5, 0.75, 0.95), (0, 0.25, 0.5, 0.75, 1)), + 0.0, + ) + np.testing.assert_array_equal(assigned, expected) + np.testing.assert_array_equal( + assigned, + assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + seed=seed, + evidence=evidence, + assumptions=assumptions, + ), + ) + assert not np.array_equal( + assigned, + assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + seed=seed + 1, + evidence=evidence, + assumptions=assumptions, + ), + ) + + support = np.ones(count, dtype=bool) + support[::4] = False + masked_income = passthrough.copy() + masked_income[~support] = 0.0 + support_masked = assign_passive_partnership_s_corp_income( + masked_income, + schedule_e, + seed=seed, + evidence=evidence, + assumptions=assumptions, + ) + form_masked = assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + seed=seed, + latent_entity_form=np.where(support, "partnership", "ineligible"), + evidence=evidence, + assumptions=assumptions, + ) + np.testing.assert_array_equal(support_masked[support], assigned[support]) + np.testing.assert_array_equal(form_masked[support], assigned[support]) + assert np.count_nonzero(support_masked[~support]) == 0 + assert np.count_nonzero(form_masked[~support]) == 0 + + +def test_current_qbi_pipeline_preserves_leaf_bytes_when_passive_realizes() -> None: + frame = _qbi_frame() + before = with_us_qbi_input_reconciliation(frame).table("person") + qbi_bytes = { + name: (before[name].dtype.str, before[name].to_numpy(copy=True).tobytes()) + for name in US_QBI_OUTPUT_COLUMNS + } + + after = with_us_qbi_input_reconciliation( + with_us_qbi_passive_passthrough_assignment(frame, seed=13) + ).table("person") + + assert US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN not in before + assert US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN in after + for name, (dtype, raw) in qbi_bytes.items(): + assert after[name].dtype.str == dtype + assert after[name].to_numpy(copy=False).tobytes() == raw + passthrough = after["partnership_income"] + after["s_corp_income"] + passive = after[US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN] + assert np.flatnonzero(passive.to_numpy()).tolist() == [25, 36] + assert passive.between(0.0, passthrough.clip(lower=0.0)).all() + + +def test_calibration_solver_hits_a_synthetic_target_and_rejects_impossible_one() -> ( + None +): + evidence = _constant_evidence(prevalence=0.5, shares=[0.5] * 6) + passthrough = np.array([100.0, 200.0]) + schedule_e = np.array([1.0, 1.0]) + weights = np.array([1.0, 2.0]) + + shift, achieved = calibrate_qbi_passive_log_odds_shift( + passthrough, + schedule_e, + weights, + evidence=evidence, + target=125.0, + ) + + assert shift == pytest.approx(0.0, abs=1e-12) + assert achieved == pytest.approx(125.0, abs=1e-10) + with pytest.raises(ValueError, match="target is unattainable"): + calibrate_qbi_passive_log_odds_shift( + passthrough, + schedule_e, + weights, + evidence=evidence, + target=300.0, + ) + + +def test_assumptions_builder_is_deterministic_on_a_synthetic_replay( + tmp_path: Path, +) -> None: + h5py = pytest.importorskip("h5py") + builder = _load_assumptions_builder() + evidence = _constant_evidence(prevalence=0.5, shares=[0.5] * 6) + evidence_path = tmp_path / QBI_PASSIVE_EVIDENCE_RESOURCE + evidence_path.write_text( + json.dumps(evidence, indent=2, sort_keys=True) + "\n", + encoding="utf-8", + ) + count = 5_000 + passthrough_value = PROVISIONAL_TARGET / (count * 0.25) + replay_path = tmp_path / "synthetic_replay.h5" + ids = np.arange(1, count + 1, dtype=np.int64) + with h5py.File(replay_path, mode="w") as replay: + replay["tax_unit_id"] = ids + replay["household_weight"] = np.ones(count) + replay["person_tax_unit_id"] = ids + replay["partnership_s_corp_income"] = np.full(count, passthrough_value) + replay["rental_income"] = np.zeros(count) + replay["estate_income"] = np.zeros(count) + + first_output = tmp_path / "first.json" + second_output = tmp_path / "second.json" + common = ["--puf-h5", str(replay_path), "--evidence", str(evidence_path)] + assert builder.main([*common, "--output", str(first_output)]) == 0 + assert builder.main([*common, "--output", str(second_output)]) == 0 + + assert first_output.read_bytes() == second_output.read_bytes() + payload = json.loads(first_output.read_text(encoding="utf-8")) + validate_qbi_passive_passthrough_assumptions(payload) + assert payload["calibration"]["log_odds_shift"] == pytest.approx(0.0, abs=1e-12) + assert payload["calibration"]["expected_aggregate"] == pytest.approx( + PROVISIONAL_TARGET, abs=1.0 + ) + assert payload["calibration"]["seeded_replay"]["relative_error"] <= 0.05 + + +@pytest.mark.skipif( + not os.environ.get(PUF_REPLAY_ENVIRONMENT), + reason=f"set {PUF_REPLAY_ENVIRONMENT} to run the restricted replay", +) +def test_restricted_replay_independently_resolves_persisted_shift_and_pins_artifact() -> ( + None +): + builder = _load_assumptions_builder() + replay_path = Path(os.environ[PUF_REPLAY_ENVIRONMENT]).expanduser() + passthrough, schedule_e, weights, artifact = builder.read_replay_artifact( + replay_path + ) + assumptions = load_qbi_passive_passthrough_assumptions() + committed_artifact = assumptions["calibration"]["replay_artifact"] + + assert artifact == { + "filename": "puf_2024.h5", + "sha256": EXPECTED_REPLAY_SHA256, + "bytes": EXPECTED_REPLAY_BYTES, + "tax_unit_rows": EXPECTED_REPLAY_TAX_UNIT_ROWS, + } + assert committed_artifact["sha256"] == EXPECTED_REPLAY_SHA256 + assert committed_artifact["bytes"] == EXPECTED_REPLAY_BYTES + assert committed_artifact["tax_unit_rows"] == EXPECTED_REPLAY_TAX_UNIT_ROWS + assert committed_artifact["person_rows"] == EXPECTED_REPLAY_PERSON_ROWS + + evidence = load_qbi_passive_passthrough_evidence() + bounds = evidence["external_anchor"]["passive_passthrough_bounds"] + target = (bounds["lower"]["amount"] + bounds["upper"]["amount"]) / 2.0 + solved_shift, solved_expected = calibrate_qbi_passive_log_odds_shift( + passthrough, + schedule_e, + weights, + evidence=evidence, + target=target, + ) + persisted_calibration = assumptions["calibration"] + + assert target == PROVISIONAL_TARGET + assert solved_shift == pytest.approx( + persisted_calibration["log_odds_shift"], + rel=0.0, + abs=1e-12, + ) + assert solved_expected == pytest.approx(target, rel=0.0, abs=1.0) + assert solved_expected == pytest.approx( + persisted_calibration["expected_aggregate"], + rel=0.0, + abs=1.0, + ) + + assigned = assign_passive_partnership_s_corp_income( + passthrough, + schedule_e, + seed=persisted_calibration["seeded_replay"]["seed"], + ) + achieved = float(np.dot(weights, assigned)) + + assert achieved == pytest.approx( + persisted_calibration["seeded_replay"]["aggregate"], + rel=0.0, + abs=1e-3, + ) + assert abs(achieved / target - 1.0) <= 0.05 diff --git a/packages/microcosm-build/tests/test_us_qbi_passive_passthrough_evidence.py b/packages/microcosm-build/tests/test_us_qbi_passive_passthrough_evidence.py new file mode 100644 index 00000000..737825b4 --- /dev/null +++ b/packages/microcosm-build/tests/test_us_qbi_passive_passthrough_evidence.py @@ -0,0 +1,289 @@ +"""Synthetic and packaged-resource tests for passive pass-through evidence.""" + +from __future__ import annotations + +import importlib.util +import json +import zipfile +from copy import deepcopy +from pathlib import Path + +import numpy as np +import pandas as pd +import pytest + +from microcosm.build.us_runtime.qbi_passive_passthrough_evidence import ( + FORM_8960_LINE_4C_AMOUNT, + FORM_8960_LINE_4C_TO_4A_RATIO, + SCF_PASSIVE_INCOME_BANDS, + SCF_PASSIVE_REQUIRED_COLUMNS, + build_qbi_passive_passthrough_resource, + build_scf_passive_passthrough_records, + load_qbi_passive_passthrough_resource, + validate_qbi_passive_passthrough_resource, + weighted_inverse_cdf, +) + +ROOT = Path(__file__).resolve().parents[3] +BUILDER_PATH = ROOT / "tools/build_us_qbi_passive_passthrough_evidence.py" + + +def _load_builder(): + spec = importlib.util.spec_from_file_location( + "qbi_passive_passthrough_evidence_builder", BUILDER_PATH + ) + assert spec is not None and spec.loader is not None + builder = importlib.util.module_from_spec(spec) + spec.loader.exec_module(builder) + return builder + + +def _row( + household_id: int, + implicate: int, + *, + schedule_e_income: float, + holder: bool, + nonactive_value: float, + active_value: float = 100.0, + weight: float = 100.0, +) -> dict[str, float]: + row = {column: 0.0 for column in SCF_PASSIVE_REQUIRED_COLUMNS} + row.update( + { + "y1": float(household_id * 10 + implicate), + "x42001": weight, + "x3103": 1.0, + "x3104": 1.0, + "x3105": 1.0, + "x3401": 1.0 if holder else 5.0, + "x5714": schedule_e_income, + "x3129": active_value, + "x3408": nonactive_value, + } + ) + return row + + +def _scf_fixture() -> pd.DataFrame: + band_values = (-1.0, 10_000.0, 50_000.0, 150_000.0, 500_000.0, 2_000_000.0) + rows: list[dict[str, float]] = [] + household_id = 1 + for band_index, income in enumerate(band_values): + # Every prevalence denominator meets n=30. The first share cell meets + # n=30; the other five each have one holder and must pool to all bands. + for household_index in range(30): + holder = band_index == 0 or household_index == 0 + nonactive = ( + float(10 + household_index) + if holder and not (band_index == 0 and household_index == 0) + else 0.0 + ) + for implicate in range(1, 6): + rows.append( + _row( + household_id, + implicate, + schedule_e_income=income, + holder=holder, + nonactive_value=nonactive, + weight=float(100 + household_index), + ) + ) + household_id += 1 + return pd.DataFrame.from_records(rows) + + +def _provenance() -> dict[str, object]: + return { + "generated_by": "synthetic test", + "run_command": "synthetic fixture", + "inputs": [{"filename": "synthetic.dta", "sha256": "0" * 64}], + "deterministic": True, + "random_draws": "none", + } + + +def test_scf_balance_sheet_formulas_match_scfp_construction() -> None: + rows = [ + _row( + 1, + implicate, + schedule_e_income=10_000.0, + holder=True, + nonactive_value=0.0, + ) + for implicate in range(1, 6) + ] + source = pd.DataFrame.from_records(rows) + source["x3129"] = 100.0 + source["x3124"] = 20.0 + source["x3126"] = 10.0 + source["x3127"] = 5.0 + source["x3121"] = 7.0 + source["x3122"] = 1.0 + source["x3229"] = 50.0 + source["x3224"] = 5.0 + source["x3226"] = 2.0 + source["x3227"] = 5.0 + source["x3221"] = 3.0 + source["x3222"] = 6.0 + source["x3335"] = 4.0 + source["x507"] = 10_000.0 # SCFP caps the business percentage at 90%. + source["x513"] = 100.0 + source["x526"] = 20.0 + source["x805"] = 10.0 + source["x905"] = 5.0 + source["x1005"] = 5.0 + source["x1103"] = 1.0 + source["x1108"] = 10.0 + source["x1114"] = 5.0 + source["x1119"] = 20.0 + source["x1125"] = 1.0 + source["x1130"] = 30.0 + source["x1136"] = 12.0 + source["x3408"] = 10.0 + source["x3412"] = 20.0 + source["x3416"] = 30.0 + + records = build_scf_passive_passthrough_records(source) + + # First active business 117; second 56; remaining businesses 4. + # The direct farm-secured allocations leave reduced balances 1, 20, and + # 3. X1136 therefore assigns 1/6 to the farm: FARMBUS is + # 90 - 9 - 27 - 1.8 = 52.2. NONACTBUS = 60. + assert records["actbus"].tolist() == pytest.approx([229.2] * 5) + assert records["nonactbus"].tolist() == pytest.approx([60.0] * 5) + assert records["nonactive_business_value_share"].tolist() == pytest.approx( + [60.0 / 289.2] * 5 + ) + + +def test_pooled_implicates_and_independent_thin_cell_fallbacks() -> None: + payload = build_qbi_passive_passthrough_resource( + _scf_fixture(), provenance=_provenance() + ) + + assert [cell["income_band"] for cell in payload["cells"]] == list( + SCF_PASSIVE_INCOME_BANDS + ) + first = payload["cells"][0] + assert first["requested_counts"]["active_pooled_record_count"] == 150 + assert first["requested_counts"]["active_implicate_adjusted_unweighted_n"] == 30 + assert first["holding_prevalence"]["estimate_level"] == "exact" + assert first["holding_prevalence"]["estimate"] == 1.0 + assert first["conditional_share"]["estimate_level"] == "exact" + assert first["conditional_share"]["source_income_band"] == "nonpositive" + + thin = payload["cells"][1] + assert thin["holding_prevalence"]["estimate_level"] == "exact" + assert thin["conditional_share"]["estimate_level"] == "all_income_bands" + assert thin["conditional_share"]["source_income_band"] == "all" + assert ( + thin["requested_counts"]["nonactive_holder_implicate_adjusted_unweighted_n"] + == 1.0 + ) + assert ( + thin["conditional_share"]["selected_quantiles"] + == payload["cells"][2]["conditional_share"]["selected_quantiles"] + ) + + +def test_holding_screener_retains_reported_zero_value_holders() -> None: + records = build_scf_passive_passthrough_records(_scf_fixture()) + payload = build_qbi_passive_passthrough_resource( + _scf_fixture(), provenance=_provenance() + ) + first = payload["cells"][0] + + assert first["requested_counts"]["nonactive_holder_pooled_record_count"] == 150 + first_band_holders = records.loc[ + records["income_band"].eq("nonpositive") & records["holds_nonactive_business"] + ] + assert first_band_holders["nonactive_business_value_share"].eq(0.0).sum() == 5 + + +def test_weighted_inverse_cdf_uses_weights_and_stable_ties() -> None: + quantiles = weighted_inverse_cdf( + np.array([0.1, 0.2, 0.9]), + np.array([1.0, 3.0, 1.0]), + ) + + assert quantiles == { + "q05": 0.1, + "q25": 0.2, + "q50": 0.2, + "q75": 0.2, + "q95": 0.9, + } + + +def test_builder_reads_equivalent_dta_and_zip_sources(tmp_path: Path) -> None: + source = _scf_fixture().iloc[:30].copy() + dta_path = tmp_path / "p22i6.dta" + zip_path = tmp_path / "scf2022s.zip" + source.to_stata(dta_path, write_index=False) + with zipfile.ZipFile(zip_path, "w") as archive: + archive.write(dta_path, arcname="p22i6.dta") + builder = _load_builder() + + dta_frame, dta_inputs = builder.read_scf_source(dta_path) + zip_frame, zip_inputs = builder.read_scf_source(zip_path) + + pd.testing.assert_frame_equal(dta_frame, zip_frame) + assert [record["role"] for record in dta_inputs] == ["scf_2022_source"] + assert [record["role"] for record in zip_inputs] == [ + "scf_2022_source", + "scf_2022_archive_member", + ] + assert zip_inputs[1]["sha256"] == dta_inputs[0]["sha256"] + + +def test_schema_rejects_deprovisionalized_or_inconsistent_payload() -> None: + payload = build_qbi_passive_passthrough_resource( + _scf_fixture(), provenance=_provenance() + ) + broken = deepcopy(payload) + broken["provisional"] = False + with pytest.raises(ValueError, match="must remain provisional"): + validate_qbi_passive_passthrough_resource(broken) + + broken = deepcopy(payload) + broken["cells"][1]["conditional_share"]["estimate_level"] = "exact" + with pytest.raises(ValueError, match="share fallback"): + validate_qbi_passive_passthrough_resource(broken) + + broken = deepcopy(payload) + broken["external_anchor"]["passive_passthrough_bounds"]["upper"]["amount"] = 1.0 + with pytest.raises(ValueError, match="upper bound"): + validate_qbi_passive_passthrough_resource(broken) + + +def test_packaged_resource_has_reviewed_cells_and_anchor() -> None: + payload = load_qbi_passive_passthrough_resource() + + estimates = { + cell["income_band"]: cell["holding_prevalence"]["estimate"] + for cell in payload["cells"] + } + assert estimates == pytest.approx( + { + "nonpositive": 0.033492918161629, + "0_to_25k": 0.041323551642334, + "25k_to_100k": 0.064532919876429, + "100k_to_250k": 0.096543423809845, + "250k_to_1m": 0.212268790432713, + "over_1m": 0.389806347521960, + } + ) + anchor = payload["external_anchor"] + assert anchor["form_8960"]["line_4c"]["amount"] == FORM_8960_LINE_4C_AMOUNT + assert anchor["line_4c_to_4a_survival_ratio"] == pytest.approx( + FORM_8960_LINE_4C_TO_4A_RATIO + ) + assert anchor["passive_passthrough_bounds"]["lower"]["amount"] == 0.0 + assert ( + anchor["passive_passthrough_bounds"]["upper"]["amount"] + == FORM_8960_LINE_4C_AMOUNT + ) + assert json.dumps(payload, allow_nan=False) diff --git a/packages/microcosm-build/tests/test_us_spine_blindness.py b/packages/microcosm-build/tests/test_us_spine_blindness.py index 9267ed80..67a569ce 100644 --- a/packages/microcosm-build/tests/test_us_spine_blindness.py +++ b/packages/microcosm-build/tests/test_us_spine_blindness.py @@ -74,6 +74,7 @@ "late_producer_dag.py", "multispine_pool.py", "puf_support.py", + "qbi_passive_passthrough.py", "spine_agreement.py", "spine_assembly.py", "us_late_overlap_ownership.py", @@ -161,6 +162,7 @@ "other_health_insurance.py", "prior_year_income.py", "qbi_inputs.py", + "qbi_passive_passthrough.py", "retirement_contributions.py", "retirement_distributions.py", "salt_refund_income.py", @@ -228,6 +230,7 @@ "puf_qrf_worker.py", "puf_source_agi.py", "puf_support.py", + "qbi_passive_passthrough_evidence.py", "puma_ladder.py", "puma_ladder_sources.py", "reform_coverage_smoke.py", @@ -3278,8 +3281,8 @@ def test_pool_build_tool_import_graph_is_source_spine_blind() -> None: for tool in _SPINE_BLIND_BUILD_TOOLS: runtime_graph, missing_modules = _us_runtime_import_graph(tool) - assert len(runtime_graph) == 65, ( - f"{tool.name} must reach the pinned 65-module runtime graph; " + assert len(runtime_graph) == 67, ( + f"{tool.name} must reach the pinned 67-module runtime graph; " f"reached {len(runtime_graph)}" ) assert not missing_modules, ( diff --git a/packages/microcosm-build/tests/test_us_stacked_spine.py b/packages/microcosm-build/tests/test_us_stacked_spine.py index 4e1b8f9a..21afdc87 100644 --- a/packages/microcosm-build/tests/test_us_stacked_spine.py +++ b/packages/microcosm-build/tests/test_us_stacked_spine.py @@ -68,6 +68,10 @@ US_QBI_BOOLEAN_OUTPUT_COLUMNS, US_QBI_OUTPUT_COLUMNS, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, + US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS, +) from microcosm.build.us_runtime.spine_assembly import assemble_spines from microcosm.build.us_runtime.stacked_spine import ( DEFAULT_STACKED_HOUSEHOLD_MASS_SHARES, @@ -1292,6 +1296,8 @@ def test_puf_finalize_masks_earnings_allocation_to_age_15_plus() -> None: person = frame.table("person") for column in US_QBI_OUTPUT_COLUMNS: person[column] = False if column in US_QBI_BOOLEAN_OUTPUT_COLUMNS else 0.0 + for column in US_QBI_PASSIVE_PASSTHROUGH_PERSON_INPUT_COLUMNS: + person[column] = 0.0 person["long_term_capital_gains_before_response"] = 0.0 person["non_sch_d_capital_gains"] = 0.0 tax_unit = frame.table("tax_unit") @@ -1363,6 +1369,7 @@ def test_puf_finalize_masks_earnings_allocation_to_age_15_plus() -> None: derived_person = derived.frame.table("person") qbi_receipt = derived.receipt["qbi_input_reconciliation"] + assert derived_person[US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN].eq(0.0).all() assert ( derived_person.loc[native_child, "self_employment_income_before_lsr"] .eq(0.0) diff --git a/tools/build_us_fiscal_refresh_release.py b/tools/build_us_fiscal_refresh_release.py index 7d5d1e95..184b4a29 100644 --- a/tools/build_us_fiscal_refresh_release.py +++ b/tools/build_us_fiscal_refresh_release.py @@ -87,6 +87,7 @@ US_JCT_TAX_EXPENDITURE_REFORMS, US_MEDICAID_ENROLLMENT_TARGET_TABLE, US_MEDICAID_TAKE_UP_VARIABLE, + US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN, US_SOURCE_MANIFEST, apply_us_medicaid_enrollment_substitutions, assert_release_input_coverage_manifest_current, @@ -184,6 +185,7 @@ with_us_other_health_insurance_inputs, with_us_pregnancy_inputs, with_us_qbi_input_reconciliation, + with_us_qbi_passive_passthrough_assignment, with_us_relationship_inputs, with_us_retirement_contribution_inputs, with_us_retirement_distribution_inputs, @@ -244,6 +246,7 @@ assert_puf_capital_gains_tail_survives_selection, ) from microcosm.build.us_runtime.reform_validation import ( + administrative_aggregate_diagnostic_specs, default_baseline_level_specs, default_simulate_factory, load_default_reform_specs, @@ -3150,6 +3153,18 @@ def _with_aca_marketplace_source_outputs( ) +def _with_qbi_passive_passthrough_if_missing( + frame: Frame, + *, + seed: int, +) -> Frame: + """Assign the sibling NIIT input only for a legacy support artifact.""" + + if US_QBI_PASSIVE_PASSTHROUGH_OUTPUT_COLUMN in frame.table("person"): + return frame + return with_us_qbi_passive_passthrough_assignment(frame, seed=seed) + + def _medicaid_source_target_table(target_specs: tuple) -> pd.DataFrame: """CMS state Medicaid enrollment counts as the take-up calibration table. @@ -7245,7 +7260,8 @@ def _write_reform_validation( In-sample JCT tax-expenditure reforms come straight from the calibration fit; out-of-sample OBBBA provisions are simulated on the freshly written release H5 (skipped if ``simulate_out_of_sample`` is False, e.g. for a fast - diagnostics-only build). + diagnostics-only build). Administrative aggregate diagnostics use the same + optional baseline simulation and remain non-gating. """ specs = load_default_reform_specs(period=PERIOD) if not simulate_out_of_sample: @@ -7255,9 +7271,11 @@ def _write_reform_validation( "", "!" * 72, "WARNING: --skip-out-of-sample-reforms is set.", - "reform_validation.json will publish the in-sample JCT rows only;", + "reform_validation.json will publish modeled values for in-sample", + "JCT rows only;", "every out-of-sample (OBBBA / tax-expenditure) row will have a null", - "budget effect and the dashboard will show no fidelity test for them.", + "budget effect, and administrative aggregate rows will have a null", + "modeled total. The dashboard will show no fidelity test for them.", "Do NOT use this for a publishable release.", "!" * 72, "", @@ -7275,6 +7293,9 @@ def _write_reform_validation( in_sample_estimates=_in_sample_estimates(result), in_sample_targets=_in_sample_targets(result), baseline_levels=default_baseline_level_specs(), + administrative_aggregate_diagnostics=( + administrative_aggregate_diagnostic_specs() + ), release_id=release_id, ) write_reform_validation(payload, release_dir / "reform_validation.json") @@ -8668,6 +8689,10 @@ def _main(argv: Sequence[str] | None = None) -> None: ) ) if pool_frame is None: + base_frame = _with_qbi_passive_passthrough_if_missing( + base_frame, + seed=args.seed, + ) base_frame = with_us_qbi_input_reconciliation(base_frame) qbi_inputs_gate = us_qbi_inputs_signal_gate(base_frame) if not qbi_inputs_gate.passed: diff --git a/tools/build_us_multispine_pool.py b/tools/build_us_multispine_pool.py index 9508e588..dc1553aa 100644 --- a/tools/build_us_multispine_pool.py +++ b/tools/build_us_multispine_pool.py @@ -165,6 +165,9 @@ us_qbi_reconciliation_contract_identity, validate_us_qbi_reconciliation_live_output, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + us_qbi_passive_passthrough_contract_identity, +) from microcosm.build.us_runtime.stacked_battery_contract import ( build_live_stacked_battery_contract, ) @@ -1008,6 +1011,9 @@ def _pool_checkpoint_base_identity( ), "late_producer_schedule": _json_ready(us_late_producer_schedule_receipt()), "derive_operator_order": list(POOL_DERIVE_OPERATOR_ORDER), + "us_qbi_passive_passthrough_contract": ( + us_qbi_passive_passthrough_contract_identity() + ), "primary_qrf_target_order": list(PRIMARY_QRF_TARGET_ORDER), "transfer_target_families": _json_ready(pool_transfer_target_families()), "take_up_contract": take_up_contract_identity(), @@ -1172,6 +1178,9 @@ def _stacked_checkpoint_base_identity( "us_qbi_reconciliation_contract": ( us_qbi_reconciliation_contract_identity() ), + "us_qbi_passive_passthrough_contract": ( + us_qbi_passive_passthrough_contract_identity() + ), "take_up_contract": take_up_contract_identity(), "puf_capital_gains_tail_manifest_schema_version": ( PUF_CAPITAL_GAINS_TAIL_MANIFEST_SCHEMA_VERSION diff --git a/tools/build_us_puf_support_base.py b/tools/build_us_puf_support_base.py index 5bdd07fe..4bd1558c 100644 --- a/tools/build_us_puf_support_base.py +++ b/tools/build_us_puf_support_base.py @@ -115,6 +115,7 @@ us_prior_year_income_signal_gate, us_prior_year_income_source_reconciliation_gate, us_qbi_inputs_signal_gate, + us_qbi_passive_passthrough_contract_identity, us_relationship_inputs_signal_gate, us_retirement_contributions_signal_gate, us_retirement_distributions_signal_gate, @@ -139,6 +140,7 @@ with_us_pregnancy_inputs, with_us_prior_year_income_inputs, with_us_qbi_input_reconciliation, + with_us_qbi_passive_passthrough_assignment, with_us_relationship_inputs, with_us_retirement_contribution_inputs, with_us_retirement_distribution_inputs, @@ -171,6 +173,7 @@ "qrf_finalization", PUF_CAPITAL_GAINS_TAIL_STAGE_NAME, CAPITAL_GAIN_DISTRIBUTIONS_STAGE_NAME, + "qbi_passive_passthrough", "qbi_reconciliation", "wic_post_clone", "housing_assistance", @@ -234,6 +237,10 @@ CAPITAL_GAIN_DISTRIBUTIONS_STAGE_NAME, ("run_source_stage[capital_gain_distributions]",), ), + ( + "qbi_passive_passthrough", + ("with_us_qbi_passive_passthrough_assignment",), + ), ("qbi_reconciliation", ("with_us_qbi_input_reconciliation",)), ("wic_post_clone", ("with_us_wic_claim_input",)), ( @@ -720,6 +727,9 @@ def path(value: Path | None) -> str | None: if args.puf_source_year_csv is not None else None ), + "qbi_passive_passthrough_contract": ( + us_qbi_passive_passthrough_contract_identity() + ), "seed": args.seed, "support_spine_spec": path(args.support_spine_spec), "target_year": args.target_year, @@ -1083,6 +1093,8 @@ def _run_all( CAPITAL_GAIN_DISTRIBUTIONS_STAGE_NAME, imputed, ) + imputed = with_us_qbi_passive_passthrough_assignment(imputed, seed=args.seed) + _observe_frame_boundary(boundary_observer, "qbi_passive_passthrough", imputed) imputed = with_us_qbi_input_reconciliation(imputed) _observe_frame_boundary(boundary_observer, "qbi_reconciliation", imputed) imputed = with_us_wic_claim_input( @@ -2473,7 +2485,9 @@ def _post_qrf_frame_stage( ) -> tuple[Frame, dict[str, object]]: signals: dict[str, object] = {} metadata: dict[str, object] = {"signals": signals} - if stage == "qbi_reconciliation": + if stage == "qbi_passive_passthrough": + frame = with_us_qbi_passive_passthrough_assignment(frame, seed=args.seed) + elif stage == "qbi_reconciliation": frame = with_us_qbi_input_reconciliation(frame) elif stage == "wic_post_clone": frame = with_us_wic_claim_input( diff --git a/tools/build_us_qbi_passive_passthrough_assumptions.py b/tools/build_us_qbi_passive_passthrough_assumptions.py new file mode 100644 index 00000000..22a517f2 --- /dev/null +++ b/tools/build_us_qbi_passive_passthrough_assumptions.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +"""Build replay-calibrated passive pass-through assignment assumptions. + +The restricted PUF is a build-time input only. This tool persists the +artifact identity, provisional bounds and midpoint, solved log-odds shift, +and seeded replay diagnostic. The assignment runtime performs no solve and +does not open the replay artifact. +""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import os +from pathlib import Path +from typing import Any + +import numpy as np + +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + build_qbi_passive_passthrough_assumptions_payload, +) +from microcosm.build.us_runtime.qbi_passive_passthrough_evidence import ( + load_qbi_passive_passthrough_resource, +) + +REPO_ROOT = Path(__file__).resolve().parents[1] +RESOURCE_DIR = REPO_ROOT / "packages/microcosm-build/src/microcosm/build/us" +DEFAULT_EVIDENCE = RESOURCE_DIR / "qbi_passive_passthrough_v1.json" +DEFAULT_OUTPUT = RESOURCE_DIR / "qbi_passive_passthrough_assumptions_v1.json" +PUF_REPLAY_ENVIRONMENT = "POPU" + "LACE_PUF_2024_H5" + +_PERSON_KEYS = ( + "partnership_s_corp_income", + "rental_income", + "estate_income", +) +_MEMBERSHIP_KEYS = ( + "tax_unit_id", + "household_weight", + "person_tax_unit_id", +) + + +def _parse_args(argv: list[str] | None = None) -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--puf-h5", + type=Path, + default=os.environ.get(PUF_REPLAY_ENVIRONMENT), + help=( + "Restricted full PUF H5 replay artifact. Defaults to the " + f"{PUF_REPLAY_ENVIRONMENT} environment variable." + ), + ) + parser.add_argument("--evidence", type=Path, default=DEFAULT_EVIDENCE) + parser.add_argument("--output", type=Path, default=DEFAULT_OUTPUT) + arguments = parser.parse_args(argv) + if arguments.puf_h5 is None: + parser.error(f"--puf-h5 or {PUF_REPLAY_ENVIRONMENT} is required") + return arguments + + +def _sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as stream: + for chunk in iter(lambda: stream.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def read_replay_artifact( + path: Path | str, +) -> tuple[np.ndarray, np.ndarray, np.ndarray, dict[str, Any]]: + """Read the exact person inputs and map tax-unit weights to people.""" + + try: + import h5py + except ImportError as error: # pragma: no cover - the US extra supplies it. + raise RuntimeError( + "Building passive pass-through assumptions requires h5py; install " + "the US extra." + ) from error + + artifact_path = Path(path) + if not artifact_path.is_file(): + raise FileNotFoundError( + f"Restricted PUF replay artifact does not exist: {artifact_path}" + ) + required = (*_MEMBERSHIP_KEYS, *_PERSON_KEYS) + with h5py.File(artifact_path, mode="r") as artifact: + missing = [key for key in required if key not in artifact] + if missing: + raise ValueError( + f"Restricted PUF replay artifact is missing arrays {missing}." + ) + values = {key: np.asarray(artifact[key][:]) for key in required} + + tax_unit_ids = np.asarray(values["tax_unit_id"]) + tax_unit_weights = np.asarray(values["household_weight"], dtype=np.float64) + person_tax_unit_ids = np.asarray(values["person_tax_unit_id"]) + if any( + array.ndim != 1 + for array in (tax_unit_ids, tax_unit_weights, person_tax_unit_ids) + ): + raise ValueError("Restricted replay membership arrays must be 1-D.") + if len(tax_unit_ids) != len(tax_unit_weights) or len(tax_unit_ids) == 0: + raise ValueError("Restricted replay tax-unit IDs and weights must align.") + if len(person_tax_unit_ids) == 0: + raise ValueError("Restricted replay person membership must be nonempty.") + if np.any(tax_unit_ids[1:] <= tax_unit_ids[:-1]): + raise ValueError("Restricted replay tax-unit IDs must strictly increase.") + if not np.isfinite(tax_unit_weights).all() or np.any(tax_unit_weights < 0.0): + raise ValueError("Restricted replay weights must be finite and nonnegative.") + positions = np.searchsorted(tax_unit_ids, person_tax_unit_ids) + if np.any(positions >= len(tax_unit_ids)) or not np.array_equal( + tax_unit_ids[positions], person_tax_unit_ids + ): + raise ValueError("Restricted replay contains an unknown tax-unit ID.") + person_weights = tax_unit_weights[positions] + + person_count = len(person_tax_unit_ids) + person_values: dict[str, np.ndarray] = {} + for key in _PERSON_KEYS: + array = np.asarray(values[key], dtype=np.float64) + if array.ndim != 1 or len(array) != person_count: + raise ValueError( + f"Restricted replay array {key!r} must have length {person_count}." + ) + if not np.isfinite(array).all(): + raise ValueError(f"Restricted replay array {key!r} must be finite.") + person_values[key] = array + + passthrough = person_values["partnership_s_corp_income"] + schedule_e = ( + passthrough + person_values["rental_income"] + person_values["estate_income"] + ) + metadata = { + "filename": artifact_path.name, + "sha256": _sha256(artifact_path), + "bytes": artifact_path.stat().st_size, + "tax_unit_rows": len(tax_unit_ids), + } + return passthrough, schedule_e, person_weights, metadata + + +def build_assumptions(arguments: argparse.Namespace) -> dict[str, Any]: + evidence_path = Path(arguments.evidence) + evidence = load_qbi_passive_passthrough_resource(evidence_path) + passthrough, schedule_e, weights, artifact = read_replay_artifact(arguments.puf_h5) + return build_qbi_passive_passthrough_assumptions_payload( + evidence=evidence, + evidence_sha256=_sha256(evidence_path), + partnership_s_corp_income=passthrough, + schedule_e_income=schedule_e, + person_weights=weights, + replay_artifact=artifact, + ) + + +def _write_json(payload: dict[str, Any], path: Path) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + rendered = json.dumps(payload, indent=2, sort_keys=True, allow_nan=False) + path.write_text(rendered + "\n", encoding="utf-8") + + +def main(argv: list[str] | None = None) -> int: + arguments = _parse_args(argv) + payload = build_assumptions(arguments) + output = Path(arguments.output) + _write_json(payload, output) + print(output) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/build_us_qbi_passive_passthrough_evidence.py b/tools/build_us_qbi_passive_passthrough_evidence.py new file mode 100644 index 00000000..32f46d03 --- /dev/null +++ b/tools/build_us_qbi_passive_passthrough_evidence.py @@ -0,0 +1,194 @@ +#!/usr/bin/env python3 +"""Build the provisional SCF passive pass-through evidence resource. + +The source SCF microdata is a build-time input. The committed output contains +only deterministic aggregate cells and source-byte provenance. + +Reproduction:: + + uv run python tools/build_us_qbi_passive_passthrough_evidence.py \ + --scf /path/to/scf2022s.zip +""" + +from __future__ import annotations + +import argparse +import hashlib +import json +import tempfile +import zipfile +from pathlib import Path + +import pandas as pd + +from microcosm.build.us_runtime.qbi_passive_passthrough_evidence import ( + SCF_PASSIVE_REQUIRED_COLUMNS, + build_qbi_passive_passthrough_resource, +) + +REPO_ROOT = Path(__file__).resolve().parents[1] +DEFAULT_OUTPUT = ( + REPO_ROOT + / "packages/microcosm-build/src/microcosm/build/us" + / "qbi_passive_passthrough_v1.json" +) +SCF_ARCHIVE_MEMBER = "p22i6.dta" + +SCF_ARCHIVE_SHA256 = "409e6811df895766d50b2f597c10b1b3c5813e7d3e0e45d910ad26c0cb07f4eb" +SCF_ARCHIVE_SIZE_BYTES = 8_856_125 +SCF_MEMBER_SHA256 = "61e2fceb1594e4009eb996d6e25d38a5d8e4874930fc2bfce3c87ffa6946ad0a" +SCF_MEMBER_SIZE_BYTES = 236_952_250 + +REPRODUCTION_COMMAND = ( + "uv run python tools/build_us_qbi_passive_passthrough_evidence.py " + "--scf /path/to/scf2022s.zip" +) + + +def _parse_args(argv: list[str] | None = None) -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--scf", + required=True, + type=Path, + help="SCF p22i6.dta or the scf2022s.zip archive containing it.", + ) + parser.add_argument( + "--output", + type=Path, + default=DEFAULT_OUTPUT, + help="Path receiving qbi_passive_passthrough_v1.json.", + ) + return parser.parse_args(argv) + + +def _sha256(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as stream: + for chunk in iter(lambda: stream.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def _input_record(path: Path, *, role: str) -> dict[str, object]: + if not path.is_file(): + raise FileNotFoundError(f"{role} input does not exist: {path}") + return { + "role": role, + "filename": path.name, + "sha256": _sha256(path), + "bytes": path.stat().st_size, + } + + +def _read_stata(path: Path) -> pd.DataFrame: + return pd.read_stata( + path, + columns=list(SCF_PASSIVE_REQUIRED_COLUMNS), + convert_categoricals=False, + ) + + +def _verify_pin( + record: dict[str, object], + *, + expected_sha256: str, + expected_bytes: int, +) -> None: + if record["sha256"] != expected_sha256 or record["bytes"] != expected_bytes: + raise ValueError( + f"{record['role']} does not match the reviewed SCF 2022 bytes: " + f"sha256={record['sha256']}, bytes={record['bytes']}." + ) + + +def read_scf_source( + path: Path | str, + *, + require_reviewed_bytes: bool = False, +) -> tuple[pd.DataFrame, list[dict[str, object]]]: + """Read the SCF DTA or containing ZIP and return exact input digests.""" + + source = Path(path) + container_record = _input_record(source, role="scf_2022_source") + if source.suffix.lower() == ".dta": + if require_reviewed_bytes: + _verify_pin( + container_record, + expected_sha256=SCF_MEMBER_SHA256, + expected_bytes=SCF_MEMBER_SIZE_BYTES, + ) + return _read_stata(source), [container_record] + if source.suffix.lower() != ".zip": + raise ValueError("SCF source must end in .dta or .zip.") + if require_reviewed_bytes: + _verify_pin( + container_record, + expected_sha256=SCF_ARCHIVE_SHA256, + expected_bytes=SCF_ARCHIVE_SIZE_BYTES, + ) + + with zipfile.ZipFile(source) as archive: + matches = [ + name for name in archive.namelist() if Path(name).name == SCF_ARCHIVE_MEMBER + ] + if matches != [SCF_ARCHIVE_MEMBER]: + raise ValueError( + "SCF archive must contain exactly root member " + f"{SCF_ARCHIVE_MEMBER!r}; got {matches}." + ) + with tempfile.TemporaryDirectory(prefix="microcosm-passive-scf-") as directory: + extracted = Path(directory) / SCF_ARCHIVE_MEMBER + with archive.open(SCF_ARCHIVE_MEMBER) as source_stream: + with extracted.open("wb") as destination: + for chunk in iter(lambda: source_stream.read(1024 * 1024), b""): + destination.write(chunk) + member_record = _input_record(extracted, role="scf_2022_archive_member") + member_record["container_filename"] = source.name + if require_reviewed_bytes: + _verify_pin( + member_record, + expected_sha256=SCF_MEMBER_SHA256, + expected_bytes=SCF_MEMBER_SIZE_BYTES, + ) + frame = _read_stata(extracted) + return frame, [container_record, member_record] + + +def _provenance(inputs: list[dict[str, object]]) -> dict[str, object]: + return { + "generated_by": "tools/build_us_qbi_passive_passthrough_evidence.py", + "run_command": REPRODUCTION_COMMAND, + "inputs": inputs, + "deterministic": True, + "random_draws": "none", + } + + +def _write_json(payload: dict[str, object], path: Path) -> None: + path.parent.mkdir(parents=True, exist_ok=True) + rendered = json.dumps(payload, indent=2, sort_keys=True, allow_nan=False) + path.write_text(rendered + "\n", encoding="utf-8") + + +def build_resource(args: argparse.Namespace) -> dict[str, object]: + """Read the reviewed source and return the complete evidence payload.""" + + scf_frame, inputs = read_scf_source(args.scf, require_reviewed_bytes=True) + return build_qbi_passive_passthrough_resource( + scf_frame, + provenance=_provenance(inputs), + ) + + +def main(argv: list[str] | None = None) -> int: + args = _parse_args(argv) + payload = build_resource(args) + output = Path(args.output) + _write_json(payload, output) + print(output) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/build_us_release_input_coverage_manifest.py b/tools/build_us_release_input_coverage_manifest.py index 2c4e18d4..b220ec55 100644 --- a/tools/build_us_release_input_coverage_manifest.py +++ b/tools/build_us_release_input_coverage_manifest.py @@ -80,12 +80,22 @@ "is_self_employed", "pre_subsidy_care_expenses", "is_incapable_of_self_care", + "passive_partnership_s_corp_income", ) # Per-column annotations for post-reference hard requirements whose absence # from today's artifacts is the intended red gate (the #368 SSI-asset # pattern, extended by #462 to the capital-gain-distributions route). POST_REFERENCE_COLUMN_NOTES = { + "passive_partnership_s_corp_income": ( + "Section 469 passive subset of partnership and S-corporation income, " + "assigned by the provisional SCF-shaped sibling stage for the NIIT " + "base. Required with no reviewed exclusion so release publication " + "cannot silently drop the new engine input. The locked PolicyEngine-US " + "1.764.6 registry does not expose this variable, so the column remains " + "engine-inert and the release gate stays red until the engine pin " + "advances past 1.764.6 to a release containing PolicyEngine-US #9306." + ), "schedule_d_capital_gain_distributions": ( "Schedule D line 13 route leg of the #282 capital-gain-distributions " "split (memo component of long_term_capital_gains, written by the " @@ -1506,7 +1516,8 @@ def build_manifest() -> dict: "qualified_passenger_vehicle_loan_interest, five desired " "retirement-contribution inputs, " "meets_ssi_disability_criteria required by shipped validation " - "probes, and the #282 Schedule-D capital-gain-distributions " + "probes, the #722 passive pass-through NIIT input, and the #282 " + "Schedule-D capital-gain-distributions " "route leg schedule_d_capital_gain_distributions " "(PolicyEngine/microcosm#462). " "status='reviewed_exclusion' for ecps_parity_known_gaps.json entries " diff --git a/tools/generate_us_bundle_from_constants.py b/tools/generate_us_bundle_from_constants.py index a00edbb4..9fe1c4a5 100644 --- a/tools/generate_us_bundle_from_constants.py +++ b/tools/generate_us_bundle_from_constants.py @@ -142,7 +142,10 @@ def _domain_builders() -> dict[str, Callable[[], object]]: "fiscal_target_references.json", "obbba_reforms.json", "puf_aggregate_record_disaggregation.json", + "qbi_passive_passthrough_assumptions_v1.json", + "qbi_passive_passthrough_v1.json", "release_input_coverage_manifest.json", + "repeal_revenue_benchmarks.json", "soca_capital_gain_distribution_shares.json", "soi_baseline_levels.json", "soi_table_2_1_interest_components_ty2015.json", diff --git a/tools/spec_engine_coverage.py b/tools/spec_engine_coverage.py index d4185ff5..2b430d46 100644 --- a/tools/spec_engine_coverage.py +++ b/tools/spec_engine_coverage.py @@ -41,7 +41,7 @@ REPORT_SCHEMA_VERSION = 3 EXPECTED_POINTER_INVENTORY_SHA256 = ( - "b9d2932e0ae5efb6637be7b5d90e33b2e159ffb807ee50ff36ee2b51296cfdc4" + "a773fd257a2a9e3e961fcfca6b82d5e64274c4e2c04dcd93df3874d8aa80dadf" ) DEFAULT_REPORT_PATH = ( Path(__file__).resolve().parents[1] @@ -202,9 +202,10 @@ def valid_sha256(value: object) -> bool: if not isinstance(compiler_abi, Mapping): failures.append("compiler_ir_abi is missing") else: - if set(compiler_abi) != {"version", "sha256"} or compiler_abi.get( - "version" - ) != COMPILER_IR_ABI_VERSION: + if ( + set(compiler_abi) != {"version", "sha256"} + or compiler_abi.get("version") != COMPILER_IR_ABI_VERSION + ): failures.append("compiler_ir_abi contract differs") if not valid_sha256(compiler_abi.get("sha256")): failures.append("compiler_ir_abi/sha256 is invalid") @@ -249,9 +250,9 @@ def valid_sha256(value: object) -> bool: if not isinstance(claims, list): failures.append("field_usage claim receipts are incomplete") claims = [] - if field_usage.get("claim_count") != len(definitions) or len( - claims - ) != len(definitions): + if field_usage.get("claim_count") != len(definitions) or len(claims) != len( + definitions + ): failures.append( "field_usage claim count differs from the closed claim registry" ) diff --git a/tools/us_bundle_generation/identity_contracts.py b/tools/us_bundle_generation/identity_contracts.py index a384613e..8af32173 100644 --- a/tools/us_bundle_generation/identity_contracts.py +++ b/tools/us_bundle_generation/identity_contracts.py @@ -21,6 +21,9 @@ from microcosm.build.us_runtime.qbi_inputs import ( us_qbi_reconciliation_contract_identity, ) +from microcosm.build.us_runtime.qbi_passive_passthrough import ( + us_qbi_passive_passthrough_contract_identity, +) from microcosm.build.us_runtime.us_late_producer_registry import ( CANONICAL_US_LATE_TRANSFER_GROUPS, ) @@ -48,6 +51,9 @@ def build_pipeline_contract() -> dict[str, object]: "post_clone_source_operator_order": list(POOL_POST_CLONE_SOURCE_OPERATOR_ORDER), "derive_operator_order": list(POOL_DERIVE_OPERATOR_ORDER), "auxiliary_operations": list(_AUXILIARY_OPERATIONS), + "qbi_passive_passthrough": ( + us_qbi_passive_passthrough_contract_identity() + ), "qbi_reconciliation": us_qbi_reconciliation_contract_identity(), "simulation_household_batch_size": { "value": POOL_SIMULATION_HOUSEHOLD_BATCH_SIZE,