Skip to content

test: scaffold agent-driven UX acceptance - #2854

Merged
ascorbic merged 2 commits into
mainfrom
codex/ux-acceptance-scaffolding
Sep 2, 2026
Merged

test: scaffold agent-driven UX acceptance#2854
ascorbic merged 2 commits into
mainfrom
codex/ux-acceptance-scaffolding

Conversation

@ascorbic

@ascorbic ascorbic commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

What does this PR do?

Adds the initial scaffolding for agent-driven manual UX acceptance testing of the EmDash admin interface.

  • Adds a coordinator skill that prepares a disposable site, dispatches a black-box tester, verifies the result independently, and cleans up the exact run.
  • Keeps the portable tester skill outside the repository's discoverable skills so it can run from an isolated context without inheriting AGENTS.md or implementation knowledge.
  • Adds Node and local workerd site lifecycle commands backed by the existing E2E fixtures and Astro's native background-server support.
  • Adds empty, structure-only, and seeded editorial site profiles plus a journey template that separates the tester brief from coordinator-only checks.

Actual user journeys will be defined separately after exercising this scaffolding.

No linked issue.

Type of change

  • Bug fix
  • Feature (requires maintainer-approved Discussion)
  • Refactor (no behavior change)
  • Translation
  • Documentation
  • Performance improvement
  • Tests
  • Chore (dependencies, CI, tooling)

Checklist

  • I have read CONTRIBUTING.md
  • pnpm typecheck passes
  • pnpm lint passes
  • pnpm test passes (or targeted tests for my change)
  • pnpm format has been run
  • I have added/updated tests for my changes (if applicable)
  • User-visible strings in the admin UI are wrapped for translation (if applicable). Do not include messages.po changes except in translation PRs — a workflow extracts catalogs on merge to main.
  • I have added and reviewed the user-facing changeset (if this PR changes a published package)
  • New features link to an approved Discussion: https://github.com/emdash-cms/emdash/discussions/...

The automated-tests item is not applicable yet: this PR creates the manual acceptance harness and was verified through targeted lifecycle and browser smokes. The i18n, changeset, and Discussion items are not applicable because no admin UI strings or published packages change and this is test tooling.

AI-generated code disclosure

  • This PR includes AI-generated code — model/tool: GPT-5 Codex

Screenshots / test output

Validated on commit 24d443565:

  • pnpm typecheck
  • pnpm lint
  • node --check scripts/ux-acceptance-site.mjs
  • Skill validation for both coordinator and tester payloads
  • Node editorial-small start/status/stop lifecycle
  • Local workerd editorial-structure start/status/stop lifecycle
  • Browser handoffs for seeded Node, structure-only workerd, and empty first-run setup; no page errors were observed

No acceptance site or browser session was left running.

@changeset-bot

changeset-bot Bot commented Sep 2, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: cc70075

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Scope check

This PR changes 652 lines across 9 files. Large PRs are harder to review and more likely to be closed without review.

If this scope is intentional, no action needed. A maintainer will review it. If not, please consider splitting this into smaller PRs.

See CONTRIBUTING.md for contribution guidelines.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 2, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://codex-ux-acceptance-scaffolding.try.emdashcms.com, https://codex-ux-acceptance-scaffolding-emdash-playground.emdash-cms.workers.dev (commit cc70075)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://3977bb52.try.emdashcms.com, https://3977bb52-emdash-playground.emdash-cms.workers.dev cc70075 2026-09-02T11:53:03.880Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://86a54cf9.try.emdashcms.com, https://86a54cf9-emdash-playground.emdash-cms.workers.dev 24d4435 2026-09-02T11:28:50.195Z Visit the dashboard ↗

@github-actions github-actions Bot added the review/needs-review No maintainer or bot review yet label Sep 2, 2026
@pkg-pr-new

pkg-pr-new Bot commented Sep 2, 2026

Copy link
Copy Markdown

Open in StackBlitz

@emdash-cms/admin

npm i https://pkg.pr.new/@emdash-cms/admin@2854

@emdash-cms/auth

npm i https://pkg.pr.new/@emdash-cms/auth@2854

@emdash-cms/auth-atproto

npm i https://pkg.pr.new/@emdash-cms/auth-atproto@2854

@emdash-cms/blocks

npm i https://pkg.pr.new/@emdash-cms/blocks@2854

@emdash-cms/cloudflare

npm i https://pkg.pr.new/@emdash-cms/cloudflare@2854

@emdash-cms/contentful-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/contentful-to-portable-text@2854

emdash

npm i https://pkg.pr.new/emdash@2854

create-emdash

npm i https://pkg.pr.new/create-emdash@2854

@emdash-cms/gutenberg-to-portable-text

npm i https://pkg.pr.new/@emdash-cms/gutenberg-to-portable-text@2854

@emdash-cms/plugin-cli

npm i https://pkg.pr.new/@emdash-cms/plugin-cli@2854

@emdash-cms/plugin-types

npm i https://pkg.pr.new/@emdash-cms/plugin-types@2854

@emdash-cms/registry-client

npm i https://pkg.pr.new/@emdash-cms/registry-client@2854

@emdash-cms/registry-lexicons

npm i https://pkg.pr.new/@emdash-cms/registry-lexicons@2854

@emdash-cms/registry-moderation

npm i https://pkg.pr.new/@emdash-cms/registry-moderation@2854

@emdash-cms/registry-verification

npm i https://pkg.pr.new/@emdash-cms/registry-verification@2854

@emdash-cms/sandbox-workerd

npm i https://pkg.pr.new/@emdash-cms/sandbox-workerd@2854

@emdash-cms/x402

npm i https://pkg.pr.new/@emdash-cms/x402@2854

@emdash-cms/plugin-ai-moderation

npm i https://pkg.pr.new/@emdash-cms/plugin-ai-moderation@2854

@emdash-cms/plugin-atproto

npm i https://pkg.pr.new/@emdash-cms/plugin-atproto@2854

@emdash-cms/plugin-audit-log

npm i https://pkg.pr.new/@emdash-cms/plugin-audit-log@2854

@emdash-cms/plugin-color

npm i https://pkg.pr.new/@emdash-cms/plugin-color@2854

@emdash-cms/plugin-embeds

npm i https://pkg.pr.new/@emdash-cms/plugin-embeds@2854

@emdash-cms/plugin-field-kit

npm i https://pkg.pr.new/@emdash-cms/plugin-field-kit@2854

@emdash-cms/plugin-forms

npm i https://pkg.pr.new/@emdash-cms/plugin-forms@2854

@emdash-cms/plugin-webhook-notifier

npm i https://pkg.pr.new/@emdash-cms/plugin-webhook-notifier@2854

commit: cc70075

@emdashbot emdashbot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR adds internal manual UX-acceptance scaffolding only, so treating it as test tooling (no changeset, no mandated Discussion) is reasonable. The approach is sound: it reuses the existing E2E fixtures, Astro 7 background dev mode, and the existing dev-bypass endpoints; it keeps the tester skill outside the discoverable skills/ tree; and it separates coordinator-only checks from the tester's brief. I found no security, data-loss, or backwards-compatibility blocker.

What I checked

  • The ux-acceptance-site.mjs lifecycle (start/status/stop, temp DB, fixture cleanup, lock/pid safety checks).
  • Build marker completeness against runtime imports (core, cloudflare, admin).
  • Dev-bypass token flow and the warm-up API calls.
  • Skill docs and the journey template for accuracy against the script and repository layout.

Headline conclusion: the scaffolding is clean and close to mergeable, but the build-marker logic can skip the admin package build in partial-build situations, which will make the harness fail to start. I also noted two small hygiene issues: the status command leaks the PAT to stdout, and one comment restates the code.

Comment thread scripts/ux-acceptance-site.mjs Outdated
Comment thread scripts/ux-acceptance-site.mjs Outdated
Comment thread scripts/ux-acceptance-site.mjs Outdated
@github-actions github-actions Bot added review/awaiting-author Reviewed; waiting on the author to respond and removed review/needs-review No maintainer or bot review yet labels Sep 2, 2026
@github-actions github-actions Bot added review/needs-rereview Author pushed changes since the last review and removed review/awaiting-author Reviewed; waiting on the author to respond labels Sep 2, 2026
@ascorbic ascorbic added the bot:review Trigger an emdashbot code review on this PR label Sep 2, 2026

@emdashbot emdashbot Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The approach is still sound: this PR adds internal test-only scaffolding that reuses the existing E2E fixtures, Astro 7 background dev mode, and the dev-bypass endpoints without changing product code. Treating it as test tooling (no changeset, no mandated Discussion) is reasonable.

On re-review, the three concerns from the previous review are resolved in this revision:

  • ensureBuilt now checks the admin package dist markers for both targets, so a partial build cannot skip the admin build.
  • siteStatus destructures token out of the run object before writing JSON to stdout.
  • The script no longer contains a comment that restates the code.

What I checked this round

  • scripts/ux-acceptance-site.mjs: start/status/stop lifecycle, build-marker completeness against the fixture dependency closure, lock/PID safety checks, fixture/temp cleanup, token handling, and status output.
  • The three site profiles and the journey template structure.
  • The coordinator and tester skill docs against the script and repository layout.

I found no new blocking issues, security/data-loss concerns, backwards-incompatibility, or logged-out query-count changes. The scaffolding is clean and ready to merge.

@emdashbot emdashbot Bot removed the bot:review Trigger an emdashbot code review on this PR label Sep 2, 2026
@ascorbic
ascorbic enabled auto-merge (squash) September 2, 2026 11:58
@github-actions github-actions Bot added review/approved Approved; no new commits since and removed review/needs-rereview Author pushed changes since the last review labels Sep 2, 2026
@ascorbic
ascorbic disabled the stack merge September 2, 2026 12:05
@ascorbic
ascorbic merged commit 37553c3 into main Sep 2, 2026
143 of 151 checks passed
@ascorbic
ascorbic deleted the codex/ux-acceptance-scaffolding branch September 2, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review/approved Approved; no new commits since size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant