Skip to content

M6 engine: wave-loop composition per verified design (build only)#173

Draft
MaxGhenis wants to merge 2 commits into
masterfrom
m6-engine
Draft

M6 engine: wave-loop composition per verified design (build only)#173
MaxGhenis wants to merge 2 commits into
masterfrom
m6-engine

Conversation

@MaxGhenis

@MaxGhenis MaxGhenis commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Status: BLOCKED on certified gate-1 forward composition

This is a build-only draft. No M6 temporal-holdout scored run was executed. This branch does not edit gates.yaml, create or modify runs/ artifacts, or modify any frozen file under src/populace_dynamics/models/.

Built

  • Ordered annual steps 1-8: mortality, aging/calendar rollover, the single candidate-16 marital core with gate-2c's person-constant earnings-capacity modifier view, fertility/roster, M4 disability, earnings seam, claiming, and candidate-9 household reconciliation.
  • Engine-owned (module, period) and stable per-person RNG streams, including injected-generator ports for frozen implementations that otherwise construct their own RNG.
  • Candidate-9 step-3 marital-state injection that bypasses its two internal ft.simulate calls and consumes step-4 fertility draws.
  • Projection-wide monotone synthetic-person IDs, cross-period marital-state persistence, and DI-conversion propagation into claiming.
  • Leakage-safe <= T*=2014 refit entry points with unchanged registry CandidateSpec.sha256 values, no artifact reads/writes, external-vintage validation, and conservative interview-calendar filtering for biennially dated flows.
  • Realized-support M4 reproduction mode, projection-horizon clipping, exogenous certified widowhood mode declaration, realized-T* fixed weights, symmetric gated presence-conditioning, and a separate forward-support mode.

Targeted re-certification margin check

PASS on the synthetic fitted-panel test. Injected-state versus candidate-9 internal-simulation output distributions are checked across all required marital-consuming channel sets: cohabitation state/increment, legal core/residual/final-spouse, parental/multigenerational/child/grandchild occupancy, and household-size cells. The check uses the pre-named 3-sigma margin and fails loudly with the design's “fuller re-ceremony required” branch; it was not loosened.

Blocker

The certified gate-1 candidate 11 cannot be composed into the M6 forward annual loop without defining a new stochastic law:

  • candidate 11 is byte-identical to candidate 10's backward, biennial imputation chain;
  • it holds each person's chronologically latest real earnings as the anchor, predicts t-2 participation from later earnings, and draws earlier ranks from pair/triple/re-entry pools conditioned on later ranks;
  • M6 instead starts from realized 2014 and requires annual forward 2015+ earnings.

An adapter would therefore have to make at least three unverified choices: invert the certified backward conditional, extrapolate period-specific marginals beyond the last <=2014 fit cell, and map a two-year kernel to annual steps. It also lacks the future real anchor the certified chain requires. Recursively applying the backward conditional in forward time or fitting an inverse/annual kernel would change the certified spec. Per the lane contract, no such adapter was invented and no frozen implementation was modified.

The branch includes the admissible <=2014 participation-gate refit plumbing, but it intentionally does not claim to produce the complete candidate-11 forward generator. CertifiedEngineInputs therefore still requires an externally supplied earnings generator, and the M6 build cannot be declared complete until this direction/frequency/anchor rule is re-ceremonied.

Design deviations

None were implemented. The gate-1 requirement above remains an explicit blocker rather than an unregistered deviation.

Validation

  • M6 synthetic unit suite: 47 passed
  • Full always-runnable suite after merging current origin/master: 1,656 passed, 41 skipped, 953 deselected
  • Full collection: 2,650 tests
  • Tier delta versus current master: unit 225 -> 272 (+47); other tiers unchanged (artifact 905, integration_psid 797, reproduction_legacy 520, oracle_policyengine 156)
  • tests/test_tier_policy.py: pass
  • Repo-wide Black 79 and Ruff: clean

No M6 gate cell was scored against holdout truth.

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>
@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
social-security-model Ready Ready Preview, Comment Jul 13, 2026 4:32am

Request Review

Resolve the tier manifest against the amendment-2 test additions and recount the full merged suite.

Co-Authored-By: Codex gpt-5.6-sol <noreply@openai.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant