xingzhou
e2ca148d4b
fix(codex): preserve JSONL framing across WebSocket writes ( #110384 )
...
* fix(codex): preserve UTF-8 websocket frames
* test(codex): satisfy websocket transport lint
* fix(codex): preserve websocket JSONL framing
2026-07-19 17:07:03 +08:00
Peter Steinberger
ea54060223
feat(codex): fork upstream-linked sessions at a message via thread/fork ( #111149 )
...
* feat(codex): fork upstream-linked sessions at a message via thread/fork
* fix(gateway): fail closed for rewind and branch switch on upstream-linked sessions
* fix(codex): fail closed on first-message forks, image-only prompts, and orphan archival
* fix(codex): baseline retained history and reject paginated threads on upstream fork
* fix(codex): validate the full fork prefix and fail closed across crash windows
* fix(codex): treat all non-text inputs as unverifiable in fork drift checks
* fix(codex): support first-message forks as empty-history upstream cuts
* fix(codex): reject source-id reuse and unverifiable hidden inputs in fork boundaries
* refactor(codex): materialize upstream forks from verified thread read-back
* fix(codex): satisfy strict type lanes and knip for upstream fork
2026-07-19 00:11:10 -07:00
Peter Steinberger
208036afdc
fix(codex): session permissions persist across resumed turns ( #111136 )
...
* test: harden Codex compaction command oracle
* test: accept omitted Codex command exit code
* fix(codex): apply stored session permissions
* test: harden Codex gateway stress evidence
* test: accept successful Codex command retries
* test: classify Codex evidence as live helper
2026-07-18 19:56:42 -07:00
Peter Steinberger
968f9ad0f3
test(codex): split event projector suites ( #111097 )
2026-07-18 18:17:25 -07:00
Kris Wu
e5b2ca3c6b
feat(config): add compaction.thinkingLevel to override thinking level during compaction ( #98074 )
...
* feat(config): add compaction.thinkingLevel to override thinking during compaction
* fix: make compaction.thinkingLevel override inherited session thinking
* fix: warn on compaction.thinkingLevel ignored by Codex native runtime
* feat(config): add compaction thinking override
Co-authored-by: wu.duozhen@xydigit.com <wu.duozhen@xydigit.com >
* test(agents): remove duplicate compaction harness
Co-authored-by: wu.duozhen@xydigit.com <wu.duozhen@xydigit.com >
* test(plugin-sdk): account for thinking level export
Co-authored-by: wu.duozhen@xydigit.com <wu.duozhen@xydigit.com >
* chore: keep release note in PR metadata
* chore: reconcile plugin SDK surface budgets
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 17:18:28 -07:00
Peter Steinberger
f3f6eb2321
fix(codex): stop fallback for superseded sessions ( #110980 )
2026-07-18 23:02:03 +01:00
Peter Steinberger
b6f905b410
test(codex): repair app-server extension shard fixtures ( #110951 )
2026-07-18 21:29:36 +01:00
Omar Shahine
bbad877aed
fix: deliver Codex-generated images on message-tool routes ( #110893 )
...
* fix: deliver Codex-generated images on message-tool routes
* test(codex): cover native image delivery path
Document trusted harness artifact provenance and cover the runner-to-dispatch bridge.\n\nRelease note: Codex-generated images now reach message-tool-only routes while normal source suppression remains intact.\n\nCo-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
---------
Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-18 20:45:57 +01:00
Peter Steinberger
04a9552a1f
chore(codex): update app-server to 0.144.6 [AI] ( #110821 )
...
* build(codex): bump app-server to 0.144.6
* build(codex): align ACP runtime to 0.144.6
* test(codex): harden live image probe
* test(codex): accept alphanumeric image tokens
* test(codex): stabilize image probe glyphs
* test(gateway): disable cron probe delivery
* test(codex): enlarge live image token
* test(codex): tie compaction proof to native output
* test(codex): accept wrapped native stress commands
* test(codex): stabilize compaction acknowledgements
* docs(changelog): note Codex 0.144.6 update
* docs(changelog): defer Codex note to release
2026-07-18 19:19:17 +00:00
Peter Steinberger
f14947d256
fix(codex): persist automatic compaction history ( #110587 )
...
* fix(codex): persist automatic compaction counts
* test(codex): stress compaction and restart recovery
* test(codex): bind compaction waves to fresh counts
* chore: keep Codex release note in PR
2026-07-18 10:37:25 +01:00
Peter Steinberger
d7de67ae02
feat: ask_user follow-ups — harness convergence, channel finalization + reactions, native cards, docked web panel ( #110372 )
...
* feat(ask-user): follow-up harness slice
* feat(ask-user): follow-up channels slice
* feat(ask-user): follow-up native slice
* feat(ui): dock question panel above composer with stepper and compact stream summaries
* docs: refresh follow-up integration maps
* test(ui): align terminal summary proof
* fix(infra): echo declared option answers in terminal status when free-text is allowed
* fix(infra): keep reaction answering when display labels are formatter-adjusted
* fix(agents): settle plain-text claims only after question registration commits
* fix(agents,apps): commit-ordered claim persistence, claim-aware prompt delivery, non-blocking question refresh
* fix(harness,infra): reaction-appropriate question copy, caller presentations honored
* fix(native,infra,agents): local-expiry eviction, value-addressed reactions, reserve-before-request
* fix(infra,android): dual-mode question resolver for compact callbacks; reset terminal retention on replayed pending
* fix(harness,discord): claim-aware prompt delivery in run helper; escape finalization labels
* fix(macos): merge transient-content visibility with question cards after main sync
* fix: repair ask user follow-up CI
* test: update limited bootstrap scope expectation
* fix: retain shared question card API
* chore: refresh native i18n inventory
2026-07-18 03:32:39 -04:00
Peter Steinberger
3997a996d4
fix(codex): bound app-server resume history ( #110396 )
...
* fix(codex): harden app-server resume protocol
* chore(codex): defer release note to release process
* fix(codex): align bounded resume checks
2026-07-18 06:25:17 +01:00
Peter Steinberger
3659c85e53
fix(codex): distinguish available usage after limit errors ( #110381 )
2026-07-18 04:42:08 +01:00
Peter Steinberger
28c2f4c075
fix(codex): retire shared app-server client only when unclaimed ( #110227 )
2026-07-18 04:33:13 +01:00
Peter Steinberger
60ed910639
fix(diagnostics): own run activity listener lifecycle ( #110312 )
2026-07-18 03:29:06 +01:00
Peter Steinberger
d8f2645c2c
refactor(memory-wiki): move compiled cache to plugin state ( #110167 )
...
* feat(plugin-sdk): prepare memory prompts asynchronously
* refactor(memory-wiki): move compiled cache to plugin state
* fix(plugin-sdk): export memory prompt preparer type
* refactor(plugin-sdk): keep prompt preparer type private
* test(memory-wiki): isolate compiled cache state
* chore(memory-wiki): satisfy changed gates
* fix(memory): preserve prepared prompts across context engines
* docs(plugin-sdk): refresh API baseline
* fix(memory): revalidate prepared prompt ownership
* fix(codex): propagate sandboxed memory context
* test(memory-wiki): seed durable vault identity
* refactor(memory-wiki): keep cache lifecycle internal
* fix(memory-wiki): harden compiled cache publication
* style(memory-wiki): format cache lifecycle changes
* test(memory-wiki): support extension test lib target
* style(memory-wiki): remove redundant catch
* refactor(memory-wiki): keep vault generation helper private
2026-07-18 03:05:03 +01:00
Dallin Romney
14caaf3d4c
fix: make live harness planning QA fail closed ( #109282 )
...
* test(qa): prove live harness planning signals
* test(qa): satisfy scenario static checks
* test(qa): scope planning evidence per attempt
* test(qa): derive planning scenarios from coverage
2026-07-17 16:45:57 -07:00
Dallin Romney
a9dc393f7e
test(qa): prove Codex auth product migration ( #109291 )
2026-07-17 16:10:23 -07:00
Peter Steinberger
781913025b
improve: stream native sessions as hosts finish ( #110211 )
...
* perf: stream native session catalogs by host
* fix: satisfy session catalog CI contracts
* fix: retain changed-session refresh timing
* fix: keep catalog refresh helpers private
2026-07-17 23:59:57 +01:00
Peter Steinberger
ed34646bc5
refactor(codex): inline projector no-op cases ( #110116 )
2026-07-17 23:01:28 +01:00
Alex Knight
ddb4ed9a47
feat: trace Claude Code CLI model calls ( #108304 )
...
* feat: trace Claude CLI model calls
* fix: align Claude CLI trace hierarchy
* fix: distinguish model request and turn telemetry
* fix: satisfy diagnostics CI checks
* fix: distinguish agent-turn telemetry
---------
Authored-by: Alex Knight <15041791+amknight@users.noreply.github.com >
2026-07-18 06:23:49 +10:00
Peter Steinberger
67a5ffab77
perf(session-catalog): bound slow node fan-out ( #110106 )
2026-07-17 19:24:27 +01:00
ooiuuii
7a5e0e992c
fix(codex): warn and continue on projector drift ( #99287 )
...
* fix(codex): diagnose projector protocol drift
Co-authored-by: luyifan <al3060388206@gmail.com >
* fix(codex): warn and continue on projector drift
Co-authored-by: luyifan <al3060388206@gmail.com >
* test(codex): publish materialized auth snapshot
Co-authored-by: luyifan <al3060388206@gmail.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-17 18:34:19 +01:00
Peter Steinberger
f341a013af
test(release): repair plugin prerelease coverage
2026-07-17 13:43:12 +01:00
Peter Steinberger
0e792b6de3
refactor(channels): centralize inbound orchestration and remove internal compat ( #109716 )
...
* refactor(channels): centralize inbound turn orchestration
* refactor(runtime): remove stale compatibility paths
* chore(guards): reject internal deprecated API use
* refactor(channels): simplify core turn planning
* chore(guards): keep deprecated checks boundary-focused
* refactor(memory): keep modern config off compat barrel
* fix(msteams): preserve feedback learning
* test(channels): align modern inbound fixtures
* refactor(channels): finish modern inbound migration
* refactor(channels): tighten core inbound kernel
* fix(channels): preserve turn assembly narrowing
* test(sdk): keep runtime mock binding immutable
* test(matrix): isolate read policy runtime
* test(msteams): mock canonical reply factory
* test(slack): mock core inbound turn dispatch
* test(telegram): inject core session recorder
* test(signal): inject core session recorder
* test(googlechat): assert canonical inbound routing
* test(synology-chat): align core turn fixture
* fix(sdk): preserve direct DM runtime compat
* refactor(channels): own inbound envelope compat in core
* refactor(channels): trim inbound dispatch seams
* refactor(channels): remove redundant async wrappers
* test(synology-chat): type canonical dispatcher mock
* refactor(channels): remove remaining dead compat seams
* chore(sdk): refresh API baseline after rebase
* fix(channels): preserve direct DM identity metadata
2026-07-17 00:56:46 -07:00
Peter Steinberger
2b18ef7426
feat(codex): surface native questions and goals ( #109724 )
...
* feat(codex): bridge native questions and goals
Co-authored-by: EVA <eva@100yen.org >
* fix(ui): preserve native question text encoding
* fix(codex): keep secret answers off action paths
* fix(codex): validate native action keys exactly
* fix(codex): isolate new goals and free-form answers
* style(codex): satisfy extension lint
* fix(codex): keep goal replacement non-destructive
* fix(codex): separate native goals from continuation
* fix(codex): preserve exact native answer labels
* test(codex): assert goal continuation stays disabled
* fix(codex): remove unused bridge exports
* test(codex): refresh goal feature snapshots
---------
Co-authored-by: EVA <eva@100yen.org >
2026-07-17 00:35:39 -07:00
ooiuuii
fbfad6eb42
feat(codex): show answer candidates in Activity ( #90610 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 23:58:16 -07:00
marchpure
6b4f372ff6
fix(codex): expose assistant completion idle timeout config ( #97233 )
...
* fix(codex): expose assistant completion idle timeout config
* chore: rerun codex idle timeout config checks
* docs(codex): document assistant completion idle timeout
* test(codex): cover assistant idle timeout default
* fix(codex): preserve runtime option compatibility
---------
Co-authored-by: marchpure <marchpure@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 22:22:38 -07:00
Mert Başar
9d6133a931
fix(agents): block fallback completion delegation ( #92011 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 21:06:40 -07:00
Peter Steinberger
b1541c933f
test: accelerate Codex startup timeout coverage ( #109614 )
2026-07-16 20:43:21 -07:00
clawsweeper[bot]
1c5c3d5201
fix(codex): before_prompt_build receives conversation messages ( #101752 )
...
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
Co-authored-by: xingzhou <275915537+zhangguiping-xydt@users.noreply.github.com >
2026-07-16 20:10:25 -07:00
Peter Steinberger
40b10eb3d1
perf: avoid plugin cold loads in request hot paths ( #109348 )
...
* perf: avoid cold plugin discovery in hot paths
* chore: remove stale harness policy re-export
* fix: preserve active thinking clamps in status
2026-07-16 14:54:32 -07:00
Peter Steinberger
5680791d7f
build(codex): bump Codex CLI to 0.144.5
2026-07-16 21:16:50 +01:00
Peter Steinberger
54eb03fcf0
fix(migrate): harden importer path resolution and memory copy safety ( #109314 )
2026-07-16 12:56:43 -07:00
Peter Steinberger
c11d112b63
refactor(codex): deduplicate sandbox HTTP test setup ( #109229 )
2026-07-16 10:12:31 -07:00
Monkey-wusky
f193c50577
fix(codex): preserve sandbox HTTP UTF-8 diagnostics ( #108618 )
...
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 09:47:07 -07:00
Peter Steinberger
cd96603f9a
fix(codex): show Atlas and ChatGPT sessions in catalog ( #109142 )
...
* fix(codex): include all interactive session sources
* chore: remove release-owned changelog entry
2026-07-16 08:55:40 -07:00
Peter Steinberger
e3f343bd53
fix(codex): preserve Unicode in stderr tails ( #109013 )
2026-07-16 06:04:03 -07:00
mushuiyu886
576a222da2
fix(codex): preserve split UTF-8 in app-server stderr ( #108335 )
2026-07-16 05:41:56 -07:00
Wynne668
f1f4b8ae8d
fix: keep image attachments when steering active runs ( #107657 )
...
* fix: preserve images during active-run steering
* fix(codex): preserve steering fallback order
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
* test(codex): satisfy strict steering assertions
Co-authored-by: ZengWen-DT <ceng.wen@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 04:23:03 -07:00
wuqxuan
045a02b7ad
fix(codex): make status context freshness truthful ( #107813 )
...
* fix(codex): project absolute thread tokenUsage into attemptUsage (#107324 )
* fix(codex): keep thread totalUsage off per-attempt fields
* fix(codex): make status context freshness truthful
Co-authored-by: wuqingxuan <wu.qingxuan@xydigit.com >
* fix(codex): preserve usage through timeout recovery
Co-authored-by: wuqingxuan <wu.qingxuan@xydigit.com >
---------
Co-authored-by: Peter Steinberger <peter@steipete.me >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 03:32:08 -07:00
Jason (Json)
73980e7e42
fix(codex): remove duplicate provider setup choice ( #107979 )
...
* fix(codex): stop advertising harness as model provider
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com >
* fix(wizard): keep migration plugins out of optional setup
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 03:31:11 -07:00
Alexis Gallagher
7a3c26b509
fix(codex): preserve subagent completions after sessions_yield ( #105724 )
...
* fix(codex): preserve subagent completions across sessions_yield
* fix(codex): confirm steering delivery before yield
Co-authored-by: Alexis Gallagher <alexis@alexisgallagher.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-16 03:26:33 -07:00
Peter Steinberger
30f8146b38
refactor(codex): require PathUri sandbox inputs ( #108772 )
...
* refactor(codex): require PathUri sandbox inputs
* test(codex): use PathUri lifecycle fixture
2026-07-16 01:46:39 -07:00
Josh Avant
aaf5d23883
fix(heartbeat): stop reporting success after tool failures ( #107735 )
...
* fix(heartbeat): preserve terminal tool failures
* fix(heartbeat): handle absent failure payloads
* test(agents): align execution-state consumers
* fix(heartbeat): retain unmatched pending finals
* fix(heartbeat): preserve failures across retries
* refactor(agents): narrow terminal outcome boundary
* fix(copilot): preserve terminal tool failures
* fix(agents): bound tool execution tracking
* docs(plugins): document harness terminal outcomes
* fix(codex): preserve exact terminal boundaries
* test(codex): harden abort race fixtures
2026-07-16 01:23:06 -07:00
Stellar鱼
e481ed4229
fix(codex): decode sandbox exec PathUri inputs ( #107644 )
2026-07-16 01:10:02 -07:00
Peter Steinberger
dde90a345a
refactor(plugin-sdk): narrow wildcard barrels to explicit used exports ( #108440 )
...
* refactor(plugin-sdk): narrow wildcard barrels to explicit used exports
* refactor(tools): delete dead tool-planning module exposed by barrel narrowing
* fix(plugin-sdk): restore deprecation tag on OpenClawSchemaType alias
* test(agents): drop test for deleted runtime proxy module
* refactor(tools): trim descriptor types to cache consumers
* refactor(deadcode): harvest exports orphaned by barrel narrowing
* refactor(deadcode): harvest exports orphaned by barrel narrowing (rest)
* fix(agents): restore sdk imports and test markers via public predicate
* fix(plugin-sdk): named type re-exports in plugin-entry; trim types barrel precisely
* chore(plugin-sdk): account unmasked deprecated provider types in budgets
* fix(plugins): name star-only type rows for dts bundling
* fix(plugins): restore host-hook surface; unexport internal api compositions
* fix(plugins): named type imports for api composition; restore needed source exports
* fix(plugins): knip-visible type imports for registry surfaces
* test: adapt tests to privatized media and command internals
* fix(qa-lab): re-export snapshot conversation type
* style: format sessions sdk imports
* fix(plugins): restore smoke entry export; pin budgets to exact actuals
* fix(plugins): canonical smoke-entry import; drop orphaned root shims
* fix(plugins): allowlist manifest probe, repoint qa web import, drop dead browser barrels
* fix(plugin-sdk): pin codex auth marker and scaffold provider type
* fix(qa-lab): keep web-facing model-selection shim within boundary rules
* fix(plugin-sdk): preserve merged contracts through narrowed barrels
* chore(plugin-sdk): pin post-rebase surface budgets
2026-07-16 00:45:23 -07:00
Peter Steinberger
bae9752c5a
refactor(deadcode): enforce repository hard zero ( #108641 )
2026-07-15 22:40:00 -07:00
Peter Steinberger
e7cba0e4d5
fix: provider dead exports no longer block changed checks ( #108592 )
...
* fix(ci): clean provider dead exports
* test(extensions): satisfy provider contract types
* refactor(openai): tighten provider runtime factory
2026-07-15 22:33:54 -07:00
Peter Steinberger
83a4208aed
fix(codex): full-auto approvals survive relay unavailability, typed failure classification, usage line after fallback ( #108626 )
...
* fix(codex): full-auto approvals survive relay unavailability, typed failure classification, usage line after fallback
- full-auto (approvalPolicy never + danger-full-access) exec approvals no
longer get declined when the native hook relay is unreachable BEFORE
invocation; an invoked relay's explicit deny, malformed output, or nonzero
exit still fails closed (#107447 )
- startup timeout/abort and request-timeout classification use typed error
discriminants instead of message prose; EPIPE detection walks error causes;
compaction keeps the message-based thread-not-found gate because codex-rs
exposes no dedicated code (its own contract test asserts the message) and
the generic -32600 would over-match unrelated invalid requests (#99270 )
- /status keeps the Codex usage/quota line for sessions whose persisted
agentHarnessId is codex even when the effective runtime fell back to
OpenClaw Default; never-codex sessions remain excluded (#105184 )
* chore(codex): keep startup error reason type module-local
2026-07-15 22:12:35 -07:00