Skip to content

fix(pi): report a newer Pi schema as a client error - #376

Merged
eersnington merged 1 commit into
mainfrom
pi-schema-error
Nov 2, 2026
Merged

eersnington merged 1 commit into
mainfrom
pi-schema-error

Conversation

@eersnington

Copy link
Copy Markdown
Member

A client that reaches an actor whose Pi Durable schema is newer than the code gets a generic internal_error. The cause is only in the server log.

Before After
Group and code rivetkit / internal_error user / pi_schema_too_new
Message An internal error occurred This actor's Pi Durable data has schema version 2, and the deployed code supports up to version 1. Deploy a @rivet-dev/pi version that supports it. Pi Durable data can't roll back.
  • Pi 1.4.0 raises this in chord as a plain Error: SQLite schema version 2 is newer than supported version 1. It has no typed error, so toClientError() in packages/pi/src/errors.ts matches the message, in that one place.
  • App actions that read c.pi get the same error, because the cause passes through toClientError() when the open fails. App actions and hooks that do not read c.pi still run.
  • The original error stays as cause.

@railway-app

railway-app Bot commented Nov 2, 2026

Copy link
Copy Markdown

This PR was not deployed automatically as @eersnington does not have access to the Railway project.

In order to get automatic PR deploys, please add @eersnington to your workspace on Railway.

@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

📟 Pip-Boy · 42caae5

📦 Packages · fresh npm install resolve, no lockfile · this PR vs base

No notable install size, dependency, or entrypoint changes across 10 packages.

All 10 packages · linux-x64-gnu
package (linux-x64-gnu) @latest base this PR Δ vs base packages
@rivet-dev/pi 244.6 MB 235.5 MB 235.5 MB +1.2 KB (+0.0%) 216 (0)
@rivet-dev/sandbox-adapter 113.8 KB 113.8 KB 113.8 KB 0 1 (0)
@sandbox-agent/cli-shared 27.2 KB 27.2 KB 27.2 KB 0 1 (0)
@sandbox-agent/persist-indexeddb 12.4 KB 12.4 KB 12.4 KB 0 1 (0)
@sandbox-agent/persist-postgres 12.3 KB 12.3 KB 12.3 KB 0 1 (0)
@sandbox-agent/persist-rivet 12.2 KB 12.2 KB 12.2 KB 0 1 (0)
@sandbox-agent/persist-sqlite 12.3 KB 12.3 KB 12.3 KB 0 1 (0)
@sandbox-agent/react 41.5 MB 41.8 MB 41.8 MB 0 15 (0)
acp-http-client 6.7 MB 6.7 MB 6.7 MB 0 3 (0)
sandbox-agent 30.9 MB 30.9 MB 30.9 MB 0 8 (0)

🧹 Rust dependencies

Skipped: this PR doesn't change any Rust code or dependencies.

🦀 Binaries

Skipped: this PR doesn't change any Rust code.

⏱ Timing

job wall time slowest step
changes 17s checkout · 13s
zizmor 29s checkout · 11s
footprint 3m57s Run pnpm --dir sandbox-agent install --frozen-lockfile · 1m30s
⏭ native · ${{ matrix.platform }} — skipped
⏭ hygiene — skipped
⏭ self-test — skipped
report 24s checkout · 13s
🔭 Full CI trace for this commit

One OpenTelemetry trace of CI and Pip-Boy for 42caae5: every job and step, with the sizes above attached. Run after CI finishes.

pnpm install --frozen-lockfile --filter 'pipboy...'
pnpm --filter pipboy pipboy trace --sha 42caae52a151bab170234f444a6bade6b37f7049

Add --otlp <url> to send it to any OTLP/HTTP collector.

Agent instruction: From a rivet-dev/agents checkout, run the commands above, then read the trace file the last command prints. List the slowest jobs and steps and explain where CI time went.

@eersnington
eersnington merged commit a820d33 into main Nov 2, 2026
11 checks passed
@eersnington
eersnington deleted the pi-schema-error branch November 2, 2026 19:15
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