feat(docs): replay the Relay tutorial from its page - #1609
Conversation
A page that builds one file across several blocks, like the Relay contract, can now mark each later block test-append instead of asking the runner to substitute or assemble it. Adds the relay toolset the Relay tutorial replays against. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
The page is now the specification: the contract blocks append to registry.yaml, the fingerprint and inventory digest it shows are the values a reader's run prints, and the full record answer and audit line prove the address and field values never leave. Retires check-relay-tutorial.sh and the fence helper it was the last user of. query-relay-client is skipped until a replay can serve the client package and a running Relay. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
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: 8cd81f886b
ℹ️ 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".
Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3f43352108
ℹ️ 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".
…the replay A subset excerpt passed even when Relay also returned legalForm, and it never checked meta.selectedFields. The narrowed answer is now a full expectation, like the full answer above it. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Appending with >> creates a missing file, so a block aimed at a misspelled path passed while the later command read the file the page meant. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Fourth product on the page-as-spec runner (after BReg #1572, Casework #1573, Evidence #1602). Replaces
check-relay-tutorial.shwithnode scripts/run-tutorial.mjs --gate relay.Runner
test-append: a titled block the page asks the reader to add to the end of a file. The Relay contract is written across eleven blocks: the first istest-file, the other ten aretest-append. Same error discipline as the other annotations (not on sh fences, needstitle=, no diff blocks, one role per block).relaytoolset (relay,relayctl;RELAY_BIN/RELAYCTL_BIN,RELAY_TUTORIAL_CARGO_PROFILE), with pattern tests against paths likecd work/relayandrelay.yaml.gate.test.mjsfixtures use the[^\w./-]command boundary from feat(docs): replay the Evidence tutorials with the page runner #1602.Page (
publish-governed-sqlite-registry)sha256:<...>placeholders the old gate substituted. The prose says what to do when a reader's value differs.test-expect(it was abridged), so the absence ofregisteredAddressis checked, not just stated. The narrowed answer checksdomainDataexactly; the widen and unknown-record problems aretest-expect.test-excerptwith the fullrecordobject, which proves no field value is in it.generatedIdentificationblock it leaves out.test-backgroundfence on the page's own port.Other pages
query-relay-clientrunsrelay, so the gate requires a declaration. It is skipped with a reason: it installs the released client package at the running Relay's version and needs the Relay from the first tutorial still serving. Making it replayable needs the Evidence-style client-wheel setup plus a cross-page background service; worth its own change.CI
relay-v2-contractsjob gets Node,npm ci, the runner tests, the dry run, a toolset build, and the replay.RELAY_TUTORIAL_INPUTSnow lists the runner and uses glob matching, with a frontmatter parity test like Evidence's.check-relay-tutorial.sh, its test, andevidence-tutorial-fence.sh(Relay was its last user).Verification
node scripts/run-tutorial.mjs --gate relaylocally (macOS, debug binaries): PASS. WithregisteredAddressadded to the shown record, it fails at$.data.domainData: missing key "registeredAddress".npm test621/621;check:markdown,check:content,check:style,check:draft-links;check-evidence-anchors; dry runs for every gate;test_ci_changes121/121; actionlint.