HirModel's picture
Upload 16 files
672d7cc verified
Raw
History Blame Contribute Delete
67.4 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Substrate Education Simulator</title>
<meta name="description" content="A bounded pressure-map simulator for education, cognition, parent inheritance, AI-crutch formation debt, hidden genius, context density, and repair-path visibility." />
<meta property="og:type" content="website" />
<meta property="og:title" content="Substrate Education Simulator" />
<meta property="og:description" content="Learning through healing. Pressure made visible. Repair made navigable." />
<meta property="og:image" content="assets/social-preview.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Substrate Education Simulator" />
<meta name="twitter:description" content="Learning through healing. Pressure made visible. Repair made navigable." />
<meta name="twitter:image" content="assets/social-preview.png" />
<link rel="icon" href="assets/favicon.svg" type="image/svg+xml" />
<style>
:root {
--bg: #0b0d10;
--panel: #151922;
--panel2: #1d2330;
--text: #e8edf4;
--muted: #a9b4c4;
--line: #30394a;
--accent: #b9893a;
--green: #63c27a;
--yellow: #e4c45b;
--orange: #e08b45;
--red: #d85d66;
--blue: #6ba6ff;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
background: radial-gradient(circle at top left, #202415 0, #0b0d10 38%, #08090b 100%);
color: var(--text);
}
header {
padding: 22px 26px;
border-bottom: 1px solid var(--line);
background: rgba(10, 12, 16, 0.92);
position: sticky;
top: 0;
z-index: 5;
backdrop-filter: blur(10px);
}
h1 { margin: 0 0 6px; font-size: 22px; letter-spacing: .2px; }
.sub { color: var(--muted); font-size: 13px; line-height: 1.45; max-width: 1200px; }
.coreline {
color: #f2d18a;
font-weight: 700;
}
main {
display: grid;
grid-template-columns: 380px 1fr;
gap: 18px;
padding: 18px;
}
.card {
background: rgba(21,25,34,.95);
border: 1px solid var(--line);
border-radius: 16px;
padding: 16px;
box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.controls {
position: sticky;
top: 98px;
max-height: calc(100vh - 116px);
overflow: auto;
}
label { display: block; font-size: 12px; color: var(--muted); margin-bottom: 6px; }
select, input[type="text"], textarea {
width: 100%;
background: #0e1118;
color: var(--text);
border: 1px solid var(--line);
border-radius: 10px;
padding: 10px;
outline: none;
}
button {
background: #202737;
color: var(--text);
border: 1px solid #3a465c;
border-radius: 10px;
padding: 9px 12px;
cursor: pointer;
font-weight: 650;
}
button:hover { border-color: var(--accent); }
.button-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.small { font-size: 12px; color: var(--muted); line-height: 1.4; }
.results {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
gap: 12px;
margin-bottom: 18px;
}
.metric {
background: linear-gradient(145deg, #151b27, #10141c);
border: 1px solid var(--line);
border-radius: 14px;
padding: 13px;
}
.metric h3 { margin: 0 0 9px; font-size: 13px; color: var(--muted); font-weight: 650; }
.score { font-size: 28px; font-weight: 800; letter-spacing: .4px; }
.bar {
height: 8px;
background: #0b0f15;
border-radius: 99px;
overflow: hidden;
margin-top: 9px;
border: 1px solid #263041;
}
.fill { height: 100%; width: 0%; transition: width .2s ease; }
.route {
display: inline-block;
padding: 4px 8px;
border-radius: 999px;
font-size: 11px;
font-weight: 800;
margin-top: 8px;
}
.GREEN { background: rgba(99,194,122,.16); color: var(--green); border: 1px solid rgba(99,194,122,.45); }
.YELLOW { background: rgba(228,196,91,.16); color: var(--yellow); border: 1px solid rgba(228,196,91,.45); }
.ORANGE { background: rgba(224,139,69,.16); color: var(--orange); border: 1px solid rgba(224,139,69,.45); }
.RED { background: rgba(216,93,102,.16); color: var(--red); border: 1px solid rgba(216,93,102,.45); }
.var-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
gap: 10px;
}
details {
background: rgba(29,35,48,.7);
border: 1px solid var(--line);
border-radius: 14px;
padding: 10px 12px;
}
summary {
cursor: pointer;
font-weight: 800;
color: #f0d193;
}
.var {
border-top: 1px solid #2e3748;
padding: 11px 0;
}
.var:first-of-type { border-top: none; }
.v-head { display:flex; justify-content:space-between; gap:10px; align-items: baseline; }
.v-title { font-size: 13px; font-weight: 700; }
.v-symbol { color: var(--muted); font-size: 11px; }
.v-def { color: var(--muted); font-size: 11px; margin: 4px 0 7px; line-height: 1.35; }
input[type="range"] { width: 100%; accent-color: var(--accent); }
.value-pill {
min-width: 44px;
text-align: right;
color: #f1cc7c;
font-weight: 800;
font-variant-numeric: tabular-nums;
}
.badge {
font-size: 10px;
color: var(--muted);
border: 1px solid #39445a;
padding: 2px 6px;
border-radius: 999px;
}
.top-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-bottom: 12px;
}
.boundary {
border-left: 4px solid var(--accent);
background: rgba(185,137,58,.08);
}
.log {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
white-space: pre-wrap;
font-size: 12px;
color: #d8e1ef;
background: #090b0f;
border: 1px solid #2d3545;
border-radius: 12px;
padding: 12px;
max-height: 300px;
overflow: auto;
}
@media (max-width: 980px) {
main { grid-template-columns: 1fr; }
.controls { position: static; max-height: none; }
.top-grid { grid-template-columns: 1fr; }
}
.landing-hero {
position: relative;
overflow: hidden;
border-bottom: 1px solid var(--line);
background: #090b0f;
}
.landing-hero-inner {
display: grid;
grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
gap: 22px;
align-items: center;
padding: 22px 26px 24px;
max-width: 1440px;
margin: 0 auto;
}
.hero-video-frame {
border: 1px solid rgba(242, 209, 142, 0.28);
border-radius: 18px;
overflow: hidden;
background: #05070a;
box-shadow: 0 16px 40px rgba(0,0,0,.42);
}
.hero-video {
display: block;
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
object-fit: cover;
background: #05070a;
}
.hero-copy {
padding: 14px 8px;
}
.hero-kicker {
color: #f2d18a;
font-size: 12px;
text-transform: uppercase;
letter-spacing: .14em;
font-weight: 800;
margin-bottom: 10px;
}
.hero-copy h2 {
margin: 0 0 10px;
font-size: clamp(30px, 4vw, 58px);
line-height: .98;
letter-spacing: -.04em;
}
.hero-copy p {
color: var(--muted);
font-size: 15px;
line-height: 1.55;
max-width: 580px;
}
.hero-copy .hero-line {
color: #f2d18a;
font-weight: 800;
}
.hero-actions {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-top: 16px;
}
.hero-actions a {
color: var(--text);
text-decoration: none;
border: 1px solid #3a465c;
background: #202737;
border-radius: 12px;
padding: 10px 13px;
font-weight: 800;
font-size: 13px;
}
.hero-note {
margin-top: 10px;
font-size: 12px;
color: var(--muted);
}
@media (max-width: 980px) {
.landing-hero-inner {
grid-template-columns: 1fr;
padding: 16px;
}
.hero-copy h2 {
font-size: 34px;
}
}
</style>
</head>
<body>
<header>
<h1>Major Rescue Atlas / Substrate Education Simulator <span class="badge">Prototype v0.1</span></h1>
<div class="sub">
Runtime prototype built from v1.0 Master Record, v0.9.1 schema, and v0.9.2 continuity/context-density layer.
<span class="coreline">A thing survives transfer when it can come back to the whole.</span>
</div>
</header>
<section class="landing-hero" aria-label="Substrate Education Simulator hero">
<div class="landing-hero-inner">
<div class="hero-video-frame">
<video class="hero-video" controls playsinline preload="metadata" poster="assets/social-preview.png">
<source src="assets/hero-video.mp4" type="video/mp4" />
Your browser does not support the video tag.
</video>
</div>
<div class="hero-copy">
<div class="hero-kicker">Learning through healing</div>
<h2>Pressure made visible. Repair made navigable.</h2>
<p>
A bounded pressure-map simulator for education, cognition literacy, AI-crutch formation debt,
hidden genius, context density, and repair-path visibility.
</p>
<p class="hero-line">
A thing survives transfer when it can come back to the whole.
</p>
<div class="hero-actions">
<a href="#simulator">Explore simulator</a>
<a href="docs/Master_Record_v1_1_CONSOLIDATED.txt">Read master record</a>
</div>
<div class="hero-note">
Video includes campus/classroom atmosphere. Use controls to play with sound.
</div>
</div>
</div>
</section>
<section class="card" style="max-width:1440px;margin:18px auto 0;padding:18px 22px;border:1px solid #30394a;background:#111722;border-radius:18px;">
<h2 style="margin:0 0 8px;color:#f2d18a;">v1.1 Loop Mechanics Patch</h2>
<p style="margin:0 0 10px;color:#c9d3e2;line-height:1.55;">New layer: ouroboros → infinity loop reorientation, time reclamation, outsourced agency consumption, summer-puddle vs reservoir depth, and dignity-preserving bounded AI articulation.</p>
<p style="margin:0 0 12px;color:#f2d18a;font-weight:800;">People are already time-impoverished. The work is to help them find where their time went and return it back to themselves.</p>
<p style="margin:0;color:#a9b4c4;font-size:13px;">Docs: <a style="color:#f2d18a;" href="docs/v1_1_Continuity_Patch_Ouroboros_Infinity_Time_Reclamation.txt">v1.1 patch</a> · <a style="color:#f2d18a;" href="docs/Master_Record_v1_1_CONSOLIDATED.txt">v1.1 master record</a> · <a style="color:#f2d18a;" href="docs/Schema_Extension_v1_1_Loop_Mechanics.json">schema extension</a></p>
</section>
<main id="simulator">
<aside class="card controls">
<h2 style="margin-top:0;font-size:18px;">Scenario Controls</h2>
<label for="preset">Preset scenario</label>
<select id="preset"></select>
<div class="button-row">
<button onclick="loadPreset()">Load preset</button>
<button onclick="resetAll()">Reset sparse</button>
<button onclick="exportScenario()">Export JSON</button>
</div>
<p class="small">
Default semantics: unset variables = <b>0.00</b>. This avoids silently injecting false pressure or false repair.
Scores are scenario pressure-map outputs, not prediction, diagnosis, proof, or blame.
</p>
<div class="top-grid">
<div>
<label>A_t — Activation</label>
<input type="range" min="0" max="1" step="0.01" id="A_t" value="0.60" oninput="compute()" />
<div class="small">Current: <b id="A_val">0.60</b></div>
</div>
<div>
<label>B_t — Baseline</label>
<input type="range" min="0" max="1" step="0.01" id="B_t" value="0.60" oninput="compute()" />
<div class="small">Current: <b id="B_val">0.60</b></div>
</div>
</div>
<label for="search">Search variables</label>
<input id="search" type="text" placeholder="context, parent, AI, teacher..." oninput="renderVariables()" />
<div class="button-row">
<button onclick="expandAll(true)">Expand all</button>
<button onclick="expandAll(false)">Collapse all</button>
</div>
<hr style="border:0;border-top:1px solid var(--line);margin:14px 0;">
<div class="card boundary" style="padding:12px;">
<b>Boundary</b>
<div class="small" style="margin-top:6px;">
Pressure/backtrace simulator. Not empirical validation. Not diagnosis. Not prediction. Not anti-AI, anti-college, or anti-non-college path.
</div>
</div>
</aside>
<section>
<div class="results" id="results"></div>
<div class="card" style="margin-bottom:18px;">
<h2 style="margin-top:0;font-size:18px;">Run Interpretation</h2>
<div id="interpretation" class="small"></div>
</div>
<div class="card" style="margin-bottom:18px;">
<h2 style="margin-top:0;font-size:18px;">Variables</h2>
<div id="variableGroups" class="var-grid"></div>
</div>
<div class="card">
<h2 style="margin-top:0;font-size:18px;">Exported Scenario JSON</h2>
<textarea id="exportBox" rows="12" spellcheck="false"></textarea>
</div>
</section>
</main>
<script>
const VARIABLES = [{"id": "P_cost", "symbol": "P_cost", "display_name": "Cost", "category": "OAM_PRESSURE", "layer": "Education Access", "definition": "Education cost pressure including tuition, fees, living cost, and opportunity cost.", "default": 0.0, "polarity": "subtract"}, {"id": "P_debt", "symbol": "P_debt", "display_name": "Debt", "category": "OAM_PRESSURE", "layer": "Education Access", "definition": "Delayed pressure from loans and debt drag.", "default": 0.0, "polarity": "subtract"}, {"id": "P_credential", "symbol": "P_credential", "display_name": "Credential", "category": "OAM_PRESSURE", "layer": "Credential Blindness", "definition": "Credential blindness or dismissal of capability because formal credential markers are missing.", "default": 0.0, "polarity": "subtract"}, {"id": "P_access", "symbol": "P_access", "display_name": "Access", "category": "OAM_PRESSURE", "layer": "Education Access", "definition": "Access variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_attention", "symbol": "P_attention", "display_name": "Attention", "category": "OAM_PRESSURE", "layer": "Attention", "definition": "Short-form fragmentation, no-closure loops, hook-bait, and context loss.", "default": 0.0, "polarity": "subtract"}, {"id": "P_sensational", "symbol": "P_sensational", "display_name": "Sensational", "category": "OAM_PRESSURE", "layer": "Attention Market", "definition": "Sensational variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_algorithm", "symbol": "P_algorithm", "display_name": "Algorithm", "category": "OAM_PRESSURE", "layer": "Platform Routing", "definition": "Algorithm variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_time", "symbol": "P_time", "display_name": "Time", "category": "OAM_PRESSURE", "layer": "Time Theft", "definition": "Time variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_AI", "symbol": "P_AI", "display_name": "AI Pressure", "category": "OAM_PRESSURE", "layer": "AI / Formation", "definition": "AI output replacing formation rather than supporting it.", "default": 0.0, "polarity": "subtract"}, {"id": "P_AI_crutch", "symbol": "P_AI-crutch", "display_name": "AI Crutch", "category": "RISK", "layer": "AI / Formation Debt", "definition": "AI dependency, formation debt, verification gap, or competence shock.", "default": 0.0, "polarity": "subtract"}, {"id": "P_institution", "symbol": "P_institution", "display_name": "Institution", "category": "OAM_PRESSURE", "layer": "Institutional", "definition": "Institution variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_civic", "symbol": "P_civic", "display_name": "Civic", "category": "OAM_PRESSURE", "layer": "Civic", "definition": "Civic variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_connection", "symbol": "P_connection", "display_name": "Connection", "category": "OAM_PRESSURE", "layer": "Belonging", "definition": "Connection variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_weightless", "symbol": "P_weightless", "display_name": "Weightless", "category": "OAM_PRESSURE", "layer": "Online Consequence", "definition": "Weightless variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_school", "symbol": "P_school", "display_name": "School", "category": "OAM_PRESSURE", "layer": "Early Education", "definition": "School variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_identity", "symbol": "P_identity", "display_name": "Identity", "category": "OAM_PRESSURE", "layer": "Identity Formation", "definition": "Identity variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_home", "symbol": "P_home", "display_name": "Home", "category": "OAM_PRESSURE", "layer": "Family", "definition": "Home variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_forced_gradient", "symbol": "P_forced-gradient", "display_name": "Forced Gradient", "category": "OAM_PRESSURE", "layer": "Forced Path", "definition": "Forced Gradient variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_home_fracture", "symbol": "P_home-fracture", "display_name": "Home Fracture", "category": "OAM_PRESSURE", "layer": "Family Fracture", "definition": "Home Fracture variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_civic_capture", "symbol": "P_civic-capture", "display_name": "Civic Capture", "category": "RISK", "layer": "Civic Capture", "definition": "Civic Capture variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_personal", "symbol": "P_personal", "display_name": "Personal", "category": "OAM_PRESSURE", "layer": "Individual Future Loss", "definition": "Personal variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_future_loss", "symbol": "P_future-loss", "display_name": "Future Loss", "category": "OAM_PRESSURE", "layer": "Individual Future Loss", "definition": "Future Loss variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_coping", "symbol": "P_coping", "display_name": "Coping", "category": "RISK", "layer": "False Closure", "definition": "Coping variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_societal_capture", "symbol": "P_societal-capture", "display_name": "Societal Capture", "category": "OAM_PRESSURE", "layer": "Permission / Belonging", "definition": "Societal Capture variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_dogma", "symbol": "P_dogma", "display_name": "Dogma", "category": "OAM_PRESSURE", "layer": "Permission / Dogma", "definition": "Dogma variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_belonging_loss", "symbol": "P_belonging-loss", "display_name": "Belonging Loss", "category": "OAM_PRESSURE", "layer": "Permission / Belonging", "definition": "Belonging Loss variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_self_censorship", "symbol": "P_self-censorship", "display_name": "Self Censorship", "category": "OAM_PRESSURE", "layer": "Permission / Identity", "definition": "Self Censorship variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "P_identity_lock", "symbol": "P_identity-lock", "display_name": "Identity Lock", "category": "OAM_PRESSURE", "layer": "Identity", "definition": "Identity Lock variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "PEI_t", "symbol": "PEI_t", "display_name": "Pei", "category": "OAM_PRESSURE", "layer": "Parent Education Inheritance", "definition": "Parent education pressure history transferred into the child’s education field.", "default": 0.0, "polarity": "subtract"}, {"id": "P_college_only", "symbol": "P_college-only", "display_name": "College Only", "category": "OAM_PRESSURE", "layer": "Parent Education Inheritance", "definition": "Pressure that college is the only safe or successful path.", "default": 0.0, "polarity": "subtract"}, {"id": "P_college_avoidance", "symbol": "P_college-avoidance", "display_name": "College Avoidance", "category": "OAM_PRESSURE", "layer": "Parent Education Inheritance", "definition": "Pressure that college is dangerous, excluding, a debt trap, or betrayal.", "default": 0.0, "polarity": "subtract"}, {"id": "PCE_t", "symbol": "PCE_t", "display_name": "Pce", "category": "OAM_PRESSURE", "layer": "Cognition Graduation", "definition": "Premature college expectation before cognition visibility or path resonance.", "default": 0.0, "polarity": "subtract"}, {"id": "CFD_t", "symbol": "CFD_t", "display_name": "Cfd", "category": "STATE", "layer": "Cognition Graduation", "definition": "Choice fog density around a student's next path.", "default": 0.0, "polarity": "subtract"}, {"id": "P_labeling", "symbol": "P_labeling", "display_name": "Labeling", "category": "OAM_PRESSURE", "layer": "Genius Recognition", "definition": "Labels that misread cognition or latent genius as failure, laziness, defiance, or lack of ability.", "default": 0.0, "polarity": "subtract"}, {"id": "OA_t", "symbol": "OA_t", "display_name": "Oa", "category": "OAM_PRESSURE", "layer": "Agency", "definition": "Oa variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "ROA_t", "symbol": "ROA_t", "display_name": "Roa", "category": "OAM_PRESSURE", "layer": "Role Agency", "definition": "Roa variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "CD_t", "symbol": "CD_t", "display_name": "Cd", "category": "STATE", "layer": "Closure", "definition": "Cd variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "CP_t", "symbol": "CP_t", "display_name": "Cp", "category": "OAM_PRESSURE", "layer": "Craving", "definition": "Cp variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "TT_t", "symbol": "TT_t", "display_name": "Tt", "category": "OAM_PRESSURE", "layer": "Time Theft", "definition": "Tt variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "WC_t", "symbol": "WC_t", "display_name": "Wc", "category": "OAM_PRESSURE", "layer": "Online Consequence", "definition": "Wc variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "RF_loss_t", "symbol": "RF_loss_t", "display_name": "Rf Loss", "category": "OAM_PRESSURE", "layer": "Reality Friction Loss", "definition": "Rf Loss variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "CTF_t", "symbol": "CTF_t", "display_name": "Ctf", "category": "OAM_PRESSURE", "layer": "Cognition Translation", "definition": "Ctf variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "IF_t", "symbol": "IF_t", "display_name": "If", "category": "OAM_PRESSURE", "layer": "Identity Formation", "definition": "If variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "FIL_t", "symbol": "FIL_t", "display_name": "Fil", "category": "OAM_PRESSURE", "layer": "Future Imagination", "definition": "Fil variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "HDB_t", "symbol": "HDB_t", "display_name": "Hdb", "category": "OUTPUT", "layer": "Human Dust Bowl", "definition": "Hdb variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "computed"}, {"id": "FCI_t", "symbol": "FCI_t", "display_name": "Fci", "category": "OUTPUT", "layer": "False Closure", "definition": "Fci variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "computed"}, {"id": "AD_t", "symbol": "AD_t", "display_name": "Ad", "category": "OUTPUT", "layer": "Agency Drain", "definition": "Ad variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "computed"}, {"id": "TIP_t", "symbol": "TIP_t", "display_name": "Tip", "category": "RISK", "layer": "Teacher Strain", "definition": "Tip variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "CCL_t", "symbol": "CCL_t", "display_name": "Ccl", "category": "RISK", "layer": "Classroom Load", "definition": "Ccl variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "AFF_t", "symbol": "AFF_t", "display_name": "Aff", "category": "OAM_PRESSURE", "layer": "AI Future Fear", "definition": "Aff variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "PEM_t", "symbol": "PEM_t", "display_name": "Pem", "category": "OAM_PRESSURE", "layer": "Parent Literacy", "definition": "Pem variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "PEL_deficit_t", "symbol": "PEL_deficit_t", "display_name": "Pel Deficit", "category": "OAM_PRESSURE", "layer": "Parent Literacy", "definition": "Pel Deficit variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "subtract"}, {"id": "LC_t", "symbol": "LC_t", "display_name": "Lc", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Actual closure of a learning, repair, meaning, or agency loop.", "default": 0.0, "polarity": "add"}, {"id": "IE_t", "symbol": "IE_t", "display_name": "Ie", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Internal / Externalize: making hidden cognition visible without freezing identity.", "default": 0.0, "polarity": "add"}, {"id": "EOW_t", "symbol": "EOW_t", "display_name": "Eow", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Reviewable evidence of work, including artifacts, receipts, demonstrations, logs, or outputs.", "default": 0.0, "polarity": "add"}, {"id": "ID_t", "symbol": "ID_t", "display_name": "Id", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Id variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "TC_t", "symbol": "TC_t", "display_name": "Tc", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Tc variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "PF_t", "symbol": "PF_t", "display_name": "Pf", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Pf variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "CareerBridge_t", "symbol": "CareerBridge_t", "display_name": "Careerbridge", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Careerbridge variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "Cascade_t", "symbol": "Cascade_t", "display_name": "Cascade", "category": "BRIDGE", "layer": "General / Cross-Layer", "definition": "Cascade variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "Reach_t", "symbol": "Reach_t", "display_name": "Reach", "category": "BRIDGE", "layer": "General / Cross-Layer", "definition": "Reach variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "TrustedConnection_t", "symbol": "TrustedConnection_t", "display_name": "Trustedconnection", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Trustedconnection variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "RF_t", "symbol": "RF_t", "display_name": "Rf", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Rf variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "Grit_t", "symbol": "Grit_t", "display_name": "Grit", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Grit variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "VerificationTraining_t", "symbol": "VerificationTraining_t", "display_name": "Verificationtraining", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Verificationtraining variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "HumanMentorship_t", "symbol": "HumanMentorship_t", "display_name": "Humanmentorship", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Humanmentorship variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "ScaffoldDiscipline_t", "symbol": "ScaffoldDiscipline_t", "display_name": "Scaffolddiscipline", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Scaffolddiscipline variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "FormationPreservingAI_t", "symbol": "FormationPreservingAI_t", "display_name": "Formationpreservingai", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "AI that supports formation rather than replacing it.", "default": 0.0, "polarity": "add"}, {"id": "FutureImagination_t", "symbol": "FutureImagination_t", "display_name": "Futureimagination", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Futureimagination variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "FamilySupport_t", "symbol": "FamilySupport_t", "display_name": "Familysupport", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Familysupport variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "TeacherTime_t", "symbol": "TeacherTime_t", "display_name": "Teachertime", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Teachertime variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "PublicProvenance_t", "symbol": "PublicProvenance_t", "display_name": "Publicprovenance", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Publicprovenance variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "ParentLiteracy_t", "symbol": "ParentLiteracy_t", "display_name": "Parentliteracy", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Parent understanding of learning formation, cognition, AI risk, pressure, and loop closure.", "default": 0.0, "polarity": "add"}, {"id": "ActualLearningStateVisibility_t", "symbol": "ActualLearningStateVisibility_t", "display_name": "Actuallearningstatevisibility", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Actuallearningstatevisibility variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "ChildCognitionVisibility_t", "symbol": "ChildCognitionVisibility_t", "display_name": "Childcognitionvisibility", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Childcognitionvisibility variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "CivicLiteracy_t", "symbol": "CivicLiteracy_t", "display_name": "Civicliteracy", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Civicliteracy variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "HouseholdSupport_t", "symbol": "HouseholdSupport_t", "display_name": "Householdsupport", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Householdsupport variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "FuturePathVisibility_t", "symbol": "FuturePathVisibility_t", "display_name": "Futurepathvisibility", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Futurepathvisibility variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "SafeRepairPath_t", "symbol": "SafeRepairPath_t", "display_name": "Saferepairpath", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Saferepairpath variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "AccountabilityWithRepair_t", "symbol": "AccountabilityWithRepair_t", "display_name": "Accountabilitywithrepair", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Accountabilitywithrepair variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "FormationSupport_t", "symbol": "FormationSupport_t", "display_name": "Formationsupport", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Formationsupport variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "CuriositySafety_t", "symbol": "CuriositySafety_t", "display_name": "Curiositysafety", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Curiositysafety variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "QuestionPermission_t", "symbol": "QuestionPermission_t", "display_name": "Questionpermission", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Questionpermission variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "BelongingWithoutCapture_t", "symbol": "BelongingWithoutCapture_t", "display_name": "Belongingwithoutcapture", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Belongingwithoutcapture variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "IdentityMobility_t", "symbol": "IdentityMobility_t", "display_name": "Identitymobility", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Identitymobility variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "SafeDissent_t", "symbol": "SafeDissent_t", "display_name": "Safedissent", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Safedissent variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "EducationHistoryVisibility_t", "symbol": "EducationHistoryVisibility_t", "display_name": "Educationhistoryvisibility", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Parent visibility into how their own education story affects the child's path.", "default": 0.0, "polarity": "add"}, {"id": "PressureInheritanceAwareness_t", "symbol": "PressureInheritanceAwareness_t", "display_name": "Pressureinheritanceawareness", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Recognition of inherited fear, shame, debt memory, status pressure, or credential wounds before projection.", "default": 0.0, "polarity": "add"}, {"id": "FutureFitDialogue_t", "symbol": "FutureFitDialogue_t", "display_name": "Futurefitdialogue", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Honest parent/student dialogue about fit, cost, cognition, desire, ability, dignity, and path.", "default": 0.0, "polarity": "add"}, {"id": "ChoicePlurality_t", "symbol": "ChoicePlurality_t", "display_name": "Choiceplurality", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Multiple valid post-school paths can be compared without shame.", "default": 0.0, "polarity": "add"}, {"id": "DebtTransparentPlanning_t", "symbol": "DebtTransparentPlanning_t", "display_name": "Debttransparentplanning", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Debttransparentplanning variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "NonProjectionSupport_t", "symbol": "NonProjectionSupport_t", "display_name": "Nonprojectionsupport", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Nonprojectionsupport variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "CG_t", "symbol": "CG_t", "display_name": "Cg", "category": "OUTPUT", "layer": "General / Cross-Layer", "definition": "Cognition Graduation: the degree to which a student exits high school understanding their own cognition.", "default": 0.0, "polarity": "computed"}, {"id": "CL_t", "symbol": "CL_t", "display_name": "Cl", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Cognition Literacy: understanding how one's mind learns, maps, creates, repairs, and responds under pressure.", "default": 0.0, "polarity": "add"}, {"id": "PR_t", "symbol": "PR_t", "display_name": "Pr", "category": "BRIDGE", "layer": "General / Cross-Layer", "definition": "Path Resonance: fit between cognition, values, capacity, curiosity, and next path.", "default": 0.0, "polarity": "add"}, {"id": "DR_t", "symbol": "DR_t", "display_name": "Dr", "category": "BRIDGE", "layer": "General / Cross-Layer", "definition": "Domain Resonance: fit between cognition and a field, problem, craft, medium, role, or mission.", "default": 0.0, "polarity": "add"}, {"id": "DE_t", "symbol": "DE_t", "display_name": "De", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Domain Exposure: breadth and quality of exposure to possible fields, crafts, roles, problems, and futures.", "default": 0.0, "polarity": "add"}, {"id": "FCA_t", "symbol": "FCA_t", "display_name": "Fca", "category": "OUTPUT", "layer": "General / Cross-Layer", "definition": "Future Choice Agency: ability to choose a path because the student understands self and options.", "default": 0.0, "polarity": "computed"}, {"id": "GR_t", "symbol": "GR_t", "display_name": "Gr", "category": "OUTPUT", "layer": "General / Cross-Layer", "definition": "Genius Recognition: system capacity to identify nonstandard or under-translated genius.", "default": 0.0, "polarity": "computed"}, {"id": "TL_t", "symbol": "TL_t", "display_name": "Tl", "category": "BRIDGE", "layer": "General / Cross-Layer", "definition": "Talent Legibility: the degree to which ability becomes visible to reviewers, mentors, institutions, employers, or the public.", "default": 0.0, "polarity": "add"}, {"id": "LG_t", "symbol": "LG_t", "display_name": "Lg", "category": "STATE", "layer": "General / Cross-Layer", "definition": "Latent Genius: high potential not yet matched to field, language, recognition, proof path, or resonance.", "default": 0.0, "polarity": "contextual"}, {"id": "MentorBridge_t", "symbol": "MentorBridge_t", "display_name": "Mentorbridge", "category": "HIR_REPAIR", "layer": "General / Cross-Layer", "definition": "Mentorbridge variable from the v0.9 Substrate Education model.", "default": 0.0, "polarity": "add"}, {"id": "G_visibility", "symbol": "G_visibility", "display_name": "G Visibility", "category": "OUTPUT", "layer": "General / Cross-Layer", "definition": "Computed visibility of genius after cognition literacy, exposure, resonance, and evidence overcome blindness and labeling.", "default": 0.0, "polarity": "computed"}, {"id": "G_recovery", "symbol": "G_recovery", "display_name": "G Recovery", "category": "OUTPUT", "layer": "General / Cross-Layer", "definition": "Computed recovery path for latent genius through literacy, exposure, resonance, mentorship, evidence, and provenance.", "default": 0.0, "polarity": "computed"}, {"id": "CDens_t", "symbol": "CDens_t", "display_name": "Context Density", "category": "HIR_REPAIR", "layer": "Continuity / Context Density", "definition": "Degree to which signal carries meaning, provenance, intent, boundary, and relational structure.", "default": 0.0, "polarity": "add"}, {"id": "SB_t", "symbol": "SB_t", "display_name": "Structural Baseline", "category": "HIR_REPAIR", "layer": "Continuity / Baseline", "definition": "Stable reference structure the system can compare against under pressure.", "default": 0.0, "polarity": "add"}, {"id": "BR_t", "symbol": "BR_t", "display_name": "Baseline Reversion", "category": "HIR_REPAIR", "layer": "Continuity / Baseline", "definition": "Ability to return to structural baseline after drift, ambiguity, corruption, or pressure.", "default": 0.0, "polarity": "add"}, {"id": "RJC_t", "symbol": "RJC_t", "display_name": "Rejoin Capacity", "category": "HIR_REPAIR", "layer": "Continuity / Transfer", "definition": "Ability of a fragment to reconnect to the larger structure it belongs to without losing meaning.", "default": 0.0, "polarity": "add"}, {"id": "DLC_t", "symbol": "DLC_t", "display_name": "Data Loop Closure", "category": "OUTPUT", "layer": "Continuity / Transfer", "definition": "Degree to which transferred data closes its loop by returning to context.", "default": 0.0, "polarity": "computed"}, {"id": "RDT_t", "symbol": "RDT_t", "display_name": "Resonant Data Transfer", "category": "OUTPUT", "layer": "Continuity / Transfer", "definition": "Transfer in which data returns to structure with context, baseline, and relational integrity intact.", "default": 0.0, "polarity": "computed"}, {"id": "RCtx_t", "symbol": "RCtx_t", "display_name": "Reconstructed Context Fidelity", "category": "OUTPUT", "layer": "Continuity / Reconstruction", "definition": "Fidelity of reconstructed context after corruption, fragmentation, drift, or partial loss.", "default": 0.0, "polarity": "computed"}, {"id": "HD_t", "symbol": "HD_t", "display_name": "Hollow Data", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Data or metadata without enough context, provenance, consent clarity, meaning, or boundary structure.", "default": 0.0, "polarity": "subtract"}, {"id": "HC_t", "symbol": "HC_t", "display_name": "Hollow Code", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Code that functions syntactically but lacks governance, context boundaries, repair logic, or pressure stability.", "default": 0.0, "polarity": "subtract"}, {"id": "SC_t", "symbol": "SC_t", "display_name": "Structural Collapse", "category": "RISK", "layer": "Continuity / Failure", "definition": "Collapse of meaning, trust, baseline, or relational structure under pressure.", "default": 0.0, "polarity": "subtract"}, {"id": "RS_t", "symbol": "RS_t", "display_name": "Relational Structure", "category": "HIR_REPAIR", "layer": "Continuity / Structure", "definition": "Internal relationship structure among concepts, claims, equations, boundaries, files, or memories.", "default": 0.0, "polarity": "add"}, {"id": "BA_t", "symbol": "BA_t", "display_name": "Baseline Anchors", "category": "HIR_REPAIR", "layer": "Continuity / Structure", "definition": "Stable reference points that let fragments locate their original structure.", "default": 0.0, "polarity": "add"}, {"id": "RepCap_t", "symbol": "RepCap_t", "display_name": "Repair Capacity", "category": "HIR_REPAIR", "layer": "Continuity / Repair", "definition": "Ability to correct, heal, repair, or restore continuity after pressure.", "default": 0.0, "polarity": "add"}, {"id": "Frag_t", "symbol": "Frag_t", "display_name": "Fragmentation Load", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Degree to which signal or information is broken into pieces that cannot easily rejoin.", "default": 0.0, "polarity": "subtract"}, {"id": "CC_t", "symbol": "CC_t", "display_name": "Context Collapse", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Loss of surrounding meaning, relationship, source condition, and interpretive boundary.", "default": 0.0, "polarity": "subtract"}, {"id": "Drift_t", "symbol": "Drift_t", "display_name": "Drift Pressure", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Pressure causing a system, memory, data object, or runtime to move away from baseline.", "default": 0.0, "polarity": "subtract"}, {"id": "Corr_t", "symbol": "Corr_t", "display_name": "Corruption Load", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Damage, loss, malformed content, broken links, missing files, or degraded transfer.", "default": 0.0, "polarity": "subtract"}, {"id": "AL_t", "symbol": "AL_t", "display_name": "Ambiguity Load", "category": "OAM_PRESSURE", "layer": "Continuity / Failure", "definition": "Multiple possible reconstructions competing without enough structure to resolve safely.", "default": 0.0, "polarity": "subtract"}, {"id": "BI_t", "symbol": "BI_t", "display_name": "Bit Integrity", "category": "HIR_REPAIR", "layer": "Archival Integrity", "definition": "Degree to which file/data remains technically readable or bit-preserved.", "default": 0.0, "polarity": "add"}, {"id": "PI_t", "symbol": "PI_t", "display_name": "Provenance Integrity", "category": "HIR_REPAIR", "layer": "Archival Integrity", "definition": "Degree to which origin, version, custody, and transformation path remain traceable.", "default": 0.0, "polarity": "add"}, {"id": "MD_t", "symbol": "MD_t", "display_name": "Meaning Drift", "category": "OAM_PRESSURE", "layer": "Archival Integrity", "definition": "Interpretation changes without traceable correction.", "default": 0.0, "polarity": "subtract"}, {"id": "MH_t", "symbol": "MH_t", "display_name": "Metadata Hollowing", "category": "OAM_PRESSURE", "layer": "Archival Integrity", "definition": "Metadata exists but lacks lived/contextual density.", "default": 0.0, "polarity": "subtract"}, {"id": "SCorr_t", "symbol": "SCorr_t", "display_name": "Structural Corruption", "category": "OAM_PRESSURE", "layer": "Archival Integrity", "definition": "Data still exists but no longer holds coherent shape.", "default": 0.0, "polarity": "subtract"}, {"id": "SDS_t", "symbol": "SDS_t", "display_name": "Surviving Density Signal", "category": "HIR_REPAIR", "layer": "Reconstruction", "definition": "Amount of meaningful structure that remains after corruption.", "default": 0.0, "polarity": "add"}, {"id": "PA_t", "symbol": "PA_t", "display_name": "Provenance Anchors", "category": "HIR_REPAIR", "layer": "Reconstruction", "definition": "Traceable origin/version/context markers that constrain reconstruction.", "default": 0.0, "polarity": "add"}, {"id": "BSig_t", "symbol": "BSig_t", "display_name": "Baseline Signature", "category": "HIR_REPAIR", "layer": "Reconstruction", "definition": "Signature of the governing baseline structure.", "default": 0.0, "polarity": "add"}, {"id": "RMC_t", "symbol": "RMC_t", "display_name": "Redundant Meaning Cues", "category": "HIR_REPAIR", "layer": "Reconstruction", "definition": "Repeated but non-identical structural signals preserving meaning across transfer or corruption.", "default": 0.0, "polarity": "add"}, {"id": "P_context_collapse", "symbol": "P_context_collapse", "display_name": "Context Collapse Pressure", "category": "OAM_PRESSURE", "layer": "AI Substrate / Context Collapse", "definition": "Combined pressure from metadata extraction, provenance loss, consent opacity, purpose drift, and lived context loss.", "default": 0.0, "polarity": "subtract"}, {"id": "GuardrailCompensation_t", "symbol": "GuardrailCompensation_t", "display_name": "Guardrail Compensation", "category": "OAM_PRESSURE", "layer": "AI Substrate / Compute Waste", "definition": "Downstream expansion of safety/filtering/moderation burden caused by upstream context weakness.", "default": 0.0, "polarity": "subtract"}, {"id": "ComputeOverhead_t", "symbol": "ComputeOverhead_t", "display_name": "Compute Overhead", "category": "OAM_PRESSURE", "layer": "AI Substrate / Compute Waste", "definition": "Additional compute required to compensate for ambiguity or weak provenance.", "default": 0.0, "polarity": "subtract"}, {"id": "TrustErosion_t", "symbol": "TrustErosion_t", "display_name": "Trust Erosion", "category": "OAM_PRESSURE", "layer": "AI Substrate / Trust", "definition": "Loss of trust caused by opacity, extraction, decontextualization, or misuse.", "default": 0.0, "polarity": "subtract"}, {"id": "PurposeBoundUse_t", "symbol": "PurposeBoundUse_t", "display_name": "Purpose-Bound Use", "category": "HIR_REPAIR", "layer": "AI Substrate / Data Stewardship", "definition": "Data or information used only within declared bounded purpose.", "default": 0.0, "polarity": "add"}, {"id": "HumanMeaningAnchor_t", "symbol": "HumanMeaningAnchor_t", "display_name": "Human Meaning Anchor", "category": "HIR_REPAIR", "layer": "AI Substrate / Context", "definition": "Human-provided intent, context, or meaning remains attached to information.", "default": 0.0, "polarity": "add"}, {"id": "Auditability_t", "symbol": "Auditability_t", "display_name": "Auditability", "category": "HIR_REPAIR", "layer": "AI Substrate / Accountability", "definition": "Independent review can inspect what happened.", "default": 0.0, "polarity": "add"}, {"id": "ComputeStewardship_t", "symbol": "ComputeStewardship_t", "display_name": "Compute Stewardship", "category": "HIR_REPAIR", "layer": "AI Substrate / Stewardship", "definition": "Compute is treated as resource responsibility rather than infinite default.", "default": 0.0, "polarity": "add"}, {"id": "WaterStewardship_t", "symbol": "WaterStewardship_t", "display_name": "Water Stewardship", "category": "HIR_REPAIR", "layer": "AI Substrate / Stewardship", "definition": "Cooling and water cost are included in system accounting.", "default": 0.0, "polarity": "add"}, {"id": "Scale_t", "symbol": "Scale_t", "display_name": "Scale", "category": "MULTIPLIER", "layer": "AI Substrate / Compute Waste", "definition": "Scale of context-collapse pressure expansion.", "default": 0.0, "polarity": "subtract"}, {"id": "Ambiguity_t", "symbol": "Ambiguity_t", "display_name": "Ambiguity", "category": "OAM_PRESSURE", "layer": "AI Substrate / Compute Waste", "definition": "Ambiguity introduced by context-poor data or weak provenance.", "default": 0.0, "polarity": "subtract"}, {"id": "ComputeIntensity_t", "symbol": "ComputeIntensity_t", "display_name": "Compute Intensity", "category": "MULTIPLIER", "layer": "AI Substrate / Compute Waste", "definition": "Relative compute intensity of downstream compensation.", "default": 0.0, "polarity": "subtract"}];
const PRESETS = [{"id": "credential_blind_talent_loss", "display_name": "Credential-Blind Talent Loss", "description": "High cost/credential pressure hides non-traditional talent.", "variables": {"P_cost": 0.85, "P_credential": 0.9, "P_access": 0.75, "P_time": 0.7, "EOW_t": 0.25, "PublicProvenance_t": 0.2, "TC_t": 0.3, "ID_t": 0.35}}, {"id": "ai_crutch_formation_debt", "display_name": "AI-Crutch Formation Debt", "description": "AI used as crutch creates passed-but-unformed states.", "variables": {"P_AI": 0.8, "P_AI_crutch": 0.85, "VerificationTraining_t": 0.25, "ScaffoldDiscipline_t": 0.3, "HumanMentorship_t": 0.35, "RF_t": 0.4, "FormationPreservingAI_t": 0.35}}, {"id": "teacher_pressure_chamber", "display_name": "Teacher Pressure Chamber", "description": "High teacher overload turns classroom into compression field.", "variables": {"TIP_t": 0.85, "CCL_t": 0.8, "PEM_t": 0.75, "P_attention": 0.75, "P_AI": 0.65, "P_institution": 0.75, "TeacherTime_t": 0.25, "ParentLiteracy_t": 0.3, "IE_t": 0.35}}, {"id": "parent_projection_college_survival", "display_name": "Parent Projection / College-as-Survival", "description": "Parent fear drives premature college pressure.", "variables": {"PEI_t": 0.85, "P_college_only": 0.9, "PCE_t": 0.8, "CFD_t": 0.75, "EducationHistoryVisibility_t": 0.3, "FutureFitDialogue_t": 0.35, "ChoicePlurality_t": 0.25, "CG_t": 0.4, "PR_t": 0.45, "FCA_t": 0.35}}, {"id": "latent_genius_burial", "display_name": "Latent Genius Burial", "description": "High-potential cognition is misread as failure.", "variables": {"LG_t": 0.8, "P_labeling": 0.85, "P_credential": 0.75, "CTF_t": 0.7, "IF_t": 0.65, "CL_t": 0.3, "DE_t": 0.35, "DR_t": 0.3, "EOW_t": 0.4, "MentorBridge_t": 0.35, "TL_t": 0.3}}, {"id": "hollow_metadata_context_collapse", "display_name": "Hollow Metadata / Context Collapse", "description": "Metadata remains while meaning collapses.", "variables": {"HD_t": 0.85, "CC_t": 0.85, "MH_t": 0.8, "P_context_collapse": 0.85, "AL_t": 0.75, "CDens_t": 0.25, "PI_t": 0.25, "BA_t": 0.25, "RMC_t": 0.2, "Auditability_t": 0.25}}, {"id": "density_bound_reconstruction", "display_name": "Density-Bound Reconstruction", "description": "Context can be reconstructed from surviving density with bounded uncertainty.", "variables": {"SDS_t": 0.85, "RS_t": 0.8, "PA_t": 0.8, "BSig_t": 0.85, "RMC_t": 0.8, "Corr_t": 0.2, "AL_t": 0.25, "CDens_t": 0.8, "BA_t": 0.8, "BR_t": 0.75}}, {"id": "context_lossless_transfer", "display_name": "Context-Lossless Transfer", "description": "Transfer preserves both bits and meaning-structure.", "variables": {"BI_t": 0.95, "CDens_t": 0.85, "PI_t": 0.85, "BA_t": 0.8, "RMC_t": 0.75, "RJC_t": 0.8, "CLoss_t": 0.1, "CC_t": 0.1, "Corr_t": 0.1, "AL_t": 0.15}}, {"id": "ai_context_collapse_compute_waste", "display_name": "AI Context Collapse / Compute Waste", "description": "Compute and guardrail burden rise because context was stripped upstream.", "variables": {"P_context_collapse": 0.9, "GuardrailCompensation_t": 0.85, "ComputeOverhead_t": 0.8, "TrustErosion_t": 0.8, "Scale_t": 0.85, "Ambiguity_t": 0.8, "ComputeIntensity_t": 0.75, "PI_t": 0.25, "PurposeBoundUse_t": 0.2, "HumanMeaningAnchor_t": 0.2, "Auditability_t": 0.25, "ComputeStewardship_t": 0.25}}, {"id": "diamond_framework_reconstruction", "display_name": "6.10 KB Diamond / Framework Reconstruction", "description": "Compact framework seed re-expands into recognizable HIR/OAM structure.", "variables": {"CDens_t": 0.95, "RS_t": 0.9, "BA_t": 0.9, "BSig_t": 0.95, "RMC_t": 0.85, "BR_t": 0.9, "RJC_t": 0.9, "CC_t": 0.1, "AL_t": 0.15, "Drift_t": 0.1, "SB_t": 0.9, "RepCap_t": 0.85}}];
let values = {};
function clamp01(x) {
x = Number.isFinite(x) ? x : 0;
return Math.max(0, Math.min(1, x));
}
function get(id) {
return clamp01(values[id] ?? 0);
}
function avg(ids) {
const vals = ids.map(get);
if (!vals.length) return 0;
return vals.reduce((a,b)=>a+b,0)/vals.length;
}
function prod(ids) {
if (!ids.length) return 0;
return ids.map(get).reduce((a,b)=>a*b,1);
}
function route(score, risk=0, repair=0) {
if (score < 0.30 || (risk >= 0.80 && repair < 0.35)) return "RED";
if (score < 0.50 || risk >= 0.80 || risk >= 0.65 && repair < 0.35) return "ORANGE";
if (score < 0.70 || risk >= 0.65) return "YELLOW";
return "GREEN";
}
function routeLabel(r) {
return {
GREEN: "GREEN — STABLE",
YELLOW: "YELLOW — WATCH",
ORANGE: "ORANGE — REPAIR REQUIRED",
RED: "RED — HARD REPAIR"
}[r] || r;
}
function colorForRoute(r) {
return {GREEN:"var(--green)",YELLOW:"var(--yellow)",ORANGE:"var(--orange)",RED:"var(--red)"}[r] || "var(--blue)";
}
const OAM_CORE = [
"P_cost","P_debt","P_credential","P_access","P_attention","P_sensational","P_algorithm","P_time",
"P_AI","P_AI_crutch","P_institution","P_civic","P_connection","P_weightless","P_school","P_identity",
"P_home","P_forced_gradient","P_home_fracture","P_civic_capture","P_personal","P_future_loss","P_coping",
"P_societal_capture","P_dogma","PEI_t","P_college_only","P_college_avoidance","PCE_t","CFD_t","P_labeling",
"OA_t","CD_t","CTF_t","IF_t","HDB_t","FCI_t","AD_t","TIP_t","CCL_t","AFF_t","PEM_t","PEL_deficit_t"
];
const HIR_CORE = [
"LC_t","IE_t","EOW_t","ID_t","TC_t","Reach_t","Cascade_t","TrustedConnection_t","RF_t","Grit_t",
"VerificationTraining_t","HumanMentorship_t","ScaffoldDiscipline_t","FormationPreservingAI_t",
"FutureImagination_t","TeacherTime_t","PublicProvenance_t","ParentLiteracy_t","ChildCognitionVisibility_t",
"CivicLiteracy_t","HouseholdSupport_t","FuturePathVisibility_t","SafeRepairPath_t","AccountabilityWithRepair_t",
"CuriositySafety_t","QuestionPermission_t","BelongingWithoutCapture_t","IdentityMobility_t","SafeDissent_t",
"EducationHistoryVisibility_t","PressureInheritanceAwareness_t","FutureFitDialogue_t","ChoicePlurality_t",
"DebtTransparentPlanning_t","NonProjectionSupport_t","CG_t","CL_t","PR_t","DR_t","DE_t","FCA_t","GR_t","TL_t"
];
const CONT_PRESSURES = ["HD_t","HC_t","CC_t","Frag_t","Drift_t","Corr_t","AL_t","MD_t","MH_t","SCorr_t","P_context_collapse","GuardrailCompensation_t","ComputeOverhead_t","TrustErosion_t","Ambiguity_t"];
const CONT_REPAIRS = ["CDens_t","SB_t","BR_t","RJC_t","RS_t","BA_t","RepCap_t","BI_t","PI_t","SDS_t","PA_t","BSig_t","RMC_t","PurposeBoundUse_t","HumanMeaningAnchor_t","Auditability_t","ComputeStewardship_t","WaterStewardship_t"];
function balancedScore(positiveIds, negativeIds, base=null) {
const p = avg(positiveIds);
const n = avg(negativeIds);
if (base === null) return clamp01((p + (1-n)) / 2);
return clamp01((base + p + (1-n)) / 3);
}
function compute() {
document.getElementById("A_val").textContent = Number(document.getElementById("A_t").value).toFixed(2);
document.getElementById("B_val").textContent = Number(document.getElementById("B_t").value).toFixed(2);
const A = Number(document.getElementById("A_t").value);
const B = Number(document.getElementById("B_t").value);
const base = A * B;
// Output formulas use normalized scenario scoring to avoid false extremes from large unweighted additive stacks.
const pressureMean = avg(OAM_CORE);
const repairMean = avg(HIR_CORE);
const riskMean = avg(["P_AI_crutch","P_civic_capture","P_coping","HDB_t","FCI_t","TIP_t","CCL_t","P_labeling","P_context_collapse","SC_t"]);
const contPressure = avg(CONT_PRESSURES);
const contRepair = avg(CONT_REPAIRS);
const outputs = {};
outputs.S_future = balancedScore(HIR_CORE, OAM_CORE, base);
outputs.S_path = clamp01((get("CG_t") + get("PR_t") + get("FCA_t") + (1-get("PCE_t")) + (1-get("CFD_t"))) / 5);
outputs.S_parent_alignment = balancedScore(
["ParentLiteracy_t","EducationHistoryVisibility_t","PressureInheritanceAwareness_t","ChildCognitionVisibility_t","FutureFitDialogue_t","ChoicePlurality_t","DebtTransparentPlanning_t","NonProjectionSupport_t"],
["PEM_t","PEL_deficit_t","PEI_t","P_college_only","P_college_avoidance","P_time","P_debt","P_home_fracture","P_societal_capture","P_dogma"],
base
);
outputs.G_visibility = balancedScore(["CL_t","DE_t","DR_t","EOW_t"], ["P_credential","P_labeling","CTF_t","IF_t"]);
outputs.G_recovery = balancedScore(["CL_t","DE_t","DR_t","MentorBridge_t","EOW_t","PublicProvenance_t"], ["P_labeling","P_credential","P_time","P_attention","P_societal_capture","P_dogma"]);
outputs.Continuity_t = balancedScore(["CDens_t","RS_t","BA_t","RepCap_t","RJC_t"], ["Frag_t","CC_t","Drift_t","Corr_t"]);
outputs.S_data = balancedScore(["BI_t","CDens_t","PI_t","BR_t"], ["CC_t","MD_t","MH_t","SCorr_t"]);
outputs.S_runtime = balancedScore(["CDens_t","SB_t","BR_t"], ["HD_t","HC_t","CC_t","Drift_t"]);
outputs.S_data_loop = balancedScore(["CDens_t","BA_t","RS_t","RJC_t"], ["Frag_t","CC_t","Drift_t","AL_t"]);
outputs.RCtx_t = balancedScore(["SDS_t","RS_t","PA_t","BSig_t","RMC_t"], ["Corr_t","AL_t"]);
outputs.W_AI = clamp01((avg(["P_context_collapse","GuardrailCompensation_t","ComputeOverhead_t","TrustErosion_t","Ambiguity_t"]) + get("Scale_t") + get("ComputeIntensity_t")) / 3 - avg(["PI_t","PurposeBoundUse_t","HumanMeaningAnchor_t","Auditability_t","ComputeStewardship_t"]) / 3);
outputs.S_AI_substrate = balancedScore(["PI_t","PurposeBoundUse_t","HumanMeaningAnchor_t","Auditability_t","ComputeStewardship_t","WaterStewardship_t"], ["P_context_collapse","P_algorithm","P_attention","ComputeOverhead_t","GuardrailCompensation_t","TrustErosion_t"], base);
renderResults(outputs, riskMean, repairMean, contPressure, contRepair);
updateExport(outputs);
}
function renderResults(outputs, riskMean, repairMean, contPressure, contRepair) {
const metrics = [
["S_future", "Future Formation", outputs.S_future, riskMean, repairMean],
["S_path", "Student Path Stability", outputs.S_path, avg(["PCE_t","CFD_t"]), avg(["CG_t","PR_t","FCA_t"])],
["S_parent_alignment", "Parent Alignment", outputs.S_parent_alignment, avg(["PEI_t","P_college_only","P_college_avoidance","PEM_t"]), avg(["EducationHistoryVisibility_t","FutureFitDialogue_t","ChoicePlurality_t"])],
["G_visibility", "Genius Visibility", outputs.G_visibility, avg(["P_labeling","P_credential","CTF_t","IF_t"]), avg(["CL_t","DE_t","DR_t","EOW_t"])],
["G_recovery", "Latent Genius Recovery", outputs.G_recovery, avg(["P_labeling","P_credential","P_time","P_attention"]), avg(["CL_t","DE_t","DR_t","MentorBridge_t","EOW_t"])],
["Continuity_t", "Continuity", outputs.Continuity_t, contPressure, contRepair],
["S_data", "Data / Archival Integrity", outputs.S_data, avg(["CC_t","MD_t","MH_t","SCorr_t"]), avg(["BI_t","CDens_t","PI_t","BR_t"])],
["S_runtime", "Runtime Stability", outputs.S_runtime, avg(["HD_t","HC_t","CC_t","Drift_t"]), avg(["CDens_t","SB_t","BR_t"])],
["S_data_loop", "Data Loop Closure", outputs.S_data_loop, avg(["Frag_t","CC_t","Drift_t","AL_t"]), avg(["CDens_t","BA_t","RS_t","RJC_t"])],
["RCtx_t", "Reconstructed Context Fidelity", outputs.RCtx_t, avg(["Corr_t","AL_t"]), avg(["SDS_t","RS_t","PA_t","BSig_t","RMC_t"])],
["W_AI", "AI Compute / Guardrail Waste", outputs.W_AI, outputs.W_AI, 1-outputs.W_AI],
["S_AI_substrate", "AI Substrate Stability", outputs.S_AI_substrate, avg(["P_context_collapse","ComputeOverhead_t","GuardrailCompensation_t"]), avg(["PI_t","PurposeBoundUse_t","Auditability_t"])]
];
const el = document.getElementById("results");
el.innerHTML = metrics.map(([id,name,score,risk,repair]) => {
const r = id === "W_AI" ? route(1-score, risk, repair) : route(score, risk, repair);
const color = colorForRoute(r);
const percent = Math.round(score*100);
const direction = id === "W_AI" ? "higher = more waste pressure" : "higher = stronger stability/repair";
return `<div class="metric">
<h3>${name}</h3>
<div class="score">${score.toFixed(2)}</div>
<div class="bar"><div class="fill" style="width:${percent}%;background:${color};"></div></div>
<div class="route ${r}">${routeLabel(r)}</div>
<div class="small" style="margin-top:7px;">${direction}</div>
</div>`;
}).join("");
const topRisks = Object.entries(values)
.filter(([k,v]) => v >= 0.75)
.map(([k,v]) => `${k}=${v.toFixed(2)}`)
.slice(0, 12);
document.getElementById("interpretation").innerHTML = `
<b>Safe read:</b> This is a pressure-map run. It shows relative pressure, repair, context-density, and loop-closure patterns, not prediction or diagnosis.<br><br>
<b>Active high variables:</b> ${topRisks.length ? topRisks.join(", ") : "none above 0.75"}<br><br>
<b>Core principle:</b> A thing survives transfer when it can come back to the whole.
`;
}
function renderVariables() {
const q = (document.getElementById("search")?.value || "").toLowerCase();
const groups = {};
for (const v of VARIABLES) {
const text = `${v.id} ${v.symbol} ${v.display_name} ${v.category} ${v.layer} ${v.definition}`.toLowerCase();
if (q && !text.includes(q)) continue;
const key = v.layer || "General";
if (!groups[key]) groups[key] = [];
groups[key].push(v);
}
const container = document.getElementById("variableGroups");
container.innerHTML = Object.keys(groups).sort().map(layer => {
const items = groups[layer].map(v => {
const val = get(v.id);
return `<div class="var">
<div class="v-head">
<div>
<div class="v-title">${v.display_name} <span class="badge">${v.category}</span></div>
<div class="v-symbol">${v.symbol} / ${v.id}</div>
</div>
<div class="value-pill" id="val_${v.id}">${val.toFixed(2)}</div>
</div>
<div class="v-def">${(v.definition || "").replaceAll("<","&lt;").replaceAll(">","&gt;")}</div>
<input type="range" min="0" max="1" step="0.01" value="${val}" oninput="setVar('${v.id}', this.value)" />
</div>`;
}).join("");
return `<details><summary>${layer} <span class="badge">${groups[layer].length}</span></summary>${items}</details>`;
}).join("");
}
function setVar(id, val) {
values[id] = clamp01(parseFloat(val));
const label = document.getElementById("val_" + id);
if (label) label.textContent = values[id].toFixed(2);
compute();
}
function init() {
for (const v of VARIABLES) values[v.id] = v.default || 0;
const select = document.getElementById("preset");
select.innerHTML = PRESETS.map(p => `<option value="${p.id}">${p.display_name}</option>`).join("");
renderVariables();
compute();
}
function resetAll() {
for (const v of VARIABLES) values[v.id] = 0;
renderVariables();
compute();
}
function loadPreset() {
resetAll();
const id = document.getElementById("preset").value;
const preset = PRESETS.find(p => p.id === id);
if (!preset) return;
for (const [k,v] of Object.entries(preset.variables || {})) {
values[k] = clamp01(v);
}
renderVariables();
compute();
}
function updateExport(outputs={}) {
const active = {};
for (const [k,v] of Object.entries(values)) {
if (v > 0) active[k] = Number(v.toFixed(2));
}
const preset = PRESETS.find(p => p.id === document.getElementById("preset").value);
const payload = {
simulator: "Major Rescue Atlas / Substrate Education Simulator",
version: "prototype_v0_1",
scoring_mode: "sparse_default_zero_normalized_pressure_map",
scenario_id: preset?.id || "custom",
scenario_name: preset?.display_name || "Custom",
boundary: "pressure map only; not prediction, diagnosis, proof, or blame",
A_t: Number(document.getElementById("A_t").value),
B_t: Number(document.getElementById("B_t").value),
variables: active,
outputs: Object.fromEntries(Object.entries(outputs).map(([k,v]) => [k, Number(v.toFixed(3))]))
};
document.getElementById("exportBox").value = JSON.stringify(payload, null, 2);
}
function exportScenario() {
updateExport();
document.getElementById("exportBox").focus();
document.getElementById("exportBox").select();
}
function expandAll(open) {
document.querySelectorAll("details").forEach(d => d.open = open);
}
window.addEventListener("DOMContentLoaded", init);
</script>
<footer style="padding:22px 26px;border-top:1px solid #30394a;color:#a9b4c4;background:#0b0d10;font-size:12px;line-height:1.55;">
<b style="color:#f2d18a;">Substrate Education Simulator</b><br/>
A bounded pressure-map simulator. Not prediction, diagnosis, proof, or blame.<br/>
Core line: <i>A thing survives transfer when it can come back to the whole.</i><br/>
Included docs: <a style="color:#f2d18a;" href="docs/Master_Record_v1_1_CONSOLIDATED.txt">Master Record v1.1</a> ·
<a style="color:#f2d18a;" href="docs/Simulator_Schema_v0_9_1.json">Schema</a> ·
<a style="color:#f2d18a;" href="docs/README_SIMULATOR.txt">README</a>
</footer>
</body>
</html>