Skip to content

chore(ledger): reconcile 21 pending inbox requests and record prlanded proofs - #3609

Merged
BigSimmo merged 4 commits into
mainfrom
claude/reconcile-inbox-20261017
Oct 17, 2026
Merged

BigSimmo merged 4 commits into
mainfrom
claude/reconcile-inbox-20261017

Conversation

@BigSimmo

@BigSimmo BigSimmo commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

User description

Summary

Verification


  • ode scripts/check-ledger-write-discipline.mjs\ — PASS

  • ode scripts/check-outstanding-issues-snapshot.mjs\ — PASS

  • pm run docs:maintain\ — PASS

Summary by cubic

Reconciles all 21 pending inbox requests into the outstanding-issues ledger, bringing pending to zero, and queues follow-up requests for the unfinished parts of #08216B, #WMGPSG, and #1WAA0Z raised in the PR #3609 review.

Also records prlanded proofs for PRs #3567, #3570, and #3573 and updates the branch review index and repo-awareness snapshot accordingly.

This is a documentation-only change; no application code is touched. The ledger snapshot now shows 108 open issues with 0 pending, and all reconciliation, snapshot, and docs maintenance checks pass.

Written for commit 7aac5a0. Summary will update on new commits.

View guided diff Turn on auto-fix


CodeAnt-AI Description

Reconcile the issue inbox and update the project review records

What Changed

Impact

✅ 0 pending issue requests
✅ Issue ledger updated to 108 open items
✅ Merge proofs recorded for 3 PRs

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

@BigSimmo
BigSimmo enabled auto-merge (squash) October 17, 2026 11:49

@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.

@codeant-ai

codeant-ai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Incremental review completed 7aac5a0 Oct 17, 2026 · 12:50 12:57
✅ Reviewed your PR 11bee2d Oct 17, 2026 · 11:50 11:57

@codeant-ai

codeant-ai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

Next included review available in 49 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 113 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: BigSimmo/PsychSift/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Team
  • Run ID: f5b09b5f-6fd2-4f0a-a083-a0f00111a83d
📥 Commits

Reviewing files that changed from the base of the PR and between 3b7b6e8 and 7aac5a0.

📒 Files selected for processing: 31
  • data/outstanding-issues-snapshot.json
  • data/repo-awareness-snapshot.json
  • docs/branch-review-index.md
  • docs/branch-review-records/05e48734fb477ce17ef2f6b85df92af8aaf4e7c8281586c9e87ea8f873af629a.record.md
  • docs/branch-review-records/5c2377bab5fb02f7ed3bd95bba8059a37e04c6fd22d90c1d718f6cb3e7771bda.record.md
  • docs/branch-review-records/a7be2760026da4bc040fa90bf847382bdcded2a8a7510ceaf7be4ac49c042211.record.md
  • docs/outstanding-issues-inbox/5b138aaf-016f-4fc3-8165-fd6b10f15a79.json
  • docs/outstanding-issues-inbox/applied/1ff7b52e-5911-435e-b807-7a9ff5602747.json
  • docs/outstanding-issues-inbox/applied/389a777d-b0c5-495b-b65b-012424818c17.json
  • docs/outstanding-issues-inbox/applied/43a957c6-eee9-45af-b9ce-fc850ab0308b.json
  • docs/outstanding-issues-inbox/applied/52b311f2-1e3d-4a6e-82a0-1e503dfcc99c.json
  • docs/outstanding-issues-inbox/applied/5d7ae72b-9125-4b0c-9a0e-8d85023a1524.json
  • docs/outstanding-issues-inbox/applied/5de9fe1e-9893-470c-b040-6537874b7b86.json
  • docs/outstanding-issues-inbox/applied/6aec8cab-618e-4533-bf70-1d871fe03323.json
  • docs/outstanding-issues-inbox/applied/737051c7-396c-40c0-9b0b-8e1d7c1a38fb.json
  • docs/outstanding-issues-inbox/applied/8c549632-5423-4986-9ef0-4734ad5f8a90.json
  • docs/outstanding-issues-inbox/applied/8d130a15-f473-49ef-8fcc-50daca539ad6.json
  • docs/outstanding-issues-inbox/applied/8e9cd355-c5a2-4aa8-ae30-9e477e0977cb.json
  • docs/outstanding-issues-inbox/applied/99b5370e-305b-47f4-b0b5-5c81c37f39d3.json
  • docs/outstanding-issues-inbox/applied/aebceba4-b600-4d60-94d1-901c7112bc21.json
  • docs/outstanding-issues-inbox/applied/b8d8175c-652e-47e6-88d0-e45b1fb11971.json
  • docs/outstanding-issues-inbox/applied/ba9e356d-1197-4ae8-af67-19e313a89275.json
  • docs/outstanding-issues-inbox/applied/cbd0a3f9-af52-4247-b61f-6541acf527f8.json
  • docs/outstanding-issues-inbox/applied/d72ccad1-e17d-4928-a9c4-70a53cb9e67c.json
  • docs/outstanding-issues-inbox/applied/da9d4a0c-94e8-40e1-ba5d-73a3b0d8dcb6.json
  • docs/outstanding-issues-inbox/applied/ef7e6803-0600-4348-9b43-344fd4ff4b1a.json
  • docs/outstanding-issues-inbox/applied/f3352f44-2b82-4c14-b91a-c4485c7bd738.json
  • docs/outstanding-issues-inbox/applied/f6e8e317-6b61-4b52-9910-fa15b5dd9aa4.json
  • docs/outstanding-issues-inbox/b26640a5-b323-44ef-9a5c-9be3fc5ac3e0.json
  • docs/outstanding-issues-inbox/c0471211-f9b1-44e4-bb54-8b1d5664c5f4.json
  • docs/outstanding-issues.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 17, 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-17T11:52:46.964856Z 11bee2d PR opened
ℹ️ 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 17, 2026 •

Copy link
Copy Markdown
Contributor

Claude encountered an error after 2s —— View job


I'll analyze this and get back to you.

@supabase

supabase Bot commented Oct 17, 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 ↗︎.

@qodo-code-review

qodo-code-review Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Action required

No findings for this group


Remediation recommended

No findings for this group


Informational

1. The form review closes with wording left 🟡 Low 🐞 Bug ≡ Correctness
Description
The #WFYDV6 resolution says it replaced Form 6B Chief Psychiatrist consent wording, but
WaMhaFormPrint still renders a consent field and states that consent is obtained before making the
order. It also retains section lists marked unverified, so the recorded statutory-content fix does
not cover everything the original issue identified, even though the component is labelled
non-statutory and has no production caller.
Code

docs/outstanding-issues.md[994]

+| #WFYDV6 <!-- issue-ulid:01M4ZM793BWFYDV65NNBHBP53K --> | issue | Unwired WA MHA Form 6A/6B print component carries unverified statutory text | Fixed statutory discrepancies and branding in-place in src/components/forms/wa-mha-form-print.tsx: replaced Form 6B Chief Psychiatrist consent wording with statutory post-order Report to the Chief Psychiatrist wording matching form-register.ts, replaced official WA Department of Health branding with an explicit Non-Statutory Study Layout header and warning banner, and updated tests/wa-mha-form-print.dom.test.tsx (retaining the file per the 30-day dead-code policy). | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: statutory wording and branding fixes were accepted while
retaining the unwired component.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The new resolution explicitly claims replacement of the consent wording. The component still
includes that wording in both its metadata and rendered field, and marks its section summaries
unverified.

docs/outstanding-issues.md[994-994]
src/components/forms/wa-mha-form-print.tsx[42-53]
src/components/forms/wa-mha-form-print.tsx[210-214]
docs/outstanding-issues-inbox/applied/8eed5dff-8f00-4b4d-9e42-22d3588d9164.json[8-12]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The resolved entry claims consent wording was replaced although it remains rendered, and the component still labels statutory summaries unverified.
## Fix Focus Areas
- docs/outstanding-issues.md[994-994]
- src/components/forms/wa-mha-form-print.tsx[42-53]
- src/components/forms/wa-mha-form-print.tsx[210-214]
## Recommended Fix
Verify the remaining Form 6B wording and statutory summaries against the approved source before claiming the issue is fixed. Otherwise, retain an open follow-up and describe the completed warning and branding changes accurately; regenerate the snapshot through reconciliation.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


Grey Divider


Resolved findings

1. Older calculator copies lose tracking ✓ Resolved
Description
The #1WAA0Z resolution verifies the On Call screens but does not address the same task's possible
dead calculator mockups. The production calculator route imports only the search page while older
calculator components remain exported in a separate tree, so their recheck disappears from the open
ledger.
Code

docs/outstanding-issues.md[999]

+| #1WAA0Z <!-- issue-ulid:01M4T65ZAJ1WAA0ZT0K247WJPJ --> | task | Possible dead code: older calculator mockups (audit M5-2) and On Call Education, Compliance and Logistics screens said to be unreachable (audit L4D-05) | Verified On Call Education, Compliance, and Logistics components remain live via calendar event routing and check:dead-code-candidate. | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: On Call verification was accepted without separately
resolving older calculator mockups.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The resolved row addresses only On Call. The older calculator exports remain separate from the
components used by mockup routes, and the repository audit identifies those exports as lacking
production route importers.

docs/outstanding-issues.md[999-999]
src/components/calculators/index.ts[1-7]
src/app/(search-app)/calculators/search/page.tsx[1-4]
src/app/mockups/calculators-bedside-sheet/page.tsx[1-3]
docs/audit/full-repository-audit-2026-09-02.md[1830-1830]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The On Call verification closes #1WAA0Z without resolving its separate older-calculator-mockup recheck.
## Fix Focus Areas
- docs/outstanding-issues.md[999-999]
- src/components/calculators/index.ts[1-7]
## Recommended Fix
Keep the calculator portion open or split it into a new open task. Verify the older components with the dead-code-candidate procedure before deciding whether to retain or remove them, then regenerate the snapshot.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Stale decision leaves the backlog ✓ Resolved
Description
The resolution for #WMGPSG records encoding, retrieval, and button-floor fixes but closes the
bundled row without addressing its cloud-profile owner decision or superseding Caring Contacts
decision. Because the existing decision says Caring Contacts files were removed while the MHA
timeline imports its clock, that contradiction and the remaining documentation follow-ups no longer
have an open ledger item.
Code

docs/outstanding-issues.md[995]

+| #WMGPSG <!-- issue-ulid:01M4T67NPZWMGPSGFPRBRSPTZ0 --> | issue | Doc/instruction drift left open after the doc-fix pass: encoding damage, cloud-profile worktree rule, RAG duty missing from skills, stale decision | Documented the deliberate !min-h-[48px] SSO button floor in docs/redesign/07-token-adoption-audit.md, codified ragRanking and canary-pair safeguards in .agents/skills/rag/SKILL.md and .agents/skills/reindex/SKILL.md, and losslessly repaired all double-encoded UTF-8 mojibake across docs/privacy-impact-assessment.md and docs/openai-cross-border-basis.md (tests/doc-governance-encoding-and-skills.test.ts). | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: partial documentation fixes were accepted despite unrelated
follow-ups remaining.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The original issue requests a cloud-profile owner decision and a superseding Caring Contacts
decision, but the new resolution mentions neither. The existing decision asserts that Caring
Contacts files were removed despite the current clock import; the ledger and issues guidance call
for retaining or capturing unresolved follow-ups.

docs/outstanding-issues.md[995-995]
docs/decisions/2026-09-26-remove-ward-flow-and-caring-contacts.md[1-8]
src/components/on-call/who-covers-this.tsx[1-25]
docs/outstanding-issues-inbox/applied/d2785add-72d1-47db-9e4b-32be1a8729e9.json[8-10]
src/lib/mha-timeline.ts[2-8]
.claude/cloud-profile/skills/prompt/references/coding-workflow.md[21-27]
Skill: ledger
Skill: issues

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Closing `#WMGPSG` after completing only some of its follow-ups removes tracking for unresolved cloud-profile and Caring Contacts documentation decisions. The existing Caring Contacts decision still contradicts live code.

## Fix Focus Areas
- docs/outstanding-issues.md[995-995]
- docs/decisions/2026-09-26-remove-ward-flow-and-caring-contacts.md[1-8]
- .claude/cloud-profile/skills/prompt/references/coding-workflow.md[21-27]

## Recommended Fix
Check the original row’s remaining criteria and keep the bundled issue open or create explicit open follow-ups for verified unfinished owner decisions. Queue an immutable inbox request for a dated decision that supersedes the inaccurate Caring Contacts decision through the documented decision process. Preserve the completed fixes in the existing resolution, then reconcile the follow-ups and regenerate the issue snapshot through the dedicated ledger workflow.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Dead-code cleanup disappears too early ✓ Resolved
Description
The resolution for #08216B documents the clinical-math calculator fixes but closes the entire PR
3538 cleanup task, which also covers an unused proxy route, recalculation script, development pages,
and unwired tools. Because the authenticated /api/proxy route still exists on 17 October, the
remaining work is no longer tracked as open for verification or removal when the 30-day window ends
on 13 November.
Code

docs/outstanding-issues.md[993]

+| #08216B <!-- issue-ulid:01M4ZM796108216B8VGP235CHK --> | task | Remove PR 3538 leftovers once the 30-day dead-code window passes (after 13 Nov 2026) | Implemented Devine IBW and Adjusted Body Weight guidance in calculateCockcroftGault (renal.ts), aligned the >= 1.2 mmol/L lithium toxic boundary, clarified >= 2.0 mmol/L severe toxicity vs haemodialysis clinical thresholds, and updated proportional lithium dose rounding to 125 mg Australian scored-tablet increments (lithium.ts, types.ts, tests/clinical-math-calculators.test.ts, tests/clinical-math-bounds.test.ts). | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: #08216B’s calculator fixes were accepted despite deferred
dead-code cleanup.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The original task includes the proxy route, script, pages, and unwired components alongside the
calculators, but the new resolution describes only calculator changes and the applied request marks
the broader task done. The authenticated proxy route still returns a placeholder response,
demonstrating that at least one deferred obligation remains; the issues skill requires unresolved
follow-ups to stay in the durable register and corrections to use new immutable requests.

docs/outstanding-issues.md[993-993]
docs/outstanding-issues-inbox/applied/5de9fe1e-9893-470c-b040-6537874b7b86.json[5-10]
src/app/api/proxy/route.ts[1-22]
docs/outstanding-issues-inbox/applied/0a3b873b-ce2c-486b-ab9c-b364129022e9.json[8-13]
src/app/api/proxy/route.ts[8-21]
scripts/recalculate-answer-support-labels.ts[1-21]
Skill: issues

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Closing #08216B after the clinical-math fixes removes its remaining dead-code and unwired-tool work from the open ledger, despite the deferred cleanup window.

## Fix Focus Areas
- docs/outstanding-issues.md[993-993]
- docs/outstanding-issues-inbox/applied/5de9fe1e-9893-470c-b040-6537874b7b86.json[5-10]

## Recommended Fix
Preserve the completed clinical-math work, but submit a new immutable inbox request that keeps every remaining cleanup obligation open, with post-13-November timing and verification criteria. Reconcile and regenerate the issue snapshot through the dedicated fresh-base ledger workflow; do not edit the applied request or canonical ledger by hand.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
❌ Tickets: failed to load — Ticket collection could not establish complete evidence
✅ Compliance rules (platform): 9 rules
✅ Cross-repo context — repo relationships
✅ REVIEW.md
Review mode: Auto: 🚀 Fast: Ledger-only reconciliation with localized, non-runtime documentation changes
✅ Fix-loop round: fix loop

Grey Divider

Tip of the day
💡 Did you know, you can see how risky a PR is at a glance with blast radius labels

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Previous reviews

Review updated until commit 7aac5a0

Results up to commit 964eff3 ⚖️ Balanced


🐞 Bugs (1) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)


Action required

No findings for this group


Remediation recommended

No findings for this group


Informational
1. The form review closes with wording left 🟡 Low 🐞 Bug ≡ Correctness
Description
The #WFYDV6 resolution says it replaced Form 6B Chief Psychiatrist consent wording, but
WaMhaFormPrint still renders a consent field and states that consent is obtained before making the
order. It also retains section lists marked unverified, so the recorded statutory-content fix does
not cover everything the original issue identified, even though the component is labelled
non-statutory and has no production caller.
Code

docs/outstanding-issues.md[994]

+| #WFYDV6 <!-- issue-ulid:01M4ZM793BWFYDV65NNBHBP53K --> | issue | Unwired WA MHA Form 6A/6B print component carries unverified statutory text | Fixed statutory discrepancies and branding in-place in src/components/forms/wa-mha-form-print.tsx: replaced Form 6B Chief Psychiatrist consent wording with statutory post-order Report to the Chief Psychiatrist wording matching form-register.ts, replaced official WA Department of Health branding with an explicit Non-Statutory Study Layout header and warning banner, and updated tests/wa-mha-form-print.dom.test.tsx (retaining the file per the 30-day dead-code policy). | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: statutory wording and branding fixes were accepted while
retaining the unwired component.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The new resolution explicitly claims replacement of the consent wording. The component still
includes that wording in both its metadata and rendered field, and marks its section summaries
unverified.

docs/outstanding-issues.md[994-994]
src/components/forms/wa-mha-form-print.tsx[42-53]
src/components/forms/wa-mha-form-print.tsx[210-214]
docs/outstanding-issues-inbox/applied/8eed5dff-8f00-4b4d-9e42-22d3588d9164.json[8-12]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The resolved entry claims consent wording was replaced although it remains rendered, and the component still labels statutory summaries unverified.
## Fix Focus Areas
- docs/outstanding-issues.md[994-994]
- src/components/forms/wa-mha-form-print.tsx[42-53]
- src/components/forms/wa-mha-form-print.tsx[210-214]
## Recommended Fix
Verify the remaining Form 6B wording and statutory summaries against the approved source before claiming the issue is fixed. Otherwise, retain an open follow-up and describe the completed warning and branding changes accurately; regenerate the snapshot through reconciliation.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗



Resolved findings

1. Stale decision leaves the backlog ✓ Resolved
Description
The resolution for #WMGPSG records encoding, retrieval, and button-floor fixes but closes the
bundled row without addressing its cloud-profile owner decision or superseding Caring Contacts
decision. Because the existing decision says Caring Contacts files were removed while the MHA
timeline imports its clock, that contradiction and the remaining documentation follow-ups no longer
have an open ledger item.
Code

docs/outstanding-issues.md[995]

+| #WMGPSG <!-- issue-ulid:01M4T67NPZWMGPSGFPRBRSPTZ0 --> | issue | Doc/instruction drift left open after the doc-fix pass: encoding damage, cloud-profile worktree rule, RAG duty missing from skills, stale decision | Documented the deliberate !min-h-[48px] SSO button floor in docs/redesign/07-token-adoption-audit.md, codified ragRanking and canary-pair safeguards in .agents/skills/rag/SKILL.md and .agents/skills/reindex/SKILL.md, and losslessly repaired all double-encoded UTF-8 mojibake across docs/privacy-impact-assessment.md and docs/openai-cross-border-basis.md (tests/doc-governance-encoding-and-skills.test.ts). | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: partial documentation fixes were accepted despite unrelated
follow-ups remaining.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The original issue requests a cloud-profile owner decision and a superseding Caring Contacts
decision, but the new resolution mentions neither. The existing decision asserts that Caring
Contacts files were removed despite the current clock import; the ledger and issues guidance call
for retaining or capturing unresolved follow-ups.

docs/outstanding-issues.md[995-995]
docs/decisions/2026-09-26-remove-ward-flow-and-caring-contacts.md[1-8]
src/components/on-call/who-covers-this.tsx[1-25]
docs/outstanding-issues-inbox/applied/d2785add-72d1-47db-9e4b-32be1a8729e9.json[8-10]
src/lib/mha-timeline.ts[2-8]
.claude/cloud-profile/skills/prompt/references/coding-workflow.md[21-27]
Skill: ledger
Skill: issues

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Closing `#WMGPSG` after completing only some of its follow-ups removes tracking for unresolved cloud-profile and Caring Contacts documentation decisions. The existing Caring Contacts decision still contradicts live code.

## Fix Focus Areas
- docs/outstanding-issues.md[995-995]
- docs/decisions/2026-09-26-remove-ward-flow-and-caring-contacts.md[1-8]
- .claude/cloud-profile/skills/prompt/references/coding-workflow.md[21-27]

## Recommended Fix
Check the original row’s remaining criteria and keep the bundled issue open or create explicit open follow-ups for verified unfinished owner decisions. Queue an immutable inbox request for a dated decision that supersedes the inaccurate Caring Contacts decision through the documented decision process. Preserve the completed fixes in the existing resolution, then reconcile the follow-ups and regenerate the issue snapshot through the dedicated ledger workflow.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Older calculator copies lose tracking ✓ Resolved
Description
The #1WAA0Z resolution verifies the On Call screens but does not address the same task's possible
dead calculator mockups. The production calculator route imports only the search page while older
calculator components remain exported in a separate tree, so their recheck disappears from the open
ledger.
Code

docs/outstanding-issues.md[999]

+| #1WAA0Z <!-- issue-ulid:01M4T65ZAJ1WAA0ZT0K247WJPJ --> | task | Possible dead code: older calculator mockups (audit M5-2) and On Call Education, Compliance and Logistics screens said to be unreachable (audit L4D-05) | Verified On Call Education, Compliance, and Logistics components remain live via calendar event routing and check:dead-code-candidate. | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: On Call verification was accepted without separately
resolving older calculator mockups.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The resolved row addresses only On Call. The older calculator exports remain separate from the
components used by mockup routes, and the repository audit identifies those exports as lacking
production route importers.

docs/outstanding-issues.md[999-999]
src/components/calculators/index.ts[1-7]
src/app/(search-app)/calculators/search/page.tsx[1-4]
src/app/mockups/calculators-bedside-sheet/page.tsx[1-3]
docs/audit/full-repository-audit-2026-09-02.md[1830-1830]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The On Call verification closes #1WAA0Z without resolving its separate older-calculator-mockup recheck.
## Fix Focus Areas
- docs/outstanding-issues.md[999-999]
- src/components/calculators/index.ts[1-7]
## Recommended Fix
Keep the calculator portion open or split it into a new open task. Verify the older components with the dead-code-candidate procedure before deciding whether to retain or remove them, then regenerate the snapshot.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


3. Dead-code cleanup disappears too early ✓ Resolved
Description
The resolution for #08216B documents the clinical-math calculator fixes but closes the entire PR
3538 cleanup task, which also covers an unused proxy route, recalculation script, development pages,
and unwired tools. Because the authenticated /api/proxy route still exists on 17 October, the
remaining work is no longer tracked as open for verification or removal when the 30-day window ends
on 13 November.
Code

docs/outstanding-issues.md[993]

+| #08216B <!-- issue-ulid:01M4ZM796108216B8VGP235CHK --> | task | Remove PR 3538 leftovers once the 30-day dead-code window passes (after 13 Nov 2026) | Implemented Devine IBW and Adjusted Body Weight guidance in calculateCockcroftGault (renal.ts), aligned the >= 1.2 mmol/L lithium toxic boundary, clarified >= 2.0 mmol/L severe toxicity vs haemodialysis clinical thresholds, and updated proportional lithium dose rounding to 125 mg Australian scored-tablet increments (lithium.ts, types.ts, tests/clinical-math-calculators.test.ts, tests/clinical-math-bounds.test.ts). | 2026-10-16 |
Relevance

● Weak

Exact precedent rejected this finding: #08216B’s calculator fixes were accepted despite deferred
dead-code cleanup.

PR-#3573

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
The original task includes the proxy route, script, pages, and unwired components alongside the
calculators, but the new resolution describes only calculator changes and the applied request marks
the broader task done. The authenticated proxy route still returns a placeholder response,
demonstrating that at least one deferred obligation remains; the issues skill requires unresolved
follow-ups to stay in the durable register and corrections to use new immutable requests.

docs/outstanding-issues.md[993-993]
docs/outstanding-issues-inbox/applied/5de9fe1e-9893-470c-b040-6537874b7b86.json[5-10]
src/app/api/proxy/route.ts[1-22]
docs/outstanding-issues-inbox/applied/0a3b873b-ce2c-486b-ab9c-b364129022e9.json[8-13]
src/app/api/proxy/route.ts[8-21]
scripts/recalculate-answer-support-labels.ts[1-21]
Skill: issues

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Closing #08216B after the clinical-math fixes removes its remaining dead-code and unwired-tool work from the open ledger, despite the deferred cleanup window.

## Fix Focus Areas
- docs/outstanding-issues.md[993-993]
- docs/outstanding-issues-inbox/applied/5de9fe1e-9893-470c-b040-6537874b7b86.json[5-10]

## Recommended Fix
Preserve the completed clinical-math work, but submit a new immutable inbox request that keeps every remaining cleanup obligation open, with post-13-November timing and verification criteria. Reconcile and regenerate the issue snapshot through the dedicated fresh-base ledger workflow; do not edit the applied request or canonical ledger by hand.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Qodo Logo

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label Oct 17, 2026
@qodo-code-review

Copy link
Copy Markdown
Contributor

PR Summary by Qodo

Reconcile 21 issue requests and record three landed-PR proofs

📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Reconcile 21 inbox requests, leaving 108 open issues and none pending.
Diagram

graph TD
  Inbox["Issue inbox"] --> Reconcile["Reconciliation"] --> Ledger[("Issue ledger")]
  Reconcile --> Snapshot[("Issue snapshot")]
  Proofs["Landed proofs"] --> Awareness[("Awareness snapshot")] --> Index["Review index"]
Loading
High-Level Assessment

Use the existing inbox reconciliation and immutable review-record workflow. Directly editing the ledger or replacing individual proof records would weaken the audit trail without simplifying this documentation-only change.

Files changed (28) +122 / -93

Documentation (28) +122 / -93
outstanding-issues-snapshot.jsonSynchronize reconciled issue counts and open items +70/-79

Synchronize reconciled issue counts and open items

• Reflects 108 open, 796 resolved, and zero pending issues. Adds follow-up tasks, removes resolved items, and lowers the remaining PDF-table issue to P2.

data/outstanding-issues-snapshot.json

repo-awareness-snapshot.jsonRecord three landed-PR proofs in repository awareness +25/-1

Record three landed-PR proofs in repository awareness

• Adds squash-merge verification for PRs #3567, #3570, and #3573. Also corrects the scope of an existing prlanded-skill record.

data/repo-awareness-snapshot.json

branch-review-index.mdIndex three new landed-PR review records +7/-4

Index three new landed-PR review records

• Adds links for the three proofs and raises the record count from 708 to 711.

docs/branch-review-index.md

05e48734fb477ce17ef2f6b85df92af8aaf4e7c8281586c9e87ea8f873af629a.record.mdPreserve PR #3573 landing proof +1/-0

Preserve PR #3573 landing proof

• Records squash-merge verification using an empty two-dot diff and matching stable patch IDs.

docs/branch-review-records/05e48734fb477ce17ef2f6b85df92af8aaf4e7c8281586c9e87ea8f873af629a.record.md

5c2377bab5fb02f7ed3bd95bba8059a37e04c6fd22d90c1d718f6cb3e7771bda.record.mdPreserve PR #3567 landing proof +1/-0

Preserve PR #3567 landing proof

• Records the squash merge and byte-for-byte match across its 68 non-snapshot files.

docs/branch-review-records/5c2377bab5fb02f7ed3bd95bba8059a37e04c6fd22d90c1d718f6cb3e7771bda.record.md

a7be2760026da4bc040fa90bf847382bdcded2a8a7510ceaf7be4ac49c042211.record.mdPreserve PR #3570 landing proof +1/-0

Preserve PR #3570 landing proof

• Records squash-merge verification through matching stable patch IDs.

docs/branch-review-records/a7be2760026da4bc040fa90bf847382bdcded2a8a7510ceaf7be4ac49c042211.record.md

1ff7b52e-5911-435e-b807-7a9ff5602747.jsonArchive reindex-cleanup follow-up request +0/-0

Archive reindex-cleanup follow-up request

• Adds a P2 task to schedule superseded-storage cleanup when a generation commits.

docs/outstanding-issues-inbox/applied/1ff7b52e-5911-435e-b807-7a9ff5602747.json

389a777d-b0c5-495b-b65b-012424818c17.jsonArchive roster, teaching, and holiday resolution +0/-0

Archive roster, teaching, and holiday resolution

• Records completion of shift rendering, all-day session, and WA holiday follow-ups.

docs/outstanding-issues-inbox/applied/389a777d-b0c5-495b-b65b-012424818c17.json

43a957c6-eee9-45af-b9ce-fc850ab0308b.jsonArchive superseded admin-pilot update +0/-0

Archive superseded admin-pilot update

• Retains the earlier proposed detail update for the PR #3546 review follow-up; a separate cancellation supersedes it.

docs/outstanding-issues-inbox/applied/43a957c6-eee9-45af-b9ce-fc850ab0308b.json

52b311f2-1e3d-4a6e-82a0-1e503dfcc99c.jsonArchive test-guard resolution +0/-0

Archive test-guard resolution

• Records completion of Python-test coverage, parameterized-case counting, and mass-skip detection.

docs/outstanding-issues-inbox/applied/52b311f2-1e3d-4a6e-82a0-1e503dfcc99c.json

5d7ae72b-9125-4b0c-9a0e-8d85023a1524.jsonArchive native-PDF provenance follow-up request +0/-0

Archive native-PDF provenance follow-up request

• Captures the held provenance and pre-claim refusal proposals for separate consideration after PR #3546.

docs/outstanding-issues-inbox/applied/5d7ae72b-9125-4b0c-9a0e-8d85023a1524.json

5de9fe1e-9893-470c-b040-6537874b7b86.jsonArchive clinical-calculator resolution +0/-0

Archive clinical-calculator resolution

• Records renal-weight guidance and lithium threshold and dose-rounding changes against the older PR #3538 task.

docs/outstanding-issues-inbox/applied/5de9fe1e-9893-470c-b040-6537874b7b86.json

6aec8cab-618e-4533-bf70-1d871fe03323.jsonArchive PR #3546 review follow-up request +0/-0

Archive PR #3546 review follow-up request

• Captures held XLSX, admin-pilot accessibility, and retrieval-canary review items.

docs/outstanding-issues-inbox/applied/6aec8cab-618e-4533-bf70-1d871fe03323.json

737051c7-396c-40c0-9b0b-8e1d7c1a38fb.jsonArchive WA form wording resolution +0/-0

Archive WA form wording resolution

• Records corrected Form 6B wording and non-statutory branding for the unwired print component.

docs/outstanding-issues-inbox/applied/737051c7-396c-40c0-9b0b-8e1d7c1a38fb.json

8c549632-5423-4986-9ef0-4734ad5f8a90.jsonArchive CME claim-pack wiring request +0/-0

Archive CME claim-pack wiring request

• Adds a P3 task to make the existing claim-pack button reachable to clinicians.

docs/outstanding-issues-inbox/applied/8c549632-5423-4986-9ef0-4734ad5f8a90.json

8d130a15-f473-49ef-8fcc-50daca539ad6.jsonArchive documentation-governance resolution +0/-0

Archive documentation-governance resolution

• Records encoding repairs, RAG skill safeguards, and clarification of the SSO button height.

docs/outstanding-issues-inbox/applied/8d130a15-f473-49ef-8fcc-50daca539ad6.json

8e9cd355-c5a2-4aa8-ae30-9e477e0977cb.jsonArchive native-PDF provenance resolution +0/-0

Archive native-PDF provenance resolution

• Records shipped provenance and the decision not to add a pre-claim 503 refusal.

docs/outstanding-issues-inbox/applied/8e9cd355-c5a2-4aa8-ae30-9e477e0977cb.json

99b5370e-305b-47f4-b0b5-5c81c37f39d3.jsonArchive PDF-table issue reassessment +0/-0

Archive PDF-table issue reassessment

• Lowers the issue to P2 after fixes, while documenting a narrower remaining column-aligned text risk.

docs/outstanding-issues-inbox/applied/99b5370e-305b-47f4-b0b5-5c81c37f39d3.json

aebceba4-b600-4d60-94d1-901c7112bc21.jsonArchive hostile-document end-to-end test request +0/-0

Archive hostile-document end-to-end test request

• Adds a P2 task to test uploaded hostile documents through ingestion, retrieval, and answers.

docs/outstanding-issues-inbox/applied/aebceba4-b600-4d60-94d1-901c7112bc21.json

b8d8175c-652e-47e6-88d0-e45b1fb11971.jsonCancel superseded admin-pilot update +0/-0

Cancel superseded admin-pilot update

• Cancels the earlier update request in favor of a newer assessment after accessibility tests landed.

docs/outstanding-issues-inbox/applied/b8d8175c-652e-47e6-88d0-e45b1fb11971.json

ba9e356d-1197-4ae8-af67-19e313a89275.jsonArchive result-list virtualization resolution +0/-0

Archive result-list virtualization resolution

• Attributes completion of document-search and differential-result virtualization to PR #3567.

docs/outstanding-issues-inbox/applied/ba9e356d-1197-4ae8-af67-19e313a89275.json

cbd0a3f9-af52-4247-b61f-6541acf527f8.jsonArchive Railway secret-provisioning request +0/-0

Archive Railway secret-provisioning request

• Adds a P2, owner-authorized task to provision PROXY_AUTH on the correct service.

docs/outstanding-issues-inbox/applied/cbd0a3f9-af52-4247-b61f-6541acf527f8.json

d72ccad1-e17d-4928-a9c4-70a53cb9e67c.jsonArchive current admin-pilot accessibility assessment +0/-0

Archive current admin-pilot accessibility assessment

• Narrows the remaining follow-up to human screen-reader and visual checks against the current client.

docs/outstanding-issues-inbox/applied/d72ccad1-e17d-4928-a9c4-70a53cb9e67c.json

da9d4a0c-94e8-40e1-ba5d-73a3b0d8dcb6.jsonArchive durable teaching-assessment request +0/-0

Archive durable teaching-assessment request

• Adds a P2 task for authenticated assessment storage and supervisor-booking endpoints.

docs/outstanding-issues-inbox/applied/da9d4a0c-94e8-40e1-ba5d-73a3b0d8dcb6.json

ef7e6803-0600-4348-9b43-344fd4ff4b1a.jsonArchive training-milestone integration request +0/-0

Archive training-milestone integration request

• Adds a P2 task to connect the CPD Training page to owner-scoped milestone storage.

docs/outstanding-issues-inbox/applied/ef7e6803-0600-4348-9b43-344fd4ff4b1a.json

f3352f44-2b82-4c14-b91a-c4485c7bd738.jsonArchive safe-number concurrency resolution +0/-0

Archive safe-number concurrency resolution

• Records verification that stale-write checks and conflict recovery already exist on main.

docs/outstanding-issues-inbox/applied/f3352f44-2b82-4c14-b91a-c4485c7bd738.json

f6e8e317-6b61-4b52-9910-fa15b5dd9aa4.jsonArchive On Call dead-code reassessment +0/-0

Archive On Call dead-code reassessment

• Records verification that the questioned On Call sections remain reachable.

docs/outstanding-issues-inbox/applied/f6e8e317-6b61-4b52-9910-fa15b5dd9aa4.json

outstanding-issues.mdApply inbox outcomes to the canonical issue ledger +17/-9

Apply inbox outcomes to the canonical issue ledger

• Archives nine resolved issues, adds eight tasks, updates the admin-pilot follow-up, and narrows the remaining PDF-table issue. The resulting ledger has 108 open issues and no pending requests.

docs/outstanding-issues.md

@qodo-code-review

Copy link
Copy Markdown
Contributor

Qodo Fixer

No findings are available for this PR yet. Findings appear here once Qodo has reviewed the PR.

Comment thread docs/outstanding-issues.md Resolved
Comment thread docs/outstanding-issues.md Resolved

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 11bee2d17e

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/outstanding-issues.md Resolved
Comment thread docs/outstanding-issues.md Resolved
@codeant-ai

codeant-ai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

🏁 CodeAnt Quality Gate Results

Commit: 7aac5a04
Scan Time: 2026-10-17 13:40:42 UTC

✅ Overall Status: PASSED

Quality Gate Details

Quality Gate Status Details
Secrets ✅ PASSED 0 secrets found
Duplicate Code ✅ PASSED 0.0% duplicated
SAST ✅ PASSED No security issues
Bugs ✅ PASSED Rating S: No bugs
IAC ✅ PASSED No IAC issues

View Full Results

@codeant-ai

codeant-ai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

CodeAnt PR Risk: Low Risk

  • The PR appears safe to merge; its changes are limited to issue-ledger snapshots and review records, with no application behavior changed.

Assessed commit: 7aac5a0498c0

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit 964eff3

@gitar-bot

gitar-bot Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor
Code Review ✅ Approved 2 closed / 2 findings

🔴 High risk · Risk could not be assessed, so high risk was applied as a precaution.

Reconciles the pending inbox requests into the outstanding-issues ledger and records prlanded proofs for PRs #3567, #3570, and #3573, with follow-up requests queued for the unfinished parts of #08216B, #WMGPSG, and #1WAA0Z. Changes requested: #WFYDV6 was closed as a P1 statutory-text issue without legal/clinical sign-off, and the wa-mha-form-print.tsx component still carries unverified statutory content, so the issue should stay open or a P1 follow-up should be opened.

✅ 2 closed
✅ Bug: Multi-part issues closed when only some parts are done; open work lost

📄 docs/outstanding-issues.md:993 📄 docs/outstanding-issues.md:995 📄 docs/outstanding-issues.md:999 📄 data/outstanding-issues-snapshot.json:7-13
Several resolution rows close a whole issue, but their own outcome text covers only part of it. Checked against the current tree:

  • #08216B: the outcome covers only the clinical-math calculators. src/app/api/proxy/route.ts, scripts/recalculate-answer-support-labels.ts and the src/app/mockups/development/* pages still exist. The unwired safe-number editor, roster, QR helper and note editor (which still needs a privacy review) are not mentioned.
  • #WMGPSG: the outcome covers items 3 and 6 and part of item 1. docs/outstanding-issues.md:15 still has the corrupted arrow (ΓåÆ). No superseding Caring Contacts decision was added next to docs/decisions/2026-09-26-remove-ward-flow-and-caring-contacts.md (item 4). Item 5, the admin renewals wording decision, is not addressed. Item 2 has no outcome either.
  • #1WAA0Z: the outcome checks only the On Call screens. The older calculator mockups (audit M5-2) are not covered.

Once these rows sit in the archive, the remaining work drops off the open queue and the /issues session memory. Fix: either reopen these rows, or split the unfinished parts into new follow-up open rows (as was done for the #3570 items) before reconciling. Then update the counts in data/outstanding-issues-snapshot.json.

Closed: Bug: P1 statutory-text issue #WFYDV6 closed without legal/clinical sign-off

📄 docs/outstanding-issues.md:994 📄 data/outstanding-issues-snapshot.json:8
The #WFYDV6 row said to delete wa-mha-form-print.tsx after 13 Nov "unless legal and clinical sign-off is obtained first". It also listed unverified section lists, the 7-day pre-expiry examination, and copy recipients. The resolution only says the Form 6B wording and branding were changed, and that the file is kept. It records no sign-off and does not address the other unverified statutory content. The component still exists with a 'Non-Statutory Study Layout' header.

Closing this removes a P1 clinical-governance gate from the queue while unverified statutory text stays in the repo. Fix: keep #WFYDV6 open, or open a P1 follow-up for the sign-off or the deletion after 13 Nov.

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         

Important

Your trial ends in 4 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

@qodo-code-review

Copy link
Copy Markdown
Contributor

Code review by qodo was updated up to the latest commit 7aac5a0

@BigSimmo

Copy link
Copy Markdown
Owner Author

Proof note (sweep 17 Oct): the #3570 prlanded record added here (docs/branch-review-records/a7be2760…record.md) names branch claude/reconcile-inbox-20261016; gh shows #3570's head branch was claude/reconcile-ledger-20261016 (merge fa52677, head d8eefbb — SHAs correct). Not hand-edited; tracked as a P3 ledger-correction request in #3616.

BigSimmo added a commit that referenced this pull request Oct 17, 2026
…, durable dual-sign-off, bookings, and chunking regex hoist (#GR72PF, #XNAHY2, #AD9JC6, #AW8SRK, #54N8ZN, #YETFBJ, #BGDVPD) (#3614)

* feat(cme,teaching,rag): wire claim-pack surface, registrar milestones, durable dual-sign-off, bookings, and chunking regex hoist (#GR72PF, #XNAHY2, #AD9JC6, #AW8SRK, #54N8ZN, #YETFBJ, #BGDVPD)

* chore(issues): queue follow-up inbox items from PR #3609 review (#08216B, #WFYDV6, #WMGPSG, #1WAA0Z)

* chore(issues,ledger): queue Stage 2 done/update inbox records and PR #3609 prlanded record

* fix(tests): align eslint-disable comments in Stage 2 test files

* fix: 8 findings — Authorize booking creation and access; Authorize train

- Authorize booking creation and access
- Authorize trainees before booking
- Guard cancellation against stale state
- Scope open booking availability
- Add optimistic assessment concurrency protection
- Validate IDs and sanitize database errors
- Push booking filters into durable queries
- Always enforce teaching rate limits

* fix: 7 findings — Stop mirroring ordinary milestones as EPAs; Deduplicat

- Stop mirroring ordinary milestones as EPAs
- Deduplicate milestones by stable identity
- Apply the current rotation FTE target
- Remove fabricated rotation deadlines
- Use the current rotation deadline
- Avoid invented WBA totals
- Check registrar synchronization results

* fix: 2 findings — Preserve registrar fetch failures; Avoid duplicate reg

- Preserve registrar fetch failures
- Avoid duplicate registrar milestone fetches

* fix(teaching,cme): repair Qodo auto-fix build/format breaks and address review threads

Teaching assessments:
- Declare range() on the registrar_assessments filter builder and page booking
  lists instead of an undeclared, row-dropping .limit(500) (TS2339 in Build).
- Supervisor access via work_can('assessments.review') instead of a
  teaching_member_roles 'supervisor' role the schema does not allow.
- create_draft / supervisor_sign_off verify trainee membership and that the
  named supervisor can review that trainee (no arbitrary sign-off accounts).
- Re-check overlaps after inserting a slot; the later of a concurrent pair
  withdraws itself.
- In-memory stores mint UUIDs to match the uuid route validation; tests mock
  the always-on rate limit and the membership/work_can surface.

CME training:
- Generic registrar milestones (exams, psychotherapy cases, CME mirrors) no
  longer appear as EPAs; WBA counts stay unrecorded rather than invented.
- Rotation deadline is the current rotation's end (Perth date) or none.
- Restore write mirroring for real clients (Qodo had disabled it) while
  checking each sync result; edit/delete fall back to registrar-only rows.
- Prettier on the four files the bot commits left unformatted.

---------

Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🟠 Medium blast radius size:L This PR changes 100-499 lines, ignoring generated files 🕐 20-40 Minutes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant