Content currency: review dates, source links and a weekly guideline watch
Summary
Section 3 of the master plan, "Keeping content current". The owner approved the real-app shots of the review notices on 21 Oct 2026 (taken at 938b28bdf), and on 21 Oct asked for auto-merge to be switched on. The owner's first sign-off batch will follow in a small later PR. Until then every proposed source in this PR stays hidden.
- Review dates. One shared rule: medications and interactions every 12 months, therapy and forms every 24 months, and due now when a cited guideline changes (owner decision 21 Oct 2026,
docs/decisions/2026-10-21-content-review-intervals.md). Worked out at read time from each record's own last-reviewed date, so nothing is stored and nothing stops ageing. Due is disclosed, never enforced: a record past its date stays readable. - Where it shows. A one-line notice on medication pages, the interaction list, therapy records and signed-off forms. It stays silent while a record is current, and does not repeat what an existing chip already says.
- Guideline change register.
src/data/source-change-events.json(empty). A confirmed change written here by the owner makes every citing record due now. - Weekly source watch.
.github/workflows/source-watch.ymlandscripts/watch-source-changes.ts, report only.- Checks 93 registered WA, Australian and UK (NICE) source pages each Monday at 07:17 Perth, WA first.
- Reports changed, moved or missing pages in one rolling issue. Last week's fingerprints travel in the issue body.
- No database, storage, ingestion, OpenAI, commits or PRs. The existing
check-public-source-changes.ts, which stages re-indexing, is untouched and stays manual.
- Source links, hidden until signed.
- 55 proposed therapy source links (
src/data/therapy-source-links.json, NICE plus RANZCP for ECT and rTMS, Australian sources first). - WA Monitored Medicines and ScriptCheckWA links for 8 medicines.
- Both use the existing showable-source rule, so nothing renders until the owner adopts and signs the source.
- 55 proposed therapy source links (
- ADHD guideline. The WA CAMHS ADHD guideline (CG.MHSP.ADHD) has no public copy, so it goes to the owner's private uploads, not the shared library. In its place the owner chose the AADPA 2022 Australian ADHD guideline (NHMRC approved). It is added as an unsigned candidate (
aadpa-australian-adhd-guideline-2022), watched weekly, and not shown until signed.aadpa.com.aujoins the governed source hosts (pinned count 60 to 61). AADPA was already in the source authority registry, so no ranking change. - No chunking, no re-index, no migration.
RAG impact: no retrieval behaviour change. Source register and display only; no ranking, retrieval or authority-registry file is touched.
Areas touched: Clinical reference content, App experience, Delivery and assurance, Design system, Knowledge and records
Clinical Governance Preflight
- Source-backed claims still require linked source verification before clinical use
- No patient-identifiable document workflow was introduced or expanded without explicit governance approval
- Supabase target remains
PsychSift Production(sjrfecxgysukkwxsowpy) - Service-role keys and private document access remain server-only
- Demo/synthetic content remains clearly separated from real clinical sources
- Source metadata, review status, and outdated/unknown-source behavior remain conservative
- Deployment classification/TGA SaMD impact was checked when clinical decision-support behavior changed
The change adds disclosure only. No clinical text, dose, interaction rule or ranking changed. Proposed source links are filtered through showableSourceRecords, which requires adoption, local review, a named owner and a matching content pin, so they stay hidden today. No sign-off is recorded or implied anywhere in this PR.
Verification
- Checks run:
npm run typecheck: passnpx eslint <changed files>: exit 0- Prettier check on every changed file: "All matched files use Prettier code style!"
- Focused Vitest, 8 files (review schedule, change register, source watch, therapy links, form review dates, medication links, decisions, design-system adoption):
Tests 144 passed (144) - ADHD record:
npm run check:source-acquisitionspassed,npm run source-acquisitions:check-orderpassed (142 records),npm run check:source-cataloguepassed, Vitest on source URL policy, catalogue providers and source watch:Tests 106 passed (106) npm run test:ci-workflowswith the new workflow test: the only failures are 2 intests/test-runner-safety.test.ts(heavyweight lock), which this PR does not touchnpm run check:medication-interactions: pass after regenerating the index withreviewedOnnpm run check:decisions:0 errors, 0 warningsnpm run check:instructions: pass
- Visual: real-app shots taken on the owner's PC from the live site and this branch, approved by the owner on 21 Oct 2026.
verify:uileft to CI.
Risk and rollout
- Risk: low. Display-only notices and links, plus one scheduled report-only workflow that needs
issues: writeon a job that runs no repository code. - Rollback: revert the PR. Close the "Weekly source watch" issue if it is no longer wanted.
- Provider or production effects: none. After merge, the watch makes plain HTTPS reads of public guideline pages once a week.
Notes
- Sign-off batch pack for the owner (prepare only): https://claude.ai/artifact/3x6NmB6Ksc1JtWLLeoRK16
- Catalogue first publication (#HTZPQ8, #ZPHK2F) is flagged, not built. The publishing step writes to the live database, and nothing can publish until a first batch of 231 services and 8 forms is signed. Recommended as a separate small PR after the first signed batch.
š¤ Generated with Claude Code