Skip to content

ci-tools deploy-vercel: evaluate removing project.json patching shims and harden verify retry #1151

Description

@schickling-assistant

Context

Follow-up from #1140 (alias collision handling). During that change a structural survey of packages/@overeng/ci-tools/src/deploy-vercel.ts flagged two legacy-complexity areas, deliberately deferred to keep #1140 focused.

Item 1 — .vercel/project.json patching shims (~120 lines)

patchProjectRootDirectory and withTemporaryInstallCommand perform JSON surgery on .vercel/project.json (settings.rootDirectory, installCommand) around vercel pull/vercel build.

Question to settle: do current Vercel CLI versions support first-class flags or config equivalents making this patching removable? Removal requires verifying behavior across both artifact kinds (static never hits this path; prebuilt-output does).

Item 2 — hardcoded live-verification retry loop

verifyFinalUrl retries 10 times with fixed 2-second sleeps and magic numbers. Candidate: express as an Effect schedule (spaced/backoff) so policy is declarative and testable. Behavior-preserving.

Acceptance

  • Investigate current Vercel CLI capabilities for item 1; either remove the shims (with e2e coverage) or document why they must stay.
  • Convert item 2 to a schedule; all existing tests green.
Posted on behalf of @schickling
field value
agent_identity unknown
agent_persona generalist
agent_supervisor unavailable
agent_tool OMP
agent_tool_version 18.0.3
agent_runtime OMP 18.0.3
tooling_profile dotfiles@b40bf46

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:typescriptTypeScript code, tsconfig, and type definitions · Set: manualorigin:agentFiled or primarily produced by an AI agent · Set: AI agent or manualtype:choreMaintenance, cleanup, dependencies, or CI · Set: manual

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions