Skip to content

CF Workers Builds fails: pnpm-lock.yaml stale + @chittyos/schema is file: dep (not in npm registry) #117

@chitcommit

Description

@chitcommit

Background

After #111 closed and a fresh CF Workers Builds trigger was created (`b576abfd-4b89-4bdc-9189-d7b44ba8f1b7`, 2026-05-23), the first real build ran on main HEAD (`652917a`, PR #116 merge) and failed at the install step in 6s.

This is the first real signal in months — prior failures were 0s phantoms from leaky disabled triggers (now deleted).

Real failure

Build log:
```
Detected the following tools from environment: pnpm@10.11.1, nodejs@22.16.0
Installing project dependencies: pnpm install --frozen-lockfile
ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with package.json
```

CF auto-detects pnpm because `pnpm-lock.yaml` exists at repo root. The build_command in the trigger does not control the install step.

Root cause (two layers)

Layer 1 — Stale lockfile: `pnpm-lock.yaml` (March 2026) is older than `package-lock.json` (May 2026). Specifically, `package.json` has `"@chittyos/schema": "file:../../CHITTYFOUNDATION/chittyschema"` but the pnpm lockfile predates this.

Layer 2 — Local-path dep won't resolve in CF builders: Even with a fresh lockfile, `@chittyos/schema` is a `file:../../CHITTYFOUNDATION/chittyschema` reference. The path `../../CHITTYFOUNDATION/chittyschema` does not exist in the CF build environment. `npm view @chittyos/schema` → 404 (not published).

Options

  1. Publish `@chittyos/schema` to npm (or a private registry) — cleanest, unblocks any CI environment. Requires coordination with CHITTYFOUNDATION/chittyschema.
  2. Vendor schema locally — copy needed exports into chittyfinance under `server/lib/schema/` or similar. Loses upstream updates.
  3. Skip install entirely — set a custom `build.command` that runs vite/wrangler without `pnpm install` first. Wouldn't work because tsx/wrangler need node_modules.
  4. Remove pnpm-lock.yaml + fix dep — forces CF to use npm. Doesn't fix the file: ref.

Recommendation

Option 1 (publish chittyschema) + delete the stale `pnpm-lock.yaml`. Two existing branches `fix/workers-builds-use-pnpm` and `fix/workers-builds-vite-peer-conflict` already attempted partial fixes — review before opening a new fix branch.

Acceptance

  • CF Workers Builds completes successfully on main HEAD
  • `Workers Builds: chittyfinance` posts SUCCESS to GitHub checks on PR merges
  • No reliance on local filesystem paths for dependencies

Related: closes loop on #111 (which was the 0s phantom — that's resolved; this is the real underlying issue exposed by the fix).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions