Skip to content

Catalog ids become MGPL strings (catalog-kit 2); env templates for patient links and UPI (0.1.6) - #38

Merged
BackStacked merged 1 commit into
mainfrom
claude/project-thread-w4wng5
Nov 12, 2026
Merged

BackStacked merged 1 commit into
mainfrom
claude/project-thread-w4wng5

Conversation

@BackStacked

Copy link
Copy Markdown
Contributor

This is handoff item F: move the api to catalog-kit 2.x (MGPL ids) as a planned step, not drift.

Breaking change

  • CatalogTest.id changes from Int! to ID!. It is now the MGPL id: MGPLT0001 for a test, MGPLP0001 for a profile, MGPLK0001 for a package.
  • New fields: kind: CatalogKind!, legacyId: Int (the old numeric id) and isPackage.
  • catalogTest(id: ID) accepts an MGPL id or the old numeric id. priceQuote accepts codes, MGPL ids or old ids.
  • isProfile is now true only for profiles. In 1.x it was true for any test with more than one parameter, so CBC counted.

Bookings, reports and bills store test codes, so no stored data changes.

Also

  • catalog-kit ^2.2.0, which is catalog-kit#14: 2.x plus the 1.2 narrative and Widal fixes, so nothing regresses.
  • client ^2.0.0 (client PR alongside).
  • deploy/production.env.example, .env.example and docs/09 now document PATIENT_LINK_SECRET, PATIENT_LINK_BASE_URL, MGPL_UPI_ID and MGPL_UPI_NAME.
  • New docs/10 section "Catalog ids". Schema, reference and llms are regenerated. Version 0.1.6.

Release order

  1. Merge catalog-kit#14, then tag catalog-kit v2.2.0.
  2. Merge the client PR, then tag client v2.0.0.
  3. Merge this PR, then tag api v0.1.6.
  4. Merge the dashboard PR, then tag dashboard v0.1.9.

CI here fails until steps 1 and 2 are published.

Checks

npm run typecheck. TEST_BACKENDS=pg npm test: 283 passed. The two new checks cover:

  • an MGPL id and kind, and lookup by MGPL id or old numeric id;
  • a profile gets an MGPLP id, and priceQuote accepts MGPL ids.

All the existing narrative and Widal checks pass on catalog-kit 2.2.0. MongoDB can't be downloaded in my container; CI runs both databases.



Generated by Claude Code

… env templates (0.1.6)

- CatalogTest.id is now the MGPL id (ID: MGPLT0001 / MGPLP0001 / MGPLK0001), with kind, legacyId and
  isPackage. catalogTest(id: ID) takes an MGPL id or the old numeric id; priceQuote takes MGPL ids too.
  isProfile now means kind profile. Stored bookings, reports and bills use codes: no data change.
- catalog-kit ^2.2.0 (2.x with the 1.2 narrative / Widal fixes), client ^2.0.0.
- deploy/production.env.example, .env.example and docs/09: PATIENT_LINK_*, MGPL_UPI_ID, MGPL_UPI_NAME.
- docs/10 "Catalog ids"; schema, reference and llms regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018jBohjC7uBfVPopxyZBtS1
@BackStacked BackStacked self-assigned this Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

The ci and docker failures are expected for now: npm ci stops with ETARGET because @mgpl-diagnostics/client@2.0.0 (and catalog-kit 2.2.0) are not published yet. Both checks should pass on a re-run once these are tagged in order: catalog-kit#14 → v2.2.0, client#20 → v1.12.1, client#21 → v2.0.0. Locally, TEST_BACKENDS=pg npm test passes 283 checks against the packed tarballs.


Generated by Claude Code

@BackStacked
BackStacked merged commit 2cce633 into main Nov 12, 2026
0 of 2 checks passed
@BackStacked
BackStacked deleted the claude/project-thread-w4wng5 branch November 12, 2026 07:01
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