Natural variable: Δbpm per min/wk MVPA deviation (negative coeff); populate with exerciseScaled form (same class as physicalActivity→systolicBP).
Mediation note: routes part of activity’s benefit via elastin-fatigue→stiffness→CVD; not a double-count at present (stiffness path has no activity input), but A4 SBP-residual-split must account for the stiffness slice.
Candidates NOT stubbed: BMI→restingHR (direction clear, obesity raises HR, but no primary citation in verified wiki page; no Δbpm/kg/m² anchor); sleep→restingHR (direction clear, deprivation raises HR, but no cited dose-response in verified page); smokingStatus→restingHR (not listed in verified RHR page as a chronic driver; categorical form ambiguous); alcohol→restingHR (not listed in verified RHR page).
LE invariance: 77.4589 M / 82.1178 F (stub adds nothing; 142/142 tests pass; build-app clean).
Coefficient derivation: Chen/Jabbarzadeh 2024 RCT meta-analysis (doi:10.1038/s41440-023-01467-9; PMID 37872373; 34 trials, n=1,787 hypertensive patients): −1.08 bpm per 30 min/wk aerobic exercise × 5 (= 150/30 min/wk = the exerciseScale full-span) = −5.4 bpm at popMean +150 min/wk. Confirmed consistent with Reimers 2018 (typical range 5–15 bpm training-induced reduction; −5.4 at half-span is within range). Anchor: resting-heart-rate-biomarker (verified 2026-06-11) — no new wiki data added; existing verified data cited.
Baseline LE invariance: EXACT (exerciseScaled form evaluates to 0 at popMean activity=150; confirmed M 77.4589 / F 82.1178 to ±1e-9 by test suite).
Tests: 148/148 pass (6 new tests added: popMean invariant, −5.4 bpm at +150 min/wk, +5.4 bpm at sedentary, monotone direction, downstream elastin-fatigue response, LE invariant).
Double-count: none — physicalActivity→allcause (activityFitness, Kodama 2009 VO₂max channel) is mechanistically distinct (cardiorespiratory fitness vs autonomic/cardiac-cycle pulsatile fatigue); stiffness path has no other activity input; confirmed by zero-shift at popMean.
Provenance stage:calibrated (cross-checked against verified wiki + Chen 2024 / Reimers 2018 literature; open gaps: hypertensive-patient generalizability, no sex-specific coeff, age-attenuation not modeled).
Populate blocker on ALL THREE (critical):genomic-instability is currently Tier-B linear age-curve (not a ∫rate·dt state node). Populating any driver term requires first migrating it to rate-integrated form (Phase C3 of the migration roadmap) — otherwise exogenous forcing is added atop a hard-coded age line, double-driving the node. This migration dependency is the entire reason these are stubs. Additionally, each needs a verified normal-tissue dose-response in the wiki.
Validator output: 3 expected WARNs (stub driver-target "genomic-instability" is a node, not yet a state node — populating requires migrating it to rate-integrated form first); 0 errors.
LE invariance: 77.4589 M / 82.1178 F (stubs add nothing; 148/148 tests pass; build-app clean).
Candidates NOT stubbed: none — all three exogenous mutagens in the sim are biologically grounded; the physicalActivity, calorieBalance, dietSatFat, dietFiber, dietSodium, sleep inputs are non-mutagenic and correctly excluded.
Node audited:cellular-senescence (Tier-B exponential age-curve, A:0.025 r:0.04; NOT a ∫rate·dt state node; confirmed by absence from bLayer.stateNodes). Highest-traffic hallmark — audited both inbound and outbound.
Populate blocker on driver stubs (2–5): cellular-senescence is Tier-B exponential age-curve (NOT a ∫rate·dt state node). All four driver stubs carry the de-age-pegging populate-blocker: migration to rate-integrated state-node (Phase C3) is required before any driver term can be populated.
LE invariance: 77.4589 M / 82.1178 F — EXACT. 148/148 tests pass. build-app clean.
Candidates NOT stubbed (report-only):
loss-of-proteostasis → cellular-senescence: ER-stress-induced senescence is documented but NOT in causal-graph-data.md 34-edge set; dominant direction is senescence→proteostasis (not reverse); ambiguous enough to flag without stubbing.
cellular-senescence → dysbiosis: No direct mechanism verified in wiki; at best via SASP→gut-inflammation→dysbiosis (multi-hop, unverified in the wiki). Report-only.
cellular-senescence → cancer: Known-adjudicated design decision (net effect antagonistic — growth arrest anti-tumor vs SASP pro-tumor; model only carries promoting edges; documented in MODEL.edges provenance note for cancer node). Not stubbed by design.
cellular-senescence → atherosclerosis (direct): Already covered by cellular-senescence→chronic-inflammation→atherosclerosis chain + the arterial-stiffness→cardiovascular state-node path (B0/B3). A direct additional edge requires mediation-decomposition against both existing paths — complex decomposition, no strong signal beyond what is already routed. Report-only; revisit if senolytic CVD trials produce a signal unexplained by the existing paths.
Node audited:chronic-inflammation (Tier-B sigmoid age-curve, A:0.5 k:0.15 midpoint:40; NOT a ∫rate·dt state node; confirmed by absence from bLayer.stateNodes). The most double-count-prone node in the graph — audited both inbound and outbound.
Scope: biology-first from verified atomic page hallmarks/chronic-inflammation.md (verified 2026-05-04) + frameworks/causal-graph-data.md 34-edge set + exogenous input layer (exposures, diet, behaviours). Node is the central effector hub; every candidate evaluated for existing mediating paths before stubbing.
chronic-inflammation → atherosclerosis (via arterial-stiffness state-node B0 term — VSMC inflammation → medial stiffening; and the direct atherosclerosis→cardiovascular cause band with inflammation as a verified driver in causal-graph-data.md)
chronic-inflammation → clonal-hematopoiesis (coupling, live — bidirectional)
Populate blocker on driver stubs (1–9):chronic-inflammation is Tier-B sigmoid age-curve (NOT a ∫rate·dt state node). ALL nine driver stubs and the deregulated-nutrient-sensing coupling carry the de-age-pegging populate-blocker: migration to rate-integrated state-node (Phase C3) is required before any driver term can be populated.
Validator output: 8 new WARNs (driver stubs targeting non-state-node chronic-inflammation); 0 errors. Total WARNs in build: 16 (8 pre-existing + 8 new).
LE invariance: 77.4589 M / 82.1178 F — EXACT. 148/148 tests pass. build-app clean (104 edges = 23 nodes / 104 edges rendered; stubs grey-dashed).
Candidates NOT stubbed (report-only):
chronic-inflammation → disabled-macroautophagy (reverse of live edge) — NF-κB direct autophagy suppression is #gap/unsourced in the wiki; bidirectional loop stability requires adjudication; excluded to avoid a contested-direction stub.
chronic-inflammation → copd — smoking is the dominant COPD driver; systemic inflammaging as a driver of incident COPD in never-smokers is contested; report-only pending a verified primary citation.
epigenetic-alterations → chronic-inflammation — cross-talk table in wiki marks this direction #gap/unsourced; no verified citation; below the stub threshold (ambiguous direction + unsourced).
dietSodium → chronic-inflammation — only an indirect path (sodium → dysbiosis → LPS → inflammation), not a direct mechanism; no verified wiki page documenting the direct sodium→NF-κB link in normal physiology; report-only.
Double-count withheld (separate from report-only): no candidate was withheld only for double-count avoidance — the double-count-prone ones (sleep, smoking, alcohol, airPollution, calorieBalance, physicalActivity) were STUBBED with explicit decomposition notes, not withheld. Withholding would hide the gap; the stub note surfaces the mediation-decomposition obligation for the populate pass.
Files changed:frameworks/causal-graph-parameters.md (14 stubs appended to MODEL.edges), model/age-hardcoding-audit.md (14 rows in Deferred table), model/params.json (generated), viz/aging-simulator.html (generated).
Node audited:mitochondrial-dysfunction (Tier-B exponential age-curve, A:0.05 r:0.02; NOT a ∫rate·dt state node — confirmed by absence from bLayer.stateNodes). Audited both inbound and outbound.
Scope: biology-first from verified atomic page hallmarks/mitochondrial-dysfunction.md (verified 2026-05-04, scope: synthesis-MOC) + frameworks/causal-graph-data.md 34-edge set + exogenous input layer.
Populate blocker on driver stubs (5–7):mitochondrial-dysfunction is Tier-B exponential age-curve (NOT a ∫rate·dt state node). Migration to Phase C3 is required before any driver term can be populated.
Candidates NOT stubbed (report-only):
mitochondrial-dysfunction → neurodegeneration — strong biological grounding (ATP failure, Parkinson’s PINK1/PRKN); but the path is already partially routed via mito→proteostasis→neurodegeneration (live) and mito→inflammation→neurodegeneration (stub). An additional DIRECT edge requires mediation-decomposition across both existing paths; withheld pending a clear verified-source for the DIRECT (non-proteostasis, non-inflammatory) mito→neurodegeneration fraction. Report-only; can be stubbed in a follow-on pass with better evidence grounding for the distinct direct bioenergetic component.
mitochondrial-dysfunction → cardiovascular — mito ETC failure in cardiomyocytes is the substrate for HFpEF; however, the path is significantly carried by mito→inflammation→atherosclerosis (live) and mito→cellular-senescence→arterial-stiffness→CVD (state-node path). A direct coupling requires decomposing both existing paths; contested-direct-vs-mediated shape. Report-only; adjudicate with seeder.
smoking → mitochondrial-dysfunction — nicotine inhibits Complex I; ROS from smoking damages mtDNA; but smoking already has existing live bundled cause edges (cancer/CVD/COPD/diabetes/CKD); the mito-mediated fraction needs careful decomposition from ALL those endpoints. Mechanism is real but double-count risk is HIGH; withheld from stub pending the exogenous-rerouting-strategy design pass (the bundled smoke→cause edges are the primary integration point first). Report-only; may be stubbed in B4 (wire exogenous→latent) phase.
Candidates withheld specifically to avoid double-counting:
mitochondrial-dysfunction → cardiovascular (see above)
smoking → mitochondrial-dysfunction (see above — bundled smoke edges make direct decomposition non-trivial at this stage)
Node audited:telomere-attrition (Tier-B linear age-curve, t0:0.05 slope:0.011 M / t0:0.03 slope:0.011 F; NOT a ∫rate·dt state node). Audited both inbound and outbound.
Scope: biology-first from verified atomic page hallmarks/telomere-attrition.md (verified 2026-05-04, multiple corrected claims) + biomarkers/telomere-length-leukocyte.md (verified 2026-05-08) + frameworks/causal-graph-data.md 34-edge set + exogenous input layer. Preferred HUMAN epidemiology (LTL cohorts / MR) over mouse mechanistic studies per mouse-divergence caution (mice have very long telomeres and partial somatic telomerase — standard C57BL/6 not a reliable telomere-biology model).
Present edges confirmed (outbound — from telomere-attrition):
alcohol → telomere-attrition (driver, weak, β>0 HARMFUL) — acetaldehyde → N2-dGuo adducts at telomeric sequences; small observational studies (Pavanello 2011; Strandberg 2012). MR not established. NOTE: possible full mediation via alcohol→genomic-instability→… chain — populate pass must review before activating; if fully mediated, retire this stub (route-once discipline).
Bidirectional 2-cycle created:mitochondrial-dysfunction → telomere-attrition (new stub #1) + telomere-attrition → mitochondrial-dysfunction (prior stub from mito-audit) = a feedback 2-cycle. gap/loop-stability added to both. Seeder must calibrate the pair jointly with spectral-radius analysis (same as GI↔mito and senescence↔inflammation pairs).
Populate blocker on driver stubs (4–8):telomere-attrition is Tier-B linear age-curve (NOT a ∫rate·dt state node). Migration to Phase C3 required before any driver term can be populated. All five driver stubs carry gap/needs-state-node-migration.
Validator output: 5 new expected WARNs (driver stubs 4–8 targeting non-state-node telomere-attrition); 0 errors. Total WARNs in build: 24 (19 pre-existing + 5 new).
LE invariance: 77.4589 M / 82.1178 F — EXACT. 148/148 tests pass. build-app clean (119 edges = 23 nodes / 119 edges; stubs grey-dashed).
Candidates NOT stubbed (report-only):
genomic-instability → telomere-attrition: wiki frontmatter caused-by: ["[[genomic-instability]]"] lists this direction but the biological model primarily flows TA → GI (the live edge). The frontmatter appears to record the bidirectional loop rather than a clean unidirectional GI→TA cause. Mis-direction candidate on the frontmatter — flagged for human adjudication. Report-only; do not stub a contested-direction edge.
epigenetic-alterations → telomere-attrition: the reverse (TPE mechanism) is captured by the new telomere-attrition→epigenetic-alterations stub (item 3). The forward direction (epigenetic silencing of TERT/TERC → faster shortening) would require specific evidence for this arm as a significant population-level aging driver — below stub threshold at current evidence level. Report-only.
sleep → telomere-attrition: sleep deprivation → oxidative stress → LTL shortening is documented (observational only; small studies; MR not established). However, this path is largely mediated by sleep→chronic-inflammation→telomere-attrition (chronic-inflammation stub #2 already captures the inflammatory arm). Withheld to avoid double-routing the inflammation-mediated fraction; would add only the DIRECT HPA/cortisol-oxidative arm, for which direct evidence is very weak. Report-only; revisit if a direct sleep-cortisol→telomere-oxidation dose-response is verified.
telomere-attrition → immunosenescence (direct): Partially mediated by TA→stem-cell-exhaustion→immunosenescence chain (live). A direct TA→immunosenescence edge would require mediation-decomposition against that chain; no strong independent direct mechanism beyond HSC replicative exhaustion. Withheld; mediated path is the appropriate route.
telomere-attrition → loss-of-proteostasis — No verified direct mechanism from TA to proteostasis failure outside of the senescence chain. Withheld; covered by TA→cellular-senescence→… path.
telomere-attrition → chronic-inflammation (direct): COVERED by existing TA→cellular-senescence→chronic-inflammation (live). Adding a direct TA→chronic-inflammation stub would create a parallel route alongside the live chain, requiring mediation-decomposition to quantify the non-senescence fraction. Withheld; SASP from telomere-driven senescence IS the mechanism, and that path already exists. The new chronic-inflammation→telomere-attrition INBOUND stub is the appropriate additional edge (closing the bidirectional loop correctly).
Candidates withheld specifically to avoid double-counting:
telomere-attrition → chronic-inflammation (covered by TA→senescence→inflammation live chain)
telomere-attrition → immunosenescence (covered by TA→stem-cell-exhaustion→immunosenescence live chain)
sleep → telomere-attrition (largely mediated by sleep→chronic-inflammation→telomere-attrition new stub)
Live edge mis-direction flag for human adjudication:caused-by: ["[[genomic-instability]]"] in hallmarks/telomere-attrition.md frontmatter — the direction GI→TA appears to reflect the bidirectional loop notation rather than a distinct mechanism where genomic instability CAUSES telomere attrition. The verified wiki biology flows primarily TA→GI (the live edge captures dysfunctional telomeres → BFB cycles). Recommend wiki-seeder adjudication: either (a) the frontmatter correctly records a GI→TA mechanism (e.g. DDR-induced TERRA expression disrupting telomere protection) and should be noted with a specific citation, or (b) it should be revised to remove GI as a caused-by since the causal direction flows primarily the other way.
Files changed:frameworks/causal-graph-parameters.md (8 stubs appended to MODEL.edges), model/age-hardcoding-audit.md (8 rows in Deferred table), model/params.json (generated), viz/aging-simulator.html (generated).
[2026-06-12] ingest | OMICmAge + SYMPHONY Age biomarker clocks
added: biomarkers/omicmage.md (type: biomarker; DNAm mortality/morbidity clock). Primary source Chen et al. Nature Aging 2026 (doi:10.1038/s43587-026-01073-7) + OA preprint PMC10614756. Seeded → verified (claude). Architecture: EMRAge (Cox PH, 19 EHR vars) → DNAmEMRAge (1,097 CpGs) → OMICmAge (990 CpGs + 40 EBP surrogates: 16 protein/14 metabolite/10 clinical). Verifier corrections: EMRAge method elastic-net→Cox PH; N “~31k”→31,264; ρ 0.92→0.91; PCGrimAge comparison was overstated (OMICmAge AUC lower in Gen Scotland, not higher); added All of Us validation (n=10,769) + Gen Scotland HRs (mortality 11.31 / CVD 4.14 / T2D 4.18). Intervention signal: Corley 2026 semaglutide RCT −2.2 yr (p=0.009), framed exploratory/post-hoc (contrasts GrimAge CALERIE-2 null).
added: biomarkers/symphony-age.md (type: biomarker; DNAm organ-system clock; 11 systems). TruDiagnostic commercial implementation of the academic “Systems Age” framework — Sehgal et al. Nature Aging 2025 (doi:10.1038/s43587-025-00958-3, closed-access → verified against OA preprint doi:10.1101/2023.07.13.548904). Seeded → verified (claude, partial scope; gap/no-fulltext-access retained on the published version). Verifier corrections: largest-effect systems in Harvanek 2024 schizophrenia “Metabolic/Musculoskeletal”→“Heart/Lung” (seeder fabrication); pipeline five-step→six-step; Mavrommatis 2025 misattribution removed (Systems Age was NOT in that 14-clock comparison panel); WHI N ~5,600→5,129 (preprint Table 2); added co-inventor + corrected competing-interests.
updated: frameworks/biological-age-measurement.md — OMICmAge added to the second-generation (mortality-trained) table; SYMPHONY Age / Systems Age added to “Other modalities” (organ-system DNAm decomposition; informational — no validated organ-clock-targeted interventions as of 2026).
gaps surfaced: #gap/no-fulltext-access (both published Nature Aging full texts paywalled; verified via preprints); #gap/unsourced (OMICmAge full 40-EBP list from Extended Table S2 not enumerated); proprietary-validation caveat noted on both (TruDiagnostic-commercial figures: 133 biomarkers / ~8,000-participant Nov-2025 SYMPHONY retrain are product-report, not peer-reviewed).
note: ad-hoc seed (closes an inbound-discovery gap — both clocks were referenced as missing pages). Not added to ROADMAP unseeded queue.
context: ad-hoc, user-prompted (“age-related receding gums”; dental data was untapped — wiki had zero dedicated oral pages, only scattered mentions in AGE/MMP-1/LPS-TLR4/SPM/Alzheimer’s). Full-cluster build chosen. Not added to ROADMAP queue.
added (seeder→verifier, parallel batch of 8):
phenotypes/gingival-recession.md (phenotype; the headline query) — verified (claude, partial; Cairo 2011 full-PDF, rest abstract-level). Two-axis model: inflammatory/periodontitis-driven (RT2/3) vs non-inflammatory/mechanical (RT1), both age-amplified by inflammaging + AGE accumulation + fibroblast senescence + collagen-synthesis decline. Verifier: prevalence figures made precise (Yadav 78.16/75.42/84.92%; Romandini RT1/2/3 91.6/88.8/55.0%; Marschner CIs added); removed unverifiable “powered toothbrush protective” claim (West 2024 full-text inaccessible); flagged published corrigendum on Hao 2026 AIM2 paper (doi:10.1016/j.freeradbiomed.2026.04.137).
phenotypes/periodontitis.md (phenotype; anchor) — verified (claude). All load-bearing numbers confirmed vs full PDFs: Trindade 65+ 79.3%; Wu 2020 CAL 0.89mm/PPD 0.61mm/T2DM RR 1.53; Arbildo-Vega CVD OR 1.22–4.42; Wang 2022 MR bidirectional-null; Dominy 2019 + GAIN n=643 COMPLETED. syed2026 DOI resolved (10.1111/ger.70079). 14 archive: private-store annotations stripped from footnotes (seeder leak; leak-gate now clean).
phenotypes/tooth-loss.md (phenotype) — verified (claude). Ko 2026 frailty OR 2.04(edent)/2.62(<20 teeth); Chen 2026 + Qi 2021 dementia; Peng 2019 mortality RR 1.15–1.57 (CIs corrected from Table 3). First-author fix Ikebe→Kusama. Confounding/reverse-causation caveats confirmed not overstated.
schema escalations raised by seeders (not actioned — for user review): potential parent-system-secondary: for cross-system tissues (alveolar bone = digestive by anatomy / musculoskeletal by mechanism); optional tissue turnover-rate field; ICD-10 staging-family note on phenotype pages.
Scope: targeted re-check of caused-by:/causes: frontmatter on hallmarks/telomere-attrition.md; internal consistency check on hallmarks/genomic-instability.md.
Verdict: primary causal direction is TA → GI (not GI → TA). Uncapping of critically short telomeres → ATM activation → NHEJ-mediated end-to-end fusions → BFB cycles → chromosomal instability. Supported by Celli & de Lange 2005 (Nat Cell Biol; TRF2-null MEFs; PDF-verified on this page).
GI → TA assessment: no solid primary-source GI→TA mechanism at the hallmark level. Oxidative damage → telomere shortening is correctly attributed to ROS/mitochondrial biology (not the genomic-instability hallmark per se). DDR-deficiency-impaired telomere processing (WRN/BLM helicase-dependent G-quadruplex resolution) is a real molecular nuance but constitutes a “loss-of-repair” cause, not a clean “accumulated genomic instability causes telomere erosion” causal edge.
Corrections made:
hallmarks/telomere-attrition.md frontmatter: removed [[genomic-instability]] from caused-by: (was incorrect); added [[genomic-instability]] to causes: (the correct direction); cleared caused-by: [].
hallmarks/telomere-attrition.md body § Position in causal hierarchy: removed “bidirectional amplification” framing; replaced with accurate upstream-node description and GI-cause note with Celli & de Lange 2005 citation.
hallmarks/genomic-instability.md body § Position in causal hierarchy: corrected “Direct upstream nodes per caused-by: frontmatter: none” (was contradicting the frontmatter); replaced with accurate description of telomere-attrition as the upstream cause with the Celli & de Lange 2005 mechanism.
hallmarks/telomere-attrition.md frontmatter: verified-date updated to 2026-06-12; verified-scope extended with adjudication notes.
No PDF re-read required: Celli & de Lange 2005 already PDF-verified on the 2026-05-04 pass; the adjudication relied on the body text’s own mechanism descriptions + the already-verified study footnote.
Reciprocal consistency:genomic-instability.mdcaused-by: ["[[telomere-attrition]]"] (frontmatter) was already correct and was not changed.
Note: the sim edge-audit earlier today independently flagged this same mis-direction as “Live edge mis-direction flag for human adjudication” — this wiki pass resolves it.
Source checked: doi:10.1038/s41586-020-1961-1; pmid:31996850; PMC7021511 (OA full text). Read via pmc.ncbi.nlm.nih.gov/articles/PMC7021511/. Supplementary Table 1 (Excel, patient smoking histories) not independently accessed — PMC-hosted xlsx returned 404; per-subject pack-year data confirmed present per the Methods statement. All main-text quantitative claims verified against the PMC full text.
Corrections made (5):
“median coverage reported as 16×” → “average coverage 16× (minimum inclusion threshold 8×; >95% sensitivity at 15×)” — paper uses “average”, not “median”; inclusion threshold and sensitivity figure added from Methods.
Indel CI note resolved: “inference from partial text; verify exact CI against full PDF” → “No separate 95% CIs are reported for the 101/51 subgroup estimates; the p-value (p=0.001) covers the overall smoking effect on indel burden.” Confirmed the paper gives only combined p-value, no per-subgroup CIs.
Driver gene note updated: “genes not enumerated in abstract; verify full list against supplement” → confirmed 86-gene panel and named genes (NOTCH1, TP53, ARID2, FAT1, PTEN, CHEK2, ARID1A) from Methods.
Mechanistic interpretation of ex-smoker vs current-smoker gap substantially expanded: added explicit Discussion-text quote supporting irreversibility of per-cell mutation burden; added two-compartment model quote; added the ex-smoker lung-cancer retention sentence (which is the paper’s strongest evidence for irreversibility). Clarified the “dilution by near-normal cells” framing as the paper’s actual mechanism.
Added (simulator-target specifics):
“Absolute burden at specific ages” paragraph: paper does not state absolute SNV counts at specific age milestones; Figure 1B linear regression extrapolates to ~1,100 SNVs/cell at age 50 from slope alone; intercept not numerically reported; tagged gap/intercept-not-reported.
Per-pack-year dose-response section: confirmed the paper states “no significant correlation … with duration of cigarette smoking or the number of cigarettes smoked per day”; confirmed Suppl Table 1 has per-subject pack-year data (Methods ref) but study is underpowered (n=9 smokers); only categorical representation is defensible.
All primary quantitative claims confirmed correct: 22 SNVs/cell/year (95% CI 20–25; p=10⁻⁸); ex-smoker +2,330 (95% CI 1,180–3,480); current +5,300 (95% CI 3,660–6,930); 4× enrichment (95% CI 2.0–7.9×; p=3×10⁻⁶); telomere p=0.0009; driver 2.1-fold (95% CI 1.0–4.4; p=0.04); SBS-5 ex-smoker 1,140 (95% CI 590–1,700), current 2,200 (95% CI 1,590–2,810; p<10⁻¹⁶).
Verified state: flipped to verified: true, verified-date: 2026-06-12, verified-by: claude.
Downstream propagation needed (for main agent): exposures/smoking.md (reversibility section cites this study — mechanistic interpretation now substantially more precise; confirm the irreversible-accrual framing is reflected there); processes/somatic-mutation-accumulation.md (tissue-rate table and near-normal cell discussion may benefit from the intercept gap tag and the expanded mechanistic discussion).
context: ad-hoc follow-on to the dental cluster (above), prompted by a real presentation — 38F, front-teeth recession that is interproximal as well as buccal, braces history, light brushing, no caries, crowding (“large teeth for a small mouth”). The interproximal finding exposed 3 mechanisms the freshly-seeded [[gingival-recession]] page didn’t cover. ADD-only extension of two already-verified pages (no existing prose/footnotes/verified-block altered).
Open gingival embrasures / “black triangles” (new section): post-orthodontic interdental-papilla loss that mimics interproximal recession but is anatomic, not attachment loss. Tarnow 1992 papilla-fill principle (≤5mm ~100% / 6mm ~56% / ≥7mm ≤27%) + prevalence (Burke 1994 41.9%; Ko-Kimura 2003 43.7%, 66.7% in >20yo, n=80 added). Differentiation table (black triangle vs RT2/3 periodontitis). Verifier: Tarnow 1992 + Burke 1994 closed-access, tagged gap/no-fulltext-access (figures consistent w/ secondary lit but not primary-verified).
Localized periodontitis — molar-incisor / Grade C (axis 1, brief): interproximal attachment loss at incisors in young adults, disproportionate to plaque → good hygiene doesn’t exclude it; disease detail deferred to [[periodontitis]].
classification-triage note at the RT1/2/3 table: interproximal involvement must be split into true attachment loss vs black triangles (management diverges).
updated: phenotypes/periodontitis.md (was verified 2026-06-12) — seeded→verified (claude); stays verified:true, scope extended. Added Grade A/B/C comparison table (Tonetti 2018, doi:10.1002/jper.18-0006) + C-MIP (Grade C molar-incisor pattern) subsection: young onset, rapid progression, plaque-disproportionate, familial, A. actinomycetemcomitans JP2 clone (530-bp leukotoxin-promoter deletion). Verifier: “~20-fold”→“10- to 20-fold” leukotoxin, anchored to Brogan 1994 primary source (doi:10.1128/iai.62.2.501-508.1994; the cited reviews Fine 2024 / Nibali 2026 don’t state the figure); Susin 2014 population-prevalence confirmed vs full PDF; Nibali 2026 closed-access gap/no-fulltext-access.
gaps surfaced: #gap/no-fulltext-access (Tarnow 1992, Burke 1994, Tonetti 2018, Nibali 2026 — closed-access); Haubek 2008 Lancet noted by verifier as the ultimate primary for the JP2-colonization-predicts-attachment-loss claim (a direct footnote there would strengthen it — deferred).
leak-gate: clean (3 checks). Both pages’ verified blocks + the gingival-recession targeted banner preserved.
[2026-06-12] verify | Farr 2024 D+Q bone RCT — schedule + design corrected across 4 pages (sim-calibration-driven)
context: dispatched wiki-verifier on Farr 2024 (doi:10.1038/s41591-024-03096-2) — the one abstract-only, schedule-contradictory dependency surfaced while calibrating the D+Q senolytic into the aging-simulator (model/dq-calibration-design.md). PDF read end-to-end (Methods p.11).
canonical schedule established: D 100 mg × 2 consecutive days + Q 1000 mg × 3 consecutive days (staggered), every 28 days × 5 cycles = 20 wk, open-label (not double-blind — paper states over-encapsulation for blinding was cost-prohibitive). Corrects two prior cross-page errors: “monthly × 6 cycles” (6 cycles contradicted the 20-wk duration) and the “double-blind” label.
SASP measurement confirmed: 36 circulating SASP factors at baseline + 2 wk → no significant D+Q-vs-control change; no adipose biopsy; T-cell p16 mRNA baseline-only (stratifier). Trial confirms neither senescent-cell clearance nor a systemic SASP drop — dual-null.
updated (verifier): molecules/compounds/dasatinib.md, molecules/compounds/quercetin.md, interventions/pharmacological/senolytics.md — schedule + open-label + SASP facts + age (≥70→60–90); each verified-scope extended (Farr now PDF-read).
updated (main agent): phenotypes/osteoporosis.md — footnote schedule “monthly × 6 cycles”→“every 28 d × 5 cycles”, open-label note, verified-scope re-correction (the prior 2026-05-23 “end-to-end” pass had recorded “3 d × 6 cycles” in error — a verified-page-carried-verifier-error).
sim fallout (model/, separate commit): folded canonical schedule + dual-null into dq-calibration-design.md; corrected an upstream error in senescence-inflammation-loop-design.md §8 — the “Farr 2024 P1NP @2wk” λ_infl anchor was a category error (P1NP = bone-formation, not SASP) and Farr’s SASP panel was null; removed it, λ_infl range now rests on Hickson + acute-IL-6.
gaps surfaced: #gap/hickson-cells-vs-mrna-labeling (Hickson p16/p21 −35/−17% labeled ”% cells” on compound pages but “mRNA” on cellular-senescence.md — bears on whether the kill fraction is a true per-cell fraction); #gap/dq-cadence-farr-unverifiedcleared.