phase 1 5 docs site

Local `pnpm docs:dev` cannot catch Vercel-specific edge OG, search API, or build output issues. Reviewers need preview URLs on every docs PR before production domain attach. DNS `docs` CNAME exists but production attach waits until D.6.2 after visual QA.

Milestone D.4.1 — Vercel preview deploys

Status: Superseded
Goal: D.4
Phase: 1.5 — Docs Site
Wave: 10
Estimated effort: 1 hour
ADR required: None

Spec detail: MASTER_BRIEF.md Part D (D.4.1).


Superseded by

This milestone is superseded (2026-06-22). Docs deploy via GitHub Actions + Cloudflare Workers instead of Vercel preview deploys:

Pre-merge validation: docs-build CI job (typecheck, test, build) + optional workflow_dispatch deploy with post-deploy smoke test on *.workers.dev.


Why This Milestone Existed

Local pnpm docs:dev cannot catch Vercel-specific edge OG, search API, or build output issues. Reviewers need preview URLs on every docs PR before production domain attach.

DNS docs CNAME exists but production attach waits until D.6.2 after visual QA.

Vercel project ibex-harness-docs with root docs/app matches monorepo layout from D.1.1.


Non-Goals

  • Production docs.ibexharness.com attach (D.6.2)
  • Moving Go services to Vercel
  • Custom Vercel middleware for auth

Branch

feat/d4-1-vercel

PR Title

ci(docs): Vercel preview project (D.4.1)


Prerequisites


Deliverables

  • Vercel project ibex-harness-docs, root directory docs/app
  • Build: pnpm --filter docs build, install: pnpm install --frozen-lockfile
  • Env: NEXT_PUBLIC_SITE_URL=https://docs.ibexharness.com
  • Preview deploy on every PR touching docs

See MASTER_BRIEF Part D (D.4.1) for full acceptance detail.


Files Affected

File PathActionNotes
docs/app/vercel.jsonAddOptional Vercel config
.github/workflows/docs-checks.ymlAddMay stub until D.4.2

Testing Requirements

  • test_preview_deploy_on_pr: Throwaway PR shows Vercel bot comment with preview URL
  • verifyPreview_RendersIntroduction: Preview URL serves introduction page 200
  • verifyPreview_OgImage: OG route works on preview domain

Acceptance Criteria

  • Throwaway PR shows Vercel comment with preview URL
  • Preview URL renders docs site correctly
  • Production domain not attached yet

Risks

RiskProbabilityImpactMitigation
Monorepo root directory misconfiguredMediumHighSet Root Directory to docs/app in Vercel UI
pnpm filter name mismatchLowHighPackage name docs must match filter
Preview URL leaks before content readyLowLowAcceptable until D.6.2; noindex until launch
Edit on GitHub

Last updated on

On this page

0%