Audit: QRS - Low-Level Light Therapy for Hair Regrowth

Audit conducted on 03/07/2026 04:27 using AI4L / Opus 4.8

Iterations

Summary

Items Count
Total 91
Passed 91
Failed 0
N/A 0
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 (protocol, benefits, risks, 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. 🟢 Speculative risk “Theoretical stimulation of pre-existing scalp skin lesions” matches ER line 256.
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”). 🟢 Tier labels and cautious language preserved without strengthening or softening.
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 and Key Interactions both drawn from the ER’s own “Key Interactions & Contraindications” section without cross-category relabeling.
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, citations, NCT IDs, or brand names appear in the QRS.
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, data-driven tone consistent with the ER.
2.2 The tone of the QRS is simultaneously expert, accessible, objective, and data-driven, but also empowering and encouraging 🟢 Meets tone requirement throughout.
2.3 The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor 🟢 Presents evidence, not directives.
2.4 The QRS avoids language that implies medical or clinical advice 🟢 Footer disclaimer and body avoid advice-giving language.
2.5 The QRS “presents information” instead of “providing guidance”, “recommending”, or “advising” 🟢 Information is presented descriptively.
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 🟢 Plain language used; technical terms plainly framed.
2.8 Information is presented in a concise and very compact manner 🟢 Content is compact and single-page.
2.9 It DOES NOT address the reader directly 🟢 No direct reader 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 suits a proactive, risk-aware 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. 🟢 Protocol reflects a multi-month, committed regimen.
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 written for the general population.
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 the target 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” language present.
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. 🟢 Uses “topical minoxidil”, “adverse events”; no colloquialisms.

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 and labels intact.
3.2 All “” from the [qrs_template] are present in the QRS. 🟢 All 51 template spans present.
3.3 Spans that are not addressed in a checklist item are left unchanged 🟢 Non-addressed spans unchanged.

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” 🟢 No section required empty-state phrasing; all populated from ER.
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. 🟢 Labels derived faithfully from the ER.
4.3 Labels are not paraphrased, abbreviated, or invented. 🟢 Labels consistent with ER content.
4.4 The QRS DOES NOT use emoji indicators (no 🟩, 🟥, 🟨, etc.). Color and emphasis are conveyed through CSS and bold labels. 🟢 No emoji indicators; CSS/bold used only.
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 a single 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-13).
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 “—” (lines 3, 12).
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. 🟢 Enclosed in 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 and unquoted appropriately.
5.5 The filename of the source ER is stated as “er_filename: [er_filename]” 🟢 er_filename present (line 4).
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.7.02 (line 5).
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-0703-0230 (line 6).
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 (line 7).
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” is a 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 (line 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” is nickname + version, no qualifier.
5.12 The filename of the document is stated as “qrs_filename: [filename of this document]” 🟢 qrs_filename matches the actual filename (line 9).
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. 🟢 Values properly trimmed.

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 &) 🟢 “Low-Level Light Therapy for Hair Regrowth - Quick Reference Sheet”; no & to encode.
6.2 [header_topic] is set to the [canonical_topic] of the ER frontmatter, with HTML entities encoded as needed (e.g., &amp; for &) 🟢 header_topic matches canonical_topic (line 416).
6.3 [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] 🟢 2026-0703-0230 → 07/03/2026 (line 420).
6.4 [header_subline_model] is set to [qrs_creator_ai_fullname] 🟢 “Opus 4.8” (line 424).
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 contains only title, date, and model.

7. At-A-Glance Section

# Description Result Comments
7.1 [at_a_glance] is dense, execution-oriented summary of the ER Conclusion section 🟢 Distills the ER Conclusion (lines 430-434).
7.2 [at_a_glance] is no longer than 60 words 🟢 57 words.
7.3 Every fact in [at_a_glance] is supported by a distinct passage in the ER. 🟢 Drug-free, hair-count gain, thicker strands, minoxidil add-on, safety, slow, viable follicles, maintenance all in Conclusion.
7.4 It DOES NOT use acronyms or technical classifications that require specialist knowledge, uses plain-language terms instead 🟢 “pattern hair loss”, “thinning-not-lost follicles”; no acronyms.
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 effect sizes or statistics.

8. Contraindications

# Description Result Comments
8.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 Drawn from ER “Populations who should avoid” (line 294).
8.2 [stop_items] represent the Contraindications from the ER 🟢 Scalp skin cancer, photosensitivity disorders, scarring alopecia.
8.3 Individual [stop_items] are formatted as <li></li> 🟢 Each item is an <li> (lines 541-543).
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. 🟢 Concise, no trailing dash clauses.
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). 🟢 “(until evaluated)” and “(lupus with cutaneous involvement, porphyria)” 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; parentheticals are plain comma lists.
8.7 If no [stop_items] are present the section is left empty N/A Contraindications are present.

9. Key Interactions

# Description Result Comments
9.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 Drawn from ER lines 284-288.
9.2 [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications 🟢 Prescription, OTC, and supplement photosensitizers; distinct from contraindications.
9.3 Individual [caution_items] are formatted as <li></li> 🟢 Each item is an <li> (lines 551-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. 🟢 Concise; trailing “severity/consequence” clauses stripped.
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 drug lists (isotretinoin, tetracyclines, fluoroquinolones; St. John’s wort) preserved.
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; plain comma lists.
9.7 If no [caution_items] are present the section is left empty N/A Key Interactions are present.

10. Protocol

# Description Result Comments
10.1 The section is derived from the ER Protocol section 🟢 Drawn from ER “Standard device-based protocol” (line 316).
10.2 The three sets of [action] items cover the three most important actionable implementation aspects from the ER Protocol section 🟢 Device & wavelength, session, duration.
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 distinct aspects are present.
10.4 All used [action_#label], [action#value], [action#_sub] items are filled with meaningful content derived from the ER Protocol section. 🟢 All action cells populated from ER protocol.

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 🟢 Assessable response, continued gains, maintenance.
11.2 The sets are picked and ordered by the magnitude of the related benefit 🟢 Ordered from initial assessable response to continued gains to maintenance.
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. N/A Three distinct aspects present.
11.4 All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. 🟢 Time cells from ER Practical Considerations (line 367) and Discontinuation (line 345).
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 🟢 Drawn from ER Expected Benefits (lines 144-194).
12.2 Key variables are [benefits_high], [benefits_medium], [benefits_low], [benefits_speculative] 🟢 All four tiers populated.
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. 🟢 Concise; no effect sizes or citations.
12.4 Parenthetical content — including effect sizes, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parenthetical content retained.
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. N/A All four benefit tiers have content.

13. Risks

# Description Result Comments
13.1 The section is derived from the ER Potential Risks & Side Effects section 🟢 Drawn from ER Potential Risks & Side Effects (lines 218-262).
13.2 Key variables are [risks_high], [risks_medium], [risks_low], [risks_speculative] 🟢 All four tiers populated.
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. 🟢 Concise; mechanistic detail omitted.
13.4 Parenthetical content — including frequencies, severity grades, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parenthetical content retained.
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. N/A All four risk tiers have content.

14. Monitoring

# Description Result Comments
14.1 The section is derived from the ER Monitoring section 🟢 Drawn from ER Monitoring Protocol (lines 387-400).
14.2 All measurable/quantifiable biomarkers from the Monitoring section are listed 🟢 Ferritin, TSH, Vitamin D, Zinc — all four ER biomarkers listed.
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. 🟢 Cadence matches ER line 393 (baseline, ~3–4 mo, 6 mo, then every 6–12 mo).

15. Qualitative Assessment

# Description Result Comments
15.1 The section is derived from the ER Monitoring section 🟢 Drawn from ER qualitative markers (lines 404-408).
15.2 All subjective/qualitative biomarkers from the Monitoring section are listed 🟢 All five qualitative markers listed verbatim.

Issues 03/07/2026 04:27

Pass rate 100.00%. No issues found.

Issues 03/07/2026 04:23

  1. 12.4 — Parenthetical not stripped: benefits_medium retains “(shaft diameter)” in “Increased hair thickness (shaft diameter)” (QRS line 524); rule 12.4 requires parenthetical content to be stripped, not preserved.

Fixes 03/07/2026 04:23

  1. 12.4 — Parenthetical stripped: Removed “(shaft diameter)” from benefits_medium, changing “Increased hair thickness (shaft diameter)” to “Increased hair thickness”.