Peter Steinberger
17e42229d2
feat: teach models to use collapsible details where supported ( #114706 )
...
* feat: teach models to use collapsible details where supported
* fix: accept nullable accountId in telegram rich-messages helper
* docs: regenerate docs map for collapsible details heading
* fix(ci): remove duplicate Codex prewarm test route
2026-07-27 16:06:33 -04:00
Peter Steinberger
f3055f64f4
fix(pr): keep landing mutations inside the dedicated PR worktree ( #114723 )
2026-07-27 16:04:52 -04:00
Peter Steinberger
f0371e8d88
fix: stop blocked tool loops stalling until timeout ( #114673 )
...
* fix(agents): make global loop breaker reachable
Record loop-detector vetoes as typed no-progress outcomes so repeated blocked calls continue the existing streak without colliding with plugin or approval denials. Extract streak accounting into its own owner module and keep completed veto records out of argument reconciliation.\n\nFixes #109435 .
* test: harden isolated project routing
Route registry-sensitive UI tests through the isolated project for both focused and broad runs, centralize the isolated file list, and register the Codex prewarm test in the full extension shard.
* test(qa): prove global loop breaker runtime
Drive 31 identical read attempts through the real QA Gateway agent loop and verify the typed veto streak reaches the global circuit breaker before the turn returns a final marker.
* test: keep isolated UI files out of shared runs
Always exclude registry-sensitive files from the shared UI project and reject broad watch targets that would span shared and isolated projects.
2026-07-27 16:02:28 -04:00
Peter Steinberger
9c7d83117d
fix: browser CDP Docker lane rejects its fixture ( #114691 )
...
* test(e2e): drop retired browser profile color
* test(ci): remove duplicate Codex prewarm routing
2026-07-27 16:00:36 -04:00
Peter Steinberger
f23928e418
fix(ui): keep channel action labels on one line and surface QR next to actions ( #114708 )
...
* fix(ui): keep channel action labels on one line and surface QR next to actions
* fix(test): drop duplicate prewarm test from attempt-extra shard config
2026-07-27 15:55:38 -04:00
Peter Steinberger
277e887c3a
fix(release): validate frozen runtime pair evidence ( #114707 )
...
* fix(release): validate frozen runtime pair evidence
* fix(release): pin frozen runtime gap identities
* style(release): satisfy frozen validator lint
* fix(ci): repair release blocker checks
2026-07-27 15:49:42 -04:00
Peter Steinberger
7361455160
fix(clickclack): name discussion channels from session titles ( #114711 )
2026-07-27 15:45:42 -04:00
Peter Steinberger
3dc3370d9e
fix(copilot): keep tool transcript groups structurally complete ( #114403 )
...
* refactor(copilot): make SQLite own transcripts
* fix(copilot): harden transcript event projection
* test(copilot): tighten transcript journal types
* fix(copilot): retain unmatched usage metadata
* refactor(copilot): commit tool groups atomically
* fix(copilot): break journal bridge import cycle
* fix(copilot): preserve grouped transcript replay
* test(copilot): cover opaque replay state
* fix(copilot): invalidate lossy transcript replay
* fix(copilot): guard transcript rewrite topology
* fix(copilot): drain transcript finalization
* fix(copilot): preserve resumed session history
* fix(copilot): dedupe replayed transcript snapshots
* fix(copilot): isolate transcript write hooks
* fix(copilot): track staged transcript identities
* fix(copilot): isolate ephemeral transcript events
* fix(copilot): coalesce assistant snapshots
* fix(copilot): invalidate unprojected SDK context
* fix(copilot): guard resumed transcript replay
* fix(plugin-sdk): expose strict transcript append
* fix(copilot): persist journal provenance safely
* fix(copilot): separate live and durable deltas
* fix(copilot): require durable projection ownership
* fix(copilot): preserve strict append typing
* fix(copilot): gate deferred session deletion
* fix(copilot): preserve transcript replay identity
* fix(copilot): retain cited replay history
* fix(copilot): require complete replay provenance
* fix(copilot): reject ambiguous assistant snapshots
* fix(copilot): return latest assistant snapshot
* chore(copilot): align transcript lint gates
* test(lint): cover Copilot line budgets
* test(ci): dedupe Codex prewarm shard
2026-07-27 15:42:00 -04:00
Peter Steinberger
bbc73c36bd
feat(plugins): beam local coding sessions into a read-only catalog ( #112323 )
...
* feat(plugins): add read-only session beam
* test(plugins): tighten Beam HTTP fixtures
* docs(plugins): refresh Beam inventory counts
* fix(plugins): keep Beam wire types private
* fix(plugins): stabilize Beam transcript paging
* fix(plugins): honor Beam Control UI base paths
2026-07-27 15:37:36 -04:00
Peter Steinberger
52e519220c
fix(agents): prevent ambiguous automatic command approvals ( #114681 )
...
* fix(agents): reject ambiguous auto-review approval decisions
* test(agents): normalize concurrent reviewer stress promises
2026-07-27 15:16:08 -04:00
Peter Steinberger
7e25a84484
fix(ui): show resolved avatars on session owner chips ( #114682 )
...
* fix(ui): show resolved avatars on session owner chips
* chore(ui): drop unused ActorIdentityUser re-export
2026-07-27 15:15:18 -04:00
Peter Steinberger
f8cc39ce62
refactor(reply): converge queued follow-up execution [AI-assisted] ( #114599 )
...
* refactor(reply): converge queued follow-up execution
* fix(reply): preserve follow-up lifecycle invariants
* fix(reply): fence follow-up admission generation
* fix(reply): reconcile follow-up preflight state
* fix(reply): fence persisted follow-up generation
* fix(reply): defer follow-up compaction terminal notices
* style(reply): format follow-up admission
* fix(reply): normalize follow-up session metadata
* fix(reply): fence in-memory follow-up generation
* test(reply): satisfy follow-up lint contracts
* fix(reply): revalidate failed follow-up preflight
* fix(reply): reject deleted follow-up generation
* fix(reply): release restart-aborted operations
* test(reply): avoid unbound operation assertion
* fix(reply): refresh follow-up presentation state
* test(reply): use canonical plan update shape
* fix(reply): harden follow-up progress delivery
* fix(reply): synchronize recovered follow-up operation
* test(reply): mark partial operation fixture
* fix(reply): adopt owned preflight rotations
* docs(reply): clarify restart settlement guard
* test(reply): preserve terminal notice call count
* refactor(reply): remove retired follow-up exports
* test(reply): prove dispatcher-only follow-up routing
* chore(reply): remove stale delivery type import
* fix(reply): finalize follow-up cleanup and failure delivery
* fix(reply): prefer authoritative admission snapshot
* fix(reply): avoid replay on progress failure
* fix(reply): retain suppressed-mode terminal failures
* fix(reply): preserve follow-up session context
* fix(reply): preserve exclusive delivery and deleted state
* fix(reply): prevent post-start follow-up replay
* fix(reply): prioritize safe follow-up failure delivery
* fix(reply): signal follow-up execution after start
* fix(reply): harden follow-up settlement
* refactor(reply): keep session clear internal
* fix(reply): consume pre-run user aborts
* fix(reply): retain progress delivery failure
* fix(ci): register codex prewarm test shard
* test(reply): retain operation mock type
2026-07-27 15:06:11 -04:00
Peter Steinberger
ab0b749017
perf(gateway): stop per-row store and registry rediscovery in sessions.list ( #114659 )
...
* perf(gateway): stop per-row store and registry rediscovery in sessions.list
* fix(gateway): satisfy kysely guardrail and knip on sessions.list rediscovery fix
* refactor(state): split registered agent database listing from the registry
* chore(state): allowlist the split registry listing module for raw sqlite probes
2026-07-27 15:04:24 -04:00
Peter Steinberger
6353412ace
fix(agents): keep reply-path and run-contract tools visible under tool search ( #114664 )
...
* fix(agents): keep reply-path and run-contract tools visible under tool search
* test(agents): refresh prompt snapshots for direct-only contract tools
* fix(ci): register prewarm test in codex attempt-extra shard
2026-07-27 15:00:38 -04:00
Peter Steinberger
e57549c8b9
fix(ui): prevent stale and read-only Workboard dashboard actions ( #114686 )
...
* fix(ui): keep Workboard dashboard card actions connection-safe
* fix(ui): retain type-safe read-only widget enforcement
2026-07-27 14:56:08 -04:00
Peter Steinberger
e1e62f2a6e
fix: prevent cron and Workboard lifecycle races ( #114674 )
...
* fix: harden cron and workboard lifecycle races
* fix: include missing app-server test in CI shard
2026-07-27 14:52:06 -04:00
Peter Steinberger
f85a458a45
refactor(mobile): consolidate native gateway and voice lifecycles ( #114671 )
...
* refactor(mobile): consolidate native lifecycle ownership
* fix(ci): cover Codex prewarm and chat lifecycle proof
2026-07-27 14:52:02 -04:00
Peter Steinberger
e2fbd3b1ed
fix(tui): prevent wrapped terminal stress-test failures ( #114672 )
...
* fix(tui): stabilize wrapped terminal stress tests
* fix(ci): cover Codex prewarm in full-suite shard
2026-07-27 14:34:43 -04:00
Peter Steinberger
3923a9c8b9
perf(gateway): memoize device pairing reads behind mutation invalidation ( #114657 )
...
* perf(gateway): memoize device pairing reads behind mutation invalidation
* test(gateway): split node pairing memo coverage
2026-07-27 14:16:08 -04:00
Peter Steinberger
778edf0a81
refactor(providers): consolidate compatible replay policies ( #114669 )
2026-07-27 14:15:53 -04:00
Peter Steinberger
6451888c42
refactor(plugins): compact workspace SDK alias metadata ( #114666 )
2026-07-27 14:12:41 -04:00
Peter Steinberger
892b8b4c22
fix(qa): allow tracked runtime harness gaps ( #114667 )
2026-07-27 14:09:14 -04:00
ClawSweeper
e073d17be1
perf(codex): prewarm app server during attempt setup ( #114551 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 11:02:16 -07:00
Peter Steinberger
fd0fdcc458
chore(docs): audit external links without gating PRs ( #114643 )
...
* docs: repair audited external links
* ci(docs): add advisory external link audit
2026-07-27 14:02:09 -04:00
Peter Steinberger
2b11203eb3
fix(cli): keep config file queries fast and read-only ( #114660 )
2026-07-27 13:56:00 -04:00
Luka Dolenc
600fac1cf7
fix(memory-core): prune dangling recall refs during repair ( #114419 )
...
* fix(memory-core): prune dangling recall refs during repair
* refactor(memory-core): clarify dangling audit count
---------
Co-authored-by: Luka Dolenc <266726612+DolencLuka@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 13:54:01 -04:00
Peter Steinberger
d9e6d00261
fix(agents): safely parse Code Mode module boundaries ( #114651 )
2026-07-27 13:50:40 -04:00
Peter Steinberger
eb4c6ca669
fix(agents): prevent Windows shell startup bypassing auto-review ( #114652 )
2026-07-27 13:45:39 -04:00
Peter Steinberger
b74c4acca9
fix(ui): retain the selected Workboard card agent ( #114650 )
2026-07-27 13:44:26 -04:00
Peter Steinberger
8d2e111053
fix(mac): stop Settings crashing on packaged SwiftPM resources ( #114648 )
...
* fix(mac): repair packaged SwiftPM resources
* chore(mac): keep release note in PR body
2026-07-27 13:42:01 -04:00
WhatsSkiLL
79c517df89
fix(agents): stop stable tool argument churn ( #112620 )
...
* fix(agents): detect stable tool argument churn
* fix(agents): refine argument churn evidence
* fix(agents): route argument churn through recovery
* fix(agents): reconcile rewritten loop arguments
* fix(agents): defer churn recovery across policy waits
* fix(agents): preserve churn clocks across policy waits
* fix(agents): harden concurrent churn policy tracking
* fix(agents): avoid stale churn false positives
* fix(agents): satisfy loop diagnostic CI guards
* fix(agents): normalize write churn outcomes
* fix(logging): order churn activity events
* fix(agents): classify churn no-progress outcomes
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-28 01:34:37 +08:00
WhatsSkiLL
62129e3a68
fix(windows): make scheduled task stop locale-independent ( #114434 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-07-28 01:33:31 +08:00
Peter Steinberger
92ec5f454e
perf(gateway): bound session list title probes to transcript head and tail ( #114647 )
...
* perf(gateway): bound session list title probes to transcript head and tail
* chore(gateway): drop redundant undefined from title probe union
2026-07-27 13:26:50 -04:00
WhatsSkiLL
2731bfa3c3
fix(gateway): resolve keyed default agents ( #113146 )
...
* fix(gateway): resolve keyed default agents
* fix(gateway): preserve main-session config compatibility
* fix(config): preserve agent projection across overrides
---------
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-28 01:17:15 +08:00
Peter Steinberger
8f8e40dabe
perf(gateway): share one node.list snapshot across session catalog providers ( #114646 )
2026-07-27 13:14:07 -04:00
Peter Steinberger
1af330548a
fix(tui): prevent Gateway metadata from becoming session titles ( #114642 )
2026-07-27 13:08:29 -04:00
WhatsSkiLL
29bbf78790
fix(update): recognize Bun text lockfiles ( #114416 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-07-28 01:08:07 +08:00
Peter Steinberger
f0a963a2cb
fix(ui): isolate case-sensitive channel sessions ( #114638 )
2026-07-27 12:55:36 -04:00
WhatsSkiLL
db6b23596e
fix-cli-preserve-windows-path-delimiters ( #114505 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-07-28 00:54:42 +08:00
WhatsSkiLL
1a5d71ee6b
fix-meeting-audio-pull-timeout-cleanup ( #114526 )
...
Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com >
2026-07-28 00:43:08 +08:00
Peter Steinberger
9588a10f12
refactor(ai): unify Responses transport factories ( #114357 )
...
* refactor(ai): unify Responses transport factories
* style(ai): format Responses transport executor
2026-07-27 12:40:48 -04:00
nocodet888-arch
4c126fd844
fix(gateway): trim cron job ids before exact lookup ( #110849 )
...
* fix(gateway): trim cron job ids before exact lookup
* test(gateway): cover padded legacy cron update ids
Co-authored-by: NIO <0668000903@xydigit.com >
* fix(gateway): preserve blank cron run selector scope
Co-authored-by: NIO <0668000903@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 12:38:57 -04:00
qingminlong
445e262d26
fix: debug proxy respects response backpressure (issue #105701 ) ( #114076 )
...
* fix(proxy-capture): respect response backpressure
* test(proxy-capture): avoid unbound prototype method lint
* test(proxy-capture): stabilize backpressure regression
* test(proxy-capture): fix backpressure write typing
* test(proxy-capture): satisfy lint for method helper
* fix(proxy-capture): settle forwarding only after downstream finish
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 12:36:40 -04:00
Peter Steinberger
1695854877
fix(qa): isolate Mantis candidate execution ( #114465 )
...
* fix(qa): allow restricted Mantis worktree traversal
* fix(qa): pin Mantis harness checkout revision
* fix(qa): isolate Mantis candidate execution
* fix(qa): harden Mantis teardown
2026-07-27 12:11:34 -04:00
Peter Steinberger
638556d3bb
fix: recover plugin loads from ESM require races ( #114618 )
...
* fix(plugins): fall back on ESM require races
* test(plugins): exercise ESM race through loader
* test(plugins): avoid private loader property access
2026-07-27 12:09:58 -04:00
Nik
1e0a42432d
fix(session-delivery): propagate non-ENOENT retry persistence failures ( #97024 )
...
* fix(session-delivery): propagate non-ENOENT retry persistence failures
drainQueuedEntry swallowed a non-ENOENT error from failSessionDelivery as a
clean "failed", so the retry metadata (retryCount/lastAttemptAt) never advanced
and the entry was re-driven without progressing toward the max-retries terminal
move. Re-throw non-ENOENT to match the sibling moveSessionDeliveryToFailed paths;
ENOENT still maps to already-gone.
* test(session-delivery): isolate real SQLite recovery proof
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 11:58:25 -04:00
Gio Della-Libera
e79faff8aa
feat(claws): materialize CLAW.md prompts ( #113454 )
...
* fix(claws): align prompt lifecycle validation
* test(claws): cover Unicode frontmatter
* feat(claws): materialize CLAW.md prompts
* fix(claws): preserve portable provenance import
2026-07-27 08:30:50 -07:00
Peter Steinberger
ba5e174077
fix(auto-reply): normalize newline-delimited silent tokens ( #114500 )
...
* fix(auto-reply): normalize newline-delimited silent tokens
* fix(auto-reply): preserve punctuation-attached reply literals
2026-07-27 11:18:20 -04:00
Onur Solmaz
89c5b02832
revert(openai): remove loopback Codex proxy support ( #114616 )
...
Reverting PR from runaway clanker, sorry! Won't happen again!
2026-07-27 23:15:42 +08:00
Peter Steinberger
d2dc61cddf
chore(process): drop Bun spawn-encoding workaround (fixed upstream in oven-sh/bun#36050) ( #114606 )
2026-07-27 10:36:58 -04:00