Skip to content

feat(rbac): report:import and signatory:read|manage for partner-lab imports (1.4.0) - #12

Merged
BackStacked merged 1 commit into
mainfrom
claude/project-thread-86xth5
Nov 9, 2026
Merged

BackStacked merged 1 commit into
mainfrom
claude/project-thread-86xth5

Conversation

@BackStacked

Copy link
Copy Markdown
Contributor

Requested by Himanshu · project thread

What and why

The api is getting partner-lab PDF imports (report-reader: Hy Patho Lab, Clinova Pathlabs). Every permission the api checks must exist in PERMISSIONS, so this adds:

permission allows granted by
report:import upload a partner PDF, match it to a booking, apply its results admin, pathologist (via report:*), technician
signatory:read list the partner signature registry admin, pathologist, technician
signatory:manage name a partner signature, edit or remove one admin, pathologist

The brief called them reports.import / signatories.manage. They are written here in this kit's resource:action form, because permissionMatches splits on :. A dotted name would never match role wildcards like report:*. Imported results still need report:verify before release. That part is unchanged.

Version 1.4.0 (new permissions, nothing renamed).

Type

  • Feature

Checklist

  • npm run typecheck passes
  • npm test: 131 passed, 0 failed (3 new rbac checks)
  • Docs updated (README table, AGENTS.md, llms-full.txt)
  • No real patient data, contact details or signatures

Generated by Claude Code

…mports (1.4.0)

The api imports partner-lab PDF reports (report-reader) and keeps a registry of
partner signatures. New permissions, following the resource:action form so role
wildcards cover them:

- report:import — upload a partner PDF, match it to a booking, apply its results
- signatory:read — list the partner signature registry
- signatory:manage — name a partner signature, edit or remove one

admin (report:*, signatory:*), pathologist (report:*, signatory:*) and technician
(report:import, signatory:read) get them. Tests, README and llms-full.txt updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jBohmYiwjQLWmN2duiZcA
@BackStacked BackStacked self-assigned this Nov 9, 2026
@BackStacked
BackStacked merged commit bd49245 into main Nov 9, 2026
1 check passed
@BackStacked
BackStacked deleted the claude/project-thread-86xth5 branch November 9, 2026 11:45
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