Skip to content

docs(webchart): live teatea runbook findings + import zip_code fix#306

Merged
Taleef7 merged 1 commit into
mainfrom
docs/teatea-runbook-live-findings
Jul 17, 2026
Merged

docs(webchart): live teatea runbook findings + import zip_code fix#306
Taleef7 merged 1 commit into
mainfrom
docs/teatea-runbook-live-findings

Conversation

@Taleef7

@Taleef7 Taleef7 commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Ran the teatea trial runbook (docs/WEBCHART_TEATEA_RUNBOOK_2026-07-16.md) end-to-end as System Owner in the live instance. This records what we learned and fixes the one code issue it surfaced.

Findings

Client registration (§§2–3) is MIE-gated — proven, not assumed.

  • The SMART Backend Services client registry is the login_trusts table, behind the superuser-only JWT / Login-Trusts screen (?f=admin&s=jwt, ?f=admin&subfunc=login_trusts → "Super user access required").
  • WebChart "superuser" ≠ the SuperUser security role ≠ the Manage Login Trusts ACL — both were set on the account and the screen still gated. Superuser is an MIE-issued session unlock (master password) held by MIE's internal accounts.
  • RFC 7591 dynamic registration is off (/register + /oauth/register return the login HTML; no registration_endpoint). The Application-Entities editor is DICOM, not an OAuth registry.
  • A second independent research pass over the public mieweb/docs sources reached the same conclusion.
  • ⇒ Sharpened MIE ask recorded in runbook §3 + the Send the MIE unblock package (WebChart API contract questions) + record answers #254 answer log. §5 live evaluation is blocked behind this.

Seed contract verified live (§4) — generator fixed.

  • teatea's Chart Data CSV API requires patients.zip_code (12345/12345-6789) on every row — the sole cause of the first Validate run's 451 issues. Partition MR and all patients.* columns validate.
  • scripts/generate-webchart-import.ts now emits a synthetic demo ZIP. Typecheck green.

Scope

Docs + generator tooling only. No runtime, schema, dependency, PHI, or Outcome Status change (ADR-008). The synthetic upload + pnpm evaluate:webchart-live are intentionally deferred until MIE unblocks registration (no point seeding a population we can't yet read over FHIR).

Owner step

Send MIE the ask in docs/WEBCHART_TEATEA_RUNBOOK_2026-07-16.md §3 "MIE ask" (register workwell-backend with our hosted JWKS, or grant superuser + the FHIR App Editor).

🤖 Generated with Claude Code

Executed the teatea trial runbook end-to-end as System Owner. Two outcomes:

- Client registration (runbook §§2-3) is MIE-gated: the login_trusts registry is
  behind the superuser-only JWT screen; WebChart "superuser" is neither the SuperUser
  role nor the Manage Login Trusts ACL (both set, still gated) but an MIE-issued
  session unlock; RFC 7591 is off; Application-Entities is DICOM not OAuth. Recorded
  the finding + sharpened MIE ask in the runbook §3 and the #254 answer log; §5 live
  evaluation is blocked behind it.
- Seed contract verified live: teatea's Chart Data CSV API requires patients.zip_code
  (12345/12345-6789) on every row (the cause of the first validate run's 451 issues);
  partition MR + all patients.* columns validate. generate-webchart-import.ts now emits
  a synthetic demo ZIP.

Docs + generator tooling only; no runtime, schema, dependency, PHI, or Outcome Status
change (ADR-008). Typecheck green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

@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: de6c43e84c

ℹ️ 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 on lines +118 to +120
> `?f=admin&subfunc=login_trusts`). Please either **(1)** grant my System Owner account SMART/FHIR
> app-registration access — the MIE-issued Super User unlock password + the FHIR App Editor — or
> **(2)** register this SMART **Backend Services** client for me:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Remove the request for MIE's superuser unlock password

If the owner sends this template as directed, it asks MIE to disclose a privileged master/unlock credential that this same runbook says is reserved for MIE's internal accounts. That grants substantially broader access than the required SMART client registration and creates an avoidable credential-sharing risk; request vendor-side registration or a supported least-privilege delegated app-registration role instead.

Useful? React with 👍 / 👎.

Comment on lines +230 to +231
- **2026-07-16 (teatea trial — live owner walkthrough; runbook §§1–5 executed).** Ran the teatea
runbook end-to-end as System Owner. Findings:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Mark only the runbook sections that actually ran

The answer log says §§1–5 were executed end-to-end, but the same entry states that §3's auth probe and §5's live evaluation are blocked, while the journal says the actual upload was also deferred. Readers using this log as the integration source of truth could therefore treat pagination, FHIR representation, and evaluation as live-validated when they remain pending; describe this as a walkthrough with only §1 and §4 validation completed.

Useful? React with 👍 / 👎.

@Taleef7
Taleef7 merged commit 0fd37da into main Jul 17, 2026
4 checks passed
@Taleef7
Taleef7 deleted the docs/teatea-runbook-live-findings branch July 17, 2026 18:15
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.

1 participant