Audit: QRS - Topical Caffeine for Hair Regrowth

Audit conducted on 27/06/2026 03:59 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 content traces to the ER.
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. 🟢 “Pregnancy (data limited)” mirrors ER “data are limited” (line 259).
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 from ER sections.
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 citations, IDs, or brand names introduced in the QRS.
1.6 The QRS does not introduce new attributions. 🟢 No attributions 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 cautious, data-driven tone.
2.2 The tone of the QRS is simultaneously expert, accessible, objective, and data-driven, but also empowering and encouraging 🟢 Tone satisfied throughout.
2.3 The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor 🟢 No prescriptive voice.
2.4 The QRS avoids language that implies medical or clinical advice 🟢 Presents evidence, not advice.
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 second-person address.
2.7 The QRS is written in plain language, avoiding unnecessary medical jargon 🟢 Plain language used.
2.8 Information is presented in a concise and very compact manner 🟢 Compact across all cells.
2.9 It DOES NOT address the reader directly 🟢 No “you/your” usage.
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 the target 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 framed.
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 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 used.
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 maintained.

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 unchanged.
3.2 All “” from the [qrs_template] are present in the the QRS. 🟢 All template spans present (marker_# and qualitative_item_# correctly expanded).
3.3 Spans that are not addressed in a checklist item are left unchanged 🟢 No unaddressed spans altered.

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 tiers use display:none, not phrasing; no empty sourced sections require phrasing.
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 match ER usage.
4.3 Labels are not paraphrased, abbreviated, or invented. 🟢 Labels preserved.
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 the 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. 🟢 First comment 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 — (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 an 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; only duration quoted.
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.5.18 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) 🟢 qrs_creation_date: 2026-0627-0331.
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) 🟢 Single word “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]” 🟢 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” with no extra qualifier.
5.12 The filename of the document is stated as “qrs_filename: [filename of this document]” 🟢 qrs_filename matches the file.
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. 🟢 Frontmatter 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., &amp; for &) 🟢 “Topical Caffeine for Hair Regrowth - 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., &amp; for &) 🟢 “Topical Caffeine for Hair Regrowth”.
6.3 [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] 🟢 06/27/2026 from 2026-0627.
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 is clean.

7. At-A-Glance Section

# Description Result Comments
7.1 [at_a_glance] is dense, execution-oriented summary of the ER Conclusion section 🟢 Condenses the ER Conclusion.
7.2 [at_a_glance] is no longer than 60 words 🟢 56 words.
7.3 Every fact in [at_a_glance] is supported by a distinct passage in the ER. 🟢 All facts traced to the Conclusion.
7.4 It DOES NOT use acronyms or technical classifications that require specialist knowledge, uses plain-language terms instead 🟢 Plain-language terms only.
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 cited.

8. Contraindications

# Description Result Comments
8.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 Derived from “Populations who should avoid it” (line 259).
8.2 [stop_items] represent the Contraindications from the ER 🟢 Caffeine allergy and inflamed/broken scalp captured.
8.3 Individual [stop_items] are formatted as <li></li> 🟢 Two <li> items.
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. 🟢 No trailing 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 healed)” 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 present.
8.7 If no [stop_items] are present the section is left empty 🟢 Items present; section populated.

9. Key Interactions

# Description Result Comments
9.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 Derived from prescription interactions and pregnancy notes.
9.2 [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications 🟢 CYP1A2 interaction and pregnancy; no overlap with contraindications.
9.3 Individual [caution_items] are formatted as <li></li> 🟢 Two <li> items.
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. 🟢 No trailing clauses.
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). 🟢 Drug list (theophylline, fluvoxamine, ciprofloxacin) and “(data limited)” 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 present.
9.7 If no [caution_items] are present the section is left empty 🟢 Items present; section populated.

10. Protocol

# Description Result Comments
10.1 The section is derived from the ER Protocol section 🟢 Derived from the Therapeutic Protocol section.
10.2 The three sets of [action] items cover the three most important actionable implementation aspects from the ER Protocol section 🟢 Leave-on format, shampoo format, once-daily frequency.
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. 🟢 All three sets used and populated.
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 meaningful and sourced.

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 🟢 Visible change, trial endpoints, first photo check.
11.2 The sets are picked and ordered by the magnitude of the related benefit 🟢 Ordering reasonable and benefit-aligned.
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. 🟢 All three sets used and populated.
11.4 All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. 🟢 All time cells sourced (Practical Considerations / Monitoring).
11.5 If the ER does not provide any information on time to effect, the section is removed completely from the Protocol Panel 🟢 ER provides time-to-effect info; section retained.

12. Benefits

# Description Result Comments
12.1 The section is derived from the ER Expected Benefits section 🟢 Derived from 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. 🟢 Concise key facts only.
12.4 Parenthetical content — including effect sizes, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parentheticals carried over.
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 set to display:none (no High benefits).

13. Risks

# Description Result Comments
13.1 The section is derived from the ER Potential Risks & Side Effects section 🟢 Derived from 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. 🟢 Concise key facts only.
13.4 Parenthetical content — including frequencies, severity grades, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parentheticals carried over.
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 and risks_medium set to display:none.

14. Monitoring

# Description Result Comments
14.1 The section is derived from the ER Monitoring section 🟢 Derived from the Monitoring Protocol biomarker table.
14.2 All measurable/quantifiable biomarkers from the Monitoring section are listed 🟢 Ferritin, TSH, Vitamin D, Serum zinc all listed with ER ranges.
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 populated (baseline, 3 and 6 months, then every 6 months; trichogram).

15. Qualitative Assessment

# Description Result Comments
15.1 The section is derived from the ER Monitoring section 🟢 Derived from “Qualitative markers of success”.
15.2 All subjective/qualitative biomarkers from the Monitoring section are listed 🟢 All four qualitative markers listed.

Issues 27/06/2026 03:59

Pass rate 100.00%. No issues found.