Skip to content
135 changes: 135 additions & 0 deletions data/calculators/evidence.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
{
"sources": [
{
"id": "source:governance",
"issuer": "PsychSift",
"title": "Calculator clinical-safety governance record",
"type": "internal_governance_record",
"version": "2026-09-01",
"url": "https://github.com/BigSimmo/Database/blob/main/docs/superpowers/specs/2026-09-01-calculators-clinical-safety.md",
"jurisdiction": "Australia",
"status": "reviewed",
"claimsSupported": [
"claim:phq9:interpretation",
"claim:phq9:safety-flag",
"claim:gad7:interpretation",
"claim:k10:interpretation",
"claim:cage:interpretation",
"claim:auditc:interpretation",
"claim:mdq:interpretation",
"claim:sadpersons:interpretation",
"claim:ybocs:interpretation"
],
"limitations": ["Records the release decision and does not replace an instrument source."]
},
{
"id": "source:phq9",
"issuer": "Kroenke, Spitzer & Williams",
"title": "The PHQ-9: Validity of a Brief Depression Severity Measure",
"type": "journal_article",
"version": "2001 validation study",
"url": "https://pmc.ncbi.nlm.nih.gov/articles/PMC1495268/",
"jurisdiction": "International",
"status": "reviewed",
"claimsSupported": ["claim:phq9:interpretation"],
"limitations": [
"A completed score supports assessment and monitoring; it is not a diagnosis or management decision."
]
},
{
"id": "source:gad7",
"issuer": "Spitzer et al.",
"title": "A Brief Measure for Assessing Generalized Anxiety Disorder",
"type": "journal_article",
"version": "2006 validation study",
"url": "https://pubmed.ncbi.nlm.nih.gov/16717171/",
"jurisdiction": "International",
"status": "reviewed",
"claimsSupported": ["claim:gad7:interpretation"],
"limitations": ["A completed score supports anxiety assessment and does not establish a diagnosis."]
},
{
"id": "source:k10",
"issuer": "Australian Bureau of Statistics",
"title": "Kessler Psychological Distress Scale (K10)",
"type": "government_information_paper",
"version": "2003 information paper",
"url": "https://www.abs.gov.au/ausstats/abs%40.nsf/papersbyReleaseDate/4D5BD324FE8B415FCA2579D500161D57",
"jurisdiction": "Australia",
"status": "reviewed",
"claimsSupported": ["claim:k10:interpretation"],
"limitations": ["The K10 measures psychological distress and is not a diagnostic category."]
},
{
"id": "source:cage",
"issuer": "Ewing",
"title": "Detecting alcoholism: The CAGE questionnaire",
"type": "journal_article",
"version": "1984 original article",
"url": "https://pubmed.ncbi.nlm.nih.gov/6471323/",
"jurisdiction": "International",
"status": "reviewed",
"claimsSupported": ["claim:cage:interpretation"],
"limitations": ["CAGE is a lifetime problem-drinking screen and does not assess current use or withdrawal."]
},
{
"id": "source:auditc",
"issuer": "Australian Government Department of Health",
"title": "Australian standard drinks guide",
"type": "government_web_guidance",
"version": "Current web guidance",
"url": "https://www.health.gov.au/topics/alcohol/about-alcohol/standard-drinks-guide",
"jurisdiction": "Australia",
"status": "reviewed",
"claimsSupported": ["claim:auditc:interpretation"],
"limitations": ["The standard-drink reference does not establish a diagnosis or management decision."]
},
{
"id": "source:mdq",
"issuer": "Hirschfeld et al.",
"title": "Development and validation of a screening instrument for bipolar spectrum disorder",
"type": "journal_article",
"version": "2000 validation study",
"url": "https://pubmed.ncbi.nlm.nih.gov/11058490/",
"jurisdiction": "International",
"status": "permission_review_required",
"claimsSupported": ["claim:mdq:interpretation"],
"limitations": ["Quarantined pending approval of digital-use rights and completion semantics."]
},
{
"id": "source:sadpersons",
"issuer": "Patterson et al.",
"title": "Evaluation of suicidal patients: the SAD PERSONS scale",
"type": "journal_article",
"version": "1983 original article",
"url": "https://pubmed.ncbi.nlm.nih.gov/6867245/",
"jurisdiction": "International",
"status": "not_for_active_use",
"claimsSupported": ["claim:sadpersons:interpretation"],
"limitations": ["Not released for active score-based clinical decision support."]
},
{
"id": "source:ybocs",
"issuer": "Goodman et al.",
"title": "The Yale-Brown Obsessive Compulsive Scale. I. Development, Use, and Reliability",
"type": "journal_article",
"version": "1989 original article",
"url": "https://pubmed.ncbi.nlm.nih.gov/2684084/",
"jurisdiction": "International",
"status": "permission_review_required",
"claimsSupported": ["claim:ybocs:interpretation"],
"limitations": ["Quarantined because the current generic anchors are not a verified Y-BOCS implementation."]
}
],
"claims": [
{ "id": "claim:phq9:interpretation", "sourceIds": ["source:phq9", "source:governance"] },
{ "id": "claim:phq9:safety-flag", "sourceIds": ["source:phq9", "source:governance"] },
{ "id": "claim:gad7:interpretation", "sourceIds": ["source:gad7", "source:governance"] },
{ "id": "claim:k10:interpretation", "sourceIds": ["source:k10", "source:governance"] },
{ "id": "claim:cage:interpretation", "sourceIds": ["source:cage", "source:governance"] },
{ "id": "claim:auditc:interpretation", "sourceIds": ["source:auditc", "source:governance"] },
{ "id": "claim:mdq:interpretation", "sourceIds": ["source:mdq", "source:governance"] },
{ "id": "claim:sadpersons:interpretation", "sourceIds": ["source:sadpersons", "source:governance"] },
{ "id": "claim:ybocs:interpretation", "sourceIds": ["source:ybocs", "source:governance"] }
]
}
18 changes: 14 additions & 4 deletions data/repo-awareness-snapshot.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"version": "repo-awareness-snapshot-v1",
"captured_revision": {
"sha": "f328372f39ead3501c8a4ba09db4cbef492d4788",
"committed_at": "2026-09-01T01:52:31Z"
"sha": "42e9eeb910925345619ab2f76dc3ef4983b27d55",
"committed_at": "2026-09-01T17:18:39+08:00"
},
"routes": {
"modes": [
Expand Down Expand Up @@ -3564,6 +3564,11 @@
"section": "superpowers",
"catalogued": false
},
{
"path": "docs/superpowers/plans/2026-09-01-calculators-clinical-safety.md",
"section": "superpowers",
"catalogued": false
},
{
"path": "docs/superpowers/rag-upgrade/canonical/approval-matrix.md",
"section": "superpowers",
Expand Down Expand Up @@ -3849,6 +3854,11 @@
"section": "superpowers",
"catalogued": false
},
{
"path": "docs/superpowers/specs/2026-09-01-calculators-clinical-safety.md",
"section": "superpowers",
"catalogued": false
},
{
"path": "docs/testing.md",
"section": "root",
Expand Down Expand Up @@ -4281,9 +4291,9 @@
}
],
"counts": {
"documents": 557,
"documents": 559,
"catalogued": 111,
"uncatalogued": 446,
"uncatalogued": 448,
"sections": 21
}
},
Expand Down
123 changes: 123 additions & 0 deletions docs/superpowers/plans/2026-09-01-calculators-clinical-safety.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Calculators clinical safety and governance implementation plan

> Execute test-first on `codex/calculators-clinical-safety-governance`. Do not merge, deploy or run live-provider checks.

## Task 1 — Pin the clinical contract

**Files**

- Add `docs/superpowers/specs/2026-09-01-calculators-clinical-safety.md`
- Add `docs/superpowers/plans/2026-09-01-calculators-clinical-safety.md`

Record the product boundary, current tool dispositions, completion rules, evidence/rights schema and definition of done.

## Task 2 — Add failing safety regression tests

**Files**

- Add `tests/calculators-clinical-safety.test.tsx`
- Update `tests/calculators-mode.dom.test.tsx`
- Update shared-home copy tests as required

Tests must prove:

- active catalogue excludes `sadpersons`, `ybocs`, and rights-blocked `mdq`
- partial PHQ-9/GAD-7 have no final band or actions
- PHQ-9 item 9 alert survives incomplete status
- MDQ impairment-only is incomplete and never negative
- explicit complete MDQ negatives remain negative in the quarantined fixture
- every active calculator has evidence, version, rights and review metadata
- every claim/source reference resolves
- score-band text contains no deterministic treatment/disposition language
- copy-result is disabled until completion
- safe home and privacy copy render

Observe hosted CI fail against current implementation before production edits.

## Task 3 — Introduce the evidence-governed fixture model

**Files**

- Replace `src/components/calculators/calculator-fixtures.ts`
- Add `src/components/calculators/calculator-evidence.ts`
- Add `data/calculators/evidence.json`

Implement:

- active, quarantined and planned registries
- exact completion policies
- structured source/claim/rights/review metadata
- corrected Australian clinical copy
- active set limited to PHQ-9, GAD-7, K10, CAGE and AUDIT-C

## Task 4 — Correct scoring and incomplete states

**Files**

- Update `src/components/calculators/calculator-ui.tsx`

Implement:

- instrument-specific completion
- no band/guidance before completion
- MDQ explicit-answer requirement
- immediate safety flags
- disabled copied result until completion
- explicit incomplete result vocabulary
- progress labels that distinguish answered from endorsed

## Task 5 — Separate interpretation from management

**Files**

- Replace `src/components/calculators/calculator-pathways.ts`
- Update `src/components/calculators/search-detail.tsx`
- Update `src/components/calculators/calculator-sheet.tsx`

Implement:

- `Clinical consideration` records with claim/source IDs
- no deterministic prescribing/ECT/admission/discharge/referral actions
- no considerations until completion
- evidence metadata at point of use
- “Clinical considerations” rather than “Score-linked actions”

## Task 6 — Correct live search/home/privacy copy

**Files**

- Update `src/components/calculators/search-page.tsx`
- Update `src/lib/ui-copy.ts`
- Update affected tests

Use safer home, privacy and about-copy. Planned tools are described as governance-gated rather than “coming next.”

## Task 7 — Add executable content contract

**Files**

- Add `tests/calculator-content-contract.test.ts`
- Add `scripts/check-calculator-content.mjs`
- Add package script if repository conventions permit

Fail on:

- unresolved claim/source IDs
- active unknown/blocked rights status
- unsafe active IDs
- forbidden deterministic management language
- expired review metadata
- missing Australian alcohol definition
- modified/unverified instruments exposed as validated

## Task 8 — Verify and hand off

Run:

1. focused calculator safety/content tests
2. formatting
3. typecheck if the type contract changed
4. clinical proof workflow for affected files
5. `verify:pr-local` selected by changed paths

Use hosted CI where local execution is unavailable. Record exact checks and limitations in the PR. Do not merge.
Loading
Loading