Commit Graph
9801 Commits
Author SHA1 Message Date
roboomp aff195a91c fix(advisor): arm immune window only when a turn is steered
`#recordAdvisorInterruptDelivered()` ran before the plan-mode and ACP-defer
preserve branches, so a blocker that was merely preserved (never interrupting
or starting a turn) still armed the post-interrupt immune window. With the
default `advisor.immuneTurns = 3`, the next three turns' concerns/blockers
were then downgraded to skip-idle-flush asides and could again be deferred.

Move the cooldown arm below every preserve branch so it fires only on the
actual steer/trigger path.

Fixes #5628
2026-07-15 23:26:03 +00:00
roboomp 581bfed6b5 fix(advisor): preserve terminal blocker when ACP defers agent turns
An idle ACP session sets `deferAgentInitiatedTurns`, so a steered terminal
blocker routed through `sendCustomMessage({ triggerTurn: true })` was buried
in `#pendingNextTurnMessages` instead of starting a turn — invisible and
deferred to the next user prompt, the exact regression #5628 avoids.

`#routeAdvice` now preserves the blocker as a visible card when a turn cannot
auto-trigger (idle + ACP defer without an explicit allow), folding the
existing plan-mode preserve branch into the same guard.

Fixes #5628
2026-07-15 23:20:35 +00:00
roboomp 54df76be81 fix(advisor): steer late blocker after terminal answer
A late interrupting advisor note delivered after the primary ended with a
terminal text answer (no queued work) was routed to `preserve` for every
severity, so a `blocker` flagging a mistake in the final output became a
passive card that the model ignored until the next user turn.

Scope the terminal-answer preserve rule to non-blocker severities: a
`blocker` now steers a triggered turn so the primary acknowledges and
continues before the turn is considered done, while a late `concern` still
preserves as a visible card (keeps the #4840 no-duplicate-completion path).

Fixes #5628
2026-07-15 23:12:42 +00:00
DarkPhilosophy 1d69621776 fix(advisor): preserve watchdog configuration 2026-07-16 02:07:51 +03:00
roboomp f512d99614 fix(tool): strip leading colon before Windows path shapes
expandPath's leading-colon strip only fired before POSIX prefixes
(`/`, `~/`, `./`, `../`), so Windows-mangled inputs like `:C:\repo\file`
or `:.\src` slipped through and path.resolve treated them as relative
children of cwd. The omp grep subcommand is the Windows grep path, so it
hit the common Windows form of the same bug.

Broaden the lookahead to admit `\` separators, `.\`/`..\` relatives, and
drive-letter absolutes (`[A-Za-z]:`). Add expandPath regression tests
for the Windows forms and the bare-token non-strip cases.

Fixes #5624
2026-07-15 22:25:44 +00:00
roboomp e291d77cb0 fix(tool): routed omp grep CLI path through expandPath
The `omp grep` subcommand resolved its path argument with a bare
`path.resolve` in `runGrepCommand`, bypassing `expandPath`. The
leading-colon strip from #5529 never fired, so `:/abs/path` was
mangled into `<cwd>/:/abs/path` and failed to resolve.

Route the path arg through `expandPath` so it inherits the leading-`:`
strip plus `@`-prefix, tilde, and unicode-space normalizations, matching
`read`/`edit`/in-agent `grep`.

Fixes #5624
2026-07-15 22:17:35 +00:00
roboomp 34b4598918 fix(tui): rendered keyed hook statuses separately
Rendered each keyed extension status on an independently truncated line while preserving deterministic key ordering.

Added narrow-width regression coverage for multiple extension status keys.

Fixes #5617
2026-07-15 21:07:05 +00:00
Mathews-Tom d3ef0629ef fix(coding-agent): decouple agent-end notifications 2026-07-16 02:16:37 +05:30
Mathews-Tom 0e3eaab137 fix(advisor): preserve history tool arguments 2026-07-16 02:08:42 +05:30
Mathews-Tom 382fce4964 fix(coding-agent): defer retry failure through compaction 2026-07-16 01:58:02 +05:30
Mathews-Tom c4ef142581 fix(advisor): scan raw primary context 2026-07-16 01:54:55 +05:30
Mathews-Tom d27c9f1bbe fix(advisor): redact rendered transcript only 2026-07-16 01:42:48 +05:30
Mathews-Tom b064be537b fix(coding-agent): preserve history in terminal hooks 2026-07-16 01:33:46 +05:30
Mathews-Tom 79d3947e8d test(eval): match spawn policy description 2026-07-16 01:29:59 +05:30
Mathews-Tom a548c44670 fix(advisor): redact only rendered tool previews 2026-07-16 01:21:53 +05:30
Mathews-Tom 5e22240406 fix(coding-agent): distinguish recovery from terminal stops 2026-07-16 01:20:40 +05:30
Mathews-Tom 41d2b40555 fix(advisor): scan only rendered tool previews 2026-07-16 01:07:09 +05:30
Mathews-Tom e8ac3b54de fix(advisor): limit execution redaction previews 2026-07-16 00:54:40 +05:30
Mathews-Tom 4fa34d07b9 fix(advisor): clear rewritten thinking signatures 2026-07-16 00:43:59 +05:30
Mathews-Tom cd2047ba81 fix(advisor): skip hidden tool result bodies 2026-07-16 00:35:04 +05:30
Mathews-Tom 9f44e2bf32 fix(coding-agent): notify only on terminal errors 2026-07-16 00:28:42 +05:30
Mathews-Tom 39e95bdf43 fix(advisor): rescrub coalesced secret prefixes 2026-07-16 00:22:46 +05:30
Mathews-Tom 2230c9f5ec fix(secrets): rescan adjacent historical placeholders 2026-07-16 00:10:50 +05:30
Mathews-Tom 6d4d88b167 Merge remote-tracking branch 'upstream/main' into feat/error-notify
# Conflicts:
#	packages/coding-agent/test/task/coordination-advisory.test.ts
2026-07-16 00:09:02 +05:30
Mathews-Tom 7300ee6242 Merge remote-tracking branch 'upstream/main' into feat/secret-friendly-names
# Conflicts:
#	packages/coding-agent/test/task/coordination-advisory.test.ts
2026-07-16 00:08:52 +05:30
roboomp 188985eb0f fix(models): isolated provider header defaults
- Resolved provider headers only from static and runtime provider overrides.
- Kept unrelated per-model header overrides out of native tool requests.
- Added regression coverage for xAI model-scoped tenant headers.

Fixes #5599
2026-07-15 17:53:47 +00:00
can1357 d25d9300ed chore: fixed remaining stale tests after prompt and session api changes
- coordination advisory now points at hub, not irc
- eval description renders 'Allowed:' list instead of removed default-agent prose
- task description no longer renders spawn-policy text; assert agent-list filtering instead
- issue-2750 mock session gained getEnabledToolNames (renamed session api)
2026-07-15 19:50:46 +02:00
roboomp 91b67c7b0f fix(web-search): honored configured xai transport
- Routed native xAI Responses search through configured provider base URLs and headers.
- Kept endpoint credentials coupled and rejected official OAuth tokens for custom endpoints.
- Added proxy routing and credential-leak regression coverage.

Fixes #5599
2026-07-15 17:44:30 +00:00
Mathews-Tom 71d609d635 fix(advisor): skip hidden custom payloads 2026-07-15 23:09:45 +05:30
Mathews-Tom 025f6b8260 Merge remote-tracking branch 'upstream/main' into feat/secret-friendly-names
# Conflicts:
#	packages/coding-agent/test/modes/components/tool-execution-spinner.test.ts
#	packages/coding-agent/test/streaming-preview-height.test.ts
2026-07-15 23:01:23 +05:30
Mathews-Tom ea3882f8a3 fix(coding-agent): close terminal retry lifecycle 2026-07-15 22:53:47 +05:30
Mathews-Tom f0e8bad801 fix(secrets): preserve historical placeholder aliases 2026-07-15 22:51:36 +05:30
can1357 c2a659df34 chore: fix stale tests 2026-07-15 19:16:41 +02:00
can1357 46ad908245 fix(coding-agent): renamed settings keys to avoid nested-value lookup collisions
- Updated schema and runtime paths to use `dev.autoqaConsent` and `todo.remindersMax`, including auto-QA consent reads/persistence and todo reminder limit checks.
- Adjusted settings expectations so obsolete BM25-discovery keys were dropped on load and `tools.xdev` now kept its default unless explicitly set.
- Added/updated tests for the setting key migration and refreshed issue-consent flows, plus a new `refreshMCPTools` test for steered `xdev-mount-notice` updates without prompt rebuilds.
2026-07-15 19:08:37 +02:00
can1357 bf3764fa4d feat(coding-agent): stabilize system-prompt cache across xd:// mount changes via delta notices
Instead of including the xd:// device inventory in the system-prompt signature, mount/unmount events now inject a steered `xdev-mount-notice` message so the system prompt (and its provider cache prefix) stays byte-stable across MCP connects and disconnects. Full device docs are picked up opportunistically on the next unrelated rebuild.

Also caps external (dynamic-mount) device descriptions to 200 chars in `docsAll` to prevent server-controlled prose from consuming prompt budget; built-ins keep their full curated docs, and `read xd://` always returns the untruncated text.

Legacy `discoveryMode: "off"` → `tools.xdev: false` migration is removed; the setting keeps its own default without inference from the deprecated key.
2026-07-15 19:07:31 +02:00
Mathews-Tom fde3722fc3 Merge remote-tracking branch 'upstream/main' into feat/error-notify
# Conflicts:
#	packages/coding-agent/src/session/agent-session.ts
#	packages/coding-agent/test/task/executor-prewalk.test.ts
2026-07-15 22:34:44 +05:30
Mathews-Tom 6c38f9f259 fix(coding-agent): reset retry state on view changes 2026-07-15 22:30:15 +05:30
Mathews-Tom 2c56d23e4f fix(coding-agent): retain retry notification suppression 2026-07-15 22:21:26 +05:30
Mathews-Tom 75ab0be2a0 Merge remote-tracking branch 'upstream/main' into feat/secret-friendly-names
# Conflicts:
#	packages/coding-agent/src/session/agent-session.ts
2026-07-15 22:20:21 +05:30
Mathews-Tom 93530e0cd6 fix(advisor): retain regex collision values 2026-07-15 22:16:44 +05:30
Mathews-Tom c41dc368cc fix(advisor): skip hidden file body redaction 2026-07-15 22:13:17 +05:30
can1357 9afedb591e feat(coding-agent): added opt-in task prewalk and tightened --tools and xdev behavior
- Added a `task.prewalk` option (default `false`), removed default task `prewalk` flags, and updated prewalk resolution so bunded generic task execution only prewalks when explicitly enabled.
- Enforced strict `--tools` validation in CLI parsing, making unknown tool names fail fast with `CliUsageError` instead of being silently filtered.
- Migrated legacy discovery settings (`tools.discoveryMode`, `tools.essentialOverride`, MCP discovery keys) into updated `tools.xdev` handling with preserved explicit override behavior.
- Hardened xdev/ACP execution flow by capping `docsAll` payloads with overflow listing and remapping `xd://` dispatches/approval gating for correct execute/read behavior and reduced duplicate prompts.
2026-07-15 18:39:36 +02:00
Mathews-Tom 68d712be4f fix(advisor): ignore hidden file mention content 2026-07-15 21:58:52 +05:30
Mathews-Tom d294cba91c fix(advisor): skip hidden execution output 2026-07-15 21:44:38 +05:30
Mathews-Tom 95c8e5ac0e fix(advisor): ignore hidden execution output 2026-07-15 21:42:33 +05:30
Mathews-Tom ed9da6a124 fix(secrets): restore short legacy aliases 2026-07-15 21:32:25 +05:30
Mathews-Tom 6aec4c460f fix(advisor): ignore hidden tool details 2026-07-15 21:32:19 +05:30
Mathews-Tom a893720e6e fix(secrets): preserve historical placeholder safety 2026-07-15 21:19:55 +05:30
Mathews-Tom 8dfe4bb78c fix(secrets): rescan adjacent placeholders 2026-07-15 21:11:16 +05:30
robomp-bot d85469264e style(warp): organize event bridge import 2026-07-16 00:23:52 +09:00