Commit graph

2 commits

Author SHA1 Message Date
Randall Stillwell
3ac527ef48 architect: ratify decisions + brief for adopt-playwright-smoke
Convoy file:
- status: queued -> in-progress
- New § Decisions (post-IA round): 6 decisions investigated.
  Architect-self-ratifiable: D2 (CI fail-loud predicate mirrors
  rate-limit.js convention), D3 (two projects is a structural
  workflow requirement), D5 (no eslint change — verified `npx
  eslint tests/smoke/app.smoke.spec.ts` exits 0). Operator-
  ratifiable at gate 1: D1 (recommend keep .ts; convention call),
  D4 (recommend defer baseline commit to Linux-Docker follow-up;
  process call), D6 (recommend simple test:smoke/test:visual
  scripts, no auto-boot wrapper; DX call).
- New § Architecture: file plan (5 files), API surface (n/a),
  schema diff (n/a), test plan (3 smoke + 1 visual; vitest 21/21
  + lint baseline 128 held), risk list R1-R9 (request fixture
  header propagation, snapshotPathTemplate alignment, cross-
  platform mismatch, --update-snapshots=none semantics, CI
  predicate variants, bypass trace leak, npm ci lockfile sync,
  eslint future drift, Playwright 1.60.0 freshness).
- New § Decomposition: 1 brief, ~120 LOC, slice_dependencies
  YAML block. Justified single brief because total LOC is
  small and all files are semantically coupled (visual spec
  depends on visual project in config which depends on the
  installed dep).

Brief file (.convoys/adopt-playwright-smoke/brief-1-*.md):
- Goal/Files/Conventions/Acceptance/Manual-verification/
  Boot-the-brief findings/Out-of-scope sections matching the
  fix-vercel-deployment-protection-in-ci/brief-1 shape.
- 8 Boot-the-brief findings: dep resolution clean, .ts lints
  clean, baselines dir MUST NOT be gitignored, extraHTTPHeaders
  propagates to request fixture per docs, /api/health is
  anonymous, ESM shape required, snapshotPathTemplate token set
  has no {platform}, --update-snapshots=none never auto-creates.
- Verbatim playwright.config.js shape with CI fail-loud / dev
  warn predicate, snapshotPathTemplate aligned with workflow's
  artifact upload path, two projects with testMatch partitioning.

No code changes (read-only architect pass). No push.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-24 17:56:20 -05:00
Randall Stillwell
c8f1541fa9 convoy: scope adopt-playwright-smoke (P1 #10 step 2)
Scaffolds the convoy file for the next sequential convoy in
.convoys/ship-readiness.md's launch sequence (step 10). The
infra prerequisites have already shipped:

  - bump-next-js (e57ea17) — Vercel previews actually deploy
  - fix-vercel-deployment-protection-in-ci (9a3e077) — wait-action
    healthcheck reaches 200; BASE_URL and VERCEL_AUTOMATION_BYPASS_SECRET
    already exported to the test step's env: in both workflows

What remains is small and well-bounded: add @playwright/test to
devDependencies, scaffold playwright.config.js with two projects
(smoke + visual), decide what to do with the existing
tests/smoke/app.smoke.spec.ts (which is .ts in a JS-only repo —
Decision A queued for architect), and put a trivial visual baseline
in place so the screenshot workflow has something to do on first run.

6 decisions queued for architect ratification (TS vs JS spec,
fail-loud vs warn-and-continue on missing secret, project shape,
visual baseline strategy, lint coverage for tests/, local-test
script ergonomics). No operator action required — all secrets
and env vars are already wired.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-24 17:28:55 -05:00