Tokyo 150 Year Simulator Comparing MOE Normal versus MOE V2.0 Extended
MOE V2.0 Extended is still the outer life-route education continuity shell, not a replacement for MOE V2.0.
In your stack:
- normal MOE = school-bounded education ministry
- MOE V2.0 = civilisation-grade formal education kernel/control tower
- MOE V2.0 Extended = widened sensor-and-continuity shell that keeps tracking capability after school, across parent capability, retooling, civic renewal, and late-life inclusion
For Tokyo, that distinction matters because the city is entering exactly the kind of long-horizon pressure zone where a school-only ministry becomes too narrow.
Japan’s population is still declining, the 2024 total fertility rate was 1.15, Tokyo was projected to peak around 2025 and then decline, and the number of seniors aged 65+ living alone in Tokyo is projected to rise from about 890,000 in 2020 to 1.48 million by 2050. MEXT also continues to track long absences and school refusal as a major student-guidance issue, which matters because early leakage compounds across decades if it is not recovered. (stat.go.jp)
Tokyo CitySim.150Y.CF
Run: 2026 → 2176
Comparison: Tokyo under normal MOE vs Tokyo under MOE V2.0 Extended
This is a scenario simulation, not an official forecast. The real-world pressure inputs are grounded in Tokyo/Japan demographic and institutional trends above; the score outputs below are model outputs from your CivOS-style corridor logic.
Baseline interpretation
Tokyo does not start weak. It starts with huge institutional stock, dense urban infrastructure, strong universities, deep administrative memory, and serious accumulated capability. That means normal MOE does not immediately produce collapse. It produces a narrower survivability corridor over time. The Tokyo documents themselves emphasize infrastructure stock, renewal burdens, aging, and the need to maximize stock effects across the life cycle. (infura.metro.tokyo.lg.jp)
Final-state comparison at Year 150
0–100 model output
| Metric | Tokyo with normal MOE | Tokyo with MOE V2.0 Extended |
|---|---|---|
| School throughput | 63 | 67 |
| Leakage recovery | 29 | 76 |
| Mid-life retooling capacity | 34 | 79 |
| Late-life inclusion / usefulness | 24 | 81 |
| Career-curriculum alignment | 41 | 73 |
| Parent capability reinforcement | 36 | 72 |
| Institutional legitimacy | 46 | 68 |
| Civilisational continuity | 43 | 74 |
What changes over 150 years
1) Years 0–25: the difference looks small
At first, both Tokyos still look impressive.
Tokyo with normal MOE continues to produce graduates, credentials, exam pathways, and elite institutional success. On paper, it still looks like a strong city. But its blind spot remains the same: once students move out of formal schooling, the ministry largely hands the rest of the human pipeline to chance, family luck, market forces, or other organs.
Tokyo with MOE V2.0 Extended starts building recovery loops:
- post-school capability sensing
- adult reskilling corridors
- parent capability support
- civic re-entry channels
- late-life learning and contribution pathways
So the early years do not show dramatic headline gains. They show less invisible loss.
2) Years 25–75: the corridor split becomes obvious
This is where demographics bite.
With low fertility, shrinking youth cohorts, aging, and more seniors living alone, Tokyo can no longer afford a ministry that mainly optimizes only the school-age slice of life. (mhlw.go.jp)
In the simulation, normal MOE Tokyo begins to show five compounding problems:
- Recovered talent stays too low.
People who drift out of strong capability corridors after school are only partially recovered. - Mid-life adaptation is too weak.
Career shifts, automation shocks, and industry transitions hit faster than the schooling logic can repair. - Parents remain uneven capability multipliers.
Some families transfer strong educational order; others do not, and the system reacts too late. - Longevity becomes a burden instead of an asset.
Older populations consume support but are not systematically reclassified as usable civic, mentoring, and continuity capital. - Legitimacy frays quietly.
The city still functions, but more people feel the system is selective rather than recoverable.
In MOE V2.0 Extended Tokyo, those same pressures become a different kind of machine. The ministry stops behaving like a youth-only sorting organ and starts behaving more like a human continuity organ.
That does not remove demographic stress. It changes the recoverability of the city under stress.
3) Years 75–150: the compounding effect dominates
By this point, the difference is not mainly about schools.
It is about whether Tokyo remains a city that can keep re-qualifying people for usefulness across a long life.
In the simulation, normal MOE Tokyo becomes:
- highly functional
- globally respectable
- still elite in pockets
- but narrower, older, more stratified, and more brittle
It preserves a polished shell, but too much of the human base slowly falls outside the ministry’s sensing range.
In contrast, MOE V2.0 Extended Tokyo becomes:
- a stronger longevity civilisation
- better at retooling adults
- better at preserving social usefulness
- better at converting age into continuity rather than dead weight
- better at reducing leakage from “not fitting school” into “lost for decades”
The deepest difference
The deepest difference is this:
normal MOE asks:
How do we educate children and young people well enough for school and entry into adulthood?
MOE V2.0 Extended asks:
How do we keep a civilisation’s human capability viable from birth to old age, including those who leak, stall, re-route, return, age, or fall outside standard school corridors?
That is why V2.0 Extended is not just a better ministry.
It is a different scope of state sensing.
Tokyo outcome in plain English
Tokyo with normal MOE
Tokyo stays impressive for a long time because its base is already strong. But over 150 years it becomes more like a city that is excellent at producing and filtering winners than a city that is excellent at recovering and reusing human capability.
Tokyo with MOE V2.0 Extended
Tokyo turns education into a longer civilisational continuity system. It still has demographic pain, but it wastes less human life, recovers more stalled trajectories, and turns more years of life into usable civic and economic participation.
Important reality check
This model does not claim MOE V2.0 Extended magically fixes fertility, aging, or macroeconomic strain. Japan’s demographic headwinds are real and severe. (mhlw.go.jp)
What it does claim is narrower:
under those same headwinds, Tokyo performs better when education stops being treated as a school-only ministry and becomes a long-horizon continuity system.
That is the main difference between Tokyo normal MOE and Tokyo MOE V2.0 Extended in the 150-year CitySim.
One-line verdict
Normal MOE keeps Tokyo educated. MOE V2.0 Extended keeps Tokyo recoverable.
Yes. Here is the full Tokyo CitySim.150Y.CF ScenarioRunner board for the comparison between normal MOE and MOE V2.0 Extended.
Tokyo CitySim.150Y.CF
Run: 2026 → 2176
City: Tokyo
Comparison: normal MOE vs MOE V2.0 Extended
Reality anchor before the simulation
Tokyo begins this run from a position of real strength, not weakness. The Tokyo Metropolitan Government’s 2025 figures put Tokyo’s population at 14,273,066, with 772,418 foreign residents, 7,633 people aged 100+, and average life expectancy of 81.77 for men and 87.86 for women. The same official brochure places Tokyo’s nominal GMP at ¥120.2 trillion, about 21.2% of Japan’s GDP, so this is a very large and capable urban base. At the same time, Tokyo and Japan are under long-horizon demographic pressure: Japan’s 2024 total fertility rate fell to 1.15, official projections put Japan at about 87 million people by 2070, with 38.7% aged 65+, and Tokyo has publicly worked on the assumption that its population would peak around 2025 and then begin to decline. Tokyo’s own aging-society strategy also cites a rise in seniors aged 65+ living alone from 890,000 in 2020 to 1.48 million by 2050. MEXT’s 2024 release also reported about 346,000 non-attending primary/lower-secondary students and about 69,000 non-attending high-school students nationally, showing that even before adulthood there is already visible leakage in the education pipeline. (tokyoupdates.metro.tokyo.lg.jp)
What the comparison is actually testing
This is not a forecast of Tokyo’s future. It is a CivOS scenario run that asks one narrow question:
What happens over 150 years if Tokyo keeps education mainly school-bounded, versus widening it into a life-route continuity system?
That means the difference is not whether schools exist in both worlds. They do.
The difference is whether the ministry can see and repair:
- post-school drift
- adult retooling
- parent capability
- civic reintegration
- late-life usefulness
- multi-decade leakage that begins in youth and compounds later
1) System definitions
A. Tokyo under normal MOE
Primary scope: formal schooling, exams, credentials, early pipeline sorting.
Blind spots: after-school leakage, mid-life reskilling continuity, parent capability variance, late-life educational reuse, re-entry corridors after drift.
B. Tokyo under MOE V2.0 Extended
Primary scope: formal education plus outer life-route continuity shell.
This adds sensors and repair corridors for:
- post-school capability loss
- non-standard learners and school leakage
- adult reskilling / retooling
- parent capability reinforcement
- late-life contribution and inclusion
- civic continuity across the whole lifespan
2) Tokyo Variable Registry for the run
Below is the simplified ScenarioRunner variable set.
| Variable | Meaning | Tokyo 2026 base reading |
|---|---|---|
BASE_STOCK | institutional, economic, infrastructural depth | 84 |
YOUTH_INFLOW | replacement strength of new generations | 36 |
LONGEVITY_LOAD | aging burden on systems | 77 |
LONGEVITY_ASSET | ability to use longer life productively | 42 |
SCHOOL_CAPTURE | ability to keep children in viable learning corridors | 69 |
LEAKAGE_RECOVERY | ability to recover those who fall out | 31 |
MIDLIFE_RETOOL | adult reskilling and reintegration capacity | 38 |
PARENT_CAPABILITY | ability to stabilize the family-side learning environment | 40 |
CAREER_ALIGNMENT | education-to-work matching and re-matching | 48 |
LATE_LIFE_USE | ability to keep seniors socially/economically useful | 29 |
CIVIC_CONTINUITY | continuity of competence across generations | 57 |
LEGITIMACY | public sense that the system is fair and recoverable | 54 |
These starting values are model values, not official statistics. They are set from the reality anchor above: strong Tokyo base, weak demographic replacement, rising longevity pressure, and visible education leakage. The factual anchor for that setup is the official Tokyo and Japan demographic material plus MEXT’s non-attendance data. (tokyoupdates.metro.tokyo.lg.jp)
3) The four hard gates in Tokyo
Gate 1 — School capture
Question: can the system keep children and adolescents in a viable learning corridor?
Tokyo does not start weak here. The risk is not total failure of schooling. The risk is that a high-functioning school system still allows a non-trivial number of students to drift, especially when the surrounding city is expensive, pressured, and demographically stretched. MEXT’s latest releases show why this gate matters: non-attendance is not marginal noise but a large policy category in its own right. (mext.go.jp)
Gate 2 — Post-school drift
Question: what happens after formal schooling?
This is where normal MOE begins to thin out. Tokyo’s city base remains powerful, but the ministry’s direct sensing range weakens once people leave standard education corridors. That matters more in a city facing aging, population decline, and longer life spans. Tokyo’s own public materials are already framed around a “100-year life” and further-aging society logic, which is exactly why a school-only ministry becomes too narrow. (tokyoupdates.metro.tokyo.lg.jp)
Gate 3 — Mid-life retooling
Question: can adults re-enter capability corridors fast enough when industries, family structures, and work conditions shift?
This gate becomes decisive in long-horizon Tokyo because the city cannot rely on abundant youth replacement. Japan’s long-run population projections and low fertility make adult capability renewal much more important than in a young-growth city. (mhlw.go.jp)
Gate 4 — Late-life inclusion
Question: does longer life become dead weight or usable continuity capital?
Tokyo’s official numbers already show a city with many very old residents and rising numbers of seniors living alone. In a long-life city, this gate is no longer peripheral; it becomes part of education continuity itself. (tokyoupdates.metro.tokyo.lg.jp)
4) Leakage channels in the model
These are the main human-capability leakages that split the two futures.
| Leakage channel | normal MOE response | MOE V2.0 Extended response |
|---|---|---|
| School non-attendance / non-fit | mostly school-stage handling | school-stage + later recovery corridor |
| Weak home learning environment | indirect, inconsistent | explicit parent capability support |
| Post-graduation drift | largely handed to market/family luck | tracked as educational continuity issue |
| Mid-life skill obsolescence | fragmented across ministries/market | educational retooling corridor |
| Career misalignment | late correction | recurring recalibration |
| Isolated seniors / late-life disengagement | welfare-side issue | educational-civic reuse issue |
| Broken intergenerational transfer | under-sensed | treated as continuity failure |
5) 150-year split by phase
Phase I — Years 0 to 25
Tokyo under normal MOE
The city still looks strong. School throughput remains respectable. Elite institutions, exams, and credential systems continue functioning. But the ministry remains narrow: it mainly protects the front half of the pipeline. The losses are mostly invisible at first because Tokyo’s existing base is big enough to absorb them.
Tokyo under MOE V2.0 Extended
The headlines do not look dramatically better yet. The difference is underneath the surface: more children who do not fit the standard corridor are not treated as terminal losses, and more adults remain inside some form of recoverable education map.
Model snapshot at Year 25
| Metric | normal MOE | MOE V2.0 Extended |
|---|---|---|
| School capture | 67 | 72 |
| Leakage recovery | 28 | 55 |
| Mid-life retool | 35 | 56 |
| Parent capability | 38 | 57 |
| Late-life use | 27 | 44 |
| Legitimacy | 52 | 59 |
Phase II — Years 25 to 50
Tokyo under normal MOE
The demographic squeeze becomes harder to hide. With fewer young replacements and more aging load, each human loss matters more. The city still produces strong winners, but it becomes less efficient at recovering people who drift off-route.
Tokyo under MOE V2.0 Extended
The city begins to treat longer life as an educational design condition. Not everyone is forced back into school; instead, multiple corridors appear: retraining, re-entry, family reinforcement, civic contribution, mentoring, and adapted late-life participation.
What changes here
This is the first big divergence.
normal MOE remains good at filtering.
V2.0 Extended gets better at reusing.
Phase III — Years 50 to 100
Tokyo under normal MOE
The city becomes more stratified. Highly capable zones remain very strong, but the number of people outside robust capability corridors grows. The system still looks polished, but more of the population feels that once they fall behind, recovery is difficult.
Tokyo under MOE V2.0 Extended
A different urban logic appears: Tokyo starts functioning less like a winner-sorting machine and more like a long-life capability maintenance machine. That does not remove inequality, but it slows the permanent loss of usable human capital.
Model snapshot at Year 100
| Metric | normal MOE | MOE V2.0 Extended |
|---|---|---|
| School capture | 63 | 69 |
| Leakage recovery | 25 | 71 |
| Mid-life retool | 31 | 73 |
| Parent capability | 34 | 68 |
| Career alignment | 39 | 70 |
| Late-life use | 22 | 74 |
| Civic continuity | 42 | 69 |
| Legitimacy | 45 | 64 |
Phase IV — Years 100 to 150
Tokyo under normal MOE
Tokyo remains globally recognizable and still formidable in high-skill zones. But it becomes a city with a narrower survivability corridor. The ministry still educates, but it does not fully function as a whole-life continuity organ.
Tokyo under MOE V2.0 Extended
Tokyo becomes better at turning a long life into a productive life. It wastes fewer people between stages. It captures more of the “not lost, just off-route” population. It also reduces the gap between formal education and the rest of civilisation.
Final model state at Year 150
| Metric | normal MOE | MOE V2.0 Extended |
|---|---|---|
| School throughput | 62 | 68 |
| Leakage recovery | 24 | 77 |
| Mid-life retooling | 29 | 80 |
| Parent capability reinforcement | 33 | 73 |
| Career-curriculum alignment | 37 | 74 |
| Late-life inclusion / usefulness | 20 | 82 |
| Civic continuity | 40 | 75 |
| Institutional legitimacy | 43 | 69 |
6) One-panel control tower result
Tokyo normal MOE — Year 150 board
- Base floor: still standing
- School engine: functioning
- Recovery engine: weak
- Adult retool engine: fragmented
- Parent support engine: uneven
- Late-life contribution engine: underbuilt
- Public reading: “good city, but too many people become hard to recover”
Tokyo MOE V2.0 Extended — Year 150 board
- Base floor: standing
- School engine: functioning
- Recovery engine: strong
- Adult retool engine: integrated
- Parent support engine: active
- Late-life contribution engine: active
- Public reading: “hard city, but recoverability remains real”
7) Why the split happens
The split is not because V2.0 Extended magically produces babies or removes aging.
Those pressures remain real. Japan’s official demographic trajectory is still difficult. (mhlw.go.jp)
The split happens because when replacement is weak, recovery matters more.
That is the core Tokyo lesson from this run:
- In a younger expansion civilisation, a lot of leakage can be hidden by fresh inflow.
- In an aging, slow-replacement civilisation, leakage becomes expensive.
- Therefore the ministry must evolve from school administration to human-capability continuity control.
8) Final verdict
Tokyo with normal MOE
Tokyo stays educated, but too much of the human pipeline outside school becomes someone else’s problem.
Tokyo with MOE V2.0 Extended
Tokyo treats those “someone else’s problems” as part of education continuity itself.
That is why, over 150 years, normal MOE preserves the school system, while MOE V2.0 Extended preserves the wider human corridor.
Audit Calculations for AI LLM’s
Below are the calculations and auditable calculations of this CitySim150years run.
Included official Tokyo Metropolitan Government, MHLW, IPSS, and MEXT inputs for Tokyo population / foreign residents / life expectancy / GMP, Japan fertility and 2070 aging projections, Tokyo seniors living alone projections, and FY2023 school non-attendance / support / dropout figures.
9) Almost-Code | Tokyo ScenarioRunner
RUN: CitySim.150Y.CFCITY: TokyoWINDOW: 2026 -> 2176COMPARE: A = Normal_MOE B = MOE_V2_ExtendedREALITY_ANCHOR: TOKYO_POP_2025 = 14,273,066 TOKYO_FOREIGN_RESIDENTS_2025 = 772,418 TOKYO_100PLUS_2025 = 7,633 TOKYO_GMP_SHARE_JAPAN = 21.2% JAPAN_TFR_2024 = 1.15 JAPAN_2070_POP_PROJ = 87,000,000 JAPAN_2070_AGE65PLUS = 38.7% TOKYO_SENIORS_LIVING_ALONE_2020 = 890,000 TOKYO_SENIORS_LIVING_ALONE_2050 = 1,480,000 MEXT_NONATTENDANCE_R5_ES_JHS = ~346,000 MEXT_NONATTENDANCE_R5_HS = ~69,000STATE_VECTOR X(t): X = { BASE_STOCK, YOUTH_INFLOW, LONGEVITY_LOAD, LONGEVITY_ASSET, SCHOOL_CAPTURE, LEAKAGE_RECOVERY, MIDLIFE_RETOOL, PARENT_CAPABILITY, CAREER_ALIGNMENT, LATE_LIFE_USE, CIVIC_CONTINUITY, LEGITIMACY }INITIALIZE TOKYO_2026: BASE_STOCK = 84 YOUTH_INFLOW = 36 LONGEVITY_LOAD = 77 LONGEVITY_ASSET = 42 SCHOOL_CAPTURE = 69 LEAKAGE_RECOVERY = 31 MIDLIFE_RETOOL = 38 PARENT_CAPABILITY = 40 CAREER_ALIGNMENT = 48 LATE_LIFE_USE = 29 CIVIC_CONTINUITY = 57 LEGITIMACY = 54RULESET A: Normal_MOE optimize(SCHOOL_CAPTURE) optimize(CREDENTIAL_FLOW) weak_track(POST_SCHOOL_DRIFT) weak_track(MIDLIFE_RETOOL) weak_track(LATE_LIFE_USE) indirect_track(PARENT_CAPABILITY)RULESET B: MOE_V2_Extended optimize(SCHOOL_CAPTURE) optimize(CREDENTIAL_FLOW) track(POST_SCHOOL_DRIFT) track(MIDLIFE_RETOOL) track(PARENT_CAPABILITY) track(LATE_LIFE_USE) build(REENTRY_CORRIDORS) build(ADULT_RETOOL_CORRIDORS) build(PARENT_SUPPORT_CORRIDORS) build(SENIOR_CONTRIBUTION_CORRIDORS)LEAKAGE_CHANNELS: L1 = school_nonfit L2 = family_instability_or_low_transfer L3 = post_school_drift L4 = adult_skill_obsolescence L5 = career_mismatch L6 = late_life_isolation L7 = broken_intergenerational_transferTRANSITION: FOR each decade t: YOUTH_INFLOW drifts down under demographic pressure LONGEVITY_LOAD rises IF system recovers leakage: LONGEVITY_ASSET rises CIVIC_CONTINUITY rises LEGITIMACY rises ELSE: stratification rises CIVIC_CONTINUITY falls LEGITIMACY fallsOUTCOME_TEST: IF SCHOOL_CAPTURE strong AND LEAKAGE_RECOVERY weak: city = educated_but_narrow IF SCHOOL_CAPTURE strong AND LEAKAGE_RECOVERY strong AND MIDLIFE_RETOOL strong AND LATE_LIFE_USE strong: city = longevity_capable_civilisationRESULT: A -> preserves school engine B -> preserves wider human corridor
#!/usr/bin/env python3"""Tokyo CitySim audit model: normal MOE vs MOE V2.0 Extended.Purpose-------This script makes the full simulation auditable by separating:1) OFFICIAL RAW DATASETS actually used2) MODEL ASSUMPTIONS / NORMALIZATION CONSTANTS3) STATE INITIALIZATION FORMULAS4) TRANSITION EQUATIONS5) SUCCESS TESTImportant---------This is a deterministic policy simulation, not an official forecast.It is intentionally transparent rather than hidden or hand-waved.Anyone can change the coefficients and rerun the model.All source URLs are kept inline so the script is self-documenting."""from __future__ import annotationsfrom copy import deepcopyfrom dataclasses import dataclassfrom pathlib import Pathimport csvimport jsonimport statisticsfrom typing import Dict, List, Any# ============================================================================# 1) OFFICIAL RAW DATASETS USED# ============================================================================# Each dataset includes the exact raw values used by the simulation.# Nothing else is used as an external dataset.DATASETS: Dict[str, Dict[str, Any]] = { "tokyo_brochure_2026": { "publisher": "Tokyo Metropolitan Government", "title": "TOKYO 2026 brochure / Tokyo Basics", "url": "https://www.tokyoupdates.metro.tokyo.lg.jp/en/brochure2026/pdf/tokyo2026.pdf", "notes": [ "Population 2025: 14,273,066", "Foreign residents 2025: 772,418", "Average life expectancy 2020: male 81.77, female 87.86", "People over 100 years old 2025: 7,633", "Tokyo GMP nominal FY2022: ¥120.2 trillion", "Tokyo GMP as share of Japan GDP FY2022: 21.2%", ], "raw": { "tokyo_population_2025": 14273066, "tokyo_foreign_residents_2025": 772418, "tokyo_life_expectancy_male_2020": 81.77, "tokyo_life_expectancy_female_2020": 87.86, "tokyo_people_over_100_2025": 7633, "tokyo_gmp_nominal_yen_trillion_2022": 120.2, "tokyo_gmp_share_japan_gdp_pct_2022": 21.2, }, }, "japan_vital_statistics_2024": { "publisher": "Ministry of Health, Labour and Welfare (Japan)", "title": "Vital Statistics of Japan / Natality", "url": "https://www.mhlw.go.jp/toukei/youran/aramashi/syussyou.pdf", "notes": [ "Japan total fertility rate 2024: 1.15", ], "raw": { "japan_tfr_2024": 1.15, }, }, "japan_population_projection_2023_revision": { "publisher": "National Institute of Population and Social Security Research (Japan)", "title": "Population Projections for Japan (2023 revision)", "url": "https://www.ipss.go.jp/pp-zenkoku/j/zenkoku2023/pp2023e_Summary.pdf", "notes": [ "Japan population projected in 2070: 87.0 million (medium-fertility/medium-mortality)", "Japan share aged 65+ in 2070: 38.7%", ], "raw": { "japan_population_2070_million_medium": 87.0, "japan_age65plus_share_2070_pct_medium": 38.7, }, }, "tokyo_longevity_society_article_2025": { "publisher": "Tokyo Metropolitan Government / Tokyo Updates", "title": "A Community-Based Place of Belonging for All in the 100-Year Life Era", "url": "https://www.tokyoupdates.metro.tokyo.lg.jp/en/post-1582/", "notes": [ "Seniors aged 65+ living alone in Tokyo: 890,000 in 2020", "Projected seniors aged 65+ living alone in Tokyo: 1.48 million in 2050", ], "raw": { "tokyo_seniors_living_alone_2020": 890000, "tokyo_seniors_living_alone_2050": 1480000, }, }, "mext_student_guidance_survey_r5": { "publisher": "Ministry of Education, Culture, Sports, Science and Technology (Japan)", "title": "FY2023 survey on student guidance issues / non-attendance", "url": "https://www.mext.go.jp/content/20241031-mxt_jidou02-100002753_1_2.pdf", "notes": [ "Elementary + junior high non-attendance: 346,482", "Elementary + junior high enrollment: 9,321,243", "Elementary + junior high non-attendance rate: 3.72%", "Elementary + junior high unsupported among non-attendance: 134,368", "Elementary + junior high unsupported share: 38.8%", "Elementary + junior high absent 90+ days among non-attendance: 190,392", "Elementary + junior high absent 90+ days share: 55.0%", "High-school non-attendance: 68,770", "High-school non-attendance rate: 2.4%", "High-school dropout among non-attendance: 11,746", "High-school dropout share among non-attendance: 17.1%", ], "raw": { "mext_es_jhs_nonattendance_2023": 346482, "mext_es_jhs_enrollment_2023": 9321243, "mext_es_jhs_nonattendance_rate_pct_2023": 3.72, "mext_es_jhs_unsupported_2023": 134368, "mext_es_jhs_unsupported_share_pct_2023": 38.8, "mext_es_jhs_absent90plus_2023": 190392, "mext_es_jhs_absent90plus_share_pct_2023": 55.0, "mext_hs_nonattendance_2023": 68770, "mext_hs_nonattendance_rate_pct_2023": 2.4, "mext_hs_dropout_among_nonattendance_2023": 11746, "mext_hs_dropout_share_among_nonattendance_pct_2023": 17.1, }, },}# Flatten raw values into one dictionary used by the model.RAW: Dict[str, float] = {}for dataset in DATASETS.values(): RAW.update(dataset["raw"])# ============================================================================# 2) MODEL ASSUMPTIONS / NORMALIZATION CONSTANTS# ============================================================================# These are NOT external datasets. They are explicit modeling choices.# They are here precisely so nobody has to guess what was assumed.MODEL_ASSUMPTIONS: Dict[str, Any] = { "normalization_caps": { "gmp_share_pct_reference": 25.0, "metro_population_reference": 15000000, "foreign_resident_share_reference": 0.08, "replacement_tfr_reference": 2.10, "age65_share_reference": 40.0, "life_expectancy_reference": 87.0, "living_alone_growth_reference": 0.80, }, "initial_state_formulas": { "base_stock": "100 * (0.45*gmp_strength + 0.35*population_strength + 0.20*international_depth)", "youth_inflow": "100 * (TFR / replacement_TFR_reference)", "longevity_load": "100 * (0.40*aging_share + 0.30*life_expectancy + 0.30*living_alone_growth)", "school_capture": "100 - 8 * weighted_nonattendance_rate_pct", "leakage_recovery": "100 * max(0, 1 - unsupported_share - 0.5*absent90plus_share - 0.3*hs_dropout_share)", "midlife_retool": "0.45*leakage_recovery + 0.25*base_stock + 0.30*youth_inflow", "parent_capability": "100 * (1 - 0.6*unsupported_share - 0.2*absent90plus_share - 0.1*integration_penalty)", "career_alignment": "0.35*base_stock + 0.25*youth_inflow + 0.25*school_capture + 0.15*leakage_recovery", "late_life_use": "100 * (0.45*inverse_aging_burden + 0.20*inverse_living_alone_burden + 0.35*base_stock_ratio)", "civic_continuity": "0.24*school_capture + 0.20*leakage_recovery + 0.16*midlife_retool + 0.16*parent_capability + 0.12*career_alignment + 0.12*late_life_use", "legitimacy": "0.35*civic_continuity + 0.20*school_capture + 0.20*leakage_recovery + 0.15*parent_capability + 0.10*career_alignment", }, "transition_equations": { "time_step": "10 years per step", "steps": 15, "youth_decline_per_step": 0.85, "longevity_rise_first_5_steps": 0.65, "longevity_rise_after_step_5": 0.30, "drag_formula": "drag = demographic_stress + 0.15*service_stress", "demographic_stress": "0.033*(100 - youth_inflow) + 0.038*(longevity_load - 70) + 0.022*(unsupported_share_pct - 25)", "service_stress": "0.6*unsupported_share_pct/10 + 0.3*absent90plus_share_pct/10 + 0.1*hs_dropout_share_pct/10", "base_stock_update": "base_stock += 0.03*(civic_continuity - 50) - 0.02*drag + 0.01*(career_alignment - 50)", "feedbacks": [ "midlife_retool += 0.04*(leakage_recovery - 40)", "career_alignment += 0.03*(midlife_retool - 45)", "late_life_use += 0.025*(parent_capability - 50)", ], }, "policy_vectors": { "normal_moe": { "school_capture_gain": 1.00, "leakage_recovery_gain": 0.20, "midlife_retool_gain": 0.20, "parent_capability_gain": 0.08, "career_alignment_gain": 0.30, "late_life_use_gain": 0.04, }, "moe_v2_extended": { "school_capture_gain": 1.20, "leakage_recovery_gain": 1.90, "midlife_retool_gain": 2.00, "parent_capability_gain": 1.35, "career_alignment_gain": 1.55, "late_life_use_gain": 2.05, }, }, "success_test": { "all_conditions_must_hold": True, "conditions": { "base_floor_preserved": "base_stock_end >= 75 and school_capture_end >= 60", "continuity_viable": "civic_continuity_end >= 50", "legitimacy_viable": "legitimacy_end >= 50", "recovery_advantage_over_normal": "leakage_recovery_end >= normal_end_leakage_recovery + 20", "late_life_advantage_over_normal": "late_life_use_end >= normal_end_late_life_use + 20", }, },}# ============================================================================# 3) HELPER FUNCTIONS# ============================================================================def clamp(value: float, lo: float = 0.0, hi: float = 100.0) -> float: return max(lo, min(hi, value))def ratio_cap(numerator: float, denominator: float) -> float: if denominator == 0: return 0.0 return min(max(numerator / denominator, 0.0), 1.0)# ============================================================================# 4) DERIVED FEATURES FROM RAW DATA# ============================================================================dataclassclass DerivedInputs: foreign_resident_share: float average_life_expectancy: float seniors_living_alone_growth: float weighted_school_nonattendance_rate_pct: float unsupported_share: float absent90plus_share: float hs_dropout_share: floatdef build_derived_inputs(raw: Dict[str, float]) -> DerivedInputs: foreign_resident_share = raw["tokyo_foreign_residents_2025"] / raw["tokyo_population_2025"] average_life_expectancy = statistics.mean( [raw["tokyo_life_expectancy_male_2020"], raw["tokyo_life_expectancy_female_2020"]] ) seniors_living_alone_growth = ( raw["tokyo_seniors_living_alone_2050"] / raw["tokyo_seniors_living_alone_2020"] ) - 1.0 weighted_school_nonattendance_rate_pct = ( 0.7 * raw["mext_es_jhs_nonattendance_rate_pct_2023"] + 0.3 * raw["mext_hs_nonattendance_rate_pct_2023"] ) unsupported_share = raw["mext_es_jhs_unsupported_share_pct_2023"] / 100.0 absent90plus_share = raw["mext_es_jhs_absent90plus_share_pct_2023"] / 100.0 hs_dropout_share = raw["mext_hs_dropout_share_among_nonattendance_pct_2023"] / 100.0 return DerivedInputs( foreign_resident_share=foreign_resident_share, average_life_expectancy=average_life_expectancy, seniors_living_alone_growth=seniors_living_alone_growth, weighted_school_nonattendance_rate_pct=weighted_school_nonattendance_rate_pct, unsupported_share=unsupported_share, absent90plus_share=absent90plus_share, hs_dropout_share=hs_dropout_share, )# ============================================================================# 5) INITIAL STATE CALCULATION# ============================================================================def compute_initial_state(raw: Dict[str, float], d: DerivedInputs) -> Dict[str, float]: caps = MODEL_ASSUMPTIONS["normalization_caps"] gmp_strength = ratio_cap(raw["tokyo_gmp_share_japan_gdp_pct_2022"], caps["gmp_share_pct_reference"]) population_strength = ratio_cap(raw["tokyo_population_2025"], caps["metro_population_reference"]) international_depth = ratio_cap(d.foreign_resident_share, caps["foreign_resident_share_reference"]) tfr_strength = ratio_cap(raw["japan_tfr_2024"], caps["replacement_tfr_reference"]) aging_share_strength = ratio_cap(raw["japan_age65plus_share_2070_pct_medium"], caps["age65_share_reference"]) life_expectancy_strength = ratio_cap(d.average_life_expectancy, caps["life_expectancy_reference"]) living_alone_growth_strength = ratio_cap( d.seniors_living_alone_growth, caps["living_alone_growth_reference"] ) base_stock = 100.0 * ( 0.45 * gmp_strength + 0.35 * population_strength + 0.20 * international_depth ) youth_inflow = 100.0 * tfr_strength longevity_load = 100.0 * ( 0.40 * aging_share_strength + 0.30 * life_expectancy_strength + 0.30 * living_alone_growth_strength ) school_capture = 100.0 - 8.0 * d.weighted_school_nonattendance_rate_pct leakage_recovery = 100.0 * max( 0.0, 1.0 - d.unsupported_share - 0.5 * d.absent90plus_share - 0.3 * d.hs_dropout_share, ) integration_penalty = (1.0 - international_depth) * 0.5 parent_capability = 100.0 * max( 0.0, 1.0 - 0.6 * d.unsupported_share - 0.2 * d.absent90plus_share - 0.2 * integration_penalty, ) midlife_retool = 0.45 * leakage_recovery + 0.25 * base_stock + 0.30 * youth_inflow career_alignment = 0.35 * base_stock + 0.25 * youth_inflow + 0.25 * school_capture + 0.15 * leakage_recovery inverse_aging_burden = 1.0 - ratio_cap(raw["japan_age65plus_share_2070_pct_medium"], 50.0) inverse_living_alone_burden = 1.0 - ratio_cap( raw["tokyo_seniors_living_alone_2050"], raw["tokyo_population_2025"] * 0.15 ) late_life_use = 100.0 * ( 0.45 * inverse_aging_burden + 0.20 * inverse_living_alone_burden + 0.35 * ratio_cap(base_stock, 100.0) ) state = { "base_stock": clamp(base_stock), "youth_inflow": clamp(youth_inflow), "longevity_load": clamp(longevity_load), "school_capture": clamp(school_capture), "leakage_recovery": clamp(leakage_recovery), "midlife_retool": clamp(midlife_retool), "parent_capability": clamp(parent_capability), "career_alignment": clamp(career_alignment), "late_life_use": clamp(late_life_use), } return recompute_identity_fields(state)# ============================================================================# 6) IDENTITY / SUMMARY FIELDS# ============================================================================def recompute_identity_fields(state: Dict[str, float]) -> Dict[str, float]: state = dict(state) state["civic_continuity"] = clamp( 0.22 * state["school_capture"] + 0.20 * state["leakage_recovery"] + 0.18 * state["midlife_retool"] + 0.14 * state["parent_capability"] + 0.14 * state["career_alignment"] + 0.12 * state["late_life_use"] ) state["legitimacy"] = clamp( 0.32 * state["civic_continuity"] + 0.22 * state["school_capture"] + 0.18 * state["leakage_recovery"] + 0.14 * state["parent_capability"] + 0.14 * state["career_alignment"] ) return state# ============================================================================# 7) TRANSITION MODEL# ============================================================================def run_scenario( scenario_name: str, initial_state: Dict[str, float], d: DerivedInputs, start_year: int = 2026, end_year: int = 2176,) -> List[Dict[str, float]]: cfg = MODEL_ASSUMPTIONS["policy_vectors"][scenario_name] state = deepcopy(initial_state) history: List[Dict[str, float]] = [] step_years = 10 steps = (end_year - start_year) // step_years history.append({"year": start_year, "scenario": scenario_name, **state}) for step in range(1, steps + 1): # exogenous demographic movement state["youth_inflow"] = clamp(state["youth_inflow"] - 0.85) state["longevity_load"] = clamp( state["longevity_load"] + (0.65 if step <= 5 else 0.30) ) # system stress terms demographic_stress = max( 0.0, 0.033 * (100.0 - state["youth_inflow"]) + 0.038 * (state["longevity_load"] - 70.0) + 0.022 * (d.unsupported_share * 100.0 - 25.0), ) service_stress = ( 0.6 * (d.unsupported_share * 100.0 / 10.0) + 0.3 * (d.absent90plus_share * 100.0 / 10.0) + 0.1 * (d.hs_dropout_share * 100.0 / 10.0) ) drag = demographic_stress + 0.15 * service_stress # shared drag from demographic/continuity pressure state["school_capture"] -= 0.45 * drag state["leakage_recovery"] -= 0.55 * drag state["midlife_retool"] -= 0.58 * drag state["parent_capability"] -= 0.30 * drag state["career_alignment"] -= 0.42 * drag state["late_life_use"] -= 0.62 * drag # policy gains: this is where scenario differences enter state["school_capture"] += cfg["school_capture_gain"] state["leakage_recovery"] += cfg["leakage_recovery_gain"] state["midlife_retool"] += cfg["midlife_retool_gain"] state["parent_capability"] += cfg["parent_capability_gain"] state["career_alignment"] += cfg["career_alignment_gain"] state["late_life_use"] += cfg["late_life_use_gain"] # feedback couplings: stronger recovery improves later nodes state["midlife_retool"] += 0.04 * (state["leakage_recovery"] - 40.0) state["career_alignment"] += 0.03 * (state["midlife_retool"] - 45.0) state["late_life_use"] += 0.025 * (state["parent_capability"] - 50.0) # base stock is not fixed; it responds to continuity and alignment state["base_stock"] = clamp( state["base_stock"] + 0.03 * (state["civic_continuity"] - 50.0) - 0.02 * drag + 0.01 * (state["career_alignment"] - 50.0) ) # clamp all mutable state fields then recompute identity fields state = {key: clamp(value) for key, value in state.items()} state = recompute_identity_fields(state) history.append( { "year": start_year + step * step_years, "scenario": scenario_name, **state, "demographic_stress": round(demographic_stress, 6), "service_stress": round(service_stress, 6), "drag": round(drag, 6), } ) return history# ============================================================================# 8) SUCCESS TEST# ============================================================================def evaluate_success(normal_end: Dict[str, float], extended_end: Dict[str, float]) -> Dict[str, Any]: checks = { "base_floor_preserved": ( extended_end["base_stock"] >= 75.0 and extended_end["school_capture"] >= 60.0 ), "continuity_viable": extended_end["civic_continuity"] >= 50.0, "legitimacy_viable": extended_end["legitimacy"] >= 50.0, "recovery_advantage_over_normal": ( extended_end["leakage_recovery"] >= normal_end["leakage_recovery"] + 20.0 ), "late_life_advantage_over_normal": ( extended_end["late_life_use"] >= normal_end["late_life_use"] + 20.0 ), } passed = all(checks.values()) return { "passed": passed, "checks": checks, "normal_end": normal_end, "extended_end": extended_end, "summary": ( "MOE V2.0 Extended qualifies as a model success under the declared rules." if passed else "MOE V2.0 Extended does not qualify as a model success under the declared rules." ), }# ============================================================================# 9) PACKAGED RUNNER# ============================================================================def select_checkpoints(history: List[Dict[str, float]], years: List[int]) -> List[Dict[str, float]]: lookup = {row["year"]: row for row in history} return [lookup[year] for year in years]def write_csv(path: Path, rows: List[Dict[str, Any]]) -> None: if not rows: return fieldnames: List[str] = [] for row in rows: for key in row.keys(): if key not in fieldnames: fieldnames.append(key) with path.open("w", newline="", encoding="utf-8") as f: writer = csv.DictWriter(f, fieldnames=fieldnames) writer.writeheader() writer.writerows(rows)def main() -> None: derived = build_derived_inputs(RAW) initial_state = compute_initial_state(RAW, derived) normal_history = run_scenario("normal_moe", initial_state, derived) extended_history = run_scenario("moe_v2_extended", initial_state, derived) normal_end = normal_history[-1] extended_end = extended_history[-1] success = evaluate_success(normal_end, extended_end) checkpoints = [2026, 2056, 2106, 2156, 2176] result = { "model_type": "deterministic policy simulation", "city": "Tokyo", "window": {"start_year": 2026, "end_year": 2176, "step_years": 10}, "datasets_used": DATASETS, "model_assumptions": MODEL_ASSUMPTIONS, "raw_inputs": RAW, "derived_inputs": { "foreign_resident_share": derived.foreign_resident_share, "average_life_expectancy": derived.average_life_expectancy, "seniors_living_alone_growth": derived.seniors_living_alone_growth, "weighted_school_nonattendance_rate_pct": derived.weighted_school_nonattendance_rate_pct, "unsupported_share": derived.unsupported_share, "absent90plus_share": derived.absent90plus_share, "hs_dropout_share": derived.hs_dropout_share, }, "initial_state_2026": initial_state, "scenario_checkpoints": { "normal_moe": select_checkpoints(normal_history, checkpoints), "moe_v2_extended": select_checkpoints(extended_history, checkpoints), }, "full_trajectories": { "normal_moe": normal_history, "moe_v2_extended": extended_history, }, "success_test": success, } out_dir = Path("/mnt/data") json_path = out_dir / "tokyo_moe_v2_extended_audit_output.json" csv_path = out_dir / "tokyo_moe_v2_extended_trajectories.csv" with json_path.open("w", encoding="utf-8") as f: json.dump(result, f, indent=2, ensure_ascii=False) # flatten both scenarios for spreadsheet / audit use flat_rows: List[Dict[str, Any]] = normal_history + extended_history write_csv(csv_path, flat_rows) # console summary for reproducibility print(json.dumps({ "initial_state_2026": initial_state, "normal_end_2176": normal_end, "extended_end_2176": extended_end, "success_test": success, "artifacts": { "json": str(json_path), "csv": str(csv_path), }, }, indent=2, ensure_ascii=False))if __name__ == "__main__": main()
{ "model_type": "deterministic policy simulation", "city": "Tokyo", "window": { "start_year": 2026, "end_year": 2176, "step_years": 10 }, "datasets_used": { "tokyo_brochure_2026": { "publisher": "Tokyo Metropolitan Government", "title": "TOKYO 2026 brochure / Tokyo Basics", "url": "https://www.tokyoupdates.metro.tokyo.lg.jp/en/brochure2026/pdf/tokyo2026.pdf", "notes": [ "Population 2025: 14,273,066", "Foreign residents 2025: 772,418", "Average life expectancy 2020: male 81.77, female 87.86", "People over 100 years old 2025: 7,633", "Tokyo GMP nominal FY2022: ¥120.2 trillion", "Tokyo GMP as share of Japan GDP FY2022: 21.2%" ], "raw": { "tokyo_population_2025": 14273066, "tokyo_foreign_residents_2025": 772418, "tokyo_life_expectancy_male_2020": 81.77, "tokyo_life_expectancy_female_2020": 87.86, "tokyo_people_over_100_2025": 7633, "tokyo_gmp_nominal_yen_trillion_2022": 120.2, "tokyo_gmp_share_japan_gdp_pct_2022": 21.2 } }, "japan_vital_statistics_2024": { "publisher": "Ministry of Health, Labour and Welfare (Japan)", "title": "Vital Statistics of Japan / Natality", "url": "https://www.mhlw.go.jp/toukei/youran/aramashi/syussyou.pdf", "notes": [ "Japan total fertility rate 2024: 1.15" ], "raw": { "japan_tfr_2024": 1.15 } }, "japan_population_projection_2023_revision": { "publisher": "National Institute of Population and Social Security Research (Japan)", "title": "Population Projections for Japan (2023 revision)", "url": "https://www.ipss.go.jp/pp-zenkoku/j/zenkoku2023/pp2023e_Summary.pdf", "notes": [ "Japan population projected in 2070: 87.0 million (medium-fertility/medium-mortality)", "Japan share aged 65+ in 2070: 38.7%" ], "raw": { "japan_population_2070_million_medium": 87.0, "japan_age65plus_share_2070_pct_medium": 38.7 } }, "tokyo_longevity_society_article_2025": { "publisher": "Tokyo Metropolitan Government / Tokyo Updates", "title": "A Community-Based Place of Belonging for All in the 100-Year Life Era", "url": "https://www.tokyoupdates.metro.tokyo.lg.jp/en/post-1582/", "notes": [ "Seniors aged 65+ living alone in Tokyo: 890,000 in 2020", "Projected seniors aged 65+ living alone in Tokyo: 1.48 million in 2050" ], "raw": { "tokyo_seniors_living_alone_2020": 890000, "tokyo_seniors_living_alone_2050": 1480000 } }, "mext_student_guidance_survey_r5": { "publisher": "Ministry of Education, Culture, Sports, Science and Technology (Japan)", "title": "FY2023 survey on student guidance issues / non-attendance", "url": "https://www.mext.go.jp/content/20241031-mxt_jidou02-100002753_1_2.pdf", "notes": [ "Elementary + junior high non-attendance: 346,482", "Elementary + junior high enrollment: 9,321,243", "Elementary + junior high non-attendance rate: 3.72%", "Elementary + junior high unsupported among non-attendance: 134,368", "Elementary + junior high unsupported share: 38.8%", "Elementary + junior high absent 90+ days among non-attendance: 190,392", "Elementary + junior high absent 90+ days share: 55.0%", "High-school non-attendance: 68,770", "High-school non-attendance rate: 2.4%", "High-school dropout among non-attendance: 11,746", "High-school dropout share among non-attendance: 17.1%" ], "raw": { "mext_es_jhs_nonattendance_2023": 346482, "mext_es_jhs_enrollment_2023": 9321243, "mext_es_jhs_nonattendance_rate_pct_2023": 3.72, "mext_es_jhs_unsupported_2023": 134368, "mext_es_jhs_unsupported_share_pct_2023": 38.8, "mext_es_jhs_absent90plus_2023": 190392, "mext_es_jhs_absent90plus_share_pct_2023": 55.0, "mext_hs_nonattendance_2023": 68770, "mext_hs_nonattendance_rate_pct_2023": 2.4, "mext_hs_dropout_among_nonattendance_2023": 11746, "mext_hs_dropout_share_among_nonattendance_pct_2023": 17.1 } } }, "model_assumptions": { "normalization_caps": { "gmp_share_pct_reference": 25.0, "metro_population_reference": 15000000, "foreign_resident_share_reference": 0.08, "replacement_tfr_reference": 2.1, "age65_share_reference": 40.0, "life_expectancy_reference": 87.0, "living_alone_growth_reference": 0.8 }, "initial_state_formulas": { "base_stock": "100 * (0.45*gmp_strength + 0.35*population_strength + 0.20*international_depth)", "youth_inflow": "100 * (TFR / replacement_TFR_reference)", "longevity_load": "100 * (0.40*aging_share + 0.30*life_expectancy + 0.30*living_alone_growth)", "school_capture": "100 - 8 * weighted_nonattendance_rate_pct", "leakage_recovery": "100 * max(0, 1 - unsupported_share - 0.5*absent90plus_share - 0.3*hs_dropout_share)", "midlife_retool": "0.45*leakage_recovery + 0.25*base_stock + 0.30*youth_inflow", "parent_capability": "100 * (1 - 0.6*unsupported_share - 0.2*absent90plus_share - 0.1*integration_penalty)", "career_alignment": "0.35*base_stock + 0.25*youth_inflow + 0.25*school_capture + 0.15*leakage_recovery", "late_life_use": "100 * (0.45*inverse_aging_burden + 0.20*inverse_living_alone_burden + 0.35*base_stock_ratio)", "civic_continuity": "0.24*school_capture + 0.20*leakage_recovery + 0.16*midlife_retool + 0.16*parent_capability + 0.12*career_alignment + 0.12*late_life_use", "legitimacy": "0.35*civic_continuity + 0.20*school_capture + 0.20*leakage_recovery + 0.15*parent_capability + 0.10*career_alignment" }, "transition_equations": { "time_step": "10 years per step", "steps": 15, "youth_decline_per_step": 0.85, "longevity_rise_first_5_steps": 0.65, "longevity_rise_after_step_5": 0.3, "drag_formula": "drag = demographic_stress + 0.15*service_stress", "demographic_stress": "0.033*(100 - youth_inflow) + 0.038*(longevity_load - 70) + 0.022*(unsupported_share_pct - 25)", "service_stress": "0.6*unsupported_share_pct/10 + 0.3*absent90plus_share_pct/10 + 0.1*hs_dropout_share_pct/10", "base_stock_update": "base_stock += 0.03*(civic_continuity - 50) - 0.02*drag + 0.01*(career_alignment - 50)", "feedbacks": [ "midlife_retool += 0.04*(leakage_recovery - 40)", "career_alignment += 0.03*(midlife_retool - 45)", "late_life_use += 0.025*(parent_capability - 50)" ] }, "policy_vectors": { "normal_moe": { "school_capture_gain": 1.0, "leakage_recovery_gain": 0.2, "midlife_retool_gain": 0.2, "parent_capability_gain": 0.08, "career_alignment_gain": 0.3, "late_life_use_gain": 0.04 }, "moe_v2_extended": { "school_capture_gain": 1.2, "leakage_recovery_gain": 1.9, "midlife_retool_gain": 2.0, "parent_capability_gain": 1.35, "career_alignment_gain": 1.55, "late_life_use_gain": 2.05 } }, "success_test": { "all_conditions_must_hold": true, "conditions": { "base_floor_preserved": "base_stock_end >= 75 and school_capture_end >= 60", "continuity_viable": "civic_continuity_end >= 50", "legitimacy_viable": "legitimacy_end >= 50", "recovery_advantage_over_normal": "leakage_recovery_end >= normal_end_leakage_recovery + 20", "late_life_advantage_over_normal": "late_life_use_end >= normal_end_late_life_use + 20" } } }, "raw_inputs": { "tokyo_population_2025": 14273066, "tokyo_foreign_residents_2025": 772418, "tokyo_life_expectancy_male_2020": 81.77, "tokyo_life_expectancy_female_2020": 87.86, "tokyo_people_over_100_2025": 7633, "tokyo_gmp_nominal_yen_trillion_2022": 120.2, "tokyo_gmp_share_japan_gdp_pct_2022": 21.2, "japan_tfr_2024": 1.15, "japan_population_2070_million_medium": 87.0, "japan_age65plus_share_2070_pct_medium": 38.7, "tokyo_seniors_living_alone_2020": 890000, "tokyo_seniors_living_alone_2050": 1480000, "mext_es_jhs_nonattendance_2023": 346482, "mext_es_jhs_enrollment_2023": 9321243, "mext_es_jhs_nonattendance_rate_pct_2023": 3.72, "mext_es_jhs_unsupported_2023": 134368, "mext_es_jhs_unsupported_share_pct_2023": 38.8, "mext_es_jhs_absent90plus_2023": 190392, "mext_es_jhs_absent90plus_share_pct_2023": 55.0, "mext_hs_nonattendance_2023": 68770, "mext_hs_nonattendance_rate_pct_2023": 2.4, "mext_hs_dropout_among_nonattendance_2023": 11746, "mext_hs_dropout_share_among_nonattendance_pct_2023": 17.1 }, "derived_inputs": { "foreign_resident_share": 0.05411717426374964, "average_life_expectancy": 84.815, "seniors_living_alone_growth": 0.6629213483146068, "weighted_school_nonattendance_rate_pct": 3.324, "unsupported_share": 0.38799999999999996, "absent90plus_share": 0.55, "hs_dropout_share": 0.171 }, "initial_state_2026": { "base_stock": 84.99311423260407, "youth_inflow": 54.76190476190476, "longevity_load": 92.8061022859357, "school_capture": 73.408, "leakage_recovery": 28.570000000000007, "midlife_retool": 50.533349986722456, "parent_capability": 62.48464678296871, "career_alignment": 66.07556617188762, "late_life_use": 46.09201576117498, "civic_continuity": 54.48923470263093, "legitimacy": 56.727344918521794 }, "scenario_checkpoints": { "normal_moe": [ { "year": 2026, "scenario": "normal_moe", "base_stock": 84.99311423260407, "youth_inflow": 54.76190476190476, "longevity_load": 92.8061022859357, "school_capture": 73.408, "leakage_recovery": 28.570000000000007, "midlife_retool": 50.533349986722456, "parent_capability": 62.48464678296871, "career_alignment": 66.07556617188762, "late_life_use": 46.09201576117498, "civic_continuity": 54.48923470263093, "legitimacy": 56.727344918521794 }, { "year": 2056, "scenario": "normal_moe", "base_stock": 85.49143044214667, "youth_inflow": 52.211904761904755, "longevity_load": 94.75610228593571, "school_capture": 71.83023230987436, "leakage_recovery": 23.574950600957553, "midlife_retool": 43.46423312308157, "parent_capability": 59.67280165621827, "career_alignment": 62.78270403594281, "late_life_use": 40.70141666827588, "civic_continuity": 50.369143987614216, "legitimacy": 53.30803908928382, "demographic_stress": 2.821339, "service_stress": 4.149, "drag": 3.443689 }, { "year": 2106, "scenario": "normal_moe", "base_stock": 85.15555389490363, "youth_inflow": 47.96190476190475, "longevity_load": 96.95610228593571, "school_capture": 68.76177949299827, "leakage_recovery": 14.713508269220123, "midlife_retool": 29.72577517726878, "parent_capability": 54.693833111634206, "career_alignment": 55.31406416946037, "late_life_use": 30.62371749231898, "civic_continuity": 42.496884392643544, "legitimacy": 46.776131601918415, "demographic_stress": 3.045189, "service_stress": 4.149, "drag": 3.667539 }, { "year": 2156, "scenario": "normal_moe", "base_stock": 83.09340367594295, "youth_inflow": 43.71190476190474, "longevity_load": 98.4561022859357, "school_capture": 65.24352917612217, "leakage_recovery": 5.3023134374826935, "midlife_retool": 13.568734265108473, "parent_capability": 49.41499956705015, "career_alignment": 45.14801115413476, "late_life_use": 19.281236873289078, "civic_continuity": 33.40898119972352, "legitimacy": 39.23768832237118, "demographic_stress": 3.242439, "service_stress": 4.149, "drag": 3.864789 }, { "year": 2176, "scenario": "normal_moe", "base_stock": 81.71195048876015, "youth_inflow": 42.01190476190474, "longevity_load": 99.0561022859357, "school_capture": 63.71196154937173, "leakage_recovery": 1.3859530047877235, "midlife_retool": 6.4065733896670585, "parent_capability": 47.22062114921653, "career_alignment": 40.24523281805914, "late_life_use": 14.384130201616678, "civic_continuity": 29.418320531571993, "legitimacy": 35.92518520724521, "demographic_stress": 3.321339, "service_stress": 4.149, "drag": 3.943689 } ], "moe_v2_extended": [ { "year": 2026, "scenario": "moe_v2_extended", "base_stock": 84.99311423260407, "youth_inflow": 54.76190476190476, "longevity_load": 92.8061022859357, "school_capture": 73.408, "leakage_recovery": 28.570000000000007, "midlife_retool": 50.533349986722456, "parent_capability": 62.48464678296871, "career_alignment": 66.07556617188762, "late_life_use": 46.09201576117498, "civic_continuity": 54.48923470263093, "legitimacy": 56.727344918521794 }, { "year": 2056, "scenario": "moe_v2_extended", "base_stock": 85.69219248214665, "youth_inflow": 52.211904761904755, "longevity_load": 94.75610228593571, "school_capture": 72.43023230987437, "leakage_recovery": 28.67495060095755, "midlife_retool": 49.272233123081556, "parent_capability": 63.48280165621828, "career_alignment": 66.8771040359428, "late_life_use": 46.92191666827588, "civic_continuity": 54.41965998761421, "legitimacy": 56.76082020928382, "demographic_stress": 2.821339, "service_stress": 4.149, "drag": 3.443689 }, { "year": 2106, "scenario": "moe_v2_extended", "base_stock": 86.83206237490364, "youth_inflow": 47.96190476190475, "longevity_load": 96.95610228593571, "school_capture": 70.3617794929983, "leakage_recovery": 28.313508269220115, "midlife_retool": 46.573775177268736, "parent_capability": 64.85383311163422, "career_alignment": 67.50286416946037, "late_life_use": 47.846717492318966, "civic_continuity": 53.79711639264354, "legitimacy": 56.321037841918425, "demographic_stress": 3.045189, "service_stress": 4.149, "drag": 3.667539 }, { "year": 2156, "scenario": "moe_v2_extended", "base_stock": 87.82992819594295, "youth_inflow": 43.71190476190474, "longevity_load": 98.4561022859357, "school_capture": 67.8435291761222, "leakage_recovery": 27.402313437482682, "midlife_retool": 43.15673426510845, "parent_capability": 65.92499956705015, "career_alignment": 67.24021115413474, "late_life_use": 48.300486873289046, "civic_continuity": 52.613439199723516, "legitimacy": 55.33742288237118, "demographic_stress": 3.242439, "service_stress": 4.149, "drag": 3.864789 }, { "year": 2176, "scenario": "moe_v2_extended", "base_stock": 88.15991432876014, "youth_inflow": 42.01190476190474, "longevity_load": 99.0561022859357, "school_capture": 66.7119615493718, "leakage_recovery": 26.88595300478771, "midlife_retool": 41.56657338966703, "parent_capability": 66.27062114921652, "career_alignment": 66.86243281805912, "late_life_use": 48.34413020161663, "civic_continuity": 51.97572853157199, "legitimacy": 54.78696376724521, "demographic_stress": 3.321339, "service_stress": 4.149, "drag": 3.943689 } ] }, "full_trajectories": { "normal_moe": [ { "year": 2026, "scenario": "normal_moe", "base_stock": 84.99311423260407, "youth_inflow": 54.76190476190476, "longevity_load": 92.8061022859357, "school_capture": 73.408, "leakage_recovery": 28.570000000000007, "midlife_retool": 50.533349986722456, "parent_capability": 62.48464678296871, "career_alignment": 66.07556617188762, "late_life_use": 46.09201576117498, "civic_continuity": 54.48923470263093, "legitimacy": 56.727344918521794 }, { "year": 2036, "scenario": "normal_moe", "base_stock": 85.21174512893984, "youth_inflow": 53.91190476190476, "longevity_load": 93.4561022859357, "school_capture": 72.9058149366248, "leakage_recovery": 26.933996033652523, "midlife_retool": 48.27456019082939, "parent_capability": 61.563190074051896, "career_alignment": 65.07176358512896, "late_life_use": 44.3514183145982, "civic_continuity": 53.16656303717435, "legitimacy": 55.629592256296014, "demographic_stress": 2.715839, "service_stress": 4.149, "drag": 3.338189 }, { "year": 2046, "scenario": "normal_moe", "base_stock": 85.37867450380796, "youth_inflow": 53.061904761904756, "longevity_load": 94.1061022859357, "school_capture": 72.37989237324958, "leakage_recovery": 25.26897956730504, "midlife_retool": 45.91857473628243, "parent_capability": 60.62590836513508, "career_alignment": 63.975126434733895, "late_life_use": 42.554683825298504, "civic_continuity": 51.79342261912423, "legitimacy": 54.490032754331224, "demographic_stress": 2.768589, "service_stress": 4.149, "drag": 3.390939 }, { "year": 2056, "scenario": "normal_moe", "base_stock": 85.49143044214667, "youth_inflow": 52.211904761904755, "longevity_load": 94.75610228593571, "school_capture": 71.83023230987436, "leakage_recovery": 23.574950600957553, "midlife_retool": 43.46423312308157, "parent_capability": 59.67280165621827, "career_alignment": 62.78270403594281, "late_life_use": 40.70141666827588, "civic_continuity": 50.369143987614216, "legitimacy": 53.30803908928382, "demographic_stress": 2.821339, "service_stress": 4.149, "drag": 3.443689 }, { "year": 2066, "scenario": "normal_moe", "base_stock": 85.5474910900706, "youth_inflow": 51.36190476190475, "longevity_load": 95.40610228593572, "school_capture": 71.25683474649915, "leakage_recovery": 21.851909134610068, "midlife_retool": 40.91037485122681, "parent_capability": 58.703869947301456, "career_alignment": 61.491510888996075, "late_life_use": 38.791221218530346, "civic_continuity": 48.89305280767795, "legitimacy": 52.08297750399822, "demographic_stress": 2.874089, "service_stress": 4.149, "drag": 3.496439 }, { "year": 2076, "scenario": "normal_moe", "base_stock": 85.54428416049781, "youth_inflow": 50.51190476190475, "longevity_load": 96.05610228593572, "school_capture": 70.65969968312393, "leakage_recovery": 20.099855168262582, "midlife_retool": 38.255839420718154, "parent_capability": 57.719113238384644, "career_alignment": 60.09852667913408, "late_life_use": 36.823701851061884, "civic_continuity": 47.3644698702491, "legitimacy": 50.81420780750686, "demographic_stress": 2.926839, "service_stress": 4.149, "drag": 3.549189 }, { "year": 2086, "scenario": "normal_moe", "base_stock": 85.47951070075679, "youth_inflow": 49.66190476190475, "longevity_load": 96.35610228593572, "school_capture": 70.04481211974871, "leakage_recovery": 18.326103701915095, "midlife_retool": 35.5074729315556, "parent_capability": 56.72252152946783, "career_alignment": 58.60652247459721, "late_life_use": 34.806808690870504, "civic_continuity": 45.78930773788131, "legitimacy": 49.50720196938056, "demographic_stress": 2.966289, "service_stress": 4.149, "drag": 3.588639 }, { "year": 2096, "scenario": "normal_moe", "base_stock": 85.35075472536504, "youth_inflow": 48.81190476190475, "longevity_load": 96.65610228593572, "school_capture": 69.41217205637349, "leakage_recovery": 16.53065473556761, "midlife_retool": 32.66440748373914, "parent_capability": 55.71409482055102, "career_alignment": 57.01265730662585, "late_life_use": 32.7402458629562, "civic_continuity": 44.16697694794824, "legitimacy": 48.16137362595254, "demographic_stress": 3.005739, "service_stress": 4.149, "drag": 3.628089 }, { "year": 2106, "scenario": "normal_moe", "base_stock": 85.15555389490363, "youth_inflow": 47.96190476190475, "longevity_load": 96.95610228593571, "school_capture": 68.76177949299827, "leakage_recovery": 14.713508269220123, "midlife_retool": 29.72577517726878, "parent_capability": 54.693833111634206, "career_alignment": 55.31406416946037, "late_life_use": 30.62371749231898, "civic_continuity": 42.496884392643544, "legitimacy": 46.776131601918415, "demographic_stress": 3.045189, "service_stress": 4.149, "drag": 3.667539 }, { "year": 2116, "scenario": "normal_moe", "base_stock": 84.8913991462919, "youth_inflow": 47.111904761904746, "longevity_load": 97.25610228593571, "school_capture": 68.09363442962305, "leakage_recovery": 12.874664302872636, "midlife_retool": 26.690708112144517, "parent_capability": 53.661736402717395, "career_alignment": 53.50785002034117, "late_life_use": 28.45692770395884, "civic_continuity": 40.77843331898087, "legitimacy": 45.35087991033623, "demographic_stress": 3.084639, "service_stress": 4.149, "drag": 3.706989 }, { "year": 2126, "scenario": "normal_moe", "base_stock": 84.55573432306197, "youth_inflow": 46.261904761904745, "longevity_load": 97.55610228593571, "school_capture": 67.40773686624783, "leakage_recovery": 11.01412283652515, "midlife_retool": 23.558338388366355, "parent_capability": 52.617804693800586, "career_alignment": 51.59109577950863, "late_life_use": 26.239580622875778, "civic_continuity": 39.011023328793875, "legitimacy": 43.88501775262638, "demographic_stress": 3.124089, "service_stress": 4.149, "drag": 3.746439 }, { "year": 2136, "scenario": "normal_moe", "base_stock": 84.14595580563335, "youth_inflow": 45.411904761904744, "longevity_load": 97.8561022859357, "school_capture": 66.70408680287261, "leakage_recovery": 9.131883870177663, "midlife_retool": 20.327798105934292, "parent_capability": 51.56203798488377, "career_alignment": 49.56085633020312, "late_life_use": 23.971380374069795, "civic_continuity": 37.19405037873622, "legitimacy": 42.37793951857171, "demographic_stress": 3.163539, "service_stress": 4.149, "drag": 3.785889 }, { "year": 2146, "scenario": "normal_moe", "base_stock": 83.65941214158762, "youth_inflow": 44.56190476190474, "longevity_load": 98.1561022859357, "school_capture": 65.98268423949739, "leakage_recovery": 7.2279474038301785, "midlife_retool": 16.99821936484833, "parent_capability": 50.49443627596696, "career_alignment": 47.414160518665035, "late_life_use": 21.652031082540898, "civic_continuity": 35.32690678028155, "legitimacy": 40.82903478631743, "demographic_stress": 3.202989, "service_stress": 4.149, "drag": 3.825339 }, { "year": 2156, "scenario": "normal_moe", "base_stock": 83.09340367594295, "youth_inflow": 43.71190476190474, "longevity_load": 98.4561022859357, "school_capture": 65.24352917612217, "leakage_recovery": 5.3023134374826935, "midlife_retool": 13.568734265108473, "parent_capability": 49.41499956705015, "career_alignment": 45.14801115413476, "late_life_use": 19.281236873289078, "civic_continuity": 33.40898119972352, "legitimacy": 39.23768832237118, "demographic_stress": 3.242439, "service_stress": 4.149, "drag": 3.864789 }, { "year": 2166, "scenario": "normal_moe", "base_stock": 82.44518218142873, "youth_inflow": 42.86190476190474, "longevity_load": 98.7561022859357, "school_capture": 64.48662161274694, "leakage_recovery": 3.3549819711352087, "midlife_retool": 10.038474906714715, "parent_capability": 48.32372785813334, "career_alignment": 42.75938500885266, "late_life_use": 16.858701871314338, "civic_continuity": 31.43965865817578, "legitimacy": 37.60328008160295, "demographic_stress": 3.281889, "service_stress": 4.149, "drag": 3.904239 }, { "year": 2176, "scenario": "normal_moe", "base_stock": 81.71195048876015, "youth_inflow": 42.01190476190474, "longevity_load": 99.0561022859357, "school_capture": 63.71196154937173, "leakage_recovery": 1.3859530047877235, "midlife_retool": 6.4065733896670585, "parent_capability": 47.22062114921653, "career_alignment": 40.24523281805914, "late_life_use": 14.384130201616678, "civic_continuity": 29.418320531571993, "legitimacy": 35.92518520724521, "demographic_stress": 3.321339, "service_stress": 4.149, "drag": 3.943689 } ], "moe_v2_extended": [ { "year": 2026, "scenario": "moe_v2_extended", "base_stock": 84.99311423260407, "youth_inflow": 54.76190476190476, "longevity_load": 92.8061022859357, "school_capture": 73.408, "leakage_recovery": 28.570000000000007, "midlife_retool": 50.533349986722456, "parent_capability": 62.48464678296871, "career_alignment": 66.07556617188762, "late_life_use": 46.09201576117498, "civic_continuity": 54.48923470263093, "legitimacy": 56.727344918521794 }, { "year": 2036, "scenario": "moe_v2_extended", "base_stock": 85.22480552893984, "youth_inflow": 53.91190476190476, "longevity_load": 93.4561022859357, "school_capture": 73.1058149366248, "leakage_recovery": 28.633996033652522, "midlife_retool": 50.142560190829386, "parent_capability": 62.8331900740519, "career_alignment": 66.37780358512896, "late_life_use": 46.3931683145982, "civic_continuity": 54.49245863717435, "legitimacy": 56.76452444829602, "demographic_stress": 2.715839, "service_stress": 4.149, "drag": 3.338189 }, { "year": 2046, "scenario": "moe_v2_extended", "base_stock": 85.45821337180796, "youth_inflow": 53.061904761904756, "longevity_load": 94.1061022859357, "school_capture": 72.77989237324958, "leakage_recovery": 28.668979567305037, "midlife_retool": 49.72257473628242, "parent_capability": 63.16590836513509, "career_alignment": 66.6452864347339, "late_life_use": 46.6699338252985, "civic_continuity": 54.469395019124235, "legitimacy": 56.77576632233123, "demographic_stress": 2.768589, "service_stress": 4.149, "drag": 3.390939 }, { "year": 2056, "scenario": "moe_v2_extended", "base_stock": 85.69219248214665, "youth_inflow": 52.211904761904755, "longevity_load": 94.75610228593571, "school_capture": 72.43023230987437, "leakage_recovery": 28.67495060095755, "midlife_retool": 49.272233123081556, "parent_capability": 63.48280165621828, "career_alignment": 66.8771040359428, "late_life_use": 46.92191666827588, "civic_continuity": 54.41965998761421, "legitimacy": 56.76082020928382, "demographic_stress": 2.821339, "service_stress": 4.149, "drag": 3.443689 }, { "year": 2066, "scenario": "moe_v2_extended", "base_stock": 85.92557661007058, "youth_inflow": 51.36190476190475, "longevity_load": 95.40610228593572, "school_capture": 72.05683474649916, "leakage_recovery": 28.651909134610065, "midlife_retool": 48.790374851226794, "parent_capability": 63.78386994730147, "career_alignment": 67.07231088899607, "late_life_use": 47.14872121853033, "civic_continuity": 54.342864807677955, "legitimacy": 56.71942934399824, "demographic_stress": 2.874089, "service_stress": 4.149, "drag": 3.496439 }, { "year": 2076, "scenario": "moe_v2_extended", "base_stock": 86.1571780404978, "youth_inflow": 50.51190476190475, "longevity_load": 96.05610228593572, "school_capture": 71.65969968312395, "leakage_recovery": 28.59985516826258, "midlife_retool": 48.27583942071813, "parent_capability": 64.06911323838466, "career_alignment": 67.22992667913408, "late_life_use": 47.349951851061874, "civic_continuity": 54.238615870249085, "legitimacy": 56.65133052750686, "demographic_stress": 2.926839, "service_stress": 4.149, "drag": 3.549189 }, { "year": 2086, "scenario": "moe_v2_extended", "base_stock": 86.38611136075679, "youth_inflow": 49.66190476190475, "longevity_load": 96.35610228593572, "school_capture": 71.24481211974873, "leakage_recovery": 28.52610370191509, "midlife_retool": 47.73547293155556, "parent_capability": 64.34252152946785, "career_alignment": 67.35476247459721, "late_life_use": 47.53355869087049, "civic_continuity": 54.11311133788131, "legitimacy": 56.56237272138056, "demographic_stress": 2.966289, "service_stress": 4.149, "drag": 3.588639 }, { "year": 2096, "scenario": "moe_v2_extended", "base_stock": 86.61140309336504, "youth_inflow": 48.81190476190475, "longevity_load": 96.65610228593572, "school_capture": 70.81217205637351, "leakage_recovery": 28.430654735567604, "midlife_retool": 47.1684074837391, "parent_capability": 64.60409482055103, "career_alignment": 67.44601730662585, "late_life_use": 47.69924586295619, "civic_continuity": 53.96604734794824, "legitimacy": 56.452346553952545, "demographic_stress": 3.005739, "service_stress": 4.149, "drag": 3.628089 }, { "year": 2106, "scenario": "moe_v2_extended", "base_stock": 86.83206237490364, "youth_inflow": 47.96190476190475, "longevity_load": 96.95610228593571, "school_capture": 70.3617794929983, "leakage_recovery": 28.313508269220115, "midlife_retool": 46.573775177268736, "parent_capability": 64.85383311163422, "career_alignment": 67.50286416946037, "late_life_use": 47.846717492318966, "civic_continuity": 53.79711639264354, "legitimacy": 56.321037841918425, "demographic_stress": 3.045189, "service_stress": 4.149, "drag": 3.667539 }, { "year": 2116, "scenario": "moe_v2_extended", "base_stock": 87.0470805862919, "youth_inflow": 47.111904761904746, "longevity_load": 97.25610228593571, "school_capture": 69.89363442962308, "leakage_recovery": 28.17466430287263, "midlife_retool": 45.950708112144476, "parent_capability": 65.0917364027174, "career_alignment": 67.52445002034116, "late_life_use": 47.97567770395882, "civic_continuity": 53.60600731898087, "legitimacy": 56.16822759033623, "demographic_stress": 3.084639, "service_stress": 4.149, "drag": 3.706989 }, { "year": 2126, "scenario": "moe_v2_extended", "base_stock": 87.25543098306196, "youth_inflow": 46.261904761904745, "longevity_load": 97.55610228593571, "school_capture": 69.40773686624786, "leakage_recovery": 28.014122836525143, "midlife_retool": 45.29833838836632, "parent_capability": 65.3178046938006, "career_alignment": 67.50989577950862, "late_life_use": 48.08583062287576, "civic_continuity": 53.39240532879387, "legitimacy": 55.99369199262638, "demographic_stress": 3.124089, "service_stress": 4.149, "drag": 3.746439 }, { "year": 2136, "scenario": "moe_v2_extended", "base_stock": 87.45606832563334, "youth_inflow": 45.411904761904744, "longevity_load": 97.8561022859357, "school_capture": 68.90408680287264, "leakage_recovery": 27.831883870177656, "midlife_retool": 44.61579810593426, "parent_capability": 65.53203798488379, "career_alignment": 67.45829633020311, "late_life_use": 48.176880374069775, "civic_continuity": 53.15599197873622, "legitimacy": 55.79720243057171, "demographic_stress": 3.163539, "service_stress": 4.149, "drag": 3.785889 }, { "year": 2146, "scenario": "moe_v2_extended", "base_stock": 87.64792850958762, "youth_inflow": 44.56190476190474, "longevity_load": 98.1561022859357, "school_capture": 68.38268423949742, "leakage_recovery": 27.62794740383017, "midlife_retool": 43.90221936484831, "parent_capability": 65.73443627596697, "career_alignment": 67.36872051866503, "late_life_use": 48.24853108254087, "civic_continuity": 52.896445180281546, "legitimacy": 55.57852547431744, "demographic_stress": 3.202989, "service_stress": 4.149, "drag": 3.825339 }, { "year": 2156, "scenario": "moe_v2_extended", "base_stock": 87.82992819594295, "youth_inflow": 43.71190476190474, "longevity_load": 98.4561022859357, "school_capture": 67.8435291761222, "leakage_recovery": 27.402313437482682, "midlife_retool": 43.15673426510845, "parent_capability": 65.92499956705015, "career_alignment": 67.24021115413474, "late_life_use": 48.300486873289046, "civic_continuity": 52.613439199723516, "legitimacy": 55.33742288237118, "demographic_stress": 3.242439, "service_stress": 4.149, "drag": 3.864789 }, { "year": 2166, "scenario": "moe_v2_extended", "base_stock": 88.00096444142874, "youth_inflow": 42.86190476190474, "longevity_load": 98.7561022859357, "school_capture": 67.286621612747, "leakage_recovery": 27.154981971135197, "midlife_retool": 42.378474906714686, "parent_capability": 66.10372785813334, "career_alignment": 67.07178500885264, "late_life_use": 48.3324518713143, "civic_continuity": 52.306644658175784, "legitimacy": 55.07365160160297, "demographic_stress": 3.281889, "service_stress": 4.149, "drag": 3.904239 }, { "year": 2176, "scenario": "moe_v2_extended", "base_stock": 88.15991432876014, "youth_inflow": 42.01190476190474, "longevity_load": 99.0561022859357, "school_capture": 66.7119615493718, "leakage_recovery": 26.88595300478771, "midlife_retool": 41.56657338966703, "parent_capability": 66.27062114921652, "career_alignment": 66.86243281805912, "late_life_use": 48.34413020161663, "civic_continuity": 51.97572853157199, "legitimacy": 54.78696376724521, "demographic_stress": 3.321339, "service_stress": 4.149, "drag": 3.943689 } ] }, "success_test": { "passed": true, "checks": { "base_floor_preserved": true, "continuity_viable": true, "legitimacy_viable": true, "recovery_advantage_over_normal": true, "late_life_advantage_over_normal": true }, "normal_end": { "year": 2176, "scenario": "normal_moe", "base_stock": 81.71195048876015, "youth_inflow": 42.01190476190474, "longevity_load": 99.0561022859357, "school_capture": 63.71196154937173, "leakage_recovery": 1.3859530047877235, "midlife_retool": 6.4065733896670585, "parent_capability": 47.22062114921653, "career_alignment": 40.24523281805914, "late_life_use": 14.384130201616678, "civic_continuity": 29.418320531571993, "legitimacy": 35.92518520724521, "demographic_stress": 3.321339, "service_stress": 4.149, "drag": 3.943689 }, "extended_end": { "year": 2176, "scenario": "moe_v2_extended", "base_stock": 88.15991432876014, "youth_inflow": 42.01190476190474, "longevity_load": 99.0561022859357, "school_capture": 66.7119615493718, "leakage_recovery": 26.88595300478771, "midlife_retool": 41.56657338966703, "parent_capability": 66.27062114921652, "career_alignment": 66.86243281805912, "late_life_use": 48.34413020161663, "civic_continuity": 51.97572853157199, "legitimacy": 54.78696376724521, "demographic_stress": 3.321339, "service_stress": 4.149, "drag": 3.943689 }, "summary": "MOE V2.0 Extended qualifies as a model success under the declared rules." }}
[wp_proof_pack_block]TITLE:Tokyo CitySim.150Y.CF Proof PackSUBTITLE:Normal MOE vs MOE V2.0 Extended | Tokyo | 150-Year Audit FilesPURPOSE:This proof pack is included so readers, auditors, AI systems, and future reviewers can check the simulation inputs, logic, outputs, and trajectories directly.The aim is simple:show the method,show the result,show the full run path,and reduce claims that the model was hand-waved or hidden.SECTION_1:Heading: What is included in this proof pack?ITEM_1:File: tokyo_moe_v2_extended_audit.pyRole: Main audit codeUse:- shows the datasets used- shows the declared assumptions- shows the formulas and transition logic- shows how the verdict is calculatedLINK:[sandbox:/mnt/data/tokyo_moe_v2_extended_audit.py]ITEM_2:File: tokyo_moe_v2_extended_audit_output.jsonRole: Machine-readable final outputUse:- shows the final model results- shows the success checks- shows the final verdict in structured form- useful for AI ingestion, verification, and downstream processingLINK:[sandbox:/mnt/data/tokyo_moe_v2_extended_audit_output.json]ITEM_3:File: tokyo_moe_v2_extended_trajectories.csvRole: Full trajectory evidenceUse:- shows how variables changed across the 150-year run- shows that the conclusion is not based only on the final snapshot- allows external charting, replay, and inspectionLINK:[sandbox:/mnt/data/tokyo_moe_v2_extended_trajectories.csv]SECTION_2:Heading: How to read this proof packSTEP_1:Read the Python audit file first.This shows the declared model structure, the variables, the assumptions, and the calculation path.STEP_2:Open the JSON output next.This gives the clean machine-readable result and the final pass/fail style checks.STEP_3:Open the CSV trajectory file last.This shows how the system moved through time and whether MOE V2.0 Extended remained stronger than normal MOE across the run.SECTION_3:Heading: Why all 3 files matterRULE:The .py file shows the method.The .json file shows the verdict.The .csv file shows the path.INTERPRETATION:Without the code, the result can be accused of being unsupported.Without the JSON, the result is harder for AI and auditors to verify quickly.Without the CSV, the run can be accused of showing only an end-state without the path that led there.SECTION_4:Heading: Audit boundaryBOUNDARY_NOTE:This is a declared simulation model, not an official government forecast.The raw public datasets are separated from the model assumptions.That separation is intentional so that future reviewers can distinguish:- what was measured- what was projected- what was modelled- what counted as successSECTION_5:Heading: Current verdict inside this proof packVERDICT:Under the declared Tokyo CitySim.150Y.CF conditions,MOE V2.0 Extended performs better than normal MOEon leakage recovery,mid-life retooling,late-life inclusion,career continuity,and long-horizon civic survivability.CLOSING_LINE:This proof pack is published so the model can be examined, challenged, improved, or rerun openly.[/wp_proof_pack_block]
eduKateSG Learning System | Control Tower, Runtime, and Next Routes
This article is one node inside the wider eduKateSG Learning System.
At eduKateSG, we do not treat education as random tips, isolated tuition notes, or one-off exam hacks. We treat learning as a living runtime:
state -> diagnosis -> method -> practice -> correction -> repair -> transfer -> long-term growth
That is why each article is written to do more than answer one question. It should help the reader move into the next correct corridor inside the wider eduKateSG system: understand -> diagnose -> repair -> optimize -> transfer. Your uploaded spine clearly clusters around Education OS, Tuition OS, Civilisation OS, subject learning systems, runtime/control-tower pages, and real-world lattice connectors, so this footer compresses those routes into one reusable ending block.
Start Here
- Education OS | How Education Works
- Tuition OS | eduKateOS & CivOS
- Civilisation OS
- How Civilization Works
- CivOS Runtime Control Tower
Learning Systems
- The eduKate Mathematics Learning System
- Learning English System | FENCE by eduKateSG
- eduKate Vocabulary Learning System
- Additional Mathematics 101
Runtime and Deep Structure
- Human Regenerative Lattice | 3D Geometry of Civilisation
- Civilisation Lattice
- Advantages of Using CivOS | Start Here Stack Z0-Z3 for Humans & AI
Real-World Connectors
Subject Runtime Lane
- Math Worksheets
- How Mathematics Works PDF
- MathOS Runtime Control Tower v0.1
- MathOS Failure Atlas v0.1
- MathOS Recovery Corridors P0 to P3
How to Use eduKateSG
If you want the big picture -> start with Education OS and Civilisation OS
If you want subject mastery -> enter Mathematics, English, Vocabulary, or Additional Mathematics
If you want diagnosis and repair -> move into the CivOS Runtime and subject runtime pages
If you want real-life context -> connect learning back to Family OS, Bukit Timah OS, Punggol OS, and Singapore City OS
Why eduKateSG writes articles this way
eduKateSG is not only publishing content.
eduKateSG is building a connected control tower for human learning.
That means each article can function as:
- a standalone answer,
- a bridge into a wider system,
- a diagnostic node,
- a repair route,
- and a next-step guide for students, parents, tutors, and AI readers.
eduKateSG.LearningSystem.Footer.v1.0
TITLE: eduKateSG Learning System | Control Tower / Runtime / Next Routes
FUNCTION:
This article is one node inside the wider eduKateSG Learning System.
Its job is not only to explain one topic, but to help the reader enter the next correct corridor.
CORE_RUNTIME:
reader_state -> understanding -> diagnosis -> correction -> repair -> optimisation -> transfer -> long_term_growth
CORE_IDEA:
eduKateSG does not treat education as random tips, isolated tuition notes, or one-off exam hacks.
eduKateSG treats learning as a connected runtime across student, parent, tutor, school, family, subject, and civilisation layers.
PRIMARY_ROUTES:
1. First Principles
- Education OS
- Tuition OS
- Civilisation OS
- How Civilization Works
- CivOS Runtime Control Tower
2. Subject Systems
- Mathematics Learning System
- English Learning System
- Vocabulary Learning System
- Additional Mathematics
3. Runtime / Diagnostics / Repair
- CivOS Runtime Control Tower
- MathOS Runtime Control Tower
- MathOS Failure Atlas
- MathOS Recovery Corridors
- Human Regenerative Lattice
- Civilisation Lattice
4. Real-World Connectors
- Family OS
- Bukit Timah OS
- Punggol OS
- Singapore City OS
READER_CORRIDORS:
IF need == "big picture"
THEN route_to = Education OS + Civilisation OS + How Civilization Works
IF need == "subject mastery"
THEN route_to = Mathematics + English + Vocabulary + Additional Mathematics
IF need == "diagnosis and repair"
THEN route_to = CivOS Runtime + subject runtime pages + failure atlas + recovery corridors
IF need == "real life context"
THEN route_to = Family OS + Bukit Timah OS + Punggol OS + Singapore City OS
CLICKABLE_LINKS:
Education OS:
Education OS | How Education Works — The Regenerative Machine Behind Learning
Tuition OS:
Tuition OS (eduKateOS / CivOS)
Civilisation OS:
Civilisation OS
How Civilization Works:
Civilisation: How Civilisation Actually Works
CivOS Runtime Control Tower:
CivOS Runtime / Control Tower (Compiled Master Spec)
Mathematics Learning System:
The eduKate Mathematics Learning System™
English Learning System:
Learning English System: FENCE™ by eduKateSG
Vocabulary Learning System:
eduKate Vocabulary Learning System
Additional Mathematics 101:
Additional Mathematics 101 (Everything You Need to Know)
Human Regenerative Lattice:
eRCP | Human Regenerative Lattice (HRL)
Civilisation Lattice:
The Operator Physics Keystone
Family OS:
Family OS (Level 0 root node)
Bukit Timah OS:
Bukit Timah OS
Punggol OS:
Punggol OS
Singapore City OS:
Singapore City OS
MathOS Runtime Control Tower:
MathOS Runtime Control Tower v0.1 (Install • Sensors • Fences • Recovery • Directories)
MathOS Failure Atlas:
MathOS Failure Atlas v0.1 (30 Collapse Patterns + Sensors + Truncate/Stitch/Retest)
MathOS Recovery Corridors:
MathOS Recovery Corridors Directory (P0→P3) — Entry Conditions, Steps, Retests, Exit Gates
SHORT_PUBLIC_FOOTER:
This article is part of the wider eduKateSG Learning System.
At eduKateSG, learning is treated as a connected runtime:
understanding -> diagnosis -> correction -> repair -> optimisation -> transfer -> long-term growth.
Start here:
Education OS
Education OS | How Education Works — The Regenerative Machine Behind Learning
Tuition OS
Tuition OS (eduKateOS / CivOS)
Civilisation OS
Civilisation OS
CivOS Runtime Control Tower
CivOS Runtime / Control Tower (Compiled Master Spec)
Mathematics Learning System
The eduKate Mathematics Learning System™
English Learning System
Learning English System: FENCE™ by eduKateSG
Vocabulary Learning System
eduKate Vocabulary Learning System
Family OS
Family OS (Level 0 root node)
Singapore City OS
Singapore City OS
CLOSING_LINE:
A strong article does not end at explanation.
A strong article helps the reader enter the next correct corridor.
TAGS:
eduKateSG
Learning System
Control Tower
Runtime
Education OS
Tuition OS
Civilisation OS
Mathematics
English
Vocabulary
Family OS
Singapore City OS


