Peter Steinberger
c695b70a57
test(qa): wait for terminal task metadata ( #126256 )
2026-08-19 02:00:11 -07:00
Peter Steinberger
f92e9367e8
fix(build): rebuild incomplete managed-update cache hits ( #125954 )
...
* fix(build): invalidate incomplete cache hits
* test(qa): align empty completion lifecycle
2026-08-18 23:25:04 -07:00
Peter Steinberger
dc37ed8f63
fix(agents): record empty subagent completion delivery ( #126179 )
...
* fix(agents): preserve delivery after incomplete completion
* test(qa): distinguish failed delivered completions
2026-08-18 21:46:38 -07:00
Peter Steinberger
71e8cc033b
refactor(qa): remove gateway child test facade ( #122693 )
...
* refactor(qa): remove gateway child test facade
* test(qa): refresh scenario source references
* fix(qa): preserve packaged auth redaction boundary
2026-08-12 09:03:40 -07:00
Peter Steinberger
f1bb7cd919
test(sdk): consolidate packed consumer evidence ( #122001 )
...
* test(sdk): consolidate packed consumer evidence
* test(qa): refresh scenario owner references
* test(qa): narrow script execution assertion
2026-08-11 04:18:20 -07:00
Peter Steinberger
1ced7441eb
refactor(agents): move announce, completion, recovery, and registry families into concept directories ( #121553 )
...
* refactor(agents): move announce family into subagents/announce/
* refactor(agents): move completion and main-session recovery families
* refactor(agents): move registry family into subagents/registry
* refactor(agents): update registry state type imports
* style(agents): format moved subagent imports
* test(agents): preserve isolated registry test routing
* fix(scripts): recognize relocated subagent announce seams
2026-08-10 16:06:39 -07:00
Peter Steinberger
8430fc0e3b
refactor(agents): move spawn family into subagents/spawn ( #121350 )
...
* refactor(agents): move spawn family into subagents/spawn
* refactor(agents): keep spawn imports within lint budget
2026-08-09 19:51:29 -07:00
Peter Steinberger
47f78a32eb
fix(ai): preserve long Responses sessions after server compaction ( #120457 )
...
* fix(ai): preserve Responses server compaction state
Persist opaque Responses compaction items as fenced provider replay state so long stateless sessions can resume authoritative compressed history without exposing it in display or diagnostics. Carry state through worker transcripts and prune replay prefixes without splitting tool pairs.
Release note: Preserve long OpenAI Responses sessions across server-side compaction and worker restarts.
Related: #95788
* test(ai): align long-context fixtures with CI contracts
Make tool-result fixtures type-complete, use the canonical model selector helper, remove unused test-helper exports, and route the paid long-context live probe through the dedicated Gateway profile shard.
* test(ai): type mocked Responses terminal events
Give the mock SSE event collection an explicit open event shape so terminal response events coexist with output-item events under the root test typecheck.
* fix(ai): suppress rejected compaction replay
Persist a route-fenced suppression tombstone when encrypted-content recovery rejects a compaction item, so later turns do not retry the same opaque state. Preserve the tombstone through transcript redaction and cover successful fallback followed by the next turn.
* fix(ai): keep compaction suppression transport-private
Keep the suppression contract local to its sole Responses transport owner and make the regression fixture satisfy root type and lint checks without widening the Plugin SDK surface.
* refactor(ai): remove compaction suppression re-export
* fix(ai): scope compaction suppression to replay route
Keep foreign-route rejection tombstones from hiding the newest compatible Responses compaction while preserving same-route suppression.
* fix(ai): harden Responses replay recovery
Stage encrypted replay recovery so compaction is only suppressed after an attributable rejection. Preserve terminal ordering and keep provider replay within worker frame budgets without truncating opaque state.
* refactor(ai): centralize Responses output indexes
Keep normalized output identity tracking in the stream-slot owner, move response failure state to its diagnostic owner, and remove the obsolete replay clone export so exact-head static gates remain shrink-only.
* fix(ai): retain idless terminal tool identity
Use the canonical empty identity only when a provider supplies neither call nor item id, preventing terminal recovery from duplicating a done-only tool call while preserving stronger identities when available.
* fix(sessions): hide provider replay from public events
* fix(ai): stage encrypted replay recovery
* fix(ai): keep replay attempt kind internal
* fix(ai): route Azure through replay recovery
Use the shared encrypted-content retry owner for Azure Responses so compaction suppression and prompt-observer variants stay coherent across transports.
* fix(ai): harden replay persistence boundaries
Fence Azure replay by the resolved request endpoint, drop invalid replay during transcript sanitization, and surface worker-launch replay omissions through the existing redacted diagnostic path.
2026-08-08 11:55:26 -07:00
Peter Steinberger
88975f85ea
fix: required background completion silently disappears ( #120453 )
...
* fix(agents): surface silent required completions
* refactor(agents): simplify completion fallback handling
* fix(agents): require visible completion delivery
* fix(agents): preserve resolved session patches
* fix(agents): bound resolved session patch output
* fix(agents): reject silent automatic completions
* fix(agents): settle committed completion side effects
* fix(agents): retain ultra thinking profile
* fix(agents): require destination-safe completion evidence
* fix(agents): block invisible completion side effects
* fix(agents): preserve outbound no-replay evidence
* fix(agents): preserve resolved session identifiers
2026-08-08 07:52:12 -07:00
Vincent Koc
75e5c2694f
fix(qa): enforce scenario provider lane metadata ( #119908 )
...
Punchcard-Session: cobalt-valley-meadow-mg
2026-08-06 23:33:17 +08:00
Patrick Erichsen
678a3c18a9
fix(gateway): finish successful sessions after timestamp races ( #119752 )
...
* fix(gateway): correlate session lifecycle by run
* test(qa): expect settled handoffs to survive restart quietly
* test(agents): split embedded run persistence coverage
2026-08-05 17:24:12 -07:00
Vincent Koc
6a8e11e63c
fix(qa): repair release validation scenarios ( #119150 )
...
* fix(qa): repair parity and matrix media setup
Punchcard-Session: silver-valley-valley-dt
* test(qa): accept token-budgeted compaction suffix
Punchcard-Session: silver-valley-valley-dt
* test(qa): scope request diagnostics
Punchcard-Session: silver-valley-valley-dt
* test(qa): prove thread-memory causality
Punchcard-Session: silver-valley-valley-dt
* test(qa): configure Matrix image generation and fail fast
Punchcard-Session: silver-valley-valley-dt
* fix(qa): require memory get before thread recall
Punchcard-Session: silver-valley-valley-dt
* fix(qa): unify mock provider dispatch
Punchcard-Session: silver-valley-valley-dt
* fix(qa): repair Anthropic IDs and compaction causality
Punchcard-Session: silver-valley-valley-dt
* fix(qa): authenticate compaction wire causality
Punchcard-Session: silver-valley-valley-dt
* fix(qa): preserve Responses tool item identity
Punchcard-Session: silver-valley-valley-dt
* fix(qa): scope restart heartbeat proof
Punchcard-Session: silver-valley-valley-dt
* test(qa): assert causal traces before delivery
Punchcard-Session: silver-valley-valley-dt
* fix(qa): validate code mode completion evidence
Punchcard-Session: silver-valley-valley-dt
* test(qa): split causal catalog checks
Punchcard-Session: silver-valley-valley-dt
* style(qa): format matrix scenario tests
Punchcard-Session: silver-valley-valley-dt
2026-08-05 09:56:06 +08:00
Vincent Koc
a54bec799c
fix(agents): observe native provider prompt egress ( #119219 )
...
* fix(agents): observe final provider prompt egress
* fix(agents): observe native provider prompt egress
* test(agents): type native prompt observer models
2026-08-04 22:46:07 +08:00
Vincent Koc
a8fbadcde7
test(qa): cover instruction profile artifacts ( #119078 )
2026-08-04 13:18:43 +08:00
Vincent Koc
e29f692066
test(qa): repair scenario catalog baselines ( #119062 )
2026-08-04 10:21:04 +08:00
Vincent Koc
6b66866fe8
test(qa): prove agent session scope continuity ( #119032 )
2026-08-04 09:52:39 +08:00
Vincent Koc
ada473e560
test(qa): cover agent session streaming ( #119028 )
2026-08-04 09:24:44 +08:00
Vincent Koc
945597bb81
test(qa): cover agent session reconnect dedupe ( #119013 )
2026-08-04 08:25:06 +08:00
Vincent Koc
0287116594
test(qa): cover startup instruction first action ( #119010 )
2026-08-04 08:09:11 +08:00
Peter Steinberger
cae7431644
test(qa): prove real yielded-child completion and channel delivery ( #118707 )
2026-08-03 07:35:56 -07:00
Peter Steinberger
0fbddda540
improve(qa): replace terminal reply timing waits ( #118600 )
...
* test(qa): replace terminal reply timing waits
* test(qa): keep terminal contract in channel suite
* test(qa): scope terminal settlement per worker
* test(qa): bind settlement to child session
---------
Co-authored-by: Peter Steinberger <steipete@mac-studio-sf2.local >
2026-08-03 02:37:59 -07:00
joshavant
2781abf960
fix(agents): preserve timeout completion evidence
2026-08-03 01:41:38 -05:00
joshavant
cd8985c2fc
test(qa): prove terminal reply channel behavior
2026-08-03 01:41:38 -05:00
Peter Steinberger
b721cffa44
fix(inference): simplify lifecycle and preserve Codex tool identity ( #117298 )
2026-08-01 02:05:45 -07:00
Peter Steinberger
cb16d739cf
fix(inference): harden Codex streaming, cancellation, and live QA ( #116012 )
...
* fix(inference): harden Codex turns, streams, and live QA
* fix(inference): dispatch open CR-delimited response frames
* fix(inference): finish live goal and split streaming regressions
* fix(codex): wait for interrupted turn completion
* fix(codex): narrow terminal collector notification ownership
* fix(inference): harden completion authority and lifecycle
* fix(inference): use canonical source delivery contract
* test(inference): align lifecycle probes with current main
* style(inference): format source delivery verification
* fix(goals): prevent premature completion across staged work
* fix(qa): settle streamed goal turns before continuation
* fix(goals): require visible replies after goal completion
* test(qa): keep goal flow regressions within lint limits
2026-07-31 21:29:33 -07:00
Dallin Romney
e3b069270c
fix(qa): use public subagent fanout evidence ( #116832 )
2026-08-01 11:56:28 +08:00
Vincent Koc
37b1a71654
fix(release): unblock beta validation workflows ( #116708 )
...
* fix(release): repair beta validation workflow state
* fix(qa): dispatch yielded fanout runs without task tracking
* fix(test): honor GPT-Live shard opt-in
2026-07-31 15:47:11 +08:00
Dallin Romney
397fe272a0
fix(qa): stop waiting on yielded fanout runs ( #116440 )
...
* fix(qa): observe resumed fanout completions
* test(qa): keep runtime watchdog assertions in runtime suite
2026-07-31 14:36:59 +08:00
Peter Steinberger
d16e33e08e
fix: restore trustworthy end-to-end QA and cross-channel delivery ( #115404 )
...
* fix(qa): repair verified end-to-end and channel regressions
* fix(gateway): make interrupted restart recovery lifecycle-safe
* test(heartbeat): target the canonical recovery session store
* fix(gateway): prioritize durable restart recovery before heartbeat
* fix(qa): preserve safe restart recovery and channel expiry
* fix(qa): fail closed and fence restart recovery
* test(agents): isolate restart recovery timing
* test(agents): prove actual restart retry timing
* fix(qa): report incompatible profile scenarios
* fix(scripts): resolve symlinked docker scheduler entrypoints
* fix(qa): require fresh native test evidence
* fix(heartbeat): fence active restart recovery delivery
* fix(gateway): consume untargeted restart acknowledgements
* fix(qa): satisfy exhaustive hosted validation gates
* fix(agents): fence stopped restart recovery dispatch
* style(agents): format restart recovery lifecycle regression
* test(gateway): isolate context prewarm sidecar lifecycle
* test(qa): make scenario process timeout cleanup deterministic
* fix(qa): stamp synthetic gateway configs with current version
* fix(openai): preserve vision capabilities in stale model catalogs
* test(qa): align profile channel rejection with current main
* fix(openai): forward supported moderation for image edits
* fix: restore latest-main CI and image edit documentation
* fix(qa): retain relocated code-mode evidence validation
* fix(openai): expose GPT-5.4 vision in static catalog
* fix(pricing): honor explicit model cost overrides
* test(pricing): keep isolated provider regressions deterministic
* fix(openai): inherit transport for discovered static models
* fix(gateway): honor agent-owned static image capabilities
* test(gateway): preserve prepared-snapshot attachment races
* test(gateway): isolate subagent persistence failure injection
* test(gateway): exercise concurrent voice replay admission
* fix(gateway): restore stale model image capabilities
* fix(agents): publish configured model vision capabilities
* fix(agents): isolate detached media transcript ownership
* test(agents): preserve generic transcript lock regression
* fix(gateway): require proven static model route identity
* fix(qa): accept bounded full-size generated image attachments
* fix(qa): require fresh script producer evidence
* test(qa): prove native E2E scenario execution
2026-07-29 12:45:27 -04:00
Peter Steinberger
641c82b5bd
fix(qa): restore full-stack scenarios and truthful suite exits ( #115290 )
...
* fix(qa): restore full-stack scenarios and truthful suite exits
* test(qa): respect plugin boundaries and atomic media delivery
2026-07-28 13:00:22 -04:00
Peter Steinberger
fe847911c0
test(qa): wait for durable fanout completion ( #114080 )
2026-07-26 05:26:33 -04:00
Peter Steinberger
8684e7ce03
fix: restore beta runtime release gates ( #114064 )
...
* test(qa): fix release runtime recovery gates
* test(qa): typecheck restart execution assertions
2026-07-26 03:58:41 -04:00
Peter Steinberger
3890a5efb6
fix(qa): restore current scenario source and documentation references ( #113639 )
...
Co-authored-by: Peter Steinberger <steipete@golden-gate.local >
2026-07-25 05:04:05 -07:00
Peter Steinberger
f43fac21c7
fix(gateway): stop showing retired HEARTBEAT.md in the agent files editor ( #113621 )
...
* fix(gateway): drop retired HEARTBEAT.md from agent core files
* fix(ci): stop asserting retired HEARTBEAT.md in docker release smoke
* docs: align HEARTBEAT.md references with cron scratch
* docs(agents): drop retired HEARTBEAT.md from workspace read comment
2026-07-25 04:58:31 -07:00
Dallin Romney
13039109a3
fix(qa): retarget generic channel coverage evidence ( #113486 )
2026-07-25 17:51:52 +08:00
Dallin Romney
19d17bc3c4
refactor(qa): canonicalize runtime-pair lanes ( #112603 )
2026-07-23 10:06:12 +09:00
Dallin Romney
132d91e427
refactor(qa): make taxonomy coverage ids unique ( #110280 )
2026-07-22 16:28:44 +09:00
Peter Steinberger
c24a215fe4
fix: prevent announce restart recovery cascades ( #112534 )
...
* fix(agents): stop announce restart recovery cascades
Reconcile interrupted completion handoffs from existing run and transcript provenance, and keep their CLI, embedded, and Codex execution tool-free.\n\nCo-authored-by: Moeed Ahmed <moeedahmed@users.noreply.github.com >
* chore: preserve prior-art credit
Co-authored-by: Moeed Ahmed <moeedahmed@users.noreply.github.com >
* fix(agents): prefer explicit restart recovery runs
* fix(agents): revalidate announce recovery ownership
* test(agents): consolidate announce recovery cases
* fix(agents): preserve silent announce fallback
---------
Co-authored-by: Moeed Ahmed <moeedahmed@users.noreply.github.com >
2026-07-22 00:05:18 -07:00
Josh Avant
33720886c8
fix(agents): keep sender-scoped tools in delegated runs ( #110345 )
...
* fix(agents): preserve requester policy across delegation
* fix(agents): keep policy types internal
* test(codex): cover delegated policy forwarding
* fix(agents): harden delegated policy contract
* fix(agents): preserve split-owner completion policy
* fix: version delegated requester snapshots
* fix: refresh delegated policy protocol artifacts
2026-07-20 19:42:06 -05:00
Peter Steinberger
d55c91c918
test: add subagent handoff failure diagnostics
...
Related: #110572
2026-07-18 09:50:33 +01:00
Dallin Romney
9a2f25c82b
refactor(qa): make channel drivers run-level ( #108602 )
2026-07-16 00:59:03 -07:00
Peter Steinberger
de3f7925c4
test(release): harden QA and live validation ( #108589 )
2026-07-15 20:45:36 -07:00
Dallin Romney
2d9b78fff7
refactor(qa): canonicalize live scenario coverage ( #108464 )
2026-07-15 16:50:41 -07:00
Dallin Romney
0b9c2e6f95
fix(qa): simplify smoke lanes and isolate fanout ( #102262 )
...
* fix(qa): simplify smoke lanes and isolate fanout
* ci: re-enable repaired QA smoke lanes
* ci: split Crabline smoke into three shards
* ci: eliminate repeated QA smoke builds
* fix(qa): focus control ui smoke scenario
* ci(qa): remove smoke worker launch delay
* ci(qa): bound automatic smoke coverage
2026-07-10 09:48:40 -07:00
Vincent Koc
643410c1f3
test(qa): scope fanout marker proof to channel runtime
2026-06-25 10:20:51 +08:00
Vincent Koc
8d4e40d293
test(qa): extend fanout marker wait
2026-06-25 10:20:51 +08:00
Vincent Koc
068ae4eb4b
test(qa): allow Codex fanout completion window
2026-06-25 10:20:51 +08:00
Vincent Koc
0e71ae5df4
fix(qa): enforce fanout completion drain
2026-06-24 08:29:37 +08:00
Vincent Koc
e457c4c324
fix(qa): drain fanout child completions
2026-06-24 08:29:37 +08:00
Dallin Romney
438f208a76
perf(qa-lab): speed up unified QA suites ( #95944 )
...
* perf(qa-lab): speed up smoke ci suite
* fix(qa-lab): satisfy suite scheduler lint
* fix(qa-lab): settle unified partitions before retry
* fix(qa-lab): preserve isolated suite safeguards
* refactor(qa-lab): make suite isolation explicit
* fix(qa-lab): preserve channel-driver suite serialization
* fix(qa-lab): narrow flow-only isolation metadata
2026-06-22 21:55:54 -07:00