Commit Graph

76014 Commits

Author SHA1 Message Date
joshavant 2d86aa9df1 test(agents): prove terminal reply boundaries 2026-08-03 01:41:38 -05:00
joshavant 92a6655ee3 fix(agents): preserve terminal reply outcomes 2026-08-03 01:41:38 -05:00
SunnyShu 61429ef57a fix(agents): retain durable transcript-repair record when assistant turn persistence fails (#117845)
* [AI] fix(agents): retain durable transcript-repair backlog for delivered assistant finals

A delivered assistant reply was silently lost when the canonical transcript
append failed after a successful send: the finalizer logged the failure and
continued delivery, and clearing the transport-replay marker removed the only
durable copy of the final (P1 data loss).

- finalizeEmbeddedAgentCommand now records a durable pendingTranscriptRepair
  backlog on the session entry whenever the transcript writer throws, while
  pendingFinalDelivery cleanup stays unchanged.
- The backlog is ordered and appended per turn (deduplicated by per-run
  lifecycle generation, never by reply text), so consecutive failures and
  identical reply texts each keep their own recoverable record.
- The next CLI/embedded turn best-effort re-appends each missing assistant
  turn through the real SQLite writer (loaded via the existing lazy
  attempt-execution runtime boundary) and clears recovered entries; failures
  keep the backlog and never block the turn.
- Replays use exact per-turn idempotency (a per-run idempotency key with
  scan-assistant lookup) instead of tail-text gap-fill, so a distinct failed
  turn is re-appended even when an earlier persisted assistant message has
  identical text, and repeated replays stay idempotent.
- Finals owned by another transcript writer (assistantTranscriptOwned) are
  never queued, avoiding duplicate assistant messages after a user-turn-only
  writer failure.
- Session-entry shape normalization round-trips the backlog and upgrades a
  legacy single record into the array; slot-key registry updated.
- Regression tests: delivery-success + failed write keeps the repair record,
  next-turn recovery, consecutive failures (distinct and identical texts),
  recovery after an equal-text earlier assistant message, runtime-owned-final
  exclusion, and shape normalization; the scoped max-lines exception for the
  compaction-rotation suite is mirrored in oxlint-config.test.ts.

Fixes #117793

Co-Authored-By: Codex <noreply@anthropic.com>

* [AI] fix(agents): recover transcript repairs across session rotation; split repair tests

assistant-transcript-repair now migrates a pending repair record to the
rotated successor session instead of retaining a predecessor-scoped
record that can never be written: rotation keeps the same session key
while replacing the entry's session id, so the guard previously skipped
the record on every later pass and the delivered turn stayed missing
from durable history. The recovered turn is appended to the successor
transcript under a tested ownership rule.

The transcript-repair scenarios moved out of the oversized
compaction-rotation suite into a focused test module
(assistant-transcript-repair.test.ts), and the new max-lines override
plus its oxlint-config assertion were removed per repo policy. An
end-to-end regression covers failed predecessor persistence followed by
a rotated successor and a successful repair.

Co-Authored-By: Codex <noreply@anthropic.com>

* refactor(sessions): keep transcript repair array-only

* fix(agents): repair transcript before next turn

---------

Co-authored-by: Codex <noreply@anthropic.com>
Co-authored-by: Dallin Romney <dallinromney@gmail.com>
Co-authored-by: sallyom <somalley@redhat.com>
2026-08-03 02:40:16 -04:00
Peter Steinberger ad46acf102 test(system-agent): reuse CLI backend fixture (#118541)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:38:58 -07:00
Peter Steinberger fb692c47f2 fix(gateway): preserve authored outbound message whitespace (#118538) 2026-08-02 23:38:28 -07:00
Peter Steinberger bbe71fe3cf test(cron): centralize failure alert fixtures (#118540) 2026-08-02 23:30:48 -07:00
Peter Steinberger 4b3d0b37be test(android): consolidate connection TLS fixtures (#118532) 2026-08-02 23:29:37 -07:00
Peter Steinberger b65cc592cc fix(cli): surface validated plugin doctor warnings (#118526)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 23:23:18 -07:00
Peter Steinberger 6e51a68ea9 test(security): focus permission inventory fixture (#118529)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:22:44 -07:00
Peter Steinberger 8df0142771 fix(google): retry stalled Gemini response bodies (#118511)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 23:20:28 -07:00
Peter Steinberger f5facf8cbf test(doctor): use core SecretRef registry fixture (#118527)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:17:40 -07:00
Peter Steinberger 829f00ea79 test(gateway): settle reply dispatchers after failed chat sends (#118531) 2026-08-02 23:17:29 -07:00
Mislav Ivanda a98852c938 docs: add Daytona hosting guide (#116411)
Adds a Daytona hosting guide covering sandbox creation, onboarding, secure preview-URL dashboard access, channel setup, updates, and troubleshooting, and links it from the hosting navigation.

Prepared head SHA: 4faf05211b
Co-authored-by: Mislav Ivanda <72461767+mislavivanda@users.noreply.github.com>
Co-authored-by: Shakker <165377636+shakkernerd@users.noreply.github.com>
Reviewed-by: @shakkernerd
2026-08-03 07:17:18 +01:00
Peter Steinberger fd2fb643b8 test(macos): consolidate node runtime fixtures (#118521) 2026-08-02 23:15:55 -07:00
Peter Steinberger d7f909c5f8 test(tasks): reuse registry state fixture (#118522)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:15:21 -07:00
Peter Steinberger bfba1414b1 refactor(ui): consolidate workboard view test fixtures (#118525) 2026-08-02 23:14:58 -07:00
Peter Steinberger d26dcc02c5 fix(matrix): preserve indented code without triggering mentions (#118497)
* fix(matrix): preserve indented code without triggering mentions

* fix(matrix): retain whitespace through Gateway message actions

* fix(matrix): retain legacy trailing whitespace normalization
2026-08-02 23:13:11 -07:00
Peter Steinberger c1f9c3102e fix(media): honor configured CLI audio language (#118501) 2026-08-02 23:11:15 -07:00
Peter Steinberger 38da76687c test(gateway): batch chat history fixtures (#118362)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:09:10 -07:00
Peter Steinberger fbc45c9bb9 test(gateway): isolate session diff baseline coverage (#118382)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:06:17 -07:00
Peter Steinberger 8e35fb4963 test(channels): consolidate remaining channel scaffolding (#118493)
* test(channels): consolidate channel scaffolding

* test(channels): fix helper typings
2026-08-02 23:03:54 -07:00
Peter Steinberger 6f6d501ccf test(cli): reuse PowerShell completion process (#118381)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 23:03:07 -07:00
Peter Steinberger ffa9f74670 test(swift): consolidate device identity fixtures (#118510) 2026-08-02 23:02:19 -07:00
Peter Steinberger 5de84bfc4d fix(openai): support the current speech model snapshot (#118475)
* fix(openai): support the current speech model snapshot

* docs(openai): clarify speech instructions apply to the model family
2026-08-02 23:00:46 -07:00
Peter Steinberger 2e46ab1f23 test(auto-reply): consolidate model directive fixtures (#118519) 2026-08-02 22:59:52 -07:00
Peter Steinberger bc212450bc test(node-host): reuse approvals database fixture (#118517)
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 22:59:19 -07:00
Peter Steinberger 133323875f fix(cli): close standalone memory managers after commands (#118500) 2026-08-02 22:57:59 -07:00
Peter Steinberger d7ab20a727 perf(system-agent): reuse setup metadata per activation (#118352)
* perf(system-agent): reuse setup metadata per activation

* chore: remove release-owned changelog entry

---------

Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local>
2026-08-02 22:52:08 -07:00
Shakker e4884d981a style: format chat lifecycle types (#118019) 2026-08-03 06:49:36 +01:00
Shakker 607be9d02b refactor: centralize chat connection ownership 2026-08-03 06:49:36 +01:00
Shakker 22c77a8665 fix: preserve restored queue state on startup 2026-08-03 06:49:36 +01:00
Shakker ee35036d91 fix: align chat lifecycle host types 2026-08-03 06:49:36 +01:00
Shakker eeb2b260af fix: allow explicit reset delivery retry 2026-08-03 06:49:36 +01:00
Shakker 59e5b5e3e6 fix: fence chat send results by connection 2026-08-03 06:49:36 +01:00
Shakker a80fd987cb fix: honor configured main session ownership 2026-08-03 06:49:36 +01:00
Shakker ebb4eaf5ee fix: retire model state across owners 2026-08-03 06:49:36 +01:00
Shakker 1a43401b05 refactor: extract selected agent retirement 2026-08-03 06:49:36 +01:00
Shakker 1ffbff97fd fix: retire aliased global model state 2026-08-03 06:49:36 +01:00
Shakker 5d2cc051b4 fix: retire pending model baselines 2026-08-03 06:49:36 +01:00
Shakker b5066d2c14 test: cover slash model ownership forwarding 2026-08-03 06:49:36 +01:00
Shakker 5bcebc3267 fix: retire model selection ownership 2026-08-03 06:49:36 +01:00
Shakker 3940d1f825 fix: retire stale model overrides 2026-08-03 06:49:36 +01:00
Shakker d877ae26c8 fix: fence global model picker ownership 2026-08-03 06:49:36 +01:00
Shakker 53a3f6d902 fix: preserve queued chat ownership 2026-08-03 06:49:36 +01:00
Shakker a9393395d5 fix: authorize replayed chat stops 2026-08-03 06:49:36 +01:00
Shakker ab312ec22f fix: order slash model cache updates 2026-08-03 06:49:36 +01:00
Shakker 9c021a6bb2 test: keep model patch coverage focused 2026-08-03 06:49:36 +01:00
Shakker 881c43f7bc test: type model lifecycle fixtures 2026-08-03 06:49:35 +01:00
Shakker 2a199fddde fix: cancel chat scrolls on reconnect 2026-08-03 06:49:35 +01:00
Shakker 8f0337a730 fix: preserve denied stop diagnostics 2026-08-03 06:49:35 +01:00