Files
cs249r_book/interviews/staffml/.env.example
Vijay Janapa Reddi 9fdbfb9a4c refactor(vault-cli): rename --legacy-json to --local-json
The flag is the StaffML frontend's local-dev fallback (read corpus.json
from disk via NEXT_PUBLIC_VAULT_FALLBACK=static), not a deprecated path.
"Legacy" implied "soon to be removed"; "local-json" describes its actual
role and reads correctly in scripts and docs.

- vault-cli: rename CLI flag, parameter, result key, and help text.
- CI workflows + pre-commit config: invoke the new flag name.
- All scripts that print the command (suggest_exemplars,
  pre_commit_corpus_guard, promote_validated, rename_legacy_ids,
  export_to_staffml, the paper analyze_corpus/generate_*) updated.
- Comments and docs (ARCHITECTURE, CHANGELOG, REVIEWS, TESTING,
  MASSIVE_BUILD_RUNBOOK, DEPRECATED, AUTHORING, plus frontend
  comments and .env.example / .gitignore) updated.

The "legacy_json" sentinel string in corpus_stats.json._meta.source
is intentionally NOT renamed — it is a stable artifact format read
by downstream paper-generation tooling.
2026-04-30 09:30:28 -04:00

36 lines
2.3 KiB
Plaintext

# ──────────────────────────────────────────────────────────────────────
# StaffML site — environment variables
# Copy to .env.local and edit for your local dev setup.
# ──────────────────────────────────────────────────────────────────────
# ── Vault API (Cloudflare Worker + D1) ─────────────────────────────────
# Production worker URL (live since 2026-04-22; cutover PR #1433 + #1434).
# Endpoints: /manifest, /questions/:id, /questions?filters, /search (FTS5).
# Custom domain `staffml-vault.mlsysbook.ai` is planned but not yet mapped.
NEXT_PUBLIC_VAULT_API=https://staffml-vault.mlsysbook-ai-account.workers.dev
# Local dev: point at the vault-cli dev shim (vault serve-api):
# NEXT_PUBLIC_VAULT_API=http://localhost:8002
# OVERRIDE-ONLY. The displayed version and the X-Vault-Release header
# both default to the manifest's releaseId (single source of truth in
# src/data/vault-manifest.json, surfaced via lib/stats.ts:RELEASE_ID).
# Set this only when staging a local site build against a worker
# pinned to a different release (e.g. testing a rollback). Leave unset
# in production — the manifest value is what flows through.
# NEXT_PUBLIC_VAULT_RELEASE=0.1.0
# OPT-IN offline dev mode (local-only — production never sets this):
# unset (DEFAULT) → site reads details from the Worker. If the Worker is
# unreachable, detail prose is omitted and the UI shows
# a "details unavailable" banner.
# 'static' → site reads details from a bundled corpus.json instead
# of the Worker. Requires materializing corpus.json
# locally first:
# vault build --vault-dir interviews/vault \
# --release-id local-dev --local-json
# Use this when working offline or against an unreachable
# Worker. Production deploys neither emit nor bundle
# corpus.json — there is no static rollback path in prod.
# NEXT_PUBLIC_VAULT_FALLBACK=static