Run summary
Run passed.
1 passed.
pi-ext / push
release: gate live controls for v0.1.8
Result output · ci
[luci] step 1/6: export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin [luci] step 1/6 done in 0s [luci] step 2/6: export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH" [luci] step 2/6 done in 0s [luci] step 3/6: command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; } [luci] step 3/6 done in 0s [luci] step 4/6: mise trust mise trusted /work [luci] step 4/6 done in 0s [luci] step 5/6: mise install mise by @jdx – installing 7 tools mise ⇢ node@latest 4ms · already installed mise ⇢ go@latest 0ms · already installed mise ⇢ biome@latest 0ms · already installed mise ⇢ aqua:mikefarah/yq@latest 0ms · already installed mise ⇢ aqua:rvben/rumdl@latest 0ms · already installed mise ⇢ aqua:tamasfe/taplo@latest 0ms · already installed mise ⇢ go:golang.org/x/perf/cmd/benchstat@latest 0ms · already installed mise ████████████████ 7/7 · installed 0 tools · 7 already installed in 44ms mise all tools are installed [luci] step 5/6 done in 0s [luci] step 6/6: CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci [//:install] $ npm ci npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead added 720 packages, and audited 761 packages in 49s 181 packages are looking for funding run `npm fund` for details 3 vulnerabilities (2 moderate, 1 high) To address all issues, run: npm audit fix Run `npm audit` for details. [//:install] $ node scripts/patch_pi_test_harness.mjs [//:check] $ npm run typecheck [//:lint] $ npm run lint > pi-ext@0.1.8 lint > biome ci . && rumdl check . > pi-ext@0.1.8 typecheck > tsc --noEmit Checked 653 files in 5s. No fixes applied. Success: No issues found in 127 files (115ms) [//:lint] $ taplo format --check INFO taplo:format_files:load_config: found configuration file path="/work/.taplo.toml" INFO taplo:format_files:collect_files: found files total=85 excluded=40 files=["/work/.miserc.toml", "/work/.rumdl.toml", "/work/.taplo.toml", "/work/extensions/angel/mise.toml", "/work/extensions/ask/mise.toml", "/work/extensions/bak/mise.toml", "/work/extensions/chrome-cdp/mise.toml", "/work/extensions/context-size/mise.toml", "/work/extensions/continuity/mise.toml", "/work/extensions/cost/mise.toml", "/work/extensions/decay/mise.toml", "/work/extensions/fast/mise.toml", "/work/extensions/firefox-bidi/mise.toml", "/work/extensions/footer/mise.toml", "/work/extensions/git-safe/mise.toml", "/work/extensions/good-job/mise.toml", "/work/extensions/gratis/mise.toml", "/work/extensions/horst/mise.toml", "/work/extensions/intellij/mise.toml", "/work/extensions/klaus/mise.toml", "/work/extensions/masks/mise.toml", "/work/extensions/mockup/mise.toml", "/work/extensions/model-info/mise.toml", "/work/extensions/notes/mise.toml", "/work/extensions/nu-bang/mise.toml", "/work/extensions/nushell/mise.toml", "/work/extensions/open/mise.toml", "/work/extensions/os-notifier/mise.toml", "/work/extensions/pfui/mise.toml", "/work/extensions/prompt-autopsy/mise.toml", "/work/extensions/quota/mise.toml", "/work/extensions/rtk/mise.toml", "/work/extensions/runtime/mise.toml", "/work/extensions/session-rename/mise.toml", "/work/extensions/skillz/mise.toml", "/work/extensions/strata/mise.toml", "/work/extensions/the-system/mise.toml", "/work/extensions/tps/mise.toml", "/work/extensions/ultra/mise.toml", "/work/extensions/usage/mise.toml", "/work/extensions/uv/mise.toml", "/work/extensions/vcs-status/mise.toml", "/work/extensions/web/mise.toml", "/work/mise.android.toml", "/work/mise.toml"] cwd="/work" [//:lint] $ node scripts/check_frontmatter.mjs [//:lint] $ node scripts/check_skills.mjs [//:check] $ node scripts/check_skills.mjs [//:check] $ node scripts/test_extensions_static_check.mjs OK static-check tests [//:check] $ node scripts/extensions.mjs check OK static 40 extension package(s) [//:test] $ npm run test -- > pi-ext@0.1.8 test > vitest run RUN v4.1.11 /work Test Files 202 passed (202) Tests 2404 passed | 1 skipped (2405) Start at 10:11:38 Duration 204.94s (transform 12.96s, setup 0ms, import 71.25s, tests 282.23s, environment 50ms) [//:test] $ node --test .pi/skills/modernize/scripts/audit.test.mjs ✔ parses release sections newest first (3.483136ms) ✔ extracts migration sections and keyword bullets in the version interval (0.992753ms) ✔ rejects changelogs without release sections (0.734817ms) ✔ compares semantic versions numerically (0.346999ms) ✔ fails when installed Pi is not latest (0.520766ms) ✔ resolves the installed Pi package from launcher and CLI paths (3.621656ms) ✔ fails when no installed Pi package is near the launcher (1.262601ms) ✔ reports inherited-stdio child failures by exit code (50.446535ms) ✔ collects resolved earendil Pi package versions (16.867882ms) ✔ reports only evidence needed before tool-driven inspection (0.468975ms) ℹ tests 10 ℹ suites 0 ℹ pass 10 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 210.512938 [//:e2e] $ node scripts/e2e.mjs //extensions/chrome-cdp:e2e //extensions/klaus:e2e //extensions/mockup:e2e //extensions/strata:e2e //extensions/the-system:e2e [//:install] sources up-to-date, skipping [//extensions/chrome-cdp:e2e] $ npm exec -- vitest run --config vitest.e2e.config.ts RUN v4.1.11 /work/extensions/chrome-cdp stderr | __e2e__/browser.test.ts > real Chrome: raw, events, captures, trace, persistent profile, headed and public smoke public site verification unavailable: wait timed out: Page.loadEventFired on 2F4B0EA80E5BFAACB3BD2F632C15E389 ✓ __e2e__/browser.test.ts (3 tests) 23064ms ✓ real Chrome: raw, events, captures, trace, persistent profile, headed and public smoke 23048ms ✓ __e2e__/extension.test.ts (1 test) 3340ms ✓ Pi registration, /chrome toggle, raw command, screenshot, agent close 3338ms ✓ __e2e__/cleanup.test.ts (1 test) 1054ms ✓ only tagged dead-owner temporary directories are reclaimed 1051ms Test Files 3 passed (3) Tests 5 passed (5) Start at 10:15:11 Duration 32.11s (transform 375ms, setup 0ms, import 3.98s, tests 27.46s, environment 1ms) Finished in 33.98s [//:install] sources up-to-date, skipping [//extensions/klaus:e2e] $ npx vitest run --config vitest.e2e.config.ts RUN v4.1.11 /work/extensions/klaus ✓ __e2e__/provider-scenarios.test.ts (34 tests) 203547ms ✓ translates interleaved text, thinking, signatures, redaction, and Unicode 3647ms ✓ fails closed when Claude emits malformed tool arguments 2634ms ✓ fails closed when Claude emits array tool arguments 2639ms ✓ fails closed when Claude emits scalar tool arguments 2638ms ✓ fails closed when Claude emits null tool arguments 2635ms ✓ preserves parallel tool calls and forwards mixed Pi results exactly once 848ms ✓ continues a Pi parallel-tool batch without deadlocking on serial MCP dispatch 1221ms ✓ replays canonically when history changes across a parked tool boundary 1734ms ✓ fails a sessionless parked tool call instead of attaching later state 739ms ✓ caps max-token recovery and replays the next turn canonically 1579ms ✓ prices recognized fallbacks and ignores unknown returned models 1620ms ✓ accepts an empty successful assistant response without inventing content 753ms ✓ reports Pi abort as aborted and closes a stalled Claude request 720ms ✓ applies payload, headers, thinking, and virtual-response hooks without metadata leakage 767ms ✓ reapplies payload redaction when a transformed resume becomes a cold replay 1458ms ✓ normalizes a fake provider context overflow for Pi compaction detection 763ms ✓ runs independent sessions concurrently without response cross-talk 4000ms ✓ keeps overlapping calls with the same session ID concurrent and isolated 4074ms ✓ targets Fable 5.1 and warns once per Pi session 1449ms ✓ sends exact Pi tool schemas while disabling every Claude built-in tool 739ms ✓ reuses the idle child for the next turn in the same session 789ms ✓ discards the idle child when Pi edits the prior turn 1670ms ✓ discards the idle child when the system prompt changes 1619ms ✓ parks a tool call from a reused child and settles it 861ms ✓ swaps tools on the idle child instead of replaying 934ms ✓ drops the idle child when its reuse lease expires 3012ms ✓ sends only Pi's system prompt and no Claude Code preset 759ms ✓ names the tool behind an invalid input schema rejection 710ms ✓ surfaces child API retries as notices 2721ms ✓ keeps ambient CLAUDE.md memory out of the child request 756ms ✓ forwards a tool result larger than the child MCP output cap 820ms ✓ keeps a parked tool call alive past the auto-background window 150856ms ✓ keeps every retry of a broken stream streaming 1375ms ✓ __e2e__/fake-anthropic.test.ts (7 tests) 9160ms ✓ streams through the registered Pi provider route 2365ms ✓ aborts a stalled real Claude request on Pi activity timeout 657ms ✓ streams text through the real Claude child and fake Anthropic endpoint 734ms ✓ sends Pi images as native Agent SDK image blocks 755ms ✓ parks an MCP tool in Claude and resumes it with a Pi result 872ms ✓ restarts canonically when Pi changes tools across a parked call 1439ms ✓ resumes an opaque mirrored session through the public SessionStore 2335ms ↓ __e2e__/reuse-benchmark.test.ts (1 test | 1 skipped) Test Files 2 passed | 1 skipped (3) Tests 41 passed | 1 skipped (42) Start at 10:15:44 Duration 220.06s (transform 743ms, setup 0ms, import 6.65s, tests 212.71s, environment 1ms) Finished in 221.21s [//:install] sources up-to-date, skipping [//extensions/mockup:e2e] $ npm exec -- playwright test --config playwright.config.ts Running 8 tests using 1 worker ········ 8 passed (30.8s) Finished in 32.49s [//:install] sources up-to-date, skipping [//extensions/strata:e2e] $ npm exec -- playwright test --config playwright.config.ts Running 66 tests using 1 worker ·································································· 66 passed (2.2m) Finished in 132.43s [//:install] sources up-to-date, skipping [//extensions/the-system:e2e] $ npm exec -- playwright test --config playwright.config.ts Running 8 tests using 1 worker ········ 8 passed (46.0s) Finished in 48.03s [//:release-all] $ node --no-warnings scripts/build/release.ts OK release angel@0.1.8: relocated load + archive bytes OK release ask@0.1.8: relocated load + archive bytes OK release bak@0.1.8: relocated load + archive bytes OK release chrome-cdp@0.1.8: relocated load + archive bytes OK release context-size@0.1.8: relocated load + archive bytes OK release continuity@0.1.8: relocated load + archive bytes OK release cost@0.1.8: relocated load + archive bytes OK release decay@0.1.8: relocated load + archive bytes OK release fast@0.1.8: relocated load + archive bytes OK release firefox-bidi@0.1.8: relocated load + archive bytes OK release footer@0.1.8: relocated load + archive bytes OK release git-safe@0.1.8: relocated load + archive bytes OK release good-job@0.1.8: relocated load + archive bytes OK release gratis@0.1.8: relocated load + archive bytes OK release horst@0.1.8: relocated load + archive bytes OK release intellij@0.1.8: relocated load + archive bytes OK release klaus@0.1.8: relocated load + archive bytes OK release masks@0.1.8: relocated load + archive bytes OK release mockup@0.1.8: relocated load + archive bytes OK release model-info@0.1.8: relocated load + archive bytes OK release notes@0.1.8: relocated load + archive bytes OK release nu-bang@0.1.8: relocated load + archive bytes OK release nushell@0.1.8: relocated load + archive bytes OK release open@0.1.8: relocated load + archive bytes OK release os-notifier@0.1.8: relocated load + archive bytes OK release pfui@0.1.8: relocated load + archive bytes OK release prompt-autopsy@0.1.8: relocated load + archive bytes OK release quota@0.1.8: relocated load + archive bytes OK release rtk@0.1.8: relocated load + archive bytes OK release runtime@0.1.8: relocated load + archive bytes OK release session-rename@0.1.8: relocated load + archive bytes OK release skillz@0.1.8: relocated load + archive bytes OK release strata@0.1.8: relocated load + archive bytes node_modules/mathjax-full/js/components/version.js (6:19) [EVAL] Use of direct `eval` function is strongly discouraged as it poses security risks and may cause issues with minification. ╭─[ ../../node_modules/mathjax-full/js/components/version.js:6:20 ] │ 6 │ var load = eval('require'); │ ──┬─ │ ╰─── Use of direct `eval` here. │ │ Help: Consider using indirect eval. For more information, check the documentation: https://rolldown.rs/guide/troubleshooting#avoiding-direct-eval ───╯ node_modules/mathjax-full/js/components/version.js (7:22) [EVAL] Use of direct `eval` function is strongly discouraged as it poses security risks and may cause issues with minification. ╭─[ ../../node_modules/mathjax-full/js/components/version.js:7:23 ] │ 7 │ var dirname = eval('__dirname'); │ ──┬─ │ ╰─── Use of direct `eval` here. │ │ Help: Consider using indirect eval. For more information, check the documentation: https://rolldown.rs/guide/troubleshooting#avoiding-direct-eval ───╯ OK release the-system@0.1.8: relocated load + archive bytes OK release tps@0.1.8: relocated load + archive bytes OK release ultra@0.1.8: relocated load + archive bytes OK release usage@0.1.8: relocated load + archive bytes OK release uv@0.1.8: relocated load + archive bytes OK release vcs-status@0.1.8: relocated load + archive bytes OK release web@0.1.8: relocated load + archive bytes OK release pi-ext@0.1.8: 40 extensions; /work/.pi/tmp/release-artifacts [luci] step 6/6 done in 943s
Passed · 1 executions
PASSEDci15m
Execution configuration
Imagemcr.microsoft.com/playwright:v1.61.0-noble
Matrixnone
Triggerpush
Commands
export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin
export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH"
command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; }
mise trust
mise install
CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci
Job source · .ci/ci.kdl
job "ci" { image "mcr.microsoft.com/playwright:v1.61.0-noble"trigger { push { branch "trunk"tag "v*" } }mount "cache" "toolchains" "/cache/toolchains"mount "cache" "npm" "/cache/npm"run "export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p \"$HOME\" /cache/toolchains/bin"run "export PATH=\"/cache/toolchains/bin:$HOME/.local/bin:$PATH\""run "command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp \"$HOME/.local/bin/mise\" /cache/toolchains/bin/mise; }"run "mise trust"run "mise install"run "CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci"artifact "release" { path "release-manifest.json"required true }publish "pkg" { from ".pi/tmp/release-artifacts"to "pi-ext/${rev}" }}
step timing
| Step | Command | Time |
|---|---|---|
| 1/6 | export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin | 0s |
| 2/6 | export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH" | 0s |
| 3/6 | command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; } | 0s |
| 4/6 | mise trust | 0s |
| 5/6 | mise install | 0s |
| 6/6 | CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci | 943s |
Log tail
[luci] step 1/6: export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin [luci] step 1/6 done in 0s [luci] step 2/6: export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH" [luci] step 2/6 done in 0s [luci] step 3/6: command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; } [luci] step 3/6 done in 0s [luci] step 4/6: mise trust mise trusted /work [luci] step 4/6 done in 0s [luci] step 5/6: mise install mise by @jdx – installing 7 tools mise ⇢ node@latest 4ms · already installed mise ⇢ go@latest 0ms · already installed mise ⇢ biome@latest 0ms · already installed mise ⇢ aqua:mikefarah/yq@latest 0ms · already installed mise ⇢ aqua:rvben/rumdl@latest 0ms · already installed mise ⇢ aqua:tamasfe/taplo@latest 0ms · already installed mise ⇢ go:golang.org/x/perf/cmd/benchstat@latest 0ms · already installed mise ████████████████ 7/7 · installed 0 tools · 7 already installed in 44ms mise all tools are installed [luci] step 5/6 done in 0s [luci] step 6/6: CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci [//:install] $ npm ci npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead added 720 packages, and audited 761 packages in 49s 181 packages are looking for funding run `npm fund` for details 3 vulnerabilities (2 moderate, 1 high) To address all issues, run: npm audit fix Run `npm audit` for details. [//:install] $ node scripts/patch_pi_test_harness.mjs [//:check] $ npm run typecheck [//:lint] $ npm run lint > pi-ext@0.1.8 lint > biome ci . && rumdl check . > pi-ext@0.1.8 typecheck > tsc --noEmit Checked 653 files in 5s. No fixes applied. Success: No issues found in 127 files (115ms) [//:lint] $ taplo format --check INFO taplo:format_files:load_config: found configuration file path="/work/.taplo.toml" INFO taplo:format_files:collect_files: found files total=85 excluded=40 files=["/work/.miserc.toml", "/work/.rumdl.toml", "/work/.taplo.toml", "/work/extensions/angel/mise.toml", "/work/extensions/ask/mise.toml", "/work/extensions/bak/mise.toml", "/work/extensions/chrome-cdp/mise.toml", "/work/extensions/context-size/mise.toml", "/work/extensions/continuity/mise.toml", "/work/extensions/cost/mise.toml", "/work/extensions/decay/mise.toml", "/work/extensions/fast/mise.toml", "/work/extensions/firefox-bidi/mise.toml", "/work/extensions/footer/mise.toml", "/work/extensions/git-safe/mise.toml", "/work/extensions/good-job/mise.toml", "/work/extensions/gratis/mise.toml", "/work/extensions/horst/mise.toml", "/work/extensions/intellij/mise.toml", "/work/extensions/klaus/mise.toml", "/work/extensions/masks/mise.toml", "/work/extensions/mockup/mise.toml", "/work/extensions/model-info/mise.toml", "/work/extensions/notes/mise.toml", "/work/extensions/nu-bang/mise.toml", "/work/extensions/nushell/mise.toml", "/work/extensions/open/mise.toml", "/work/extensions/os-notifier/mise.toml", "/work/extensions/pfui/mise.toml", "/work/extensions/prompt-autopsy/mise.toml", "/work/extensions/quota/mise.toml", "/work/extensions/rtk/mise.toml", "/work/extensions/runtime/mise.toml", "/work/extensions/session-rename/mise.toml", "/work/extensions/skillz/mise.toml", "/work/extensions/strata/mise.toml", "/work/extensions/the-system/mise.toml", "/work/extensions/tps/mise.toml", "/work/extensions/ultra/mise.toml", "/work/extensions/usage/mise.toml", "/work/extensions/uv/mise.toml", "/work/extensions/vcs-status/mise.toml", "/work/extensions/web/mise.toml", "/work/mise.android.toml", "/work/mise.toml"] cwd="/work" [//:lint] $ node scripts/check_frontmatter.mjs [//:lint] $ node scripts/check_skills.mjs [//:check] $ node scripts/check_skills.mjs [//:check] $ node scripts/test_extensions_static_check.mjs OK static-check tests [//:check] $ node scripts/extensions.mjs check OK static 40 extension package(s) [//:test] $ npm run test -- > pi-ext@0.1.8 test > vitest run RUN v4.1.11 /work Test Files 202 passed (202) Tests 2404 passed | 1 skipped (2405) Start at 10:11:38 Duration 204.94s (transform 12.96s, setup 0ms, import 71.25s, tests 282.23s, environment 50ms) [//:test] $ node --test .pi/skills/modernize/scripts/audit.test.mjs ✔ parses release sections newest first (3.483136ms) ✔ extracts migration sections and keyword bullets in the version interval (0.992753ms) ✔ rejects changelogs without release sections (0.734817ms) ✔ compares semantic versions numerically (0.346999ms) ✔ fails when installed Pi is not latest (0.520766ms) ✔ resolves the installed Pi package from launcher and CLI paths (3.621656ms) ✔ fails when no installed Pi package is near the launcher (1.262601ms) ✔ reports inherited-stdio child failures by exit code (50.446535ms) ✔ collects resolved earendil Pi package versions (16.867882ms) ✔ reports only evidence needed before tool-driven inspection (0.468975ms) ℹ tests 10 ℹ suites 0 ℹ pass 10 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 210.512938 [//:e2e] $ node scripts/e2e.mjs //extensions/chrome-cdp:e2e //extensions/klaus:e2e //extensions/mockup:e2e //extensions/strata:e2e //extensions/the-system:e2e [//:install] sources up-to-date, skipping [//extensions/chrome-cdp:e2e] $ npm exec -- vitest run --config vitest.e2e.config.ts RUN v4.1.11 /work/extensions/chrome-cdp stderr | __e2e__/browser.test.ts > real Chrome: raw, events, captures, trace, persistent profile, headed and public smoke public site verification unavailable: wait timed out: Page.loadEventFired on 2F4B0EA80E5BFAACB3BD2F632C15E389 ✓ __e2e__/browser.test.ts (3 tests) 23064ms ✓ real Chrome: raw, events, captures, trace, persistent profile, headed and public smoke 23048ms ✓ __e2e__/extension.test.ts (1 test) 3340ms ✓ Pi registration, /chrome toggle, raw command, screenshot, agent close 3338ms ✓ __e2e__/cleanup.test.ts (1 test) 1054ms ✓ only tagged dead-owner temporary directories are reclaimed 1051ms Test Files 3 passed (3) Tests 5 passed (5) Start at 10:15:11 Duration 32.11s (transform 375ms, setup 0ms, import 3.98s, tests 27.46s, environment 1ms) Finished in 33.98s [//:install] sources up-to-date, skipping [//extensions/klaus:e2e] $ npx vitest run --config vitest.e2e.config.ts RUN v4.1.11 /work/extensions/klaus ✓ __e2e__/provider-scenarios.test.ts (34 tests) 203547ms ✓ translates interleaved text, thinking, signatures, redaction, and Unicode 3647ms ✓ fails closed when Claude emits malformed tool arguments 2634ms ✓ fails closed when Claude emits array tool arguments 2639ms ✓ fails closed when Claude emits scalar tool arguments 2638ms ✓ fails closed when Claude emits null tool arguments 2635ms ✓ preserves parallel tool calls and forwards mixed Pi results exactly once 848ms ✓ continues a Pi parallel-tool batch without deadlocking on serial MCP dispatch 1221ms ✓ replays canonically when history changes across a parked tool boundary 1734ms ✓ fails a sessionless parked tool call instead of attaching later state 739ms ✓ caps max-token recovery and replays the next turn canonically 1579ms ✓ prices recognized fallbacks and ignores unknown returned models 1620ms ✓ accepts an empty successful assistant response without inventing content 753ms ✓ reports Pi abort as aborted and closes a stalled Claude request 720ms ✓ applies payload, headers, thinking, and virtual-response hooks without metadata leakage 767ms ✓ reapplies payload redaction when a transformed resume becomes a cold replay 1458ms ✓ normalizes a fake provider context overflow for Pi compaction detection 763ms ✓ runs independent sessions concurrently without response cross-talk 4000ms ✓ keeps overlapping calls with the same session ID concurrent and isolated 4074ms ✓ targets Fable 5.1 and warns once per Pi session 1449ms ✓ sends exact Pi tool schemas while disabling every Claude built-in tool 739ms ✓ reuses the idle child for the next turn in the same session 789ms ✓ discards the idle child when Pi edits the prior turn 1670ms ✓ discards the idle child when the system prompt changes 1619ms ✓ parks a tool call from a reused child and settles it 861ms ✓ swaps tools on the idle child instead of replaying 934ms ✓ drops the idle child when its reuse lease expires 3012ms ✓ sends only Pi's system prompt and no Claude Code preset 759ms ✓ names the tool behind an invalid input schema rejection 710ms ✓ surfaces child API retries as notices 2721ms ✓ keeps ambient CLAUDE.md memory out of the child request 756ms ✓ forwards a tool result larger than the child MCP output cap 820ms ✓ keeps a parked tool call alive past the auto-background window 150856ms ✓ keeps every retry of a broken stream streaming 1375ms ✓ __e2e__/fake-anthropic.test.ts (7 tests) 9160ms ✓ streams through the registered Pi provider route 2365ms ✓ aborts a stalled real Claude request on Pi activity timeout 657ms ✓ streams text through the real Claude child and fake Anthropic endpoint 734ms ✓ sends Pi images as native Agent SDK image blocks 755ms ✓ parks an MCP tool in Claude and resumes it with a Pi result 872ms ✓ restarts canonically when Pi changes tools across a parked call 1439ms ✓ resumes an opaque mirrored session through the public SessionStore 2335ms ↓ __e2e__/reuse-benchmark.test.ts (1 test | 1 skipped) Test Files 2 passed | 1 skipped (3) Tests 41 passed | 1 skipped (42) Start at 10:15:44 Duration 220.06s (transform 743ms, setup 0ms, import 6.65s, tests 212.71s, environment 1ms) Finished in 221.21s [//:install] sources up-to-date, skipping [//extensions/mockup:e2e] $ npm exec -- playwright test --config playwright.config.ts Running 8 tests using 1 worker ········ 8 passed (30.8s) Finished in 32.49s [//:install] sources up-to-date, skipping [//extensions/strata:e2e] $ npm exec -- playwright test --config playwright.config.ts Running 66 tests using 1 worker ·································································· 66 passed (2.2m) Finished in 132.43s [//:install] sources up-to-date, skipping [//extensions/the-system:e2e] $ npm exec -- playwright test --config playwright.config.ts Running 8 tests using 1 worker ········ 8 passed (46.0s) Finished in 48.03s [//:release-all] $ node --no-warnings scripts/build/release.ts OK release angel@0.1.8: relocated load + archive bytes OK release ask@0.1.8: relocated load + archive bytes OK release bak@0.1.8: relocated load + archive bytes OK release chrome-cdp@0.1.8: relocated load + archive bytes OK release context-size@0.1.8: relocated load + archive bytes OK release continuity@0.1.8: relocated load + archive bytes OK release cost@0.1.8: relocated load + archive bytes OK release decay@0.1.8: relocated load + archive bytes OK release fast@0.1.8: relocated load + archive bytes OK release firefox-bidi@0.1.8: relocated load + archive bytes OK release footer@0.1.8: relocated load + archive bytes OK release git-safe@0.1.8: relocated load + archive bytes OK release good-job@0.1.8: relocated load + archive bytes OK release gratis@0.1.8: relocated load + archive bytes OK release horst@0.1.8: relocated load + archive bytes OK release intellij@0.1.8: relocated load + archive bytes OK release klaus@0.1.8: relocated load + archive bytes OK release masks@0.1.8: relocated load + archive bytes OK release mockup@0.1.8: relocated load + archive bytes OK release model-info@0.1.8: relocated load + archive bytes OK release notes@0.1.8: relocated load + archive bytes OK release nu-bang@0.1.8: relocated load + archive bytes OK release nushell@0.1.8: relocated load + archive bytes OK release open@0.1.8: relocated load + archive bytes OK release os-notifier@0.1.8: relocated load + archive bytes OK release pfui@0.1.8: relocated load + archive bytes OK release prompt-autopsy@0.1.8: relocated load + archive bytes OK release quota@0.1.8: relocated load + archive bytes OK release rtk@0.1.8: relocated load + archive bytes OK release runtime@0.1.8: relocated load + archive bytes OK release session-rename@0.1.8: relocated load + archive bytes OK release skillz@0.1.8: relocated load + archive bytes OK release strata@0.1.8: relocated load + archive bytes node_modules/mathjax-full/js/components/version.js (6:19) [EVAL] Use of direct `eval` function is strongly discouraged as it poses security risks and may cause issues with minification. ╭─[ ../../node_modules/mathjax-full/js/components/version.js:6:20 ] │ 6 │ var load = eval('require'); │ ──┬─ │ ╰─── Use of direct `eval` here. │ │ Help: Consider using indirect eval. For more information, check the documentation: https://rolldown.rs/guide/troubleshooting#avoiding-direct-eval ───╯ node_modules/mathjax-full/js/components/version.js (7:22) [EVAL] Use of direct `eval` function is strongly discouraged as it poses security risks and may cause issues with minification. ╭─[ ../../node_modules/mathjax-full/js/components/version.js:7:23 ] │ 7 │ var dirname = eval('__dirname'); │ ──┬─ │ ╰─── Use of direct `eval` here. │ │ Help: Consider using indirect eval. For more information, check the documentation: https://rolldown.rs/guide/troubleshooting#avoiding-direct-eval ───╯ OK release the-system@0.1.8: relocated load + archive bytes OK release tps@0.1.8: relocated load + archive bytes OK release ultra@0.1.8: relocated load + archive bytes OK release usage@0.1.8: relocated load + archive bytes OK release uv@0.1.8: relocated load + archive bytes OK release vcs-status@0.1.8: relocated load + archive bytes OK release web@0.1.8: relocated load + archive bytes OK release pi-ext@0.1.8: 40 extensions; /work/.pi/tmp/release-artifacts [luci] step 6/6 done in 943s
Continue in CLI
Nushell command · read-only.
luci log dogip-dajul-mojor-goram 001
Local Luci data access required · no execution.
All configuration at this revision
ci.kdl @ 67a6
job "ci" { image "mcr.microsoft.com/playwright:v1.61.0-noble" trigger { push { branch "trunk" tag "v*" } } mount "cache" "toolchains" "/cache/toolchains" mount "cache" "npm" "/cache/npm" run "export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p \"$HOME\" /cache/toolchains/bin" run "export PATH=\"/cache/toolchains/bin:$HOME/.local/bin:$PATH\"" run "command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp \"$HOME/.local/bin/mise\" /cache/toolchains/bin/mise; }" run "mise trust" run "mise install" // Luci's capability-free container replaces Firefox's incompatible content sandbox. run "CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci" artifact "release" { path "release-manifest.json" required true } publish "pkg" { from ".pi/tmp/release-artifacts" to "pi-ext/${rev}" } }