Repository navigation
Releases: qtnx/omppp
Releases · qtnx/omppp
Release list
v1.11.7
@oh-my-pi/pi-coding-agent
Fixed
- Fixed long sessions freezing for 15–25 seconds before every model call while secret redaction rechecked placeholders.
What's Changed
- fix(secrets): memoize forged-prefix checks so long sessions stop freezing per turn by @qtnx in #240
- fix(deps): bump brace-expansion override to 5.0.12 for OSV advisories by @qtnx in #241
Full Changelog: v1.11.6...v1.11.7
v1.11.6
@oh-my-pi/pi-ai
Fixed
/usageno longer shows an always-emptygpt-4 requestsrow for Cursor accounts on usage-based plans; the Cursor Models and Other Models meters remain (#13726 by @will-bogusz).- Cursor turns routed through an HTTP proxy now finish instead of hanging after the response completes (#13724 by @will-bogusz).
@oh-my-pi/pi-coding-agent
Added
- Secrets in prompts and bash output are now also caught by the Secrets Sentinel classifier (
hypn05/secrets-sentinel), vaulted, and shown to the model and transcript only as their env var names. Sessions use the shared server atsecrets.sentinelUrl(defaulthttp://codemc:8795, override withSECRETS_SENTINEL_URL, empty to disable) and fall back to regex detection when it is unreachable; run it withscripts/secrets-sentinel/server.py.
Changed
- Dropped connections, server errors, and overloads now retry the same model up to 5 times with backoff before switching to a fallback model (
retry.retriesBeforeFallback); rate-limit and quota errors still switch immediately
Fixed
- A connection that drops with a bare
abortederror is now retried instead of immediately falling back to another model - The convergence and case-coverage guidance is now part of the shared system prompt for every model instead of a Claude Opus-only block: decide routing and rules once, stop re-checking settled facts, write plans and docs to disk early instead of composing them in reasoning, and list every case (other places reading the same data, variants, pending/failed/reloaded states) once before editing. In local A/B runs at xhigh thinking, Claude Opus 5.5 plan requests finished in every run instead of hitting the 20-minute cap in 3 of 5, and GPT-6 Astra plan requests finished about 17% faster (median 785s vs 950s) with the same coverage.
- Bug-fix guidance no longer stops the sibling search after one lookup; it follows every place that reads the faulty data.
- Fixed Herdr showing
ompxpanes as unknown instead of working/idle on Linux; noompx herdr installsymlink is needed anymore. - Fixed
computer.window(74)matching every open window andcomputer.window({ id: 74 })matching none; a numeric id now resolves the same window as"74"(#13649 by @will-bogusz)
@oh-my-pi/pi-natives
Fixed
- Fixed
computer.window(id).ax()andfind()failing withAxFailedon macOS sheets, popovers and open menus thatcomputer.windows()lists, such as TextEdit's Save sheet or a Calendar event popover (#13659 by @will-bogusz). - Fixed macOS 26 background scrolls moving twice the requested distance; background hovers, scrolls and right or middle clicks are now delivered once (#13739 by @will-bogusz).
- Fixed macOS
takeoverclicks and scrolls failing withAX action 'AXRaise' failed (AXError(-25205))on covered windows that do not supportAXRaise, such as iPhone Mirroring, even when activation brings them forward; a window that stays covered still refuses before any input is sent (#13737 by @will-bogusz).
What's Changed
- fix(coding-agent): resume stalled streams after visible text instead of stopping by @qtnx in #230
- sync: merge upstream/main 18.3.4 into OMPx 1.11.5 by @qtnx in #231
- ci(security): ignore unmaintained paste advisory (RUSTSEC-2024-0436) by @qtnx in #232
- config(agent-config): fall back from claude-opus-5-5 to gpt-6-astra:medium by @qtnx in #235
- fix(herdr): claim omp process name so herdr accepts ompx status reports by @qtnx in #236
- feat(secrets): detect secrets in prompts and bash output with Secrets Sentinel by @qtnx in #233
- feat(prompts): Claude Opus 5.5 model notes for convergence and case coverage by @qtnx in #237
- fix(retry): retry transient failures on the same model before falling back by @qtnx in #234
- feat(prompts): share convergence and case-coverage guidance across all models by @qtnx in #238
- sync: merge upstream/main 18.4.3 into OMPx 1.11.5 by @qtnx in #239
Full Changelog: v1.11.5...v1.11.6
v1.11.5
@oh-my-pi/chrome-annotate
Fixed
- Clicking the annotate toolbar (Pick, Draw, Send, …) or drawing a box no longer counts as a click on the page underneath, so the page's own modals and menus stay open.
@oh-my-pi/pi-coding-agent
Added
- Browser annotations now tell the agent that a screenshot is attached and save a copy under
~/.omp/annotate/shots. The message shows the file path so the agent can reopen the image after it drops out of context. Shots older than 7 days, or beyond the newest 200, are deleted automatically.
What's Changed
Full Changelog: v1.11.4...v1.11.5
v1.11.4
@oh-my-pi/pi-ai
Added
- OAuth callback servers also listen on this host's Tailscale address when a Tailscale interface is up, and
OAuthAuthInfo.tailnetLaunchUrlcarries a/launchshortcut on that address, so a provider login can be opened — and its callback finished — from another device on the tailnet instead of only fromlocalhost.
@oh-my-pi/chrome-annotate
Fixed
- Fixed Cmd+. / Ctrl+. sometimes doing nothing after the page re-rendered or removed the overlay, and one keypress toggling the overlay twice.
- Fixed duplicate overlays after reloading or updating the extension: the old copy now closes and stops answering the shortcut.
- Only one marker note input is open at a time; starting a new box saves the previous note.
@oh-my-pi/pi-coding-agent
Added
- Provider and MCP login screens (
/login, setup wizard,ompx auth-broker login, RPCopen_url) now show a Tailscale shortcut next to the local one when this machine is on a tailnet, with a hint to swaplocalhostfor the tailnet address if the final redirect lands on another device. ompx mnemopi-embed-serverserves memory embeddings over HTTP from one loaded model. Sessions use it throughmnemopi.embedServerUrl(defaulthttp://codemc:8793, override withMNEMOPI_EMBED_SERVER_URL, empty to disable), so a machine with many sessions keeps a single model in memory instead of one per session. When the server is unreachable, sessions embed locally and retry the server a minute later.
Changed
- The local memory embeddings worker (
__omp_worker_mnemopi_embed) now uses far less memory and CPU: it stays around 0.35–0.5 GB instead of 1.0–1.6 GB, a recall query takes ~0.1–0.3 s instead of ~0.4–1.4 s, and a worker left idle for 5 minutes exits and restarts on the next memory lookup. Before, every open session kept its own copy loaded until the session closed. - Compiled Linux and macOS binaries load rarely used code on first use instead of at startup. Each helper process (daemon broker, eval and embedding workers) now holds ~17 MB of private memory instead of ~105 MB, and an idle session ~270 MB instead of ~300 MB.
- Product Preview's web client (mermaid, canvas app, markdown renderer) loads when a preview starts instead of staying in every session's memory.
- Idle memory trim now also returns freed native memory to the OS (after a burst of parallel searches: ~990 MB back to ~90 MB), and when a background subagent or an unsent draft keeps the session busy at the idle deadline it tries again after another idle window instead of giving up until the next turn.
- Browser tabs left open by the agent now close after 10 minutes idle instead of 30 (
browser.idleCloseSec, new 5/10-minute options).
Fixed
- Advisor note artifacts are now written to a temp file and renamed into place. Before, the artifact path was advertised immediately while the write was still in flight, so a read could see an empty file. A block re-rendered each turn is now written only once.
- Exiting ompx inside a Herdr pane now clears the pane's agent status instead of leaving it stuck on idle/done.
- Codex models keep their prompt cache across turns and resumes:
grepis always available, and tools activated through tool search are restored when a session is resumed, so the tool list no longer changes mid-session (cache hit on a 3-turn session: ~78% → ~88%, turns after the first ~85% → ~98%, cost ~35% lower). - The shared headless Chromium no longer lingers after the agent is done with the browser: once no running session holds a tab in it, it stops ~15 s later (or at exit). Before, it kept running with zero tabs, using RAM and CPU, for as long as any ompx session stayed open in the project.
@oh-my-pi/pi-mnemopi
Changed
- Migrated all hashing operations from
node:cryptotoBun.SHA256
Fixed
- Local fastembed embeddings turn off ONNX Runtime's CPU memory arena and memory-pattern planning, stop padding every input to 512 tokens (only inputs of equal token length share a run, at most 8 per run). Vectors match to float noise; peak worker memory drops from ~1.6 GB to ~0.5 GB and a single-query embed is 2–4× faster.
@oh-my-pi/pi-natives
Added
- Added
appleFmAvailability,appleFmGenerate, andappleFmCancelnative bindings - Added
Encoding.JevtocountTokensfor offline TypeSafe Jev 1.13stateinput-token counts (request frame excluded), reconstructed from live API measurements
@oh-my-pi/pi-utils
Added
releaseNativeHeap()returns freed native-heap memory to the OS (malloc_trimon Linux glibc; a no-op elsewhere).
What's Changed
- feat(oauth): Tailscale login shortcut for remote provider login by @qtnx in #218
- fix(deps): bump faster-hex to 0.10.1 (RUSTSEC-2026-0306) by @qtnx in #219
- fix(advisor): write note artifacts atomically by @qtnx in #220
- test(learnings): wait for novelty reinforcement to persist by @qtnx in #221
- fix(herdr): release pane authority on exit so status clears by @qtnx in #222
- perf: cut ompx memory (shared lean embeddings, split binary, native heap trim) by @qtnx in #223
- fix(browser): stop idle shared Chromium when no session holds a tab by @qtnx in #225
- sync: merge upstream/main 18.2.11 into OMPx 1.11.3 by @qtnx in #224
- fix(deps): bump faster-hex to 0.10.1 for RUSTSEC-2026-0306 by @qtnx in #226
- feat(agent-config): serve central agent config from origin/main by @qtnx in #227
- fix(chrome-annotate): stabilize overlay toggle and prevent stacked overlays by @qtnx in #228
Full Changelog: v1.11.3...v1.11.4
v1.11.3
@oh-my-pi/pi-agent-core
Changed
- Proxy streams parse partial tool-call arguments with the same throttled parser as provider streams, instead of reparsing the full buffer on every delta (200 KB argument: ~1.6 s → ~6 ms).
@oh-my-pi/pi-ai
Fixed
- Fixed Anthropic per-message effort when a session starts without an explicit effort: the omitted level was assumed to be
high, but Opus 5.5 defaults tomedium, so a later switch tohighnever reached the API. Omitted effort is now tracked as its own baseline and every later explicit level is sent as a per-message control (upstream20f18f8). - Fixed resuming an Anthropic session in a new process after an effort change losing the whole prompt cache (Opus 5.5: ~116K tokens re-written). Each assistant turn now records the effort it ran at (
anthropicEffort), and a fresh session rebuilds the original top-level effort and per-message effort controls from those records. - Fixed every request paying a failing OAuth refresh round trip when an account in the pool had a dead refresh token: a credential blocked after a failed refresh is no longer re-refreshed during candidate preflight while its 5-minute backoff runs (forced re-mints still refresh it). With one dead OpenAI Codex account next to a healthy one, resolving a key dropped from ~480 ms to ~1 ms per request.
@oh-my-pi/pi-catalog
Fixed
- Fixed GPT-6 Sol and Luna missing from OpenAI Codex model discovery by advertising Codex client 0.155.1 and keying the Codex model cache on the client version (#12885 by @itsddvn)
- Added GPT-6 Sol and Luna thinking efforts on GitHub Copilot
@oh-my-pi/pi-coding-agent
Changed
- Streaming a large tool call no longer slows every frame: the status line tracks tool-argument growth without re-serializing the arguments (1000 frames with a 200 KB argument: ~100 ms → <1 ms).
- Assistant messages with many thinking/text blocks update in one pass instead of rescanning later blocks for every thinking block.
- Image generation through a connected OpenAI Codex subscription now defaults to
gpt-6-astrain every session, including Codex sessions chatting with an older GPT model; agents are told to leave the image provider unset unless the user names one. - Messages that scroll into terminal history drop their streaming render caches, cutting retained memory for long sessions (~33% less heap for 2000 committed 20 KB blocks).
- Streamed
message_updateevents are no longer queued for extensions when no extension listens for them. - The shared LSP daemon encodes each diagnostics message once instead of cloning it twice, and drops cached diagnostics when a document is closed (1000 publishes × 500 diagnostics: ~3.1 s → ~1.1 s).
- A running tool with a lot of output no longer burns CPU on every spinner tick: the spinner no longer throws away the output block's render cache (5 MB bash output, 100 ticks: ~810 ms → <1 ms).
codegraph_exploreno longer builds a missing index or waits minutes for one: on a project without an index it answers in milliseconds and points tojev_scout, and it waits at most 10 s for a sync or startup index already in progress. A first explore in a fresh worktree used to block every subagent that called it for ~6 minutes while it indexed the whole repository.jev_scoutnow carries a full query guide: when to use it, the query shape, how to pickpathandmax_files, how to check a hit, and a change-one-input recovery afterno_match. The guide is built from measured scout runs: starts at a repository root missed after one listing, while lookups scoped to a file hit in one request.- When
codegraph_exploreis missing, unindexed, still indexing, not installed, or off-target, agents switch tojev_scout(or grep/read for exact names) instead of guessing greps, installing CodeGraph, or building its index.codegraph_initnow runs only when the user asks for it.
Fixed
- Activating an MCP tool through tool discovery mid-conversation no longer rewrites the system prompt, which forced the provider to re-cache the whole conversation history (measured on Anthropic: ~45K tokens re-written per activation). The search result now names the new
xd://path, and the next mount notice names the original MCP call. tnx/scoutnow reports its real 256K context window (64K output) instead of the 128K default, so sessions on it compact at the right time.
@oh-my-pi/context-gc-plugin
Changed
- The per-request context check indexes messages and branch entries once instead of comparing every record against every message, about 12x faster with 1000 messages and records.
@oh-my-pi/pi-tui
Changed
- Streaming Markdown renders ~4x faster on long replies: frozen prefix tokens and rows are reused instead of copied every frame, and a growing top-level list re-renders only its new items (56 KB reply: ~1.4 s → ~0.3 s total).
- Typing in a large editor draft is fast again: wrap measurements for the whole draft stay cached instead of being cleared every 256 lines (2000-line draft: ~56 ms → ~1 ms per keystroke).
@oh-my-pi/pi-utils
Changed
chalkstyle chains are built once per parent builder and reused, instead of building a new builder on every property access.- Markdown inline lexing no longer rescans the rest of a paragraph for URLs and hard breaks after every text run, which removes quadratic work on long paragraphs.
What's Changed
- ci: drop Intel macOS (darwin-x64) targets by @qtnx in #211
- perf: faster streaming render, keystrokes, subagent auth and CodeGraph lookups; jev_scout query guide by @qtnx in #210
- fix(image-gen): default Codex image model to gpt-6-astra by @qtnx in #214
- fix(mcp): keep system prompt stable when discovery mounts MCP tools mid-conversation by @qtnx in #212
- fix(ai): keep Anthropic per-message effort correct and cache-stable across resume by @qtnx in #213
- fix(catalog): pick upstream GPT-6 Sol/Luna Codex discovery + Copilot efforts by @qtnx in #215
- fix(coding-agent): report real context window for tnx/scout combo by @qtnx in #216
- test(coding-agent): key Codex model cache seeds by client version by @qtnx in #217
Full Changelog: v1.11.2...v1.11.3
v1.11.2
@oh-my-pi/pi-ai
Fixed
- Fixed Anthropic multi-account rotation ignoring an account whose usage limit was reset early: Opus, Sonnet, and other non-Fable usage-limit blocks now lift as soon as a live usage report shows headroom, instead of idling the account until its original weekly reset and sending every request to a still-exhausted sibling.
@oh-my-pi/pi-catalog
Added
- Added GPT-6 Sol ($2/$10) and GPT-6 Luna ($0.10/$0.50) catalog rows copied from GPT-6 Astra, with cache at 0.1× read and 1.25× write.
@oh-my-pi/pi-coding-agent
Added
- Central agent config (on by default;
remoteConfig.enabled: falseopts out): pull model roles, subagent overrides, fallback chains, advisor/duo settings, and agent definitions from a shared host (defaultcodemc), hot-reloaded while running; your local config is the fallback and the last fetched copy keeps applying when the host is down - Editing advisor model settings (
advisor.*,duo.advisor*) inconfig.ymlwhile a session runs now rebuilds the advisor without a restart
Changed
- Jev turn classification no longer runs on every tool step: with a live advisor it still judges each step, otherwise a live duo or
auto-thinking session samples running tool work at most once per 15s, and duo-off sessions withoutautosend none. - Auto thinking takes its effort from Jev's prompt judgment (shared with duo routing), re-aims it mid-run from those 15s samples, and falls back to the tiny/smol classifier only when Jev is unavailable.
- Subagents without an explicit effort or
:levelsuffix run onautothinking; bundled agents that pinnedmedium/high/xhighnow pinauto. - The status-line work-phase chip only shows while duo is live.
- System prompt now routes behavior-to-location lookups to
jev_scout(with an explicit tie-break againstcodegraph_explore), makesbrowser_jevthe first tool for the main agent's own web UI verification, and adds a parallel fan-out playbook with concrete spawn triggers and an isolated-scope recipe for subagent waves.
What's Changed
- fix(ai): heal Anthropic opus/sonnet/default usage-limit blocks from live usage by @qtnx in #203
- ci: fast release path (<5 min when natives unchanged) by @qtnx in #204
- perf(coding-agent): budget Jev turn signals and let auto thinking adapt mid-run by @qtnx in #206
- feat(catalog): add GPT-6 Sol and Luna from Astra by @qtnx in #205
- feat(coding-agent): prioritize Jev tools and add parallel fan-out playbook in system prompt by @qtnx in #207
- feat(coding-agent): pull agent config from a central host with hot reload by @qtnx in #208
- fix(coding-agent): register Remote Config settings group by @qtnx in #209
Full Changelog: v1.11.1...v1.11.2
v1.11.1
@oh-my-pi/pi-ai
Fixed
- Claude Code OAuth now advertises CLI
2.1.280, which Anthropic requires for Opus 5.5 (claude_code_version_too_old).
@oh-my-pi/pi-catalog
Added
- Added the RunAnywhere provider (
inference.runanywhere.ai): OpenAI-compatible discovery of its GLM-5.3 Flash, Qwen3.8 27B, and Gemma 4 deployments with measured reasoning-effort ladders, published tariff pricing including cached-token rates, and the endpoint's non-standard input/output limit fields mapped to context and output limits. - Added Claude Opus 5.5 (
claude-opus-5-5) to the Anthropic catalog at $4/$20 per MTok with $0.20 cache reads and $5 cache writes.
Fixed
- Fixed SuperGrok (xai-oauth) Grok 4.7 missing its thinking-level options and reporting null context limits; it now carries the documented 500K window and low/medium/high/xhigh ladder (#12697, #201 by @eggpeat).
@oh-my-pi/pi-coding-agent
Changed
- Bundled
@oh-my-pi/pi-ai1.11.1, including the Claude Code fingerprint 2.1.280 update.
What's Changed
Full Changelog: v1.11.0...v1.11.1
v1.10.5
@oh-my-pi/pi-coding-agent
Added
- Added
jev_scoutto locate source with bounded follow-up searches, including methods inside large classes. By default it shares declaration names and locations rather than source bodies; broader source sharing remains an explicit setting. - Subagents (
scout,explore,plan,reviewer,qa,tester,security-reviewer,librarian, UI specialists) can now usejev_scout; read-only agents stay read-only. - TypeSafe assist for delegation (
task.jevAssist, on by default): picks the subagent when none is named, flags briefs missing anchors/checks/scope, hands each subagent the relevant slice of the parent conversation inline, labels subagent questions (fact, decision, user-only, status), marks results whose report lacks command evidence, and drops reviewer findings without a concrete failure scenario. - Added an autonomous completion check (
autonomy.stopGate) that sends premature questions and partial reports back for continued work while preserving user holds, approvals, cancellation, budgets, and plan-only requests.
Changed
- A new request after a 5-minute idle gap is checked for a topic change, and unrelated earlier context is compacted before the request starts (previously a 30-minute gap and a 30K-token floor).
Fixed
- Uncertain review judgments no longer delete existing findings or change their priorities.
- An unreachable signals endpoint is skipped for a minute after a failed attempt instead of delaying each request that consults it.
- Subagents receive ordered, deduplicated context and a full-snapshot fallback when required material cannot fit safely in an excerpt.
- An agent named at batch level on a
taskcall is no longer overridden by automatic routing; Jev picks an agent only when neither the item nor the batch named one. - Open tasks continue to block a premature stop when a completion check is inconclusive or its audit allowance is already spent; an unavailable check leaves the turn unchanged.
What's Changed
Full Changelog: v1.10.4...v1.10.5
v1.10.4
@oh-my-pi/pi-coding-agent
Changed
- The
duo.extendedContextsetting description now spells out that leaving the window unset also raises a smaller explicit context-window override, not just the standard-pricing cap.
Fixed
- Duo-routed models parked exactly on their premium long-context threshold (for example
openai/gpt-6-astracapped at 272K) get their full catalog window back — 1.05M — soduo.extendedContextno longer hands the model a standard-pricing window and forces an immediate compaction.
What's Changed
Full Changelog: v1.10.3...v1.10.4
v1.10.3
@oh-my-pi/pi-coding-agent
Added
/usagenow ends its overview with a session cache block: one stacked bar splitting the prompt into cache hits, cache writes, and uncached input, plus the provider-priced cost of each bucket and an estimate of what the hits saved.- Context trim at a cold-cache model switch: when a session changes model (duo phase switch, manual switch) the provider prompt cache is cold for the new model anyway, so before the first request Jev judges every large prompt record against the upcoming work and the stale ones are shed — priced against the previous model's still-live prefix, so a flip-back inside its cache TTL is never paid for twice. Falls back to the kind-based cold-cache heuristic when Jev is unavailable.
- Duo difficulty routing selects among deepseek-v4.1-flash, opus-5, gpt-6-astra, and fable-5-1, skips unavailable models, and shows the selected tier in
/duo status. - A live Jev routing evaluation reports difficulty, reasoning, and model-selection accuracy on labeled conversation cases, including short follow-ups and quota fallbacks.
- The scouting nudge: when the main agent has made 8+ read/grep/glob calls in one run with no edit and no
scout/exploredispatched, and TypeSafe judges the slice as open-ended discovery, a notice tells it to fan the discovery out to subagents instead of paying for it in its own context.
Changed
- Duo now adjusts reasoning effort on the current model from a single confident Jev judgment, taking effect on the next request even mid-turn — so finishing steps such as running known tests, committing, or opening a PR/MR after a hard implementation run at medium effort. Switching to a different model still waits for two agreeing judgments.
- Duo routing now skips a model whose account has no quota headroom left (5-hour or weekly usage window spent, live usage-limit block) instead of routing onto it and failing with a multi-hour
retry-after, and the top rung's fallback chain now continues down the ladder so a usage-limited planner model has somewhere to fall. - Duo-routed models keep their full context window (
duo.extendedContext, on by default): switching to GPT-6 Astra mid-task gets its 1.05M window instead of the 272K standard-pricing cap, so the switch no longer forces an immediate compaction. Requests above the standard threshold bill at the provider's long-context rate, and leaving duo puts the registry's standard window back on the stream.
Fixed
- Duo no longer keeps a planner-grade model on the main stream for exploration: reading, grepping, and globbing code with no edit landing routes to the executor rung whatever the task's difficulty or risk, so a risky or extreme task stops paying Fable/Astra prices to read the repository.
duo_handoff,duo_escalate, andduo_change_phaseare now registered in every session instead of only when a duo controller happened to be live at tool-registry build time, which left an activated duo session with no handoff tool.- Duo now adjusts models and reasoning effort during a running task using recent conversation history; short follow-ups retain context, and the executor no longer replaces the brainstorming model.
- Everything sent to the TypeSafe signals endpoint (transcript slices, plans, prompts, context digests) is now scrubbed first: the session's known secrets are replaced by their placeholders and credential-shaped tokens by
[REDACTED].
@oh-my-pi/context-gc-plugin
Added
- Consumed tool output is now shed mid-turn while the prompt cache is still warm: a large tool result the model has read exactly once (the slice the previous request introduced) is replaced by its recall placeholder when Jev judges the upcoming work no longer needs it and the rewrite pays back on the next request. Set
OMP_CONTEXT_GC_HOT_TRIM=0to disable.
Changed
- Prompt-cache warmth is tracked per model instead of per session: switching model (duo planner/executor, manual switch) reads cold only for the model that will serve the next request, so a switch trims stale prompt records while the model that just answered keeps its live prefix. The cold-cache trim is now judged by Jev against the upcoming work when signals are available, and falls back to the previous kind-based heuristic otherwise.
@oh-my-pi/delegation-reminder-plugin
Added
- Added a run-scoped discovery reminder: after 8
read/grep/glob/codegraph_explorecalls in a run with no edit and notaskdispatch, the tool result carries a one-time notice to fan outscout/exploresubagents instead of hand-scouting. Tunable viadiscoveryThreshold, suppressed when TypeSafe classifies the slice as targeted lookups.
What's Changed
Full Changelog: v1.10.2...v1.10.3