Audit: QRS - Low-Dose Naltrexone for Health & Longevity

Audit conducted on 10/24/2026 20:16 using AI4L / Opus 5.5

Iterations

Summary

Items Count
Total 94
Passed 87
Failed 0
N/A 7
Pass Rate 100.00%
  • Total = Passed + Failed + N/A
  • Pass Rate = Passed / (Passed + Failed) × 100
  • N/A items are excluded from the pass rate calculation

1. General Rules

# Description Result Comments
1.1 Every claim, magnitude, label, recommendation, and statement in the QRS is literally supported by content in the source ER. 🟢 Lede, protocol, time to effect, tier items, gate items, markers, cadence and qualitative items all trace to ER text (Motivation, Conclusion, Therapeutic Protocol, Practical Considerations, Key Interactions, Monitoring).
1.2 Where the ER uses cautious phrasing (“not formally studied”, “None documented in human trials to date”, “theoretical concern”, “data are limited”), the QRS uses the same phrasing. 🟢 “(theoretical)” kept for kratom, thyroid hormone, immunosuppressants, additive supplements, other interventions and the non-disulfiram liver-toxic drugs; time-to-effect sub keeps “when trials judged outcomes”.
1.3 The QRS never strengthens an ER claim (e.g., “not formally studied” → “not required”) or softens one (e.g., “do not use during pregnancy” → “use with caution during pregnancy”). 🟢 No strengthening or softening; kratom “avoid” surfaces as a contraindication still marked (theoretical).
1.4 The QRS does not relabel an ER fact under a different decision category. A “Benefit-Modifying Factor” from ER section is not surfaced as a “Caution”; a “Risk-Modifying Factor” is not surfaced as a “Side Effect”; etc. 🟢 Contraindications come from the ER’s absolute contraindications, the avoid-populations list and the kratom “avoid” bullet; no modifying factor is relabelled.
1.5 PubMed IDs, study citations, expert names, clinical trial identifiers (NCT*), and brand names appear in the QRS only if they appear in the source ER for the same fact. 🟢 No PMIDs, NCT IDs or expert names; “FINAL” trial name appears in the ER for the same dose and titration facts.

2. Focus, Tone & Audience

# Description Result Comments
2.1 The QRS follows the tone of the ER, which is determined by the ER’s own language, phrasing, and framing. 🟢  
2.2 The tone of the QRS is expert, accessible, objective, and data-driven 🟢  
2.3 The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor 🟢  
2.4 The QRS avoids language that implies medical or clinical advice 🟢 “stops use” wording mirrors the ER table’s “Safety check” phrasing.
2.5 The QRS “presents information” instead of “providing guidance”, “recommending”, or “advising” 🟢  
2.6 The QRS never addresses the reader directly — it presents evidence, not guidance 🟢 No second-person address.
2.7 The QRS is written in plain language, avoiding unnecessary medical jargon 🟢 Technical terms (thioridazine, naloxone challenge test, eGFR, TSH) are ER labels or marker names carried verbatim.
2.8 Information is presented in a concise and very compact manner 🟢  
2.9 The target audience is health- and longevity-oriented adults who are risk-aware, proactive, and actively seeking to optimize health or apply the intervention under review. 🟢  
2.10 The target audience is willing to employ lifestyle and behavioral changes as well as follow protocols that may be inconvenient, costly, or require effort. 🟢  
2.11 The document is NOT written for the general population, who are unwilling to employ lifestyle and behavioral changes or follow protocols that may be inconvenient, costly, or require effort. 🟢  
2.12 Framing, takeaways, and risk/benefit weighting throughout the document reflect this audience, including where an intervention’s signal for the average person differs from its signal for this audience. 🟢 Lede closes on the absence of a demonstrated longevity effect, the point that matters for this audience.
2.13 The document’s own voice frames usage in longevity terms, not “anti-aging” (e.g., “anti-aging clinics”, “anti-aging community”, “anti-aging medicine”). Proper names that contain “anti-aging” (e.g., “American Academy of Anti-Aging Medicine”) are quoted verbatim. 🟢 No “anti-aging” wording.
2.14 The document’s own voice uses formal clinical and scientific terminology, not colloquial or consumer-grade language (e.g., “oral medication” not “pill(s)”; “oral” / “administered orally” not “taken by mouth” / “given by mouth”; “injection” not “shot”; “adverse event” not “bad reaction”). This holds on EVERY surface, including the QRS lede — the stricter plain-language bar (see 2.7) does not license lay phrasing for route of administration. Direct quotes from sources are exempt. 🟢 Lede uses “prescription medication”; no pill/shot/by-mouth phrasing.

3. Template Integrity

# Description Result Comments
3.1 The following labels and headings on the QRS are fixed and not modified: Card and section headings: “Protocol”, “Time to effect”, “Benefits”, “Risk & Side Effects”, “Monitoring”, “Qualitative Assessment”; Gate headings: “Contraindications”, “Key Interactions”; Tier labels: “High”, “Medium”, “Low”, “Speculative”; Table column headers in Monitoring: “Marker”, “Target”, “Why” 🟢 All fixed headings, gate heads, tier labels and column headers unchanged (QRS lines 438, 475, 517, 535, 552, 575, 594, 598-600, 691).
3.2 Every element carrying a data-qrs-var attribute in [qrs_template] is present in the QRS with the same name 🟢 All template data-qrs-var names present; marker_# and qualitative_item_# expanded per 14.2/15.2.
3.3 Everything outside the data-qrs-var spans — markup, text, styles, comments — is as in the template; spans that no checklist item addresses are left unchanged as well 🟢 Diff against the template shows changes only inside data-qrs-var spans and the metadata comment (populated per section 5; duration/git_user/git_issue keys are workflow-added).

4. Formatting

# Description Result Comments
4.1 An empty ER section never produces visible empty-state text in the QRS: the corresponding region is hidden or left empty. Phrases such as “None documented in human trials to date” or “Not formally studied” appear only where the ER uses them for a fact the QRS carries over. 🟢 Empty Benefits High tier hidden; “Not specified in the ER” used only as 14.3 prescribes.
4.2 Where the ER presents a bulleted item as “Label: content”, the QRS uses the ER’s bold label verbatim as the cell or row label. 🟢 Protocol labels “Standard dose”, “Titration”, “Time of day”, time label “Time to effect”, qualitative labels and interaction labels are the ER’s bold labels.
4.3 Labels are not paraphrased, abbreviated, or invented. 🟢 Interaction labels only trimmed of examples/glosses in the ER’s own words.
4.4 The QRS DOES NOT use emoji indicators (no 🟩, 🟥, 🟨, etc.). Color and emphasis are conveyed through CSS and bold labels. 🟢 No emoji; ER tier emojis and “⚠️ Conflicted” stripped.
4.5 The QRS is designed to render on one A4 page. It fails this item only for one of four things: a trailing clause after a dash, an optional gloss, an example list left untrimmed, or a repetition. Nothing else is cut to fit. 🟢 No trailing dash clauses, optional glosses kept, untrimmed long example lists (opioid analgesics trimmed 6 to 4) or repeated items.

5. Metadata

# Description Result Comments
5.1 The metadata is placed inside a single HTML comment that is the first element after “<!doctype html>” and before any other comment, head, or body content. 🟢  
5.2 Inside that HTML comment the YAML block is delimited by a line “—” opening and a line “—” closing. Text before the opening “—” is permitted but is not parsed as YAML. 🟢  
5.3 The metadata is not visible in any rendered view of the QRS and is not surfaced by any other element on the sheet. 🟢  
5.4 All frontmatter values are trimmed: no leading or trailing whitespace, no surrounding quotes unless the value contains a colon, bracket, or leading special character that requires YAML quoting. 🟢 Only duration is quoted (“00:02” contains a colon).
5.5 The filename of the source ER is stated as “er_filename: [er_filename]” 🟢  
5.6 Version of the QRS.md file used to create the document is stated as “qrs_prompt_version: [Version of QRS.md]” 🟢 26.10.24 matches QRS.md.
5.7 Creation date and time of the document is stated as “qrs_creation_date: [YYYY-MMDD-HHMM]” (e.g., 2026-0501-1430) 🟢 2026-1024-2000
5.8 The nickname of the AI used to create the document is stated as “qrs_creator_ai_nickname: [qrs_creator_ai_nickname]” 🟢 Opus
5.9 The nickname of the AI is the full name without the version number, with all remaining words joined by hyphens (e.g., Opus, Sonnet, Grok, Gemini-Flash, GPT); when the full name has no version number or is “Unknown”, the nickname equals the full name 🟢  
5.10 The full name of the AI used to create the document is stated as “qrs_creator_ai_fullname: [qrs_creator_ai_fullname]” 🟢 Opus 5.5
5.11 The full name of the AI consists of the model name (the word or words directly before the version number, leaving out the first if there is more than one, e.g., Claude Opus 5.5 → Opus 5.5), the model version number and the variant (if any) as stated in the system prompt or developer instructions of the creating model, with every word capitalized and without product, effort or pricing names (e.g., Opus X.Y, Sonnet X.Y, Grok X.Y, Gemini X.Y Flash, GPT X.Y), the model name alone when the system prompt or developer instructions name a model without a version number (e.g., Grok), or “Unknown” when neither the system prompt nor the developer instructions of the creating model name a model 🟢  
5.12 The filename of the document is stated as “qrs_filename: [filename of this document]” 🟢  

6. Page Title & Header

# Description Result Comments
6.1 [page_title] is set to the [canonical_topic] of the ER frontmatter followed by “ - Quick Reference Sheet” (e.g., “Intervention - Quick Reference Sheet”). The [canonical_topic] is HTML-entity-encoded as needed (e.g., &amp; for &) 🟢 Line 21.
6.2 [header_topic] is set to the [canonical_topic] of the ER frontmatter, with HTML entities encoded as needed (e.g., &amp; for &) 🟢 Line 415.
6.3 [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] 🟢 10/24/2026 from 2026-1024-2000.
6.4 [header_subline_model] is set to [qrs_creator_ai_fullname] 🟢 Opus 5.5.
6.5 No additional header content appears: no badge, version stamp, AKA / alternate names line, source-AI attribution, audit date, or QRS variant marker. 🟢  

7. At-A-Glance Section

# Description Result Comments
7.1 [at_a_glance] opens by saying what the intervention is — its kind (e.g., dietary supplement, prescription medication, peptide, plant, procedure, practice) — and what it is used for, in plain language, before any verdict on the evidence 🟢 Opens “Low-dose naltrexone is a prescription medication for alcohol and opioid dependence, taken at a small fraction of its usual dose in the hope of easing pain, fatigue and immune-driven inflammation”.
7.2 [at_a_glance] is dense, execution-oriented summary of the ER Conclusion section 🟢 Condenses the four Conclusion paragraphs (pain evidence, safety, opioid hazards, longevity).
7.3 [at_a_glance] is no longer than 70 words 🟢 70 words (wc).
7.4 Every fact in [at_a_glance] is supported by a distinct passage in the ER. 🟢  
7.5 It DOES NOT use acronyms or technical classifications that require specialist knowledge, uses plain-language terms instead 🟢 No acronyms; plain terms.
7.6 It DOES NOT cite specific trials (names, years, sample sizes, p-values) 🟢  
7.7 It DOES NOT cite effect sizes, relative risks, or statistical results 🟢  

8. Contraindications

# Description Result Comments
8.1 The section is derived from the ER Key Interactions & Contraindications section 🟢  
8.2 [stop_items] represent the Contraindications from the ER 🟢 Both absolute contraindications, all seven avoid-populations and kratom (avoid) listed.
8.3 Individual [stop_items] are formatted as <li></li> 🟢  
8.4 Items are as concise as possible. No trailing explanations, no elaborations, no mechanistic rationale, no attributions, no citations, no study details. No content after an em-dash, en-dash, or hyphen-dash (e.g., “— dose reduction required”, “— reduced efficacy”) — these trailing clauses are stripped. Just the key fact. 🟢 “— absolute contraindication” and “— supplement, avoid” stripped.
8.5 Parenthetical qualifiers from the ER bullet — time windows, severity classes, threshold values, clinical staging — ARE preserved as part of the item, kept as concise as possible (shortened or trimmed where needed to fit the one-page budget, but never dropped entirely). 🟢 7–10 days / two weeks windows, “acute”, “decompensated” and “outside a supervised study” preserved.
8.6 When the ER uses ranking notation inside parens (e.g., “>” for severity ordering) that depends on an explanatory phrase to interpret, normalize the items to a plain comma-separated list rather than carrying through the bare symbol. 🟢 No ranking notation in the ER.
8.7 The section is left empty ONLY IF the ER’s Key Interactions & Contraindications section identifies no population, condition, or scenario for which the intervention should be avoided, deferred, or used only under specialist supervision. 🟢 Section populated; ER names avoid-populations.
8.8 If the section is left empty, an HTML comment inside the [stop_items] span records the ER basis for the absence, naming or quoting the ER text relied on. E.g. N/A Section not empty.

9. Key Interactions

# Description Result Comments
9.1 The section is derived from the ER Key Interactions & Contraindications section 🟢  
9.2 [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications 🟢 All 11 non-contraindication ER interactions listed; opioid analgesics, opioid maintenance and kratom excluded.
9.3 Individual [caution_items] are formatted as <li></li> 🟢  
9.4 Items are as concise as possible. No trailing explanations, no elaborations, no mechanistic rationale, no attributions, no citations, no study details. No content after an em-dash, en-dash, or hyphen-dash (e.g., “— dose reduction required”, “— reduced efficacy”) — these trailing clauses are stripped. Just the key fact. 🟢  
9.5 Parenthetical qualifiers from the ER bullet — example drug lists, time windows, severity classes, threshold values, clinical staging — ARE preserved as part of the item, kept as concise as possible (shortened or trimmed where needed to fit the one-page budget, but never dropped entirely). 🟢 Example lists and “(theoretical)” qualifiers kept, trimmed only.
9.6 When the ER uses ranking notation inside parens (e.g., “>” for severity ordering) that depends on an explanatory phrase to interpret, normalize the items to a plain comma-separated list rather than carrying through the bare symbol. 🟢 No ranking notation in the ER.
9.7 The section is left empty ONLY IF the ER’s Key Interactions & Contraindications section identifies no interaction, additive effect, or exposure that changes how the intervention is used. 🟢 Section populated.
9.8 If the section is left empty, an HTML comment inside the [caution_items] span records the ER basis for the absence, naming or quoting the ER text relied on. E.g. N/A Section not empty.

10. Protocol

# Description Result Comments
10.1 The section is derived from the ER Therapeutic Protocol section 🟢  
10.2 The three sets of [action] items cover the three most important actionable implementation aspects from that section 🟢 Standard dose, titration, time of day.
10.3 If fewer than three distinct actionable implementation aspects are mentioned in the ER, the unused sets are left empty and hidden with style="display:none", not filled with placeholder text or empty-state phrasing. N/A ER gives more than three actionable aspects.
10.4 All used [action_#label], [action#value], [action#_sub] items are filled with meaningful content derived from that section. 🟢  

11. Time to Effect

# Description Result Comments
11.1 The three sets of [time] items cover the three most important time-to-effect aspects from the ER 🟢 ER gives one time-to-effect aspect (Practical Considerations: 8–12 weeks); it is used.
11.2 The sets are picked and ordered by the magnitude of the related benefit 🟢 Single set.
11.3 If fewer than three distinct time-to-effect aspects are mentioned in the ER, the unused sets are left empty and hidden with style="display:none", not filled with placeholder text or empty-state phrasing. 🟢 time_2 and time_3 spans empty and hidden with style=”display:none” (lines 492-509).
11.4 All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. 🟢  
11.5 If the ER provides no information on time to effect at all, the whole Time to effect block (its subhead and all three sets) is hidden with style="display:none", not removed: its spans stay in place, empty. N/A ER provides time-to-effect information.

12. Benefits

# Description Result Comments
12.1 The section is derived from the ER Expected Benefits section 🟢  
12.2 Key variables are [benefits_high], [benefits_medium], [benefits_low], [benefits_speculative] 🟢  
12.3 Items are as concise as possible. No explanations, no elaborations, no effect sizes, no qualifiers, no attributions, no citations, no study details, no mechanistic explanations, etc. Just the key fact. 🟢 Items are the ER benefit headings.
12.4 Parenthetical content — including effect sizes, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢  
12.5 If a tier (high, medium, low, speculative) has no items, its span is hidden with style="display:none", not filled with “None documented in human trials to date” or similar empty-state phrasing. 🟢 benefits_high empty and hidden (line 519).

13. Risks

# Description Result Comments
13.1 The section is derived from the ER Potential Risks & Side Effects section 🟢  
13.2 Key variables are [risks_high], [risks_medium], [risks_low], [risks_speculative] 🟢  
13.3 Items are as concise as possible. No explanations, no elaborations, no effect sizes, no qualifiers, no attributions, no citations, no study details, no mechanistic explanations, etc. Just the key fact. 🟢 Items are the ER risk headings.
13.4 Parenthetical content — including frequencies, severity grades, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢  
13.5 If a tier (high, medium, low, speculative) has no items, its span is hidden with style="display:none", not filled with “None documented in human trials to date” or similar empty-state phrasing. N/A All four risk tiers have items.

14. Monitoring

# Description Result Comments
14.1 The section is derived from the ER Monitoring Protocol & Defining Success section 🟢  
14.2 All measurable/quantifiable biomarkers from that section are listed, one table row per marker; the template’s # row is the pattern, repeated with # replaced by 1, 2, 3 … in the data-qrs-var names 🟢 ALT, AST, eGFR, urine opioid screen, TSH, pregnancy test and the pain-score responder threshold, rows 1–7.
14.3 [marker_#name] is the marker, [marker#target] its target value or range as given in the ER, [marker#_why] its purpose in a few words; a target the ER does not give is written “Not specified in the ER” 🟢 Ranges match the ER table; “No established target” markers written “Not specified in the ER”.
14.4 [monitoring_cadence] is populated with the monitoring cadence/frequency derived from that section. It is not left with placeholder text or empty. 🟢 Cadence matches the ER’s baseline / 4–8 weeks / 12 weeks / 6–12 months schedule.
14.5 If the ER names no measurable biomarker, the table is hidden with style="display:none" and the single # row is left as in the template N/A ER names measurable biomarkers.

15. Qualitative Assessment

# Description Result Comments
15.1 The section is derived from the ER Monitoring Protocol & Defining Success section 🟢  
15.2 All subjective/qualitative markers from that section are listed, one <li> per marker; the template’s # item is the pattern, repeated with # replaced by 1, 2, 3 … 🟢 Four ER qualitative markers, items 1–4.
15.3 If the ER names no qualitative marker, the card’s list is hidden with style="display:none" and the single # item is left as in the template N/A ER names qualitative markers.

Issues 10/24/2026 20:16

Pass rate 100.00%. No issues found.

Issues 10/24/2026 20:12

  1. 14.3 — Unstated targets filled in: The ER table gives “No established target” for the urine opioid screen and the pregnancy test, but marker_4_target (line 642) reads “Negative before the first dose” and marker_6_target (line 664) reads “Negative before starting” instead of “Not specified in the ER”.

Fixes 10/24/2026 20:12

  1. 14.3 — Unstated targets set correctly: Changed marker_4_target from “Negative before the first dose” and marker_6_target from “Negative before starting” to “Not specified in the ER”, matching the ER’s “No established target”.

Issues 10/24/2026 20:09

  1. 1.3 — Lede drops withdrawal hazard: At a Glance (line 431) gives the firm hazards only as “opioid pain medicines, whose relief it blocks”, leaving out the ER Conclusion’s “opioid treatment programs … can set off severe withdrawal”, which softens the ER’s hazard statement.
  2. 2.14 — Colloquial lede wording: At a Glance (line 431) calls the intervention “a prescription addiction drug” instead of using formal wording such as “a prescription medication for alcohol and opioid dependence”.
  3. 4.5 — Example list untrimmed: The opioid analgesics contraindication (line 538) keeps all six examples “(morphine, oxycodone, hydrocodone, fentanyl, tramadol, codeine)”.

Fixes 10/24/2026 20:09

  1. 1.3 — Lede withdrawal hazard restored: Replaced “the firm hazards involve opioid pain medicines, whose relief it blocks” with “the firm hazards are blocked opioid pain relief and severe withdrawal”, following the ER Conclusion.
  2. 2.14 — Formal lede wording: Replaced “a prescription addiction drug” with “a prescription medication for alcohol and opioid dependence”; trimmed the lede elsewhere to stay within 70 words.
  3. 4.5 — Opioid example list trimmed: Shortened the opioid analgesics contraindication from six examples to “(morphine, oxycodone, tramadol, codeine)”.

Issues 10/24/2026 20:04

  1. 4.2 / 4.3 — Invented time-to-effect labels: The Time to effect cells at lines 481 and 492 are labelled “Trial outcomes” and “Decision point”, although their content comes from the ER bullet with the bold label “Time to effect:” (Practical Considerations); neither label exists in the ER.
  2. 4.5 — Repetition and optional glosses: time_2_sub at line 498 repeats “response review at 12 weeks” from monitoring_cadence (line 685), and the Key Interactions keep optional glosses “(an antipsychotic)” (line 557), “(an alcohol-dependence drug)” (line 559) and “sedative anti-anxiety drugs” (line 556).

Fixes 10/24/2026 20:04

  1. 4.2 / 4.3 — Invented time-to-effect labels: Merged the two cells into time_1 with the ER bold label “Time to effect” (value “8–12 weeks”, sub “When trials judged outcomes; clinicians typically allow two to three months before deciding”) and emptied and hid the time_2 spans with style=”display:none”.
  2. 4.5 — Repetition and optional glosses: Removed the repeated “response review at 12 weeks” with the time_2 cell, and trimmed the glosses to “Benzodiazepines (such as diazepam)”, “Thioridazine” and “Acamprosate”.