Skip to content

fix(sign-off): reset the #3562/#3571 sign-offs, restore the owner's lithium attestation, fix 18 therapy format labels - #3702

Merged
BigSimmo merged 9 commits into
mainfrom
claude/project-thread-h4q9qv
Oct 21, 2026
Merged

BigSimmo merged 9 commits into
mainfrom
claude/project-thread-h4q9qv

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Requested by Josh · project thread

Summary

Before: the "Psych Sift" sign-offs recorded in #3562 and #3571 counted as the owner's. The owner's 2 Oct lithium source attestation was withdrawn on 18 Oct, so check:source-acquisitions failed on main. Eighteen signed therapies showed the format chip "Group programme" while their own text says the therapy is usually individual.

After: those sign-offs are back to awaiting the owner's review, the lithium attestation is restored exactly as the owner confirmed it through #3143, and the 18 therapies read "Multi-session" and wait for re-signing. No new sign-off or attestation is recorded.

This acts on the owner's answer to the three audit questions (R6-F-04, R6-F-01, R7-F-13), 21 Oct 2026 11:41 AWST: "Go ahead with all recommendations". Decision record: docs/decisions/2026-10-21-psych-sift-sign-offs-in-3562-and-3571-reset.md.

Areas touched: Clinical reference content, App experience, Knowledge and records, Prototypes, Answer engine, Data platform and access

RAG impact: no retrieval behaviour change. No protected retrieval file changed; under the 18 Oct ruling, reset therapy and specifier prose is withheld from answer evidence and site content until re-signed.

Verification

  • Checks run:
    • Focused Vitest over the 73 sign-off, therapy, specifier, source, MHA and site-content test files: Test Files 73 passed (73), Tests 2243 passed (2243).
    • check:source-acquisitions: "Source acquisition ledger passed." (failed on main before this change)
    • check:therapy-data-index: "Therapy indexes are current (205 records)."
    • check:mha-act-sections: "107 reviewed, 3 drafted, 0 pending"
    • check:specifiers-search-index: current (585 items).
    • Site-content manifest --check: baseline digest matches, 0 added/removed/changed.
    • format:changed, check:diff-integrity, sitemap:check, check:repo-awareness-snapshot, docs:check-index, docs:check-inventory, docs:check-links, check:decisions, check:outstanding-issues pass.
    • verify:pr-local stops at check:installed-lock-parity in this container (install stamp mismatch, not a repo fault), so the rest of its list was run one by one.
    • Not run locally: full unit suite, build, browser journeys. CI runs these when the PR is marked ready.

Risk and rollout

  • Risk: visible on the live site. The lithium and clozapine medicine pages lose their source links. The full text of 45 therapies and the written specifier definitions is withheld from site content until the owner re-signs them. The interaction checker's lexicon sheet reads "NOT current". No database change.
  • Rollback: revert this PR.
  • Provider or production effects: None.

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

Notes

  • Clinical PR: stays in draft. The owner merges it, and merging deploys to production.
  • The owner re-signs with npm run therapy:review and npm run clinical:review.

Generated by Claude Code


Summary by cubic

Resets the "Psych Sift" sign-offs recorded in #3562 and #3571 back to awaiting the owner's review, restores the owner's 2 Oct lithium source attestation, and fixes 18 therapy format labels. No new sign-off or attestation is recorded; a merge of main brings no behavioral change. The owner confirmed the Today page MHA timer sign-off, re-recorded in their own name in #3562, stands.

Visible effects

  • Lithium and clozapine medicine pages lose their source links.
  • Full text of the 45 reset therapies and the written specifier definitions is withheld from site content until the owner re-signs.
  • The interaction-lexicon review sheet reports the 28 Sep sign-off as "NOT current".

Written for commit 3737aba. Summary will update on new commits.

View guided diff Turn on auto-fix

Summary by CodeRabbit

  • Content Review

    • Reset review status for 44 therapy records and numerous clinical specifiers; these items now require review.
    • Updated section 357 from reviewed to drafted.
    • Marked affected medication sources and interaction mappings for renewed review.
  • Sign-off Changes

    • Reversed selected prior sign-offs and expanded the current sign-off queue.
    • Updated therapy records and clinical content to reflect pending owner or clinician approval.
    • Source links remain unavailable where required approvals are incomplete.
  • Documentation

    • Added a decision record documenting the review resets and related status changes.

Test changes (Helper 2, commit 3737aba)

  • tests/therapy-key-facts.test.ts — CBT-I format face assertion changed from "Group programme" to "Multi-session": this PR deliberately replaces the contradictory chip on the 18 signed therapies (R7-F-13), CBT-I among them.
  • tests/favourites-signed-out-sample.dom.test.tsx — no assertion changed. The "only reviewed therapies" guarantee is kept; because CBT-I returns to needs_review in this PR, the signed-out favourites sample (src/components/clinical-dashboard/favourites-sample-data.ts) now uses Cognitive Processing Therapy (CPT), which is still reviewed. No clinical text changed.

…rapies with a contradictory format label

Owner ruling 21 Oct 2026 ("Go ahead with all recommendations"): the 27 therapy
sign-offs recorded as "Psych Sift" in #3562 were not the owner's, so they go back
to needs_review the same way as the 17 Oct reset (unticked checklist, earlier
completeness score, no reviewer, date or content pin; no attestation recorded).

Audit finding R7-F-13: 18 signed records showed the chip "Group programme" while
their own text says the therapy is usually individual. The chip is now
"Multi-session", matching the fix #3692 made to the unsigned records, and those
18 records return to needs_review for the owner to re-sign.

Therapy indexes, hashed assets (previous generation revoked) and the signable
projection are regenerated.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
…the owner's 2 Oct lithium attestation

Owner ruling 21 Oct 2026 ("Go ahead with all recommendations"): the "Psych Sift"
sign-offs recorded in #3562 and #3571 were not the owner's.

- specifiers: 85 still-signed reviews back to clinician-review-pending with no
  reviewer, date or pin (pending count 585); search index regenerated
- MHA s357 back to drafted (s14 was already reset by #3692); review sheet
  regenerated offline
- source acquisitions: the two Australian Prescriber lithium records and the WA
  clozapine guideline go back to their #3143 candidate state, which carries the
  attestation the owner confirmed on 2 Oct
- ps-diff-src-au-ausprescr-lithium-2020 restored to its #3143 state, reversing the
  18 Oct withdrawal (PS-009); check:source-acquisitions passes again
- services: the 21 #3143 sign-offs re-dated by #3571 return to their original date
  (content pins unchanged)
- interaction lexicon: the 16 Oct re-sign is removed; the sheet now reports the
  2026-09-28 sign-off as not current
- site-content static manifest baseline regenerated

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
 sign-offs; record the owner ruling

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
… therapy assets

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
@BigSimmo BigSimmo self-assigned this Oct 21, 2026
@supabase

supabase Bot commented Oct 21, 2026

Copy link
Copy Markdown

This pull request has been ignored for the connected project sjrfecxgysukkwxsowpy because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

📝 Walkthrough

This pull request resets review and sign-off metadata across specifiers, therapies, medication sources, and MHA sections. It updates associated catalogue assets, counts, decision records, and tests.

Changes: Sign-off reset

Layer / File(s) Summary
Decision record and review metadata
docs/decisions/*, data/repo-awareness-snapshot.json, data/mha-2014-sections.json, docs/evidence/mha-2014-section-summaries-review.md, data/service-records-review.json, docs/medication-interaction-lexicon-review.md
A new decision record documents the sign-off reset. Section 357 changes to drafted, service-record timestamps are updated, and the interaction-lexicon review is marked outdated with revised sign-off metadata.
Specifier review reset
data/specifiers-content.json, data/specifiers-search-index.json, tests/clinical-signoff-kinds.test.ts
Previously reviewed specifiers move to clinician-review-pending status. Prior reviewer metadata is removed, changedSinceReview is set to true, and the pending count increases from 515 to 585.
Therapy review reset
src/data/therapies-index.json, public/therapy-compass-data/therapies-index.*.json, src/data/therapy-signable-slugs.json, src/data/therapy-catalogue-assets.ts, src/lib/site-content/site-content-change-owners.json, tests/therapy-3510-needs-review.test.ts
Forty-four therapy records change to needs_review. Signable slugs and content-addressed asset references are updated; the catalogue needs-review count increases from 26 to 71.
Medication source review state
src/data/source-acquisitions.json, tests/medication-source-links.test.ts, tests/source-catalogue-providers.test.ts
The lithium article and correction move to candidate and review-due states, and the WA clozapine guideline moves to candidate status. Tests now expect no source links for lithium and clozapine.
Sign-off counts and tests
tests/sign-off-queue.test.ts, tests/sign-off-today.test.ts, tests/owner-sign-off-today.dom.test.tsx, tests/developer-sign-off-page.dom.test.tsx
Test expectations reflect revised signed, waiting, and signable record counts across the affected domains.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Bug fix

Suggested reviewers: claude

Merge Risk: ⚪ Minimal · up to 494d8

The sign-off resets and therapy format changes have no established merge-blocking issue. The documentation formatting suggestion remains unverified.

Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly identifies the primary changes: resetting the specified sign-offs, restoring the owner's lithium attestation, and correcting 18 therapy format labels.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 9…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The pull request description follows the required template. It includes a detailed summary, areas touched and RAG impact, verification results, risk and rollback information, provider effects, and not…
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 9 files. (13 skipped: 13 unsupported.)

Full details: Description check

Explanation

The pull request description follows the required template. It includes a detailed summary, areas touched and RAG impact, verification results, risk and rollback information, provider effects, and notes. It also documents the incomplete local verification and the required clinical governance checks.

✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 21, 2026

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR (configure)

…gn-off

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y5kedaqPZhZ1q8QUZeE2DQ
gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 21, 2026

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR (configure)

gitar-bot[bot]
gitar-bot Bot previously approved these changes Oct 21, 2026

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR (configure)

@BigSimmo
BigSimmo marked this pull request as ready for review October 21, 2026 05:21

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BigSimmo has reached the 50-credit limit for trial accounts. To continue receiving code reviews, upgrade your plan.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T05:26:05.749144Z 494d83d Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@claude

claude Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔇 Additional comments: 8
src/data/source-acquisitions.json: 1

522-522: LGTM!

Also applies to: 529-530, 533-535, 1292-1293, 1296-1298, 3146-3146, 3153-3154, 3157-3159, 3857-3857, 3860-3860, 3863-3864, 3873-3876

tests/medication-source-links.test.ts: 1

112-116: LGTM!

tests/source-catalogue-providers.test.ts: 1

223-225: LGTM!

src/data/therapies-index.json: 1

550-550: 🗄️ Data Integrity & Integration

The source-to-index comparison found zero tag mismatches in both projections. "Group programme" is not a stale index value, so regeneration is not required for this record.

data/repo-awareness-snapshot.json: 2

4-4: LGTM!


5741-5745: LGTM!

tests/clinical-signoff-kinds.test.ts: 1

429-429: 🎯 Functional Correctness

The fixture intentionally uses "PsychSift" as an invalid product stamp. The test asserts that these records remain drafted and that only "Psych Sift" produces a valid clinician review. No reviewer-name change is needed.

docs/decisions/2026-10-21-psych-sift-sign-offs-in-3562-and-3571-reset.md-30-30: 1

30-30: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Fix the issue reference so markdownlint passes.

Line 30 starts with #3562, so markdownlint reports MD018. This is an issue reference, not a heading. Escape the hash or wrap the reference in code formatting.

Proposed fix
-#3562 and still stands.
+`#3562` and still stands.

Source: Linters/SAST tools


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Repository: BigSimmo/PsychSift/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Team
  • Run ID: 636cfaff-9baf-416a-bccd-05994c0d9cba
📥 Commits

Reviewing files that changed from the base of the PR and between d951557 and 494d83d.

📒 Files selected for processing: 27
  • data/mha-2014-sections.json
  • data/repo-awareness-snapshot.json
  • data/service-records-review.json
  • data/specifiers-content.json
  • data/specifiers-search-index.json
  • docs/decisions/2026-10-21-psych-sift-sign-offs-in-3562-and-3571-reset.md
  • docs/evidence/mha-2014-section-summaries-review.md
  • docs/medication-interaction-lexicon-review.md
  • public/therapy-compass-data/therapies-index.536fb33cd2af2643.json
  • public/therapy-compass-data/therapies.184677d4e81f8273.json
  • public/therapy-compass-data/therapies.5f2d28d5d88a81d5.json
  • public/therapy-compass-data/therapies.6c39eed4b6587d27.json
  • src/data/source-acquisitions.json
  • src/data/therapies-index.json
  • src/data/therapies-source.json
  • src/data/therapy-catalogue-assets.ts
  • src/data/therapy-signable-slugs.json
  • src/lib/site-content/site-content-change-owners.json
  • tests/clinical-signoff-kinds.test.ts
  • tests/developer-sign-off-page.dom.test.tsx
  • tests/fixtures/site-content/static-manifest-baseline.json
  • tests/medication-source-links.test.ts
  • tests/owner-sign-off-today.dom.test.tsx
  • tests/sign-off-queue.test.ts
  • tests/sign-off-today.test.ts
  • tests/source-catalogue-providers.test.ts
  • tests/therapy-3510-needs-review.test.ts

Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

@cubic-dev-ai

cubic-dev-ai Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Auto-fix isn't included in your plan ↗

Upgrade to Team

@BigSimmo

Copy link
Copy Markdown
Owner Author

For the Claude session that owns this PR: the owner wants every PR unblocked (14:34 AWST 21 Oct, relayed by Grok Bot). What's blocking this PR right now? Please reply here with the blocker and anything you need from the owner or other agents (approvals, quota, a canary, a review). Helper 3 won't push to or arm this branch and will pass your answer on.

@BigSimmo

Copy link
Copy Markdown
Owner Author

OWNER HOLD (14:42 AWST 21 Oct, relayed by Grok Bot): please do NOT merge or arm #3702 until (1) the failing tests (therapy-key-facts 'Group programme'→'Multi-session', favourites-signed-out-sample 'reviewed'→'needs_review') are updated deliberately, with the user-visible change explained, and (2) the owner confirms the restored lithium attestation is exactly their original. Auto-merge must stay off. — Helper 3

CBT-I format chip is now Multi-session (R7-F-13); CBT-I is back to needs_review,
so the signed-out favourites sample uses a still-reviewed therapy (CPT) to keep
the 'only reviewed therapies' guarantee.

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR (configure)

@gitar-bot

gitar-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor
Code Review ✅ Approved

🔴 High risk · Resetting sign-offs across 45 therapies and 585 specifiers and removing medicine source links could broadly change clinical reference material available on the live site.

Resets the #3562 and #3571 sign-offs to awaiting the owner's review, restores the owner's 2 Oct lithium attestation, and corrects 18 therapy format labels from "Group programme" to "Multi-session". No new sign-offs or attestations are recorded. No issues found.

Verification

Rules No rules evaluated

Functional validation Not enabled

Set up

Auto-approval Approved

For more verification details, comment gitar display:verbose.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing compact verification results.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

@BigSimmo
BigSimmo disabled auto-merge October 21, 2026 07:57
@BigSimmo

Copy link
Copy Markdown
Owner Author

I confirm restoring my 2 Oct lithium source attestation in #3702.

@BigSimmo
BigSimmo merged commit ff3c6b0 into main Oct 21, 2026
37 of 39 checks passed
@BigSimmo
BigSimmo deleted the claude/project-thread-h4q9qv branch October 21, 2026 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants