Skip to content

Commit 95a3e05

Browse files
MaxGheniscodex
andauthored
M6 engine: wave-loop composition per verified design (build only) (#173)
* Build M6 projection engine adapters Compose the verified annual loop, injected marital and household state, cutoff refits, fixed-weight support, and reproduction-mode disability coverage. Co-Authored-By: Codex gpt-5.6-sol <noreply@openai.com> * Implement M6 forward earnings generator Fit the pinned <=2014 forward conditional-rank chain on ages 25-64, project NAWI from the 2005-2014 OLS, and preserve generated biennial memory through frame state. Wire the fitted generator as the refit-bundle default while retaining the explicit external earnings seam. Co-Authored-By: Codex gpt-5.6-sol <noreply@openai.com> --------- Co-authored-by: Codex gpt-5.6-sol <noreply@openai.com>
1 parent c7af699 commit 95a3e05

22 files changed

Lines changed: 8348 additions & 3 deletions
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
"""M6 annual projection engine and cutoff-refit adapters."""
2+
3+
from populace_dynamics.engine.assembly import (
4+
CertifiedEngineInputs,
5+
assemble_period_modules,
6+
)
7+
from populace_dynamics.engine.composition import (
8+
CompositionDiagnostics,
9+
CompositionRngs,
10+
RecertificationResult,
11+
check_candidate9_recertification,
12+
composition_rngs_from_registry,
13+
simulate_candidate9_injected,
14+
simulate_candidate9_internal_reference,
15+
)
16+
from populace_dynamics.engine.disability import simulate_reproduction
17+
from populace_dynamics.engine.forward_earnings import (
18+
ForwardEarningsGenerator,
19+
fit_forward_earnings,
20+
)
21+
from populace_dynamics.engine.loop import (
22+
MaritalStepResult,
23+
PeriodContext,
24+
PeriodModules,
25+
ProjectionEngine,
26+
ProjectionResult,
27+
SyntheticPersonIdAllocator,
28+
)
29+
from populace_dynamics.engine.marital import (
30+
simulate_marital_step,
31+
simulate_maternal_births,
32+
)
33+
from populace_dynamics.engine.refit import (
34+
BOUNDARY_YEAR,
35+
M6RefitBundle,
36+
M6RefitInputs,
37+
refit_m6_components,
38+
)
39+
from populace_dynamics.engine.rng import (
40+
ProjectionModule,
41+
ProjectionRNGRegistry,
42+
)
43+
from populace_dynamics.engine.steps import (
44+
AgeSexMortalityModel,
45+
ClaimingSchedule,
46+
FertilityDraws,
47+
)
48+
from populace_dynamics.engine.support import (
49+
EvaluationMode,
50+
PresenceBasis,
51+
StartWaveWeightSnapshot,
52+
prepare_evaluation_support,
53+
)
54+
55+
__all__ = [
56+
"BOUNDARY_YEAR",
57+
"AgeSexMortalityModel",
58+
"CertifiedEngineInputs",
59+
"ClaimingSchedule",
60+
"CompositionDiagnostics",
61+
"CompositionRngs",
62+
"EvaluationMode",
63+
"FertilityDraws",
64+
"ForwardEarningsGenerator",
65+
"M6RefitBundle",
66+
"M6RefitInputs",
67+
"MaritalStepResult",
68+
"PeriodContext",
69+
"PeriodModules",
70+
"PresenceBasis",
71+
"ProjectionEngine",
72+
"ProjectionModule",
73+
"ProjectionRNGRegistry",
74+
"ProjectionResult",
75+
"RecertificationResult",
76+
"StartWaveWeightSnapshot",
77+
"SyntheticPersonIdAllocator",
78+
"assemble_period_modules",
79+
"check_candidate9_recertification",
80+
"composition_rngs_from_registry",
81+
"prepare_evaluation_support",
82+
"fit_forward_earnings",
83+
"refit_m6_components",
84+
"simulate_candidate9_injected",
85+
"simulate_candidate9_internal_reference",
86+
"simulate_marital_step",
87+
"simulate_maternal_births",
88+
"simulate_reproduction",
89+
]

0 commit comments

Comments
 (0)