Skip to content

feat(pi): support stable RivetKit 3 - #381

Merged
eersnington merged 2 commits into
mainfrom
pi-rivetkit-3-stable
Nov 5, 2026
Merged

eersnington merged 2 commits into
mainfrom
pi-rivetkit-3-stable

Conversation

@eersnington

@eersnington eersnington commented Nov 5, 2026 •

Copy link
Copy Markdown
Member

RivetKit 3.0.1 is npm latest, but CI tests only the locked version.

  • Peer rivetkit is now >=2.3.28 <2.4.0 || ^3.0.0. RivetKit 3 previews no longer match.
  • The dev pin and examples/docs use RivetKit 3.0.1.
  • The new CI job pi-rivetkit-newest runs the Pi suite against the newest rivetkit@^3. pnpm add keeps a locked version that matches a range, so the job gets the exact version from npm view.
  • Pi tests set RIVET_RUN_SERVICES=0. RivetKit 3.0.1 starts Services on a fixed port, and a test file that exits abruptly leaves that port held. The next file then fails with 503 shut_down.

This is part 1 of 2 in a stack:

@railway-app

railway-app Bot commented Nov 5, 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 5, 2026 •

Copy link
Copy Markdown

📟 Pip-Boy · acd7e39

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

package (linux-x64-gnu) @latest base this PR Δ vs base packages
🔴 @rivet-dev/pi 372.5 MB 372.5 MB 381.6 MB +9.1 MB (+2.4%) 220 (+2 (+0.9%))
🔴 `@rivet-dev/pi` details
platform base this PR Δ
linux-x64-gnu 372.5 MB 381.6 MB +9.1 MB (+2.4%)
linux-arm64-gnu 353.1 MB 362.2 MB +9.1 MB (+2.6%)
darwin-arm64 249.7 MB 258.8 MB +9.1 MB (+3.6%)
darwin-x64 259.7 MB 268.8 MB +9.1 MB (+3.5%)
win32-x64 175.9 MB 185.0 MB +9.1 MB (+5.2%)

Added dependencies

package size via
@earendil-works/pi-coding-agent@1.5.0 22.9 MB @rivet-dev/pi › @earendil-works/pi-coding-agent
@earendil-works/chord@1.5.0 8.4 MB @rivet-dev/pi › @earendil-works/chord
@earendil-works/pi-durable@1.5.0 4.2 MB @rivet-dev/pi › @earendil-works/pi-durable
@earendil-works/pi-ai@1.5.0 4.2 MB @rivet-dev/pi › @earendil-works/pi-ai
@earendil-works/pi-tui@1.5.0 2.3 MB @rivet-dev/pi › @earendil-works/pi-coding-agent › @earendil-works/pi-tui
undici@8.12.3 2.1 MB @rivet-dev/pi › @earendil-works/pi-coding-agent › undici
@earendil-works/pi-schema@1.5.0 602.9 KB @rivet-dev/pi › @earendil-works/chord › @earendil-works/pi-schema
minimatch@11.0.3 418.8 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › minimatch
@earendil-works/pi-mcp@1.5.0 386.9 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › @earendil-works/pi-mcp
@isaacs/nonrecursive-glob-match@1.0.3 371.2 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › minimatch › @isaacs/nonrecursive-glob-match

Removed dependencies

package size via
@earendil-works/pi-coding-agent@1.4.0 22.3 MB @rivet-dev/pi › @earendil-works/pi-coding-agent
@earendil-works/pi-ai@1.4.0 4.1 MB @rivet-dev/pi › @earendil-works/pi-ai
@earendil-works/pi-durable@1.4.0 3.4 MB @rivet-dev/pi › @earendil-works/pi-durable
@earendil-works/pi-tui@1.4.0 2.3 MB @rivet-dev/pi › @earendil-works/pi-coding-agent › @earendil-works/pi-tui
@earendil-works/chord@1.4.0 1.9 MB @rivet-dev/pi › @earendil-works/chord
undici@8.10.2 1.8 MB @rivet-dev/pi › @earendil-works/pi-coding-agent › undici
minimatch@10.2.6 523.6 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › minimatch
@earendil-works/pi-mcp@1.4.0 384.9 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › @earendil-works/pi-mcp
@earendil-works/pi-codemode@1.4.0 366.8 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › @earendil-works/pi-codemode
@earendil-works/pi-agent-core@1.4.0 265.1 KB @rivet-dev/pi › @earendil-works/pi-coding-agent › @earendil-works/pi-agent-core

Largest dependencies

package size via
@rivet-dev/services-linux-x64-gnu@0.2.5 134.2 MB @rivet-dev/pi › rivetkit › @rivet-dev/services › @rivet-dev/services-linux-x64-gnu
@rivetkit/engine-cli-linux-x64-musl@3.0.3 58.1 MB @rivet-dev/pi › rivetkit › @rivetkit/engine-cli › @rivetkit/engine-cli-linux-x64-musl
@rivetkit/rivetkit-napi-linux-x64-gnu@3.0.3 26.5 MB @rivet-dev/pi › rivetkit › @rivetkit/rivetkit-napi › @rivetkit/rivetkit-napi-linux-x64-gnu
@earendil-works/pi-coding-agent@1.5.0 22.9 MB @rivet-dev/pi › @earendil-works/pi-coding-agent
openai@7.19.0 17.6 MB @rivet-dev/pi › @earendil-works/pi-ai › openai

Entrypoints (own code, minified; third-party imports excluded)

entrypoint base this PR Δ imports exports
🔴 . 32.0 KB 32.4 KB +399 B (+1.2%) — −PiEventsFrame
🔴 ./durable 32.0 KB 32.4 KB +399 B (+1.2%) — −PiEventsFrame
All 10 packages · linux-x64-gnu
package (linux-x64-gnu) @latest base this PR Δ vs base packages
🔴 @rivet-dev/pi 372.5 MB 372.5 MB 381.6 MB +9.1 MB (+2.4%) 220 (+2 (+0.9%))
@rivet-dev/sandbox-adapter 113.8 KB 113.8 KB 114.5 KB +721 B (+0.6%) 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.6 MB 41.9 MB 41.9 MB 0 15 (0)
acp-http-client 6.7 MB 6.7 MB 6.7 MB 0 3 (0)
sandbox-agent 31.0 MB 31.0 MB 31.0 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 17s checkout · 10s
footprint 2m51s Run pnpm --dir sandbox-agent install --frozen-lockfile · 1m10s
⏭ native · ${{ matrix.platform }} — skipped
⏭ self-test — skipped
⏭ hygiene — skipped
report 26s setup-node · 12s
🔭 Full CI trace for this commit

One OpenTelemetry trace of CI and Pip-Boy for acd7e39: 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 acd7e395a7e2ddfce69bfd55cbf6e3c28e05abdc

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 f289656 into main Nov 5, 2026
6 of 7 checks passed
@eersnington
eersnington deleted the pi-rivetkit-3-stable branch November 5, 2026 09:27
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