Skip to content

test(expo): list each video's marked parts in a published hand-off - #10778

Closed
seanperez29 wants to merge 1 commit into
mainfrom
sean/verify-attach-evidence-parts
Closed

seanperez29 wants to merge 1 commit into
mainfrom
sean/verify-attach-evidence-parts

Conversation

@seanperez29

@seanperez29 seanperez29 commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Description

clerk/internal-mobile-e2e#19 has attach --video list the parts a run marked with host.evidence under the video's table, so a reviewer, and CodeRabbit, which can't watch a video, can tell which states each video shows. It adds those lists to the hand-off manifest as version 3.

verify-attach.yml runs on workflow_run, so it uses the publisher from main. This has to merge before integration/expo-native pins a commit that includes #19, or a remote attach --video would hand off a version 3 manifest that main refuses. The pin bump will be its own PR.

Testing:

  • pnpm vitest run --root scripts verify-attach: 205 pass. New tests cover reading version 2 with and without a before, refusing malformed parts, and the layouts with and without a before, including separate before and after lists.
  • Not run against a real pull request or on a device.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other: e2e evidence publisher (test tooling)

🤖 Generated with Claude Code

The hand-off manifest gets parts and before.parts lists as version 3. The workflow publishes them as numbered lists under the video's table, as attach does on a machine whose gh can attach. Version 2 manifests, which sessions on older commits still write, are read as having no parts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
clerk-js-sandbox Ready Ready Preview Nov 12, 2026 5:37am UTC
swingset Ready Ready Preview Nov 12, 2026 5:37am UTC

Request Review

@changeset-bot

changeset-bot Bot commented Nov 12, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 853dd64

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

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

Not sure what this means? Click here to learn what changesets are.

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

@coderabbitai

coderabbitai Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Walkthrough

Manifest version 3 adds ordered video-part labels with validation limits. Version 2 manifests remain accepted and default missing parts to empty lists. Uploaded evidence now describes video parts, using a shared description for matching before and after lists and separate descriptions when they differ. Tests cover parsing, validation, compatibility, and publication output.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: mikepitre, wobsoriano

Merge Risk: Minimal · up to 853dd

The change adds marked-part lists to published video evidence and keeps older manifests readable. No merge-blocking risk was identified; the change has not been tried against a real pull request or on a device.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the main change: the Expo verification publisher now lists each video's marked parts in the published hand-off. It matches the changeset, which adds version 3 manifest parts metadata a…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description check Passed The description is specific and relevant. It explains that attach --video will list the video's marked parts, that the publisher in scripts/verify-attach.mjs reads manifest version 3 and still accep…
Full details: Title check

Explanation

The title names the main change: the Expo verification publisher now lists each video's marked parts in the published hand-off. It matches the changeset, which adds version 3 manifest parts metadata and renders part lists under each video. The 'test(expo)' prefix is a conventional-commit type that slightly misdescribes a publisher and docs change, but the subject still matches the primary change.

Full details: Description check

Explanation

The description is specific and relevant. It explains that attach --video will list the video's marked parts, that the publisher in scripts/verify-attach.mjs reads manifest version 3 and still accepts version 2, and that the verify-clerk-expo skill's Evidence section is updated. It also gives limits (20 parts, 200 characters, forbidden characters), a merge-order constraint with integration/expo-native, and the test results (205 passing tests). This matches the changeset summary.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Linked repositories: Some configured repositories could not be included in this review. Cross-repository analysis may be incomplete. Please check linked-repository access and settings.

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: clerk/javascript
  • Branch: main
  • File: .coderabbit.yaml
  • Commit: c9bdae3
  • Layers: Repository YAML (base), Organization UI (inherited)
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: e4114159-acfe-493b-ac88-59136f3e44e7
Commits

Reviewing files that changed from the base of the PR and between c9bdae3 and 853dd64.

Files selected for processing: 4

  • .changeset/verify-attach-evidence-parts.md
  • .claude/skills/verify-clerk-expo/SKILL.md
  • scripts/verify-attach.mjs
  • scripts/verify-attach.test.mjs
Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

Included review availability: This review used your included allowance. 3 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 6 reviews per hour.

@pkg-pr-new

pkg-pr-new Bot commented Nov 12, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@10778

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@10778

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@10778

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@10778

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@10778

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@10778

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@10778

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@10778

@clerk/expo-biometrics

npm i https://pkg.pr.new/@clerk/expo-biometrics@10778

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@10778

@clerk/expo-native-components

npm i https://pkg.pr.new/@clerk/expo-native-components@10778

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@10778

@clerk/express

npm i https://pkg.pr.new/@clerk/express@10778

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@10778

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@10778

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@10778

@clerk/mosaic

npm i https://pkg.pr.new/@clerk/mosaic@10778

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@10778

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@10778

@clerk/react

npm i https://pkg.pr.new/@clerk/react@10778

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@10778

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@10778

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@10778

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@10778

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@10778

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@10778

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@10778

commit: 853dd64

@blacksmith-sh

blacksmith-sh Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

Matches Version 3 hand-off lists the video's parts

Before, the version 3 hand-off was refused and nothing published; after, the block lists the three parts under the video's table.

Merge-base

Version 3 refused

This PR 853dd648

Parts listed under video

Also checked · 3 match

Matches Before/after part lists
Matches Version 2 hand-offs still publish
Matches Malformed parts refused

Proof on 853dd648 · mocked: GitHub API (Publishing edits a real PR description; a fake gh on PATH holds the PR JSON and...) · Did Proof get it right? Yes · No

View full Proof report · React 👎 or comment @codesmith dismiss this proof to dismiss

@seanperez29
seanperez29 marked this pull request as draft November 12, 2026 13:19
@seanperez29

Copy link
Copy Markdown
Contributor Author

Deferred while we evaluate whether the review-rule fixes (clerk/clerk-ios#839, clerk/clerk-android#1267) resolve the unnecessary evidence requests. Revisit compact captions only if the problem persists.

@seanperez29

Copy link
Copy Markdown
Contributor Author

Closing. The evidence rules in clerk/clerk-ios#839 and clerk/clerk-android#1267 fixed the CodeRabbit loop this was meant to help with. On clerk/clerk-ios#833, #834 and #835, every remaining ask was for a state that no video showed, and CodeRabbit read the hand-written part lists correctly. The captions would only save writing that list on PRs whose video shows several states, which does not justify longer descriptions. The branch stays on GitHub, so this can be reopened if CodeRabbit starts missing states a video shows.

This branch was successfully deployed

2 active deployments
Preview – swingset — 853dd648 Deployed Nov 12, 2026 by vercel[bot]
Preview – clerk-js-sandbox — 853dd648 Deployed Nov 12, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant