feat(docs): replay the Discovery tutorial from its page - #1612
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4ec88042cf
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bf8739eb31
ℹ️ 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".
bf8739e to
fd89a5c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fd89a5c451
ℹ️ 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".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0653fa3274
ℹ️ 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".
cc54b0d to
e88b59c
Compare
The page now walks the reader through each step the product runner used to hide: copy the operator project, check it offline, serve the provider descriptions, build, serve the index, resolve, and search. Every answer is pinned on the page, so the gate is the page. The native client handoff becomes prose with a link to the client reference; the page no longer claims a result that came from unrelated test fixtures. products/discovery/scripts/test-adopter-tutorial.sh stays as the product's own journey gate. A word right after `=` is a value such as serviceKind=relay, not a command, so no toolset claims a page for it. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…places The tutorial page is now replayed by the page-as-spec runner, test-http.sh already runs the native handoff journey, and the client-bindings job runs the Node and Python binding tests. The one check only this script ran was the Discovery binding tests on macOS, which the macOS contributor workflow now runs directly after preparing the AWS-LC FIPS runtime library. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…e shell The page built with plain cargo build, which leaves the AWS-LC FIPS library out of reach of the binaries on macOS, and it ran discoveryctl in a second shell that never had them on PATH. The build now goes through the repository's runtime-path helper, and the first shell runs every Discovery command while the second runs only Python and curl. The catalog revision is described as the semantic digest it is, with originContentDigest named for exact-byte changes, and DoD 16.8 cites the native journey test that exercises selection, trust, and native handoff. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
A toolset built from source served its binaries by symlink, so on macOS they could not find the AWS-LC FIPS dylib Cargo supplies only to the processes it launches. The toolset now reads the build messages for that directory and serves each binary through a wrapper that sets DYLD_FALLBACK_LIBRARY_PATH itself, which survives protected shells. The Discovery verification record names the page gate that replaced the retired adopter script. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…n macOS The Relay page presents runtime.yaml as the file relayctl init writes, so the reader reads it with cat and the gate compares all of it. The nightly macOS job replays the Discovery tutorial built from source, the path the runner serves with the AWS-LC FIPS runtime library. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…ified package discoveryctl build became discoveryctl package, and Discovery now starts from a verified package named by absolute paths. The page runs the package step, pins the stable catalog and mapping revisions while leaving the per-run package digest as a placeholder, and says why that digest changes. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
e88b59c to
6f17a10
Compare
Replaces
docs/site/scripts/check-discovery-tutorial.shwith the page-as-spec runner:node docs/site/scripts/run-tutorial.mjs --gate discoverynow replayspublish-and-consume-discovery-index.mdxfrom a copy of the checkout.Stacked on #1609 (Relay). Until that merges, this diff also shows its three commits; only the last two commits belong here.
What changed
The tutorial is rewritten for a human reader. The single wrapper script that hid about 13 actions is gone. The reader copies the operator project, reads
origins.yamland the mapping, runsdiscoveryctl checkanddiscoveryctl buildagainst a local publication server, serves the index, and runs eachcurlcall themselves. Every command's output is on the page and is checked by the gate.The native-client handoff is now prose (decision D1a). The page no longer shows
[handoff]lines. Those came fromnative_journey.rsover unrelated fixtures, so they did not describe what the reader had just built. The page explains what a selection holds, says that trust and invocation stay outside Discovery, and links the unified client reference.verify_outputs.pyis no longer on the page (decision D2a). The raw JSON responses are pinned withtest-expect;originFetchedAtis a placeholder.Prerequisites are smaller. Bash, Node and npm are no longer needed, because the page no longer runs the language bindings.
Discovery toolset.
toolsets.mjsgainsdiscovery. Every toolset's command regex now also excludes=before a name, so a query value such asserviceKind=relayis not claimed as a Relay command (tests first, intoolsets.test.mjs).CI. The
discovery-contractsjob getsnpm ci, the runner tests, the dry run and the replay, reusing the binaries the adopter-tutorial step already built.ci_changes.pyroutes the runner inputs and the page to that job.Removed:
check-discovery-tutorial.shand its test, plusproducts/discovery/scripts/test-adopter-tutorial.shandverify_outputs.py(second commit). Everything the adopter script checked is covered elsewhere:test-http.shruns the native handoff journey;client-bindingsjob runs the Node and Python binding tests.The one check only that script ran was the Discovery binding tests on macOS. The nightly macOS contributor workflow now runs them directly, after
registry_prepare_cargo_runtime. DoD 16.7 drops the script from its evidence, and 16.8 citesrun-tutorial.mjsinstead.publication_server.pystays, because the page starts it.Review notes
This is docs and CI only; no runtime code changed. The
--allow-loopbackexplanation on the page was checked againstis_valid_endpoint_urlinregistry-discovery-profile: without the flag, only https endpoints are accepted.Verification
catalogRevisionmakes it fail.npm testin docs/site: 619 pass. Runner tests: 91 pass.products/discovery/scripts/check-contracts.shpasses.scripts/test_cargo_runtime_script_contracts.pypasses.python3 -m unittest discover -s .github/scripts -p test_ci_changes.pypasses (123 tests). actionlint is clean.Codex round 1
scripts/cargo-runtime-library-path.sh. A plaincargo buildleavesdiscoveryctlunable to load AWS-LC FIPS on macOS; I reproduced that. The first shell now runs every Discovery command. Before,discoveryctl buildran in a second shell without the binaries onPATH.originContentDigestas the value for exact-byte changes.test-appendfindings: fixed on feat(docs): replay the Relay tutorial from its page #1609.