Skip to content

[codex] reshape onboarding tutorials#167

Open
jeremi wants to merge 2 commits into
mainfrom
codex/onboarding-ladder-supabase-style
Open

[codex] reshape onboarding tutorials#167
jeremi wants to merge 2 commits into
mainfrom
codex/onboarding-ladder-supabase-style

Conversation

@jeremi

@jeremi jeremi commented Jun 28, 2026

Copy link
Copy Markdown
Member

Summary

This PR reshapes the Registry Stack onboarding ladder around a smaller Supabase-style local flow:

  • expands the generated registryctl sample into a three-table benefits workbook and aligns Relay config, smoke checks, Bruno generation, and generated READMEs with that model
  • rewrites the first two core tutorials around running a protected local API and evaluating a claim with Notary
  • reframes standalone Notary as a Registry Data API-specific path, with custom HTTP/FHIR/DHIS2/OpenCRVS sources routed through source-adapter or named integration tutorials
  • adds a separate DHIS2 claim-check tutorial and removes the embedded DHIS2 flow from See it live
  • cleans public docs language so OpenFn is no longer presented as the current source-adapter lane; remaining openfn references are marked as legacy runtime/CLI names where the lab still requires them

Validation

  • cargo fmt --all --check
  • cargo test -p registryctl --locked
  • npm ci --ignore-scripts
  • npm run generate
  • npm run check:content
  • npm run check:markdown
  • npm run check:tutorial:dry-run
  • npm run check:config-vocabulary
  • npm run check:docset
  • npm run build
  • npm run check:openapi (passed with existing OpenAPI lint warnings)
  • npm run check:llms:built
  • npm run check:svg
  • npm run check:links:built
  • git diff --cached --check

Known follow-ups / risks

  • The DHIS2 tutorial still preserves literal legacy lab names such as OPENFN_*, openfn-dhis2-sidecar, and output/dhis2-openfn/ because renaming runnable lab artifacts is a separate cleanup.
  • npm run check:style, npm run check:style:fixtures, and npm run build:archives were not completed because Vale/archive generation hung in this environment. npm run check:seo:built was not counted as passed because archived HTML was not built.
  • The full npm run check was not completed due to those Vale/archive blockers.

jeremi added 2 commits June 28, 2026 01:50
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
@jeremi jeremi marked this pull request as ready for review July 1, 2026 03:36

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

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

relay: include_relay.then_some(RelaySection {
config: "relay/config.yaml",
metadata: "relay/metadata.yaml",
metadata: None,

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 Preserve split metadata on existing Relay projects

When registryctl add notary --from local-relay is run against a project generated before this change, the existing relay/config.yaml still points at /etc/registry-relay/metadata.yaml, but add_notary_from_local_relay does not rewrite that config. Emitting metadata: None here drops the manifest hint that doctor uses to rewrite the host path, and the new compose template also no longer mounts the metadata file, so upgraded projects fail registryctl doctor or registryctl start after adding Notary. Preserve the existing Relay metadata path or migrate the config before removing it.

Useful? React with 👍 / 👎.

Comment on lines +70 to +71
legacy `OPENFN_*` variable names for this DHIS2 sidecar. To point the profile at another DHIS2
environment, set these values before you run the profile:

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 Mention the DHIS2 allow-list when changing hosts

When users follow this section for any DHIS2 host other than the public play instance, these exports are not sufficient: the sidecar still has allowed_base_urls pinned to https://play.im.dhis2.org/stable-2-43-0-1 in lab/config/source-adapter/dhis2-health-sidecar.yaml, so a private OPENFN_DHIS2_HOST_URL is rejected unless that allow-list is edited too. Add that requirement next to the environment-variable instructions so the private-deployment path actually works.

Useful? React with 👍 / 👎.

outcome="Registry Notary evaluating DHIS2 Tracker claims locally, with a programme participation SD-JWT VC issued from the evaluated results."
time="About 15 minutes after the container images build"
level="Existing system integration"
prerequisites={['Docker Compose 2.20+', 'just', 'A Registry Lab checkout with submodules', 'Network access to the DHIS2 play instance']}

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 Add missing generation tool prerequisites

This tutorial sends a fresh checkout through just generate, but the prerequisite list omits the tools that target requires: lab/justfile runs uv run scripts/generate-fixtures.py, and the generated-secret script runs under Python and shells out to openssl. Users who have Docker and just but not uv, python3, or openssl fail before any DHIS2 service starts, so list the same generation tools that the full lab tutorial already requires.

Useful? React with 👍 / 👎.

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