Audit: QRS - Citric Acid for Health & Longevity

Audit conducted on 30/08/2026 14:21 using AI4L / Opus 5

Iterations

Summary

Items Count
Total 93
Passed 83
Failed 0
N/A 10
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. 🟢 Spot-checked every populated span against the ER: protocol cells vs ER lines 371/379/381/389, time cells vs 426, benefit/risk tiers vs 155-217 and 239-297, monitoring table vs 458-465, cadence vs 454, qualitative vs 469-473. All literally supported.
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. 🟢 No cautious ER phrasing is dropped or converted; no empty-state phrasing applies.
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 claim strengthened or softened; e.g. hyperkalemia and aluminium items keep the ER’s absolute framing.
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 come from the ER contraindication/avoid list, interactions from the interaction list, benefits from Expected Benefits, risks from Potential Risks & Side Effects. No cross-category relabelling.
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, NCT identifiers, study citations, expert names or brand names appear anywhere 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. 🟢 Matches the ER’s measured, non-promotional register.
2.2 The tone of the QRS is simultaneously expert, accessible, objective, and data-driven, but also empowering and encouraging 🟢 Expert, objective and data-driven throughout (e.g. numeric marker targets, tiered benefit/risk lists).
2.3 The QRS reads as a trusted, knowledgeable guide rather than a prescriptive doctor 🟢 Presents evidence and thresholds rather than instructions to a patient.
2.4 The QRS avoids language that implies medical or clinical advice 🟢 No imperative clinical instructions; content is framed as what trials and labelling show.
2.5 The QRS “presents information” instead of “providing guidance”, “recommending”, or “advising” 🟢 No “recommended”, “advised” or “you should” constructions.
2.6 The QRS never addresses “the reader” directly — it presents evidence, not guidance 🟢 No second-person address anywhere in the document.
2.7 The QRS is written in plain language, avoiding unnecessary medical jargon 🟢 Plain language used where possible; retained technical terms (hyperkalemia, adynamic ileus) are the load-bearing decision-gate terms that items 8.4/9.4 require be kept bare.
2.8 Information is presented in a concise and very compact manner 🟢 Every cell is a compact phrase; no prose paragraphs outside At-A-Glance and the cadence line.
2.9 It DOES NOT address the reader directly 🟢 Confirmed: 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 targets proactive, risk-aware adults (biomarker-guided dosing, 24-hour urine testing).
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. 🟢 Assumes willingness to run 24-hour urine collections, annual dental scoring and DEXA follow-up.
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; assumes protocol adherence and lab access.
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 explicitly separates the passive food-additive exposure signal from the deliberate citrate-salt intervention signal, which is the distinction that matters for this 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” phrasing 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. 🟢 Clinical register used throughout (“gastrointestinal intolerance”, “hypocalcaemia”, “erosive tooth wear”); the plainer wording inside At-A-Glance is required by item 7.4 and mirrors the ER Conclusion.

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 verified verbatim: Protocol (445), Time to effect (491), Benefits (533), Risk & Side Effects (606), Monitoring (635), Qualitative Assessment (770), Contraindications (565), Key Interactions (580); tier labels and Marker/Target/Why headers unchanged.
3.2 All “<span data-qrs-var=”NAME”>…</span>” from the [qrs_template] are present in the the QRS. 🟢 Diffed the QRS span set against the template span set: every template variable is present, with marker_#* and qualitative_item# instantiated as marker_1..8_* and qualitative_item_1..5.
3.3 Spans that are not addressed in a checklist item are left unchanged 🟢 Non-checklist spans (website=”evidence_review”, website=”audit”, website=”full_review”) and the page_title wrapper are unchanged from the template.

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 used by the QRS is empty; every mapped ER section has content.
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. 🟢 ER bold labels reused verbatim: “Standard alkali dose”, “Timing and split dosing”, “Baseline biomarker guidance”; monitoring row labels match the ER biomarker table verbatim.
4.3 Labels are not paraphrased, abbreviated, or invented. 🟢 Time-to-effect labels are lifted from the ER’s own wording at line 426 (“Stone-recurrence benefit”, “bone density gains”, “Urinary citrate and pH”); nothing invented.
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; tiering conveyed by bold labels and CSS.
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 is condensed to bare labels and short phrases throughout, with the ER’s mechanistic rationale, magnitudes and glosses stripped; no section is expanded beyond its budget.

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 occupies lines 2-14, immediately after <!doctype html> and before <html>.
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 opens at line 3 and closes at line 13; the preceding descriptive text is outside the delimiters.
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. 🟢 Wrapped in an HTML comment and not echoed by any visible element.
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. 🟢 All values trimmed; 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: er_filename: citric_acid_2026-0827-0012_Opus_ER.md, matching the source ER.
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: qrs_prompt_version: 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: qrs_creation_date: 2026-0830-1414, correct YYYY-MMDD-HHMM form.
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: 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, no version or qualifier.
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: qrs_creator_ai_fullname: Opus 5.
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) 🟢 Nickname plus version number only; no qualifier appended.
5.12 The filename of the document is stated as “qrs_filename: [filename of this document]” 🟢 Line 9: qrs_filename: citric_acid_2026-0827-0012_Opus_QRS.html, matching 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: no stray whitespace and no unnecessary quoting in any frontmatter value.

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: “Citric Acid for Health & Longevity - Quick Reference Sheet”, canonical_topic plus the fixed suffix, ampersand entity-encoded.
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: “Citric Acid for Health & Longevity”, entity-encoded.
6.3 [header_subline_date] is set to [qrs_creation_date reformatted as MM/DD/YYYY] 🟢 Line 421: 08/30/2026, matching qrs_creation_date 2026-0830 in MM/DD/YYYY.
6.4 [header_subline_model] is set to [qrs_creator_ai_fullname] 🟢 Line 425: Opus 5, matching qrs_creator_ai_fullname.
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 carries only the title and the fixed subline; no badge, AKA line, version stamp or audit date.

7. At-A-Glance Section

# Description Result Comments
7.1 [at_a_glance] is dense, execution-oriented summary of the ER Conclusion section 🟢 Distils the ER Conclusion (lines 497-501) into the two-route framing plus the concrete costs.
7.2 [at_a_glance] is no longer than 60 words 🟢 58 words.
7.3 Every fact in [at_a_glance] is supported by a distinct passage in the ER. 🟢 Two-routes framing and enamel wear from ER line 497; stone and bone evidence from 497; costs from 501.
7.4 It DOES NOT use acronyms or technical classifications that require specialist knowledge, uses plain-language terms instead 🟢 Plain-language throughout (“food additive”, “tooth enamel”, “stomach upset”, “potassium load”); no acronyms or specialist classifications.
7.5 It DOES NOT cite specific trials (names, years, sample sizes, p-values) 🟢 No trial names, years, sample sizes or p-values.
7.6 It DOES NOT cite effect sizes, relative risks, or statistical results 🟢 No effect sizes, risk ratios or statistical results; “strong human evidence” is a strength statement, not a statistic.

8. Contraindications

# Description Result Comments
8.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 All eight items trace to the ER Key Interactions & Contraindications section, including its “Populations who should avoid Citric Acid” list at lines 341-347.
8.2 [stop_items] represent the Contraindications from the ER 🟢 All seven ER avoid-populations plus the labelling contraindication for anticholinergics with slow-release tablets (ER line 325) are represented.
8.3 Individual [stop_items] are formatted as <li></li> 🟢 Eight <li> elements inside the stop_items span (lines 568-575).
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. 🟢 Each item is a bare fact; ER rationale (“in whom potassium citrate is contraindicated outright”, “because of aluminium accumulation”, “paralysis of normal bowel movement”) is stripped, and no dash-trailing clauses remain.
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). 🟢 Thresholds and staging preserved: “(filtration below 30 mL/min/1.73 m²)”, “(serum potassium above 5.0 mmol/L)”, “(slow-release tablets)”, “stage 4 or worse”.
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 inside parentheses in this section; thresholds are written out in words (“below 30”, “above 5.0 mmol/L”).
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 section is populated, and the ER does identify populations that should avoid the intervention, so the emptiness condition is correctly not invoked.
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. <!– empty: ER names no population that should avoid the intervention –> N/A The section is not empty, so no empty-state HTML comment is required.

9. Key Interactions

# Description Result Comments
9.1 The section is derived from the ER Key Interactions & Contraindications section 🟢 All eight items trace to the ER interaction bullets at lines 321-337.
9.2 [caution_items] represent the Key Interactions from the ER, excluding any that are already listed as Contraindications 🟢 The two ER interaction bullets that are contraindications (potassium-sparing diuretics, anticholinergics) are correctly excluded here and placed under Contraindications; the remaining eight ER interactions are all present.
9.3 Individual [caution_items] are formatted as <li></li> 🟢 Eight <li> elements inside the caution_items span (lines 583-596).
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. 🟢 Mechanistic rationale from the ER (“These reduce potassium excretion”, “useful in deficiency but a consequence in iron overload”) is stripped; no dash-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 drug lists and the time window are preserved: “(lisinopril, ramipril, losartan, valsartan)”, “(ibuprofen, naproxen, diclofenac)”, “(quinidine, amphetamines, memantine)”, “(separate by at least three hours)”.
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 inside parentheses 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 section is populated, and the ER identifies multiple interactions, so the emptiness condition is correctly not invoked.
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. <!– empty: ER names no interaction that changes how the intervention is used –> N/A The section is not empty, so no empty-state HTML comment is required.

10. Protocol

# Description Result Comments
10.1 The section is derived from the ER Protocol section 🟢 All three action cells derive from the ER Therapeutic Protocol section (lines 371, 379/381, 389).
10.2 The three sets of [action] items cover the three most important actionable implementation aspects from the ER Protocol section 🟢 Dose, dosing schedule and dose-setting method are the three load-bearing implementation decisions in the ER protocol; the remaining bullets are alternatives, caveats and subgroup adjustments.
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 well over three distinct actionable aspects, so 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 action fields carry substantive ER-derived content; no placeholders remain.

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 names exactly three time-to-effect aspects at line 426 and all three are carried over.
11.2 The sets are picked and ordered by the magnitude of the related benefit 🟢 Ordered stone recurrence (high-certainty benefit, risk ratio 0.26) then bone density (high tier, 1.7%) then the urinary citrate/pH response, matching the ER’s own benefit ordering.
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 time-to-effect aspects exist in the ER, so no set is unused.
11.4 All used [time_#label], [time#value], [time#_sub] items are filled with meaningful content derived from the ER. 🟢 All nine time fields are populated from ER line 426 (1-3 years, 12-24 months, 24-48 hours).
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, so the section is correctly retained.

12. Benefits

# Description Result Comments
12.1 The section is derived from the ER Expected Benefits section 🟢 All four tiers map to the ER Expected Benefits headings at lines 157-217.
12.2 Key variables are [benefits_high], [benefits_medium], [benefits_low], [benefits_speculative] 🟢 All four benefit spans present and populated (lines 535-558).
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 the ER’s benefit headings with no magnitudes, mechanisms or citations.
12.4 Parenthetical content — including effect sizes, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parenthetical content carried over; the ER’s “⚠️ Conflicted” markers on the two Low-tier benefits are stripped as item 4.4 and 12.3 require.
12.5 If no items of a specific sub-section (high, medium, low, speculative) are present the respective <SPAN> is set to “display=none”, not filled with “None documented in human trials to date” or similar empty-state phrasing. N/A The ER populates all four tiers, so no span needed hiding.

13. Risks

# Description Result Comments
13.1 The section is derived from the ER Potential Risks & Side Effects section 🟢 All four tiers map to the ER Potential Risks & Side Effects headings at lines 241-297.
13.2 Key variables are [risks_high], [risks_medium], [risks_low], [risks_speculative] 🟢 All four risk spans present and populated (lines 608-629).
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. 🟢 Each tier is a semicolon-separated list of the ER’s risk headings with no frequencies, mechanisms or citations.
13.4 Parenthetical content — including frequencies, severity grades, sample notes, mechanistic hints, and example studies — is stripped, NOT preserved. 🟢 No parenthetical content carried over; the “⚠️ Conflicted” marker on calcium phosphate stone promotion is stripped.
13.5 If no items of a specific sub-section (high, medium, low, speculative) are present the respective <SPAN> is set to “display=none”, not filled with “None documented in human trials to date” or similar empty-state phrasing. N/A The ER populates all four tiers, so no span needed hiding.

14. Monitoring

# Description Result Comments
14.1 The section is derived from the ER Monitoring section 🟢 Derived from the ER Monitoring Protocol & Defining Success section (lines 450-465).
14.2 All measurable/quantifiable biomarkers from the Monitoring section are listed 🟢 All eight rows of the ER biomarker table are present, in ER order, with targets and rationales matching (lines 645-756).
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. 🟢 Populated at lines 761-764 with the ER cadence from line 454 (potassium and bicarbonate at 4 weeks; 24-hour urine at 8-12 weeks; both every 6-12 months; bone density at 24 months; dental scoring annually).

15. Qualitative Assessment

# Description Result Comments
15.1 The section is derived from the ER Monitoring section 🟢 Derived from the qualitative-marker list in the ER Monitoring Protocol & Defining Success section (lines 469-473).
15.2 All subjective/qualitative biomarkers from the Monitoring section are listed 🟢 All five ER qualitative markers are listed verbatim (lines 772-799).

Issues 30/08/2026 14:21

Pass rate 100.00%. No issues found.