Audit: QRS - Green Light Therapy for Hair Regrowth

Audit conducted on 24/08/2026 19:35 using AI4L / Opus 5

Iterations

Summary

Items Count
Total 93
Passed 85
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 protocol, time, benefit, risk, gate, marker and cadence strings trace to ER lines 164–190, 220–260, 278–302, 322–332, 371, 399–422, 448–450.
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. 🟢 “theoretically photosensitising” (line 603), “both from one team that helped build the devices and neither using a dummy-treated area” (lines 435–437) carry the ER’s hedges.
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”). 🟢 Conditional scope preserved, e.g. “Photosensitive epilepsy (flicker 3–60 Hz), if the device pulses” (line 585) mirrors ER line 300.
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. 🟢 Gate items come only from ER Key Interactions & Contraindications; risk tiers only from Potential Risks & Side Effects; benefit tiers only from Expected Benefits.
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. 🟢 The QRS carries no PMIDs, NCT identifiers, investigator names, or brand names.
1.6 The QRS does not introduce new attributions. 🟢 No attributions of any kind present.

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. 🟢 Matches the ER’s measured, sceptical register, including its British spellings (“photosensitising”, “naevus”).
2.2 The tone of the QRS is simultaneously expert, accessible, objective, and data-driven, but also empowering and encouraging 🟢 Parameters, thresholds and monitoring targets are given concretely, leaving the reader able to act or decline.
2.3 The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor 🟢 Declarative throughout; no imperatives directed at a patient.
2.4 The QRS avoids language that implies medical or clinical advice 🟢 Monitoring and cadence are stated as ER-derived description (“The device is judged at 24 weeks”, line 751).
2.5 The QRS “presents information” instead of “providing guidance”, “recommending”, or “advising” 🟢 No “recommend”, “advise”, or “should” constructions in the sheet’s own voice.
2.6 The QRS never addresses “the reader” directly — it presents evidence, not guidance 🟢 No second-person pronouns anywhere in the file.
2.7 The QRS is written in plain language, avoiding unnecessary medical jargon 🟢 Retained clinical nouns (photodermatoses, porphyrias, trichoscopic) are the diagnostic names required to make the gates and markers usable.
2.8 Information is presented in a concise and very compact manner 🟢 Every cell is a fragment or single clause; no paragraph exceeds three lines.
2.9 It DOES NOT address the reader directly 🟢 Confirmed — no “you”/”your” in the document.
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. 🟢 Fluence, irradiance, phototype and biomarker detail are pitched at a self-directed reader.
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. 🟢 A six-month, up-to-three-weekly, morning-only regimen with lab and trichoscopy tracking is presented without softening.
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. 🟢 No simplified or reassurance-oriented 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. 🟢 At-A-Glance foregrounds the sponsor conflict, absent sham control, and red-light alternative — the weighting a risk-aware reader needs.
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. 🟢 The string “anti-aging” does not occur.
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. 🟢 Clinical register held throughout; the one lay rendering (“dummy-treated area”, line 437) sits in At-A-Glance, where item 7.4 mandates plain language, and is the ER Conclusion’s own wording.

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 twelve fixed strings verified byte-identical to the template at lines 445, 490, 540, 566, 594, 617, 643, 647–649, 758 and the eight tier labels at lines 543–556 and 620–635.
3.2 All “” from the [qrs_template] are present in the the QRS. 🟢 All 38 template variables present; the repeatable marker_#_* and qualitative_item_# groups are correctly expanded to marker_1–6 and qualitative_item_1–5.
3.3 Spans that are not addressed in a checklist item are left unchanged 🟢 Structural diff against the template shows changes only inside data-qrs-var spans that checklist items address; the website="evidence_review", website="audit", website="full_review" spans, CSS block and footer disclaimer are untouched.

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” N/A No source ER section is empty; the unpopulated benefit/risk tiers are handled under items 12.5 and 13.5 instead.
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. 🟢 “Core parameters”, “Approach one — green light alone”, “Best time of day” match ER lines 322, 324, 332; marker names match the ER table at lines 405–410.
4.3 Labels are not paraphrased, abbreviated, or invented. 🟢 Time-to-effect labels reuse the ER benefit headings from lines 164, 170, 176 verbatim.
4.4 The QRS DOES NOT use emoji indicators (no 🟩, 🟥, 🟨, etc.). Color and emphasis are conveyed through CSS and bold labels. 🟢 No emoji characters in the file; the ER’s “⚠️ Conflicted” marker on line 232 was correctly dropped.
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. 🟢 Seven gate items, five interactions, four benefit/risk tier lines, six markers and five qualitative items sit inside the template’s single-page grid.

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. 🟢 Lines 2–14, immediately after <!doctype html> on line 1.
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. 🟢 Opening --- at line 3, closing --- at line 13; the preceding caption on line 2 is permitted.
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 an HTML comment; no metadata value is repeated in head or body.
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: "00:03" is quoted, correctly, because it contains a colon.
5.5 The filename of the source ER is stated as “er_filename: [er_filename]” 🟢 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]” 🟢 Line 5 states 26.7.02, matching the QRS.md version badge.
5.7 Creation date and time of the document is stated as “qrs_creation_date: [YYYY-MMDD-HHMM]” (e.g., 2026-0501-1430) 🟢 Line 6: 2026-0824-1909.
5.8 The nickname of the AI used to create the document is stated as “qrs_creator_ai_nickname: [qrs_creator_ai_nickname]” 🟢 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”.
5.10 The full name of the AI used to create the document is stated as “qrs_creator_ai_fullname: [qrs_creator_ai_fullname]” 🟢 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 5” — nickname plus version, no qualifier.
5.12 The filename of the document is stated as “qrs_filename: [filename of this document]” 🟢 Line 9 matches the file on disk.
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. 🟢 Re-verified across all nine keys, including the appended git_user and git_issue values.

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 22: “Green Light Therapy for Hair Regrowth - Quick Reference Sheet”; no entity encoding required.
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 417 matches ER frontmatter canonical_topic on ER line 8.
6.3 [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] 🟢 Line 421: “08/24/2026” from 2026-0824-1909.
6.4 [header_subline_model] is set to [qrs_creator_ai_fullname] 🟢 Line 425: “Opus 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. 🟢 Header holds only the title and the template subline; the ER’s “Also known as” line was not carried over.

7. At-A-Glance Section

# Description Result Comments
7.1 [at_a_glance] is dense, execution-oriented summary of the ER Conclusion section 🟢 Lines 434–437 compress ER lines 448–450 to what it is, what was seen, how good the evidence is, what the harms are, and the alternative.
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. 🟢 Each of the five clauses maps to a separate sentence in ER lines 448–450.
7.4 It DOES NOT use acronyms or technical classifications that require specialist knowledge, uses plain-language terms instead 🟢 No acronyms; “dummy-treated area” replaces “sham” and “thicker, denser hair” replaces terminal-hair-density language.
7.5 It DOES NOT cite specific trials (names, years, sample sizes, p-values) 🟢 Only “two small studies” — no name, year, or n.
7.6 It DOES NOT cite effect sizes, relative risks, or statistical results 🟢 No numeric outcome of any kind.

8. Contraindications

# Description Result Comments
8.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 All seven items trace to ER lines 280 and 290–302.
8.2 [stop_items] represent the Contraindications from the ER 🟢 All six ER “Populations who should avoid” bullets are represented; bullet 4 is correctly split into the photodynamic-therapy window and the unsupervised full-dose photosensitiser.
8.3 Individual [stop_items] are formatted as <li></li> 🟢 Seven <li> elements at lines 569–589.
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. 🟢 Explanatory glosses stripped (“(an atypical mole)”, “(an inherited failure to repair light damage to DNA)”); no dash-trailing clause survives.
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). 🟢 “48 hours”, “3–60 Hz”, “phototype V–VI”, “with active disease”, “until assessed and cleared” all retained.
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 The ER uses no ranking notation in this section.
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. 🟢 The ER names six such populations, and the section is correctly not empty.
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 The section is not empty.

9. Key Interactions

# Description Result Comments
9.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 All five items trace to ER lines 278–288.
9.2 [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications 🟢 The photodynamic-therapy bullet, an absolute contraindication, is correctly excluded; the remaining five interaction bullets are all present.
9.3 Individual [caution_items] are formatted as <li></li> 🟢 Five <li> elements at lines 597–607.
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. 🟢 ER consequence/mitigation clauses dropped; the parentheses that remain carry severity or drug lists, not 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). 🟢 Full drug list retained on line 598; severity classes retained as “(additive; monitor)” and “(no interaction expected)”.
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 The ER uses no ranking notation in this section.
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. 🟢 The ER names six interaction classes, and the section is correctly not empty.
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 The section is not empty.

10. Protocol

# Description Result Comments
10.1 The section is derived from the ER Protocol section 🟢 All three sets trace to ER Therapeutic Protocol lines 322, 324, 332.
10.2 The three sets of [action] items cover the three most important actionable implementation aspects from the ER Protocol section 🟢 Dose parameters, delivery hardware, and session timing — the three bullets a reader must act on; the alternative-wavelength and modifier bullets are descriptive rather than implementation steps.
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 The ER supplies more than three; all three sets are used.
10.4 All used [action_#label], [action#value], [action#_sub] items are filled with meaningful content derived from the ER Protocol section. 🟢 All nine spans populated at lines 449–486; no placeholder text remains.

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 three ER benefits with a stated onset — density, diameter, and rated coverage — sourced from ER lines 164–180 and 371.
11.2 The sets are picked and ordered by the magnitude of the related benefit 🟢 All three benefits sit in the ER’s Low tier with no published outcome figure, so the ER’s own ordering in Expected Benefits is carried through.
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 exist and all three sets are used.
11.4 All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. 🟢 All nine spans populated at lines 496–532.
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 The ER provides time-to-effect data at line 371.

12. Benefits

# Description Result Comments
12.1 The section is derived from the ER Expected Benefits section 🟢 Low and Speculative entries match ER headings at lines 164, 170, 176, 184, 188.
12.2 Key variables are [benefits_high], [benefits_medium], [benefits_low], [benefits_speculative] 🟢 All four spans present at lines 542, 545, 548, 554.
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. 🟢 Each tier is a semicolon-separated list of bare ER headings; no magnitude or study text carried over.
12.4 Parenthetical content — including effect sizes, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parentheses in either benefit tier.
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. 🟢 ER records no High or Medium benefit; both spans carry style="display: none" with the template placeholder untouched.

13. Risks

# Description Result Comments
13.1 The section is derived from the ER Potential Risks & Side Effects section 🟢 Medium, Low and Speculative entries match ER headings at lines 218, 226, 232, 238, 244, 250, 258.
13.2 Key variables are [risks_high], [risks_medium], [risks_low], [risks_speculative] 🟢 All four spans present at lines 619, 622, 625, 633.
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. 🟢 All five Low items are bare ER headings; no magnitude, incidence, or inference text carried over.
13.4 Parenthetical content — including frequencies, severity grades, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parentheses in any risk tier.
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. 🟢 ER records no High risk; the span carries style="display: none" with the template placeholder untouched.

14. Monitoring

# Description Result Comments
14.1 The section is derived from the ER Monitoring section 🟢 Rows and cadence trace to the ER Monitoring Protocol & Defining Success table and lines 399–410.
14.2 All measurable/quantifiable biomarkers from the Monitoring section are listed 🟢 All six ER table rows present — ferritin, 25-hydroxyvitamin D, TSH, serum zinc, DHEA-S, trichoscopic hair density — with ranges and rationale preserved.
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. 🟢 Lines 749–751 condense ER line 401, including the 24-week judgement point.

15. Qualitative Assessment

# Description Result Comments
15.1 The section is derived from the ER Monitoring section 🟢 Items trace to ER lines 414–422.
15.2 All subjective/qualitative biomarkers from the Monitoring section are listed 🟢 All five ER qualitative bullets present at lines 761–787, none added or dropped.

Issues 24/08/2026 19:35

Pass rate 100.00%. No issues found.

Issues 24/08/2026 19:29

  1. 11.4 — Cadence used as time to effect: [time_3_value] at line 526 reads “Monthly”, which is a measurement cadence rather than a duration; placed under “Time to effect” it implies an effect within one month, contradicting the ER’s “Nothing is visible before 12 weeks” (ER line 371).

Fixes 24/08/2026 19:29

  1. 11.4 — Cadence used as time to effect: Replaced [time_3_value] “Monthly” with “Still improving at 6 months”, so the cell states a duration supported by the ER (“were still improving at the endpoint”, ER line 371) instead of a measurement cadence.

Issues 24/08/2026 19:15

  1. 1.1 — Time-to-effect window misstated: [time_2_sub] (line 516) says shaft diameter “separated from baseline over the same 24–26 week window”, but the ER states separation occurred “between three and six months”; 24–26 weeks is the ER’s study duration, not the separation window, and it also contradicts the “3–6 months” already shown in the adjacent value cell.

Fixes 24/08/2026 19:15

  1. 1.1 — Time-to-effect window misstated: Rewrote [time_2_sub] from “Diameter separated from baseline over the same 24–26 week window” to “Average shaft thickness separated from baseline over the same three-to-six-month window”, matching the ER’s stated separation window and the adjacent “3–6 months” value cell.