registrystack / registrystack/registry-stack

docs site gates: Relay tutorial gate second build and teardown, jq check, untested check scripts, digest churn, shell lint

Open
#894 1 comment 0 reactions 0 assignees View on GitHub
area:docs criticality:p3 triage:needs-implementation
Dominant language
Rust
Stars
2
Forks
0
Avg merge
2h 55m
Merged PRs (30d)
130

Description

## Context

Found during the review of PR #851 (#237, #291, #294, #788) in the docs site gates and scripts. None is a regression from the PR except where marked.

## Gaps

- `check-relay-tutorial.sh` builds with `--profile ci` into a second cold target directory inside the `relay-v2-contracts` job, whose other steps build with the default profile, so the job pays two builds.
- `jq` is a gate dependency (`check-relay-tutorial.sh`) with no presence check; a missing `jq` fails mid-run with a shell error.
- The final `kill -TERM -"$RELAY_PID"` in `check-relay-tutorial.sh` has no `|| true` (the trap's copy does), so a Relay that already exited fails the gate under `set -e`; the curl fences the gate replays have no `--max-time`.
- `check-evidence-tutorials.sh` has pre-existing shellcheck SC2016 findings (13) and shfmt diffs (10 lines).
- Twelve `docs/site/scripts/*.mjs` checks have no paired `.test.mjs`: apply-archive-seo, build-archive, check-built-analytics, check-doc-frontmatter, check-docset, check-llms, check-svg-a11y, check-vale-fixtures, configuration-reference, fetch-openapi, generate-data, run-vale.
- The contrast test palette is hand-maintained and its CSS selector is broader than its comment says.
- The CLI reference digest rewrites every generated page whenever any CLI flag changes, so a flag addition produces a noisy diff; scope the digest per page.
- REQ-DOC-014 detection (`check-evidence-anchors.mjs`) is a bounded line grammar rather than full YAML (a form it cannot read is reported, not guessed), and the artifact kind is read from the file extension, so an extensionless script does not count as the artifact on its own. `check-doc-frontmatter.mjs` fails loudly, not open, on a BOM or CRLF frontmatter block. Recorded so the two checks keep one rule when either changes.

## Acceptance

- The Relay tutorial gate reuses the job's build, checks its dependencies up front, and cannot fail on its own teardown.
- shellcheck and shfmt are clean on `check-evidence-tutorials.sh`.
- Each script listed either gains a test or is recorded as generated-output glue not worth one.

Contributor guide

Open the contributing guide

Research direction

Start with check-relay-tutorial.sh, check-evidence-tutorials.sh, and the listed docs/site/scripts/*.mjs checks; inspect their callers and existing tests, then run shellcheck and shfmt on the evidence script. Done means the Relay gate meets its acceptance points, shell checks are clean, and every listed script has a test or an explicit generated-output exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, shell
Domain
ci-cd, documentation, testing, tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.