Audit: QRS - Salicylic Acid for Hair Regrowth

Audit conducted on 30/06/2026 01:16 using AI4L / Opus 4.8

Iterations

Summary

Items Count
Total 91
Passed 87
Failed 0
N/A 4
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 the ER (protocol, benefits, risks, gates, monitoring, at-a-glance).
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. 🟢 Cautious framing (“indirect”, “no recognized way”, “Speculative”) preserved.
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 of claims.
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; gates derive from the ER Contraindications/Interactions section.
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 new 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. 🟢 Objective, evidence-distilling 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 🟢 Tone meets the requirement.
2.3 The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor 🟢 Presents evidence rather than prescribing.
2.4 The QRS avoids language that implies medical or clinical advice 🟢 No directive medical-advice language.
2.5 The QRS “presents information” instead of “providing guidance”, “recommending”, or “advising” 🟢 Information is presented, not advised.
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 throughout.
2.8 Information is presented in a concise and very compact manner 🟢 Compact, fits one page.
2.9 It DOES NOT address the reader directly 🟢 No direct 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 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 the 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 aimed at 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 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” usage.
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 variable 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” 🟢 Empty tiers correctly hidden via display:none rather than empty-state text; no misuse.
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 (Concentration, Frequency, Application) reflect ER content.
4.3 Labels are not paraphrased, abbreviated, or invented. 🟢 Labels meaningful and source-derived.
4.4 The QRS DOES NOT use emoji indicators (no 🟩, 🟥, 🟨, etc.). Color and emphasis are conveyed through CSS and bold labels. 🟢 No emoji indicators present.
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.
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-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 because it contains a colon.
5.5 The filename of the source ER is stated as “er_filename: [er_filename]” 🟢 er_filename matches source ER (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 (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-0630-0107 (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” has no extra qualifier.
5.12 The filename of the document is stated as “qrs_filename: [filename of this document]” 🟢 qrs_filename matches the QRS file (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 clean and consistently quoted only where required.

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 &) 🟢 “Salicylic Acid for Hair Regrowth - Quick Reference Sheet” (line 22).
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: “Salicylic Acid for Hair Regrowth” (line 417).
6.3 [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] 🟢 “06/30/2026” matches creation date 2026-0630 (line 421).
6.4 [header_subline_model] is set to [qrs_creator_ai_fullname] 🟢 “Opus 4.8” (line 425).
6.5 No additional header content appears: no badge, version stamp, AKA / alternate names line, source-AI attribution, audit date, or QRS variant marker. 🟢 No extra header content present.

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 380-386).
7.2 [at_a_glance] is no longer than 60 words 🟢 The at_a_glance text (line 433) is 57 words, within the 60-word limit.
7.3 Every fact in [at_a_glance] is supported by a distinct passage in the ER. 🟢 Each claim traces 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 (“mild acid”, “dead surface skin”).
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 ER lines 228-241.
8.2 [stop_items] represent the Contraindications from the ER 🟢 Matches “Populations who should avoid” (line 241).
8.3 Individual [stop_items] are formatted as <li></li> 🟢 Each item is an <li> (lines 542-545).
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 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). 🟢 Qualifiers preserved (“under 2 years”, “high-concentration or large-area products”).
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 bare ranking symbols carried through.
8.7 If no [stop_items] are present the section is left empty N/A stop_items are present.

9. Key Interactions

# Description Result Comments
9.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 Derived from ER lines 231-239.
9.2 [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications 🟢 Five interactions listed; no overlap with contraindications.
9.3 Individual [caution_items] are formatted as <li></li> 🟢 Each is an <li> (lines 553-557).
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; 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). 🟢 Example drugs preserved (glycolic acid, benzoyl peroxide, retinoids; warfarin).
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 symbols carried through.
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 🟢 Derived from ER Therapeutic Protocol (lines 260-285).
10.2 The three sets of [action] items cover the three most important actionable implementation aspects from the ER Protocol section 🟢 Concentration, Frequency, Application chosen.
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 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 three cells filled 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 🟢 ER provides only one distinct time-to-effect aspect (scalp scaling, lines 319); that one is used.
11.2 The sets are picked and ordered by the magnitude of the related benefit 🟢 Single item; ordering trivially satisfied.
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. 🟢 Sets 2 and 3 are empty and display:none (lines 492-513).
11.4 All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. 🟢 time_1 cells filled from ER.
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 does provide time-to-effect information.

12. Benefits

# Description Result Comments
12.1 The section is derived from the ER Expected Benefits section 🟢 Derived from ER Expected Benefits (lines 128-158).
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.
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. 🟢 High and Medium set to display:none (lines 521-526).

13. Risks

# Description Result Comments
13.1 The section is derived from the ER Potential Risks & Side Effects section 🟢 Derived from ER Potential Risks (lines 177-211).
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.
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. 🟢 High set to display:none (lines 569-571).

14. Monitoring

# Description Result Comments
14.1 The section is derived from the ER Monitoring section 🟢 Derived from ER Monitoring Protocol (lines 342-354).
14.2 All measurable/quantifiable biomarkers from the Monitoring section are listed 🟢 Serum salicylate, Ferritin, Renal function (eGFR) all 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: “Reassess… at roughly 2–4 weeks, then periodically every 1–3 months” (line 633).

15. Qualitative Assessment

# Description Result Comments
15.1 The section is derived from the ER Monitoring section 🟢 Derived from ER qualitative markers (lines 357-363).
15.2 All subjective/qualitative biomarkers from the Monitoring section are listed 🟢 All five qualitative markers listed (lines 642-655).

Issues 30/06/2026 01:16

  1. 7.2 — At-a-glance exceeds 60 words: The [at_a_glance] text (QRS line 433) runs to 63 words, over the 60-word limit set by item 7.2.

</content>

Issues 30/06/2026 01:15

Pass rate 100.00%. No issues found.

Issues 30/06/2026 01:10

  1. 13.4 — Parenthetical not stripped: risks_low (line 576) retains the parenthetical “(salicylism)” in “salicylate toxicity (salicylism) from excessive application”; per 13.4 parenthetical content must be stripped, not preserved.

Fixes 30/06/2026 01:10

  1. 13.4 — Stripped parenthetical from risk: Removed “(salicylism)” from risks_low, changing “salicylate toxicity (salicylism) from excessive application” to “salicylate toxicity from excessive application”.