Audit: QRS - Topical NMN for Skin Rejuvenation
Audit conducted on 29/06/2026 13:34 using AI4L / Opus 4.8
Summary
| Items | Count |
|---|---|
| Total | 91 |
| Passed | 83 |
| Failed | 0 |
| N/A | 8 |
| 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. | 🟢 | All QRS content traces to ER passages. |
| 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 concerns extrapolated from systemic NMN”, “Uncertain stability”, “Not established for clinical use” mirror ER. |
| 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 detected. |
| 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. | 🟢 | Categories preserved; interactions stay interactions, risks stay risks. |
| 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. | 🟢 | QRS carries no citations, IDs, or names. |
| 1.6 | The QRS does not introduce new attributions. | 🟢 | No attributions introduced. |
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. | 🟢 | Objective, cautious tone consistent with ER. |
| 2.2 | The tone of the QRS is simultaneously expert, accessible, objective, and data-driven, but also empowering and encouraging | 🟢 | Tone meets the standard. |
| 2.3 | The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor | 🟢 | Presents evidence, not orders. |
| 2.4 | The QRS avoids language that implies medical or clinical advice | 🟢 | No clinical-advice phrasing. |
| 2.5 | The QRS “presents information” instead of “providing guidance”, “recommending”, or “advising” | 🟢 | Information-presenting voice throughout. |
| 2.6 | The QRS never addresses “the reader” directly — it presents evidence, not guidance | 🟢 | No direct address. |
| 2.7 | The QRS is written in plain language, avoiding unnecessary medical jargon | 🟢 | Plain language used; technical terms minimal. |
| 2.8 | Information is presented in a concise and very compact manner | 🟢 | Compact card layout. |
| 2.9 | It DOES NOT address the reader directly | 🟢 | No second-person address. |
| 2.10 | 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. | 🟢 | Framing fits this audience. |
| 2.11 | The target audience is willing to employ lifestyle and behavioral changes as well as follow protocols that may be inconvenient, costly, or require effort. | 🟢 | Consistent with audience. |
| 2.12 | 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. | 🟢 | Not general-population framing. |
| 2.13 | 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. | 🟢 | Weighting reflects audience. |
| 2.14 | 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” in QRS voice. |
| 2.15 | The document’s own voice uses formal clinical and scientific terminology, not colloquial or consumer-grade language (e.g., “oral medication” not “pill(s)”; “injection” not “shot”; “adverse event” not “bad reaction”). Direct quotes from sources are exempt. | 🟢 | Formal terminology used. |
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/labels intact. |
| 3.2 | All “…” from the [qrs_template] are present in the the QRS. | 🟢 | All template var spans present. |
| 3.3 | Spans that are not addressed in a checklist item are left unchanged | 🟢 | Untouched spans preserved. |
4. Formatting
| # | Description | Result | Comments |
|---|---|---|---|
| 4.1 | When the source ER section is empty, the QRS uses the ER’s own empty-state phrasing verbatim. Typical phrasings are “None documented in human trials to date” and “Not formally studied” | 🟢 | Empty High/Medium benefit and High risk tiers set to display:none, not given empty-state text. |
| 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/action labels match ER intent; tier labels verbatim. |
| 4.3 | Labels are not paraphrased, abbreviated, or invented. | 🟢 | Labels faithful. |
| 4.4 | The QRS DOES NOT use emoji indicators (no 🟩, 🟥, 🟨, etc.). Color and emphasis are conveyed through CSS and bold labels. | 🟢 | No emoji indicators in QRS. |
| 4.5 | The QRS is designed to render on one A4 page. Any section that has more content in the ER than fits the per-section budget is condensed by the LLM, not extended onto a second page. | 🟢 | Content condensed to one page. |
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. | 🟢 | Metadata comment is first element after doctype (lines 2-14). |
| 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. | 🟢 | YAML delimited by — at lines 3 and 13. |
| 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. | 🟢 | Inside HTML comment; not rendered. |
| 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. | 🟢 | Values trimmed; duration quoted (contains colon). |
| 5.5 | The filename of the source ER is stated as “er_filename: [er_filename]” | 🟢 | er_filename: topical_nmn_skin_2026-0629-1112_Opus_ER.md. |
| 5.6 | Version of the QRS.md file used to create the document is stated as “qrs_prompt_version: [Version of QRS.md]” | 🟢 | qrs_prompt_version: 26.5.18. |
| 5.7 | Creation date and time of the document is stated as “qrs_creation_date: [YYYY-MMDD-HHMM]” (e.g., 2026-0501-1430) | 🟢 | qrs_creation_date: 2026-0629-1112. |
| 5.8 | The nickname of the AI used to create the document is stated as “qrs_creator_ai_nickname: [qrs_creator_ai_nickname]” | 🟢 | qrs_creator_ai_nickname: Opus. |
| 5.9 | The nickname of the AI is just a single word model name without version, etc. (e.g., Opus, Sonnet, Grok, Gemini, ChatGPT) | 🟢 | “Opus” — single word. |
| 5.10 | The full name of the AI used to create the document is stated as “qrs_creator_ai_fullname: [qrs_creator_ai_fullname]” | 🟢 | qrs_creator_ai_fullname: Opus 4.8. |
| 5.11 | The full name of the AI consists of the [qrs_creator_ai_nickname] and the model version number and no additional qualifier (e.g., Opus 4.6, Sonnet 3.2, Grok 4.5, Gemini 3.1, ChatGPT 5.4) | 🟢 | “Opus 4.8” — nickname + version. |
| 5.12 | The filename of the document is stated as “qrs_filename: [filename of this document]” | 🟢 | qrs_filename: topical_nmn_skin_2026-0629-1112_Opus_QRS.html. |
| 5.13 | 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. | 🟢 | All values clean. |
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., & for &) |
🟢 | “Topical NMN for Skin Rejuvenation - Quick Reference Sheet”. |
| 6.2 | [header_topic] is set to the [canonical_topic] of the ER frontmatter, with HTML entities encoded as needed (e.g., & for &) |
🟢 | “Topical NMN for Skin Rejuvenation”. |
| 6.3 | [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] | 🟢 | 06/29/2026 matches creation date. |
| 6.4 | [header_subline_model] is set to [qrs_creator_ai_fullname] | 🟢 | “Opus 4.8”. |
| 6.5 | No additional header content appears: no badge, version stamp, AKA / alternate names line, source-AI attribution, audit date, or QRS variant marker. | 🟢 | Header clean. |
7. At-A-Glance Section
| # | Description | Result | Comments |
|---|---|---|---|
| 7.1 | [at_a_glance] is dense, execution-oriented summary of the ER Conclusion section |
🟢 | Distills Conclusion: refill cellular fuel, cell/animal promise, no human proof, low-risk, uncertain value. |
| 7.2 | [at_a_glance] is no longer than 60 words | 🟢 | 59 words. |
| 7.3 | Every fact in [at_a_glance] is supported by a distinct passage in the ER. | 🟢 | Each clause maps to a Conclusion passage. |
| 7.4 | It DOES NOT use acronyms or technical classifications that require specialist knowledge, uses plain-language terms instead | 🟢 | “cellular fuel”, “skin barrier” — plain language; NMN is the named intervention. |
| 7.5 | It DOES NOT cite specific trials (names, years, sample sizes, p-values) | 🟢 | No trials cited. |
| 7.6 | It DOES NOT cite effect sizes, relative risks, or statistical results | 🟢 | No statistics. |
8. Contraindications
| # | Description | Result | Comments |
|---|---|---|---|
| 8.1 | The section is derived from the ER Key Interactions & Contraindications section |
🟢 | Section sourced from ER Key Interactions & Contraindications. |
| 8.2 | [stop_items] represent the Contraindications from the ER | 🟢 | ER states “no established contraindicated population for a cosmetic topical”; no true contraindications exist. |
| 8.3 | Individual [stop_items] are formatted as <li></li> | N/A | No stop_items present (span empty), so no <li> formatting required. |
| 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. | N/A | No stop_items present. |
| 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). | N/A | No stop_items present. |
| 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. | N/A | No stop_items with ranking notation. |
| 8.7 | If no [stop_items] are present the section is left empty | 🟢 | stop_items span is empty. |
9. Key Interactions
| # | Description | Result | Comments |
|---|---|---|---|
| 9.1 | The section is derived from the ER Key Interactions & Contraindications section |
🟢 | All caution items trace to ER Key Interactions & Contraindications. |
| 9.2 | [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications | 🟢 | Retinoids, exfoliating acids, oral NAD+ precursors, topical nicotinamide, antioxidants, barrier procedures, avoid-populations all from ER; none duplicated as contraindications. |
| 9.3 | Individual [caution_items] are formatted as <li></li> | 🟢 | Each caution item is an <li> (lines 547-553). |
| 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. | 🟢 | Items concise, no trailing dashes or rationale. |
| 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 drugs preserved: (tretinoin, adapalene), (glycolic acid, salicylic acid), (microneedling, chemical peels, laser). |
| 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. | N/A | ER uses no ranking notation in this section. |
| 9.7 | If no [caution_items] are present the section is left empty | N/A | caution_items are present. |
10. Protocol
| # | Description | Result | Comments |
|---|---|---|---|
| 10.1 | The section is derived from the ER Protocol section |
🟢 | Application, timing, and active-separation derive from ER Therapeutic Protocol. |
| 10.2 | The three sets of [action] items cover the three most important actionable implementation aspects from the ER Protocol section |
🟢 | Application (leave-on serum/cream), timing, separation from strong actives. |
| 10.3 | If less that three distinct actionable implementation aspects are mentioned in the ER the unused sets are left empty and made invisible, not filled with placeholder text or empty-state phrasing. | N/A | Three actionable aspects present; all sets used. |
| 10.4 | All used [action_#label], [action#value], [action#_sub] items are filled with meaningful content derived from the ER Protocol section. |
🟢 | All three action sets populated with ER-derived content. |
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 | 🟢 | The ER provides a single time-to-effect aspect (“several weeks to months” for visible change), which time_1 captures; the other two sets are correctly left empty per 11.3. |
| 11.2 | The sets are picked and ordered by the magnitude of the related benefit | 🟢 | Only one aspect exists; ordering not applicable beyond the single populated set. |
| 11.3 | If less that three distinct time-to-effect aspects are mentioned in the ER the unused sets are left empty and made invisible, not filled with placeholder text or empty-state phrasing. | 🟢 | time_2 and time_3 left empty. |
| 11.4 | All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. | 🟢 | time_1 populated from ER Practical Considerations “Time to effect”. |
| 11.5 | If the ER does not provide any information on time to effect, the section is removed completely from the Protocol Panel |
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 |
🟢 | Benefits drawn from ER Expected Benefits. |
| 12.2 | Key variables are [benefits_high], [benefits_medium], [benefits_low], [benefits_speculative] | 🟢 | All four variables present. |
| 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. | 🟢 | Low and Speculative items are concise headings without rationale. |
| 12.4 | Parenthetical content — including effect sizes, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. | 🟢 | No parentheticals carried through. |
| 12.5 | If no items of a specific sub-section (high, medium, low, speculative) are present the respective is set to “display=none”, not filled with “None documented in human trials to date” or similar empty-state phrasing. | 🟢 | benefits_high and benefits_medium set to display:none (no items in ER). |
13. Risks
| # | Description | Result | Comments |
|---|---|---|---|
| 13.1 | The section is derived from the ER Potential Risks & Side Effects section |
🟢 | Risks drawn from ER Potential Risks & Side Effects. |
| 13.2 | Key variables are [risks_high], [risks_medium], [risks_low], [risks_speculative] | 🟢 | All four variables present. |
| 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 condensed to key facts. |
| 13.4 | Parenthetical content — including frequencies, severity grades, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. | 🟢 | No parentheticals carried through. |
| 13.5 | If no items of a specific sub-section (high, medium, low, speculative) are present the respective is set to “display=none”, not filled with “None documented in human trials to date” or similar empty-state phrasing. | 🟢 | risks_high set to display:none (no High-grade risk in ER). |
14. Monitoring
| # | Description | Result | Comments |
|---|---|---|---|
| 14.1 | The section is derived from the ER Monitoring section |
🟢 | Markers and cadence sourced from ER Monitoring Protocol. |
| 14.2 | All measurable/quantifiable biomarkers from the Monitoring section are listed |
🟢 | Skin NAD+ content and systemic blood markers both listed, matching ER table. |
| 14.3 | [monitoring_cadence] is populated with the monitoring cadence/frequency derived from the ER Monitoring section. It is not left with placeholder text or empty. |
🟢 | “baseline, 4 weeks, 8 weeks, and 12 weeks” matches ER. |
15. Qualitative Assessment
| # | Description | Result | Comments |
|---|---|---|---|
| 15.1 | The section is derived from the ER Monitoring section |
🟢 | Qualitative markers from ER Monitoring “Qualitative markers of response”. |
| 15.2 | All subjective/qualitative biomarkers from the Monitoring section are listed |
🟢 | All five ER qualitative markers listed verbatim. |
Issues 29/06/2026 13:34
Pass rate 100.00%. No issues found.
Issues 29/06/2026 13:30
- 10.2 — Protocol action items not distinct: action_2 (“Timing” / “No preferred time of day”) and action_3 (“Separate from retinoids” / “Morning under sunscreen; retinoids at night”) both derive from the ER “Best time of day” bullet (line 315) and are not distinct actionable aspects; the two values also conflict (no preferred time vs. morning).
- 11.1 — Time-to-effect sets not distinct: time_1 (“Visible change” / “Several weeks to months”) and time_2 (“Defined timeline” / “Unknown for topical NMN”) both restate the single ER time-to-effect fact (Practical Considerations, line 358) rather than covering distinct time-to-effect aspects.
Fixes 29/06/2026 13:30
- 10.2 — Protocol actions made distinct: Reworked action_3 from a timing duplicate (“Separate from retinoids” / “Morning under sunscreen; retinoids at night”) into a distinct actionable aspect (“Separate from strong actives” / “Apply at a different time than retinoids or exfoliating acids”), removing the conflict with action_2’s “No preferred time of day”.
- 11.1 — Time-to-effect duplicate removed: Emptied time_2 (“Defined timeline” / “Unknown for topical NMN”), which restated the single ER time-to-effect fact already in time_1, leaving only the one distinct aspect populated.
Issues 29/06/2026 13:25
- 1.1 / 10.1 — action_3 sourced outside Protocol section: The Protocol action “Separate from strong actives / Apply at a different time of day / From retinoids, exfoliating acids, or benzoyl peroxide to avoid compounding irritation” (QRS lines 466-473) is taken primarily from the ER
Risk Mitigation Strategiesbullet (ER line 296) rather than the ERProtocolsection; only the night-retinoid note in Protocol (ER line 315) partially supports it.
Fixes 29/06/2026 13:25
- 1.1 / 10.1 — Protocol action sourced from Protocol section: Re-anchored action_3 to the ER
Protocol“best time of day” bullet (ER line 315). Changed label “Separate from strong actives” → “Separate from retinoids”, value “Apply at a different time of day” → “Morning under sunscreen; retinoids at night”, and sub to reflect the Protocol section’s morning-active / night-retinoid wording instead of the Risk Mitigation Strategies bullet.
Issues 29/06/2026 13:22
- 12.4 — Parenthetical not stripped: benefits_low (line 528) retains the parenthetical “(wrinkles, roughness, elasticity)” after “reduced photoaging signs”; per 12.4 parenthetical content must be stripped, not preserved.
Fixes 29/06/2026 13:22
- 12.4 — Parenthetical not stripped: Removed the parenthetical “(wrinkles, roughness, elasticity)” from benefits_low so the item reads “reduced photoaging signs”.