Skip to content

fix(deps): update all non-major dependencies (patch) - #1955

Merged
shunkakinoki merged 2 commits into
mainfrom
renovate/patch-all-minor-patch
Jun 29, 2026
Merged

fix(deps): update all non-major dependencies (patch)#1955
shunkakinoki merged 2 commits into
mainfrom
renovate/patch-all-minor-patch

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Jun 26, 2026

Copy link
Copy Markdown
Owner

This PR contains the following updates:

Package Change Age Confidence Type Update Pending
@oh-my-pi/pi-coding-agent (source) ^16.1.7^16.1.13 age confidence dependencies patch 16.1.23 (+9)
@oh-my-pi/pi-natives (source) ^16.1.7^16.1.13 age confidence dependencies patch 16.1.23 (+9)
agentcash (source) ^0.15.0^0.15.1 age confidence dependencies patch
renovatebot/github-action v46.1.15v46.1.16 age confidence action patch v46.1.17
ruff (source, changelog) >=0.15.17>=0.15.18 age confidence dependency-groups patch 0.15.20 (+1)

Release Notes

can1357/oh-my-pi (@​oh-my-pi/pi-coding-agent)

v16.1.13

Compare Source

@​oh-my-pi/pi-ai
Added
  • Added support for Devin as a provider
Changed
  • Updated tool call arguments to use Record<string, unknown> and unknown for tool results
Fixed
  • Fixed OpenAI Responses native history replay dropping failed/incomplete image generation calls instead of resending their transient ig_... item IDs, preventing follow-up requests from failing with 404 Item with id ... not found. (#​3225)
  • Fixed /login fireworks rejecting valid fw_… keys with Fireworks API key validation failed (500): Error listing deployed models. The validator pinged /inference/v1/models, which Fireworks serves from the per-account deployment registry and 500s for accounts without active deployments. Login now hits the static control-plane List Models catalog (GET /v1/accounts/fireworks/models?filter=supports_serverless=true&pageSize=1) — the same endpoint discovery already uses — so authentication no longer depends on the caller's deployment state. (#​3219)
@​oh-my-pi/pi-catalog
Added
  • Added support for Devin as a model provider
  • Added capability to fetch dynamic models from the Devin model manager
@​oh-my-pi/snapcompact
Fixed
  • Fixed the Umans provider image budget to match its 10-image request cap.
What's Changed

Full Changelog: can1357/oh-my-pi@v16.1.12...v16.1.13

v16.1.12

Compare Source

Changed
  • Refined secret obfuscation to only target message roles and fields containing operator secrets
  • Restricted obfuscator to ignore secrets and regex matches shorter than 8 characters
  • Optimized obfuscation to skip static system prompts and tool schemas in provider contexts
  • Ensured image data bytes are never modified to prevent corrupted data URL payloads
Fixed
  • Fixed secret obfuscation corrupting Codex image reads (and other provider requests) with Invalid 'input[N].content[].image_url'. Expected a base64-encoded data URL ... but got an invalid base64-encoded value. The obfuscator deep-walked every string in the outbound request — including inline image base64 and opaque provider replay/signature fields — so a configured secret that happened to be a substring of the base64 (or of an ordinary word like response) injected #HASH# placeholders mid-payload. Obfuscation is now opt-in and fully typed: only user messages, tool-result messages, and user-attributed developer messages (@file mentions) are redacted; system prompts and tool schemas pass through untouched; image bytes and signature/encrypted-reasoning fields are never rewritten; and tool-call arguments are the only JSON walked. Configured plain secrets and regex matches shorter than 8 characters are now ignored to stop false matches on short words.
  • Fixed RPC/ACP startup clobbering explicit caller/project/global configuration for task.isolation.{mode,merge,commits}, task.eager, task.batch, task.maxConcurrency, task.maxRecursionDepth, task.disabledAgents, task.agentModelOverrides, memory.backend, memories.enabled, advisor.{enabled,subagents,syncBacklog,immuneTurns}, plus the RPC-only async.{enabled,maxJobs} and bash.autoBackground.{enabled,thresholdMs}. applyDefaultSettingOverrides re-asserted the schema default as a runtime override after settings load, regressing the isConfigured() guard added for #​2598 and ignoring every explicit value the embedder, project, --config overlay, or global config had set. The guard is restored, so the host default now only fills holes (#​3207).

v16.1.11

Compare Source

Added
  • Added tab.waitForSelector for more robust element-wait behavior
  • Added tab.waitForNavigation to monitor and await page transitions
Changed
  • Standardized public HTML exports to use the brand web palette instead of the local TUI theme
  • Updated export logic to allow choosing between brand-web or local TUI color palettes
  • Clamped browser tool timeouts to fail fast with named errors instead of opaque cell timeouts
  • Added strict validation to block unsupported Playwright-only selector engines in browser tools
Fixed
  • Fixed Codex image reads re-encoding to WebP and then failing the next request with an invalid input_image.image_url; Codex-bound images now stay in PNG/JPEG-compatible formats.
  • Fixed prompt-template and file slash-command submissions rendering both the raw slash invocation and the expanded prompt in the interactive transcript. (#​3199)
  • Fixed the /model thinking picker labeling the OpenAI GPT-5.5 top effort as max instead of the catalog-declared xhigh (#​3194).
  • Fixed session-title generation silently falling back to the online smol model (and billing whatever provider held the resolved API key — OpenRouter in the reporter's case) when the user had explicitly configured a local providers.tinyModel: generateSessionTitle raced local against online with a 10s timeout and fired the online request immediately whenever the local worker returned null (unknown key, model not downloaded, transformers.js failure). Now an explicit local-model choice is honored end-to-end — on local failure the session is left untitled with a logger.warn instead of billing the smol fallback (#​3187)
  • Fixed OpenCode MCP discovery so array commands are normalized into a stdio executable plus arguments, environment is accepted as the OpenCode env key, and argument lists are omitted when empty. (#​3180)
  • Fixed plan mode leaving write hidden under tools.discoveryMode: "all", which made the agent attempt to create the plan file via edit and stall. Plan-mode entry now force-activates write whenever the registry built it, matching the write+edit instructions in the plan-mode prompt (#​3165)
  • Fixed edit and patch tool writes bypassing the ACP client's open buffer when Zed (or another ACP client) advertises the fs.writeTextFile capability: all three write-mode tools (edit, patch, replace) now route through the client bridge when it is available, so the editor's TypeScript diagnostics panel updates immediately instead of requiring a workspace reload.
  • Fixed the agent dashboard new-agent description and the hook editor (default hook-style mode) treating Ctrl+Q as plain text on Windows Terminal, leaving Windows users unable to submit because the terminal cannot deliver a distinct Ctrl+Enter event. Both forms now submit on the shared app.message.followUp chord (Ctrl+Q or Ctrl+Enter), matching the main prompt editor and any user remap of app.message.followUp (#​2118).
  • Fixed pi.sendMessage({ display: true }) rendering the custom message twice when fired from a session_start extension handler (or any other non-streaming dispatch before the initial transcript render). ExtensionUiController.#applyCustomMessageDisplay rebuilt the chat from the freshly-persisted session entry, and main.ts's subsequent renderInitialMessages(undefined, { preserveExistingChat: true }) then both re-rendered from session entries AND re-appended the preserved chat children — duplicating the message. The rebuild now waits until renderInitialMessages has completed at least once (tracked via InteractiveModeContext.initialChatRendered); after that, post-init extension sends still rebuild as before so messages from tool_result / agent_end / etc. surface immediately (#​1955).
  • Fixed Git-mutating automation silently mis-handling pure Jujutsu workspaces (.jj/repo/ present, no colocated .git/). task/worktree.ts#getRepoRoot previously threw a generic "Git repository not found" for isolated subagent setup, and autoresearch/git.ts#ensureAutoresearchBranch returned a soft "Not in a git repository" warning that let /autoresearch proceed with no branch isolation or auto-commits. Both paths now detect a pure jj workspace via the new jj.isPureJjRepo helper and surface an actionable Jujutsu-specific error pointing at jj git init --colocate. Colocated jj-git (both .jj/ and .git/ at the same root) and plain Git checkouts behave exactly as before (#​1935).
  • Fixed auto thinking mode being silently dropped when a session is resumed (--continue/--resume/in-app switch). The session log persisted only the resolved per-turn effort, not the auto selector, so resume froze the session at the last concrete level and never reclassified again. The log now records the configured selector (auto vs concrete) alongside the resolved effort, so resumed auto sessions stay in auto (shown as pending until the next turn reclassifies) and manual concrete pins still restore as concrete — including a pin whose level matches the effort auto had just resolved to.
  • Fixed transcript scrollback stability on terminals with eager erase risk so completed assistant messages remain stable while new streaming lines are rendering
  • Fixed Hindsight retain (and the shared mnemopi/Hindsight recall paths) framing assistant turns whose only content was punctuation/whitespace — most commonly the lone . some providers emit for tool-call-only or thinking-only turns — into [role: assistant]\n.\n[assistant:end] blocks that polluted the bank, wasted retain tokens, and degraded recall. prepareRetentionTranscript, extractMessages, and flattenMessagesForRecall now require at least one letter or digit per message via a shared hasSubstantiveContent predicate (#​1806).
  • Fixed /resume rendering forked child sessions without a fork tag, making them indistinguishable from their parent when titles match (#​1792).

v16.1.10

Compare Source

Added
  • Added tab.ariaSnapshot(selector?) to the browser tool for Playwright-format ARIA-tree YAML
  • Added tab.ref("e5") and support for aria-ref=e5 selectors in all tab action methods
Changed
  • Made write and find tools essential so they are always available initially (surviving tools.discoveryMode === "all" hiding) to ensure instructions to write/find files are immediately executable (#​3165)
Fixed
  • Fixed streamed tool-call previews freezing on their placeholder body ($ …, Write: …, an empty args tree) even after the tool finished: the pending card was created while arguments streamed, but when the closing full-arguments message_update never arrived (smooth-streaming disabled leaving the throttled arguments stale, an owned-dialect projector, or a superseded/aborted turn that still ran the call) nothing re-applied the final args. tool_execution_start — the one event every execution path emits with validated full arguments right before the result — now reconciles them onto the existing pending card and cancels any in-flight reveal so a late tick can't re-truncate the body.

v16.1.9

Compare Source

Added
  • Added LLM request JSON export functionality to /dump
Changed
  • Improved browser stealth by suppressing common automation flags and patching property descriptors
  • Enhanced stealth for WebGL, Worker, IFrame, Screen, and Audio APIs to evade detection
  • Updated toString patching to register native function sources for improved fingerprint protection
Fixed
  • Fixed omp list and omp remove silently starting an interactive agent session (forwarding the bare verb to the model as a prompt) instead of surfacing the real omp plugin list / omp plugin uninstall <name> commands (#​2935)
  • Fixed lazy-initialized LSP servers (basedpyright/pyright, and likely gopls/rust-analyzer) hanging on the first request: the message reader matched incoming messages against pending client requests by id before checking for a method, so a server-originated workspace/configuration pull whose id collided with an in-flight request was swallowed as a bogus response, leaving the pull unanswered and the server wedged. The reader now routes any message carrying a method as a server request before id-matching (#​3001)
  • Fixed omp --approval-mode=yolo acp and other global option flags placed before a subcommand being rewritten to launch with the subcommand swallowed as prompt text; the CLI resolver now skips leading global flags (using the launch parser's value-consumption contract) and dispatches the real subcommand with the flags applied, so ACP mode honors the configured approval policy. (#​2970)
  • Fixed /mcp enable and /mcp disable reconnecting unrelated MCP servers by scoping toggle reconnect/disconnect work to the named server. (#​3157)
  • Stopped the local llama.cpp no-auth login placeholder from being sent as a discovery bearer token.
Removed
  • Removed /debug dump-next-request command
  • Removed Wafer Pass from CLI credential help; Wafer Serverless remains available.

v16.1.8

Compare Source

Added
  • Added "Prose Only Thinking" setting to opt-out of rendering code blocks within AI thinking traces
  • Replaced code blocks in AI thinking traces with an ellipsis when "Prose Only Thinking" is enabled
  • Added a live tokens-per-second readout to the thinking pulse, counting only provider-reported tokens (no character estimate, which undercounts a summarized reasoning trace) and hiding itself whenever the rate is zero. Live numbers therefore appear only for providers that report usage mid-turn; otherwise the bare pulse keeps signalling that the model is thinking.
  • Updated the thinking pulse to a faster starburst whose rotation eases across each cycle (instead of ticking at a fixed rate), with a speed badge that fades from gray to the theme accent as the rate climbs.
  • Added live state previews for high-value built-in slash commands in TUI autocomplete.
  • Added a copy affordance for completed /btw answers so users can copy the visible side-answer text before branching or dismissing the panel.
Changed
  • Updated SnapcompactInline and SDK session context building to support asynchronous rendering
  • Changed side-channel turns (/btw, /omfg, and IRC auto-replies) to forward the main turn's tool catalog to preserve the prompt-cache layout, while injecting a reminder to suppress tool usage and discarding any generated tool calls.
  • Changed /btw, /tan, /omfg, /memory, /rename, and /move to save the typed command text to TUI prompt history so they can be recalled with the up arrow.
  • Changed the temporary model picker to label Alt+P selections as session-only and point users to Alt+M or /model for role model assignment. (#​2952)
  • Replaced new Promise((resolve, reject) => ...) in AsyncDrain with Promise.withResolvers() per the repo's promise-construction convention
  • Changed the default advisor interrupt cooldown to 3 turns and the default auto-compaction strategy to snapcompact, with non-vision and over-budget snapcompact runs still falling back to context-full summaries.
Fixed
  • Fixed a TypeError in EventController tests where a missing settings property in the InteractiveModeContext mock object led to calling .get on undefined when streaming tool-call args.
  • Fixed auto-compaction status text to label snapcompact runs instead of reporting them as context-full maintenance.
  • Fixed side-channel turns failing to correctly obfuscate secrets and tools when inheriting prompt cache layout
  • Fixed MCP startup status to live-update from "Connecting…" to connected, still-connecting, or failed server states so completed connections do not leave a stale banner. (#​3150)
  • Fixed session history becoming desynchronized when using the rewind tool
  • Fixed rewind tool output and temporary assistant side-channel data polluting the prompt cache
  • Fixed read against a SQLite table with many columns (e.g. 33) rendering every cell as an ellipsis and chopping the right edge. The ASCII table shrinker bottomed out at MIN_COLUMN_WIDTH=1 so every multi-char cell collapsed to , and the final line truncation then cut off the right side. The renderer now bumps the per-column floor to 3 and falls back to a vertical column: value block layout per row when the column count exceeds the horizontal width budget. (#​3107)
  • Fixed skill://, local://, memory://, and vault:// directory paths so read lists them and search/find can walk their backing directories. (#​3116)
  • Fixed local tiny-model inference failures respawning __omp_worker_tiny_inference for the same failed model, and blocked the unsupported Qwen3 1.7B ONNX memory model before load. (#​3132)
  • Fixed /join failing with timed out waiting for the host's welcome on collab sessions whose existing transcript was more than a few MB. The host now sends a small welcome frame (header + state + agents + entryCount) followed by a train of snapshot-chunk frames (SNAPSHOT_CHUNK_BYTES = 512 KB), and the guest accumulates them under a per-chunk progress timeout that resets on each chunk arrival. The first welcome lands well under one second on the default relay, so the guest's 30s first-welcome budget is no longer spent transferring the snapshot. Requires the new COLLAB_PROTO = 2 on both sides; older hosts/guests are rejected with the existing protocol-mismatch error. (#​3144)
  • Stopped Mnemopi retention from overflowing the embedding model's context window: embed() now caps each input at MNEMOPI_EMBEDDING_MAX_INPUT_CHARS (default 8192 chars) and clips with a head/tail split so a long multi-turn MnemopiSessionState.retainMessages transcript can't make llama.cpp's /embeddings server reject the request with request (N tokens) exceeds the available context size and silently drop vector recall for that memory. The head/tail clip keeps both the opening setup and the most recent turns so later episodes don't collapse onto the same prefix vector (#​3126).
  • Fixed /goal continuation turns that end with a successful yield skipping threshold auto-compaction while the active goal remains over compaction.thresholdTokens. (#​3146)
  • Fixed first-turn memory recall invalidating append-only prompt caches by promoting injected memory into the stable session prompt before the next turn. (#​3111)
  • /resume and omp --resume no longer auto-switch to the "all projects" picker when the current folder has no sessions. The picker now stays scoped to the cwd and surfaces the existing "No sessions in current folder. Press Tab to view all." hint, so users in an empty project never see other projects' session history without asking. (#​3099)
  • Fixed /todo export and /todo import in ACP/text and TUI modes to resolve paths from the active session cwd, accept quoted paths with spaces, and report invalid path schemes without crashing.
  • Fixed the SDK buildSystemPrompt helper to render caller-provided tools instead of falling back to the default prompt inventory, and to keep no-tools-map skills visible when read is available through the fallback.
  • Fixed Esc in focused subagent views cancelling active context maintenance (compaction, handoff, and retry operations); pressing Esc now returns to the main view instead, without aborting the maintenance. The active auto-compaction and auto-retry loaders also suppress their "(esc to cancel)" hint while focused to avoid displaying a false affordance. (#​2819)
  • Fixed /omfg saved-state copy to advertise Esc dismiss after saving and registering the rule live.
  • Fixed legacy Pi extensions importing getModel/getModels from the @oh-my-pi/pi-ai package root failing to load, by restoring them as compatibility aliases for @oh-my-pi/pi-catalog's getBundledModel/getBundledModels. The root StringEnum compatibility shim also accepts TypeScript enum objects in addition to value arrays (#​2907).
  • Fixed the Alt+M model-configuration menu so role assignment remains selectable for models whose context window is smaller than the current session; the context-size disabling still applies to the Alt+P temporary active-model switch (#​2861).
  • Fixed the advisor raising false blockers in plan mode (e.g. "don't write a plan file") because it only saw a 120-char truncation of the injected plan-mode rules, which cut off at NEVER create, edit, or delete files — excep… and hid the "except the single plan file" carve-out. The advisor delta now expands the primary agent's constraint context (plan-mode-context, plan-mode-reference) verbatim inside an XML-escaped <primary-context> wrapper instead of a one-liner, and AdvisorRuntime dedupes the re-injected prompts so an unchanged copy collapses to a marker rather than re-feeding the full rules every turn.
  • Fixed auto-compaction being suppressed when a before_provider_request extension shrinks the outgoing request below the real stored conversation (e.g. a context-compression proxy such as Headroom, or an aggressive obfuscator). The provider then reports deflated prompt tokens, so the threshold check never fired and the stored history grew unbounded until it overflowed the context window and could no longer be compacted at all. The compaction decision (both the pre-prompt and post-response paths) now floors the provider-reported context tokens by the agent's own local estimate of the stored conversation, so on-wire compression can no longer hide a too-large history from the auto-compactor. Context display and cost accounting still use the exact provider usage; only the compaction trigger takes the floor.
  • Fixed mnemopi proactive linking being configurable only through the MNEMOPI_PROACTIVE_LINKING environment variable, unlike the sibling mnemopi.polyphonicRecall / mnemopi.enhancedRecall settings: added a mnemopi.proactiveLinking config.yml setting (off by default, /settings → Memory → Mnemopi) that ingests new memories into the episodic graph as they are stored, linking them to related entities and memories; MNEMOPI_PROACTIVE_LINKING still overrides the configured value when set (#​2440).
renovatebot/github-action (renovatebot/github-action)

v46.1.16

Compare Source

Documentation
  • update references to renovatebot/github-action to v46.1.15 (0013591)
Miscellaneous Chores
Build System
  • deps: lock file maintenance (26f827f)
Continuous Integration
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.214.6 (f3fd163)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.216.1 (8cf15ee)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.216.2 (29c9f31)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.216.4 (400f75c)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.217.0 (2aea29e)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.217.1 (268f254)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.218.0 (ebcc800)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.219.0 (a61593e)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.220.0 (#​1037) (0d198c1)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.222.0 (46f2bd6)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.222.1 (90deabf)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.224.0 (22d7b5c)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.224.1 (39a2ba1)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.225.0 (c2f08ab)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.226.1 (75a5340)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.227.0 (da1079a)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.227.1 (26a0ce7)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.228.0 (9dd450f)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.228.1 (066bf0a)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.229.0 (edd7e4f)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.229.1 (64e44a4)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.229.2 (dce4d1b)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.230.0 (30fd043)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.230.1 (425d313)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.231.0 (ae939aa)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.231.1 (cac502d)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.231.2 (242a56f)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.231.3 (3b66329)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.232.0 (c0502ab)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.232.1 (d46a7eb)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.233.1 (b476f30)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.233.2 (bc50ad1)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.233.3 (908f92d)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.233.4 (a48bc32)
  • deps: update ghcr.io/renovatebot/renovate docker tag to v43.234.0 (c929092)
  • deps: update ghcr.io/zizmorcore/zizmor docker tag to v1.26.1 (#​1055) (c878bfb)
  • deps: update zizmorcore/zizmor-action action to v0.5.7 (996e7bc)
astral-sh/ruff (ruff)

v0.15.18

Compare Source

Released on 2026-06-18.

Preview features
  • Handle nested ruff:ignore comments (#​25791)
  • Stop displaying severity in output (#​26050)
  • Use human-readable names in CLI output (#​25937)
  • Use human-readable names in LSP and playground diagnostics (#​26058)
  • [pydocstyle] Prevent property docstrings starting with verbs (D421) (#​23775)
  • [flake8-pyi] Extend PYI033 to Python files (#​26129)
Bug fixes
  • Detect equivalent numeric mapping keys (#​26009)
  • Detect mapping keys equivalent to booleans (#​25982)
  • Detect repeated signed and complex dictionary keys (#​26007)
Rule changes
  • [flake8-pyi] Rename PYI033 to legacy-type-comment (#​26131)
Performance
  • Use ThinVec for call keywords (#​25999)
  • Inline parser recovery context checks (#​26038)
  • Match parser keywords as bytes (#​26037)
  • Move value parsing out of lexing (#​25360)
Server
  • Render subdiagnostics and secondary annotations as related information (#​26011)
Documentation
  • Update fix availability for always-fixable rules (#​26091)
  • [flake8-tidy-imports] Add fix safety section (TID252) (#​17491)
Parser
  • Reject __debug__ lambda parameters (#​26022)
  • Reject _ as a match-pattern target (#​25977)
  • Reject multiple starred names in sequence patterns (#​25976)
  • Reject parenthesized star imports (#​26021)
  • Reject starred comprehension targets (#​26023)
  • Reject unparenthesized generator expressions in class bases (#​25978)
  • Reject yield expressions after commas (#​26024)
  • Validate function type parameter default order (#​25981)
Playground
Contributors

Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

@shunkakinoki
shunkakinoki enabled auto-merge (squash) June 26, 2026 04:28
@indent-zero

indent-zero Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor
PR Summary

shunkakinoki merged the latest main into the branch and resolved conflicts in bun.lock and package.json. The net effect of the PR vs origin/main is unchanged from the previous SHA — still a set of patch-level dependency bumps.

Effective changes vs origin/main:

  • @oh-my-pi/pi-coding-agent: ^16.1.7^16.1.13 (package.json + bun.lock manifest)
  • @oh-my-pi/pi-natives: ^16.1.7^16.1.13 (package.json + bun.lock manifest)
  • agentcash: ^0.15.0^0.15.1
  • ruff (pyproject tools): >=0.15.17>=0.15.18
  • bun.lock resolved versions for the @oh-my-pi packages stay at 16.1.18 (still satisfies ^16.1.13); agentcash resolves to 0.15.1. No transitive tree shift after the merge.

No issues found.

Issues

No issues found.

CI Checks

The arm64 Docker build is green this time. Only the upgrade job (and its upgrade-check aggregate gate) is failing, with the same pre-existing ruler.toml schema mismatch seen on prior SHAs.

  • upgrade fails inside ruler-apply-global with [ruler] Invalid configuration file format (Context: File: /home/runner/.ruler/ruler.toml, Errors: global). None of the bumped packages (@oh-my-pi/pi-coding-agent, @oh-my-pi/pi-natives, agentcash, ruff) touch ruler.toml or the ruler CLI; this is the same pre-existing breakage that's been failing on every recent SHA of this branch.
  • upgrade-check is the aggregate gate that fails because of the above.
  • Mesa Description is neutral (informational summary post, not a failure gate).
Failing upgrade-check
  • Aggregate gate that fails because the underlying upgrade job exited 2 inside ruler-apply-global with [ruler] Invalid configuration file format (Context: File: /home/runner/.ruler/ruler.toml, Errors: global). Same pre-existing failure observed on every recent SHA of this branch; unrelated to the dependency bumps in this PR. Reproduce locally with make upgrade-dev and reconcile ~/.ruler/ruler.toml with the installed ruler CLI's schema.

@mesa-dot-dev

mesa-dot-dev Bot commented Jun 26, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates several dependencies across the project. Specifically, it bumps @oh-my-pi/pi-coding-agent and @oh-my-pi/pi-natives to version 16.0.11 in package.json and bun.lock. Additionally, it updates ruff to >=0.15.18 and fastapi[standard] to >=0.137.2 in pyproject.toml. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Re-trigger cubic

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@shunkakinoki, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 38 minutes

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable usage-based reviews in Billing to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please see our Fair Usage Limits Policy for further information, and refer to the rate limits docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c634aa74-62d1-4372-bfb4-044767a0b151

📥 Commits

Reviewing files that changed from the base of the PR and between f600038 and cbbb50e.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • package.json
📝 Walkthrough

Walkthrough

Version constraints were updated in package.json, pyproject.toml, and the Renovate workflow.

Changes

Dependency and workflow version updates

Layer / File(s) Summary
Renovate action update
.github/workflows/renovate.yml
The Renovate workflow step now uses renovatebot/github-action v46.1.16.
JavaScript dependency bumps
package.json
@oh-my-pi/pi-coding-agent, @oh-my-pi/pi-natives, and agentcash version ranges were updated.
Python tooling bump
pyproject.toml
ruff in the tools dependency group was updated.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Poem

A rabbit hopped through the version glen,
Tapping the burrow keys again and again. 🐇
One hop for Renovate, one hop for yarn,
One hop for Ruff to keep the tools in form.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the patch-version dependency updates in the PR.
Description check ✅ Passed The description clearly matches the dependency update changes shown in the diff.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/patch-all-minor-patch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@mesa-dot-dev

mesa-dot-dev Bot commented Jun 26, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Updates non-major Python and Node.js dependencies to their latest patch versions, including @oh-my-pi packages, agentcash, fastapi, and ruff.

What changed?

  • package.json: Upgraded @oh-my-pi/pi-coding-agent and @oh-my-pi/pi-natives (^16.0.6^16.0.11), and agentcash (^0.15.0^0.15.1).
  • bun.lock: Updated the lockfile to reflect the new Node.js package versions.
  • pyproject.toml: Upgraded ruff (>=0.15.17>=0.15.18) and fastapi[standard] (>=0.137.1>=0.137.2).

Description generated by Mesa. Update settings

@shunkakinoki
shunkakinoki force-pushed the renovate/patch-all-minor-patch branch 2 times, most recently from 2eb5943 to 8190cc4 Compare June 28, 2026 04:30

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pyproject.toml`:
- Line 18: Ruff is only pinned in the dependency group, but the independent
install/run paths still float. Update the Ruff references in the Python workflow
and the Makefile lint target alongside the pyproject dependency so `python.yml`
and the local `ruff` invocation use the same fixed version. Use the existing
Ruff install/run entries in those locations to keep all entrypoints aligned.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ff71b275-a6f2-4c95-bb56-918154750b5b

📥 Commits

Reviewing files that changed from the base of the PR and between 2eb5943 and 8190cc4.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • package.json
  • pyproject.toml
🚧 Files skipped from review as they are similar to previous changes (1)
  • package.json

Comment thread pyproject.toml
"mistral-vibe>=2.17.1",
"nvitop>=1.7.0",
"ruff>=0.15.17",
"ruff>=0.15.18",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
rg -n -C2 --glob 'pyproject.toml' --glob 'Makefile' --glob '.github/workflows/*.yml' '\bruff\b|uv pip install --system ruff|uv run --with ruff'

Repository: shunkakinoki/dotfiles

Length of output: 159


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '--- pyproject.toml ---\n'
nl -ba pyproject.toml | sed -n '1,120p'

printf '\n--- Makefile Ruff references ---\n'
rg -n -C2 '\bruff\b|uv run --with ruff|uv pip install --system ruff' Makefile

printf '\n--- GitHub workflow Ruff references ---\n'
rg -n -C2 '\bruff\b|uv run --with ruff|uv pip install --system ruff' .github/workflows/python.yml

printf '\n--- dependency-groups/tools references in repository ---\n'
rg -n -C2 'dependency-groups|tools' pyproject.toml .github/workflows/python.yml Makefile

Repository: shunkakinoki/dotfiles

Length of output: 250


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- pyproject.toml ---'
nl -ba pyproject.toml | sed -n '1,120p'

printf '\n%s\n' '--- Makefile Ruff references ---'
rg -n -C2 '\bruff\b|uv run --with ruff|uv pip install --system ruff' Makefile

printf '\n%s\n' '--- GitHub workflow Ruff references ---'
rg -n -C2 '\bruff\b|uv run --with ruff|uv pip install --system ruff' .github/workflows/python.yml

printf '\n%s\n' '--- dependency-groups/tools references in repository ---'
rg -n -C2 'dependency-groups|tools' pyproject.toml .github/workflows/python.yml Makefile

Repository: shunkakinoki/dotfiles

Length of output: 222


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '%s\n' '--- pyproject.toml ---'
awk '{printf "%5d  %s\n", NR, $0}' pyproject.toml | sed -n '1,120p'

printf '\n%s\n' '--- Makefile Ruff references ---'
rg -n -C2 '\bruff\b|uv run --with ruff|uv pip install --system ruff' Makefile

printf '\n%s\n' '--- GitHub workflow Ruff references ---'
rg -n -C2 '\bruff\b|uv run --with ruff|uv pip install --system ruff' .github/workflows/python.yml

printf '\n%s\n' '--- dependency-groups/tools references in repository ---'
rg -n -C2 'dependency-groups|tools' pyproject.toml .github/workflows/python.yml Makefile

Repository: shunkakinoki/dotfiles

Length of output: 3221


Pin Ruff in the active entrypoints too. pyproject.toml:18 only updates the dependency group; .github/workflows/python.yml:42-47 and Makefile:1304-1307 install/run Ruff independently, so CI and the local lint target will keep floating. If the goal is a single Ruff version, update those commands as well.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pyproject.toml` at line 18, Ruff is only pinned in the dependency group, but
the independent install/run paths still float. Update the Ruff references in the
Python workflow and the Makefile lint target alongside the pyproject dependency
so `python.yml` and the local `ruff` invocation use the same fixed version. Use
the existing Ruff install/run entries in those locations to keep all entrypoints
aligned.

@shunkakinoki
shunkakinoki force-pushed the renovate/patch-all-minor-patch branch from 8190cc4 to f600038 Compare June 29, 2026 04:30
@shunkakinoki
shunkakinoki disabled auto-merge June 29, 2026 05:53
# Conflicts:
#	bun.lock
#	package.json
@shunkakinoki
shunkakinoki merged commit bc434b3 into main Jun 29, 2026
31 of 33 checks passed
@shunkakinoki
shunkakinoki deleted the renovate/patch-all-minor-patch branch June 29, 2026 07:36
@indent-zero indent-zero Bot mentioned this pull request Jun 29, 2026
1 task
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.

2 participants