⚠️ Read this before starting. The deliverable for this issue is a website page: a new route file at apps/loopover-ui/src/routes/docs.ams-env-reference.tsx. It is not a hand-written markdown file.
This file is different from the other AMS-docs sub-issues under #6012: docs/env-reference.md is a generated artifact, produced by npm run miner:env-reference (packages/loopover-miner/scripts/generate-env-reference.mjs) and checked for drift in CI (npm run miner:env-reference:check, part of npm run test:ci). You may not simply delete it — CI will fail. The fix here is to make the generator (or a sibling script) also emit data the .tsx page can render (e.g. a JSON/TS data module written alongside the existing markdown output, or replacing the markdown output entirely if nothing else consumes it — check packages/loopover-miner/scripts/generate-env-reference.mjs's callers first), then have docs.ams-env-reference.tsx render that data. A PR that hand-writes the env-var table into the .tsx file, disconnected from the generator, does NOT resolve this issue — the whole point of the current .md being generated is that it can't drift from the real env.SOMETHING reads, and the website page must inherit that same guarantee, not lose it.
If you are an AI coding agent working this issue: read generate-env-reference.mjs and npm run test:ci's drift-check wiring before writing any code. Confirm your plan keeps the table generated from source, not hand-copied once into a .tsx file.
Context
Part of #6012. packages/loopover-miner/docs/env-reference.md is AMS's environment-variable reference table — every LOOPOVER_MINER_* var, where it's first referenced in code, and its default. It's the AMS-side counterpart to docs.self-hosting-configuration.tsx (ORB's env-reference-equivalent page), but sits as a generated markdown file with no website presence.
Requirements
- Read
packages/loopover-miner/scripts/generate-env-reference.mjs to understand exactly what it generates and how miner:env-reference:check verifies it in CI.
- Follow the exact precedent that already exists for ORB's own env reference — verified, not speculative:
apps/loopover-ui/src/routes/docs.self-hosting-configuration.tsx imports SELFHOST_ENV_REFERENCE_MARKDOWN from apps/loopover-ui/src/lib/selfhost-env-reference.ts, a generated file produced by npm run selfhost:env-reference (scripts/gen-selfhost-env-reference.mjs) and drift-checked in CI. Do the same for AMS: extend or sibling generate-env-reference.mjs to also write an apps/loopover-ui/src/lib/ams-env-reference.ts-style generated module (or whatever export shape mirrors SELFHOST_ENV_REFERENCE_MARKDOWN), and have docs.ams-env-reference.tsx import and render it the same way docs.self-hosting-configuration.tsx does.
- Keep the CI drift check working — whatever the generator now emits must still be verified for drift in
npm run test:ci, so a future new LOOPOVER_MINER_* var still fails CI until this reference is regenerated.
- Add to
docs.index.tsx's nav.
Deliverables
Test Coverage Requirements
The generator-script change is under packages/loopover-miner/scripts/** — confirm whether this is inside Codecov's src/** coverage scope or excluded like apps/**; if included, 99%+ patch coverage applies to the script change. The .tsx page itself is outside coverage.include.
Expected Outcome
AMS's env-var reference lives on the docs website, still generated from the real code (never hand-copied), with CI still catching drift.
Links & Resources
Context
Part of #6012.
packages/loopover-miner/docs/env-reference.mdis AMS's environment-variable reference table — everyLOOPOVER_MINER_*var, where it's first referenced in code, and its default. It's the AMS-side counterpart todocs.self-hosting-configuration.tsx(ORB's env-reference-equivalent page), but sits as a generated markdown file with no website presence.Requirements
packages/loopover-miner/scripts/generate-env-reference.mjsto understand exactly what it generates and howminer:env-reference:checkverifies it in CI.apps/loopover-ui/src/routes/docs.self-hosting-configuration.tsximportsSELFHOST_ENV_REFERENCE_MARKDOWNfromapps/loopover-ui/src/lib/selfhost-env-reference.ts, a generated file produced bynpm run selfhost:env-reference(scripts/gen-selfhost-env-reference.mjs) and drift-checked in CI. Do the same for AMS: extend or siblinggenerate-env-reference.mjsto also write anapps/loopover-ui/src/lib/ams-env-reference.ts-style generated module (or whatever export shape mirrorsSELFHOST_ENV_REFERENCE_MARKDOWN), and havedocs.ams-env-reference.tsximport and render it the same waydocs.self-hosting-configuration.tsxdoes.npm run test:ci, so a future newLOOPOVER_MINER_*var still fails CI until this reference is regenerated.docs.index.tsx's nav.Deliverables
apps/loopover-ui/src/routes/docs.ams-env-reference.tsxadded, rendering data generated from the same sourcegenerate-env-reference.mjsalready readsgenerate-env-reference.mjs(or a sibling script) updated to emit that data in a page-consumable formatminer:env-reference:check) still passes and still catches a genuinely new/removed env vardocs.index.tsxTest Coverage Requirements
The generator-script change is under
packages/loopover-miner/scripts/**— confirm whether this is inside Codecov'ssrc/**coverage scope or excluded likeapps/**; if included, 99%+ patch coverage applies to the script change. The.tsxpage itself is outsidecoverage.include.Expected Outcome
AMS's env-var reference lives on the docs website, still generated from the real code (never hand-copied), with CI still catching drift.
Links & Resources
packages/loopover-miner/docs/env-reference.md(current generated output)packages/loopover-miner/scripts/generate-env-reference.mjs(generator)apps/loopover-ui/src/routes/docs.self-hosting-configuration.tsx(check for a similar existing pattern to follow)