Commit Graph

1289 Commits

Author SHA1 Message Date
Peter Steinberger fa0fcef9f6 fix(sessions): require provenance for fresh context-size facts (#120497) 2026-08-07 23:06:30 -07:00
Peter Steinberger 5a79d19ba1 fix(codex): preserve warm sessions and approvals across conversations (#120405) 2026-08-07 18:38:09 -07:00
Peter Steinberger fa9626c4e1 refactor(steering): make active-run admission exact and atomic (#120285)
* refactor(steering): make admission exact and atomic

* fix(steering): bind targets by run identity

* fix(steering): inject before reply dispatch

* fix(steering): preserve backend injection modes

* fix(steering): target session suggestions

* fix(steering): preserve sibling delivery contracts

* style(steering): satisfy exact-head lint

* fix(steering): preserve targetless protocol compatibility

* fix(steering): preserve exact targets through replies
2026-08-07 16:58:04 -07:00
joshavant ceeb02d7e1 Revert "refactor(agents): bind tool policy to exact execution identity"
This reverts commit d863dd5f5e.
2026-08-07 18:40:17 -05:00
joshavant 2751bc8991 Revert "fix(agents): restrict harness tool authority"
This reverts commit aacbcaacc8.
2026-08-07 18:40:17 -05:00
joshavant bc197e1b66 Revert "fix(plugins): inject harness tool authority"
This reverts commit 228478bffe.
2026-08-07 18:40:17 -05:00
joshavant 941f4a3ec6 Revert "fix(agents): satisfy tool authority lint"
This reverts commit 63c6cd9a02.
2026-08-07 18:40:17 -05:00
Peter Steinberger 5a795f4dda fix(qa): require a fresh reply and real tool use after switching models (#119662)
* fix(qa): require a fresh reply after switching models

* fix(qa): prove successful tool use after model switching

* fix(qa): wait for the new persisted model-switch tool result

* fix(qa): authenticate canonical model-switch attempt evidence

* fix(ai): preserve effective response model evidence

Punchcard-Session: golden-valley-workshop-br

* fix(agent): publish run-owned terminal receipts

Punchcard-Session: golden-valley-workshop-br

* fix(qa): require run-owned model-switch evidence

Punchcard-Session: golden-valley-workshop-br

* fix(agent): record explicit tool completion outcomes

Punchcard-Session: golden-valley-workshop-br

* fix(agent): exclude unavailable approvals from receipts

Punchcard-Session: golden-valley-workshop-br

* fix(agent): derive receipt visibility from terminal reply

Punchcard-Session: golden-valley-workshop-br

* fix(qa): bind model-switch continuity to terminal reply

Punchcard-Session: golden-valley-workshop-br

* fix(qa): project Crabline Telegram visible text

Punchcard-Session: golden-valley-workshop-br

* fix(qa): record run-owned delivery evidence

Punchcard-Session: golden-valley-workshop-br

* fix(qa): bind primary model-switch delivery

Punchcard-Session: golden-valley-workshop-br

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-08 03:05:32 +08:00
Vito Cappello 5621979a46 fix(models): preserve session selection across fallback turns (#119325)
* feat(models): add session-only model selection

* fix(models): use trailing session scope option

* test(models): satisfy session scope lint

* fix(models): reject duplicate model options

* fix(models): clarify default and session scope

* fix(models): require complete session option tokens

* fix(models): report configured default dispatch

* fix(models): keep directive handler within lint limit

* fix(models): parse model options in either order

* fix(models): apply session scope to aliases

* fix(models): align alias scope with reply routing

* fix(discord): surface model selection scope in picker

* fix(models): preserve mixed-text model selection

* fix(models): centralize command selection ownership

* fix(models): align session scope lifecycle

* fix(models): preserve command and auth ownership

* fixup! fix(models): preserve command and auth ownership

* fix(auth): preserve scoped CLI provider discovery

* test(models): align result and cron fixtures

* test(models): nest result timing metadata

* fix(discord): narrow silent dispatch results

* fix(transcript): preserve admitted turn identity

* fix(context-engine): fence the admitted transcript turn

* fix(context-engine): stabilize plugin compatibility contract

* chore(plugin-sdk): refresh context engine API baseline

* chore(plugin-sdk): use Linux context engine API baseline

* fix(context-engine): align fallback ownership

* fix(fallback): scope auth skip cache by profile

* fix(context-engine): settle only accepted fallback turns

* refactor(sessions): issue canonical turn admissions

* refactor(context-engine): own logical turn advancement

* fix(context-engine): settle cron fallback winners

* fix(models): align picker and fallback transactions

* fix(delivery): notify block admission after queueing

* fix(sessions): preserve canonical admission receipts

* chore(plugin-sdk): refresh API baseline hash

* fix(context-engine): commit accepted turns durably

* fix(context-engine): validate durable host transitions

* fix(context-engine): preserve fallback turn ownership

* fix(context-engine): preserve queued turn order

* fix(models): preserve fallback retry ownership

* fix(context-engine): enforce durable transcript anchors

* fix(runtime): close fallback persistence gaps

* fix(context-engine): preflight fallback harnesses

* chore(plugin-sdk): use Linux API baseline

* fix(context-engine): drain durable commits before reads

* fix(models): scope harness auth failures by profile

* fix(codex): fence legacy transcript history

* fix(commands): honor suppressed directive interpretation

* chore(runtime): remove unused branch exports

* test(context-engine): derive private outbox payload type

* fix(context-engine): apply durable drain degradation

* fix(context-engine): recover durable turn intents

* fix(context-engine): settle durable turn intents

* refactor(context-engine): satisfy branch quality gates

* fix(context-engine): close durable recovery gaps

* fix(discord): preserve dropped model command outcome

* test(copilot): keep journal fixture types local

* fix(auto-reply): preserve model alias provenance

* fix: close model scope review gaps

* fix(models): close review-found scope leaks

* fix(review): satisfy branch line budgets

* fix(agents): preserve context engine turn facts

* fix(agents): finalize silent context turns

* fix(context-engine): preserve compatibility window

* test(agents): cover both harness preparations

* fix(context-engine): retain blocked turn advancements

* fix(models): parse compact runtime options

* fix(telegram): report runtime resets accurately

* fix(models): isolate automatic auth failure skips

* fix(context-engine): project commit turn host params

---------

Co-authored-by: VACInc <3279061+VACInc@users.noreply.github.com>
Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-08-07 16:19:12 +08:00
Vincent Koc 63c6cd9a02 fix(agents): satisfy tool authority lint 2026-08-07 15:07:12 +08:00
Vincent Koc 228478bffe fix(plugins): inject harness tool authority 2026-08-07 15:07:12 +08:00
Vincent Koc aacbcaacc8 fix(agents): restrict harness tool authority 2026-08-07 15:07:12 +08:00
Vincent Koc d863dd5f5e refactor(agents): bind tool policy to exact execution identity 2026-08-07 15:07:12 +08:00
Peter Steinberger f87d8bb72d refactor(test): compress repetitive fixtures in mega-tests, batch 2 (#120124)
* refactor(test): compress incomplete-turn fixtures

* refactor(test): compress Discord voice fixtures

* refactor(test): compress restart recovery fixtures

* refactor(test): compress CLI attempt fixtures

* refactor(test): compress subagent registry fixtures

* refactor(test): compress workboard fixtures

* refactor(test): compress TUI event fixtures

* refactor(test): compress Codex turn-watch fixtures

* fix(test): tighten CLI attempt fixture types

* fix(test): widen restart transcript fixture content

* fix(test): preserve workboard status fixture type
2026-08-06 20:50:20 -07:00
Peter Steinberger 7c9596b007 refactor(test): adopt codex app-server test harness in worst-preamble suites (#120065)
* refactor(test): share codex app-server client fixtures

* refactor(test): share codex turn identifiers
2026-08-06 16:33:42 -07:00
Peter Steinberger b4a26783f7 refactor(test): consolidate duplicated requireRecord and provider HTTP mock helpers (#119982)
* refactor(test): consolidate duplicated test helpers

* test: remove stale record guard import

* fix(test): remove orphaned record guards

* refactor(test): keep record requirement messages exhaustively typed

* fix(test): keep packages/ai record guard package-local
2026-08-06 14:48:01 -07:00
Vincent Koc b269e652bc chore(codex): bump app-server to 0.146.1 2026-08-06 07:11:37 +08:00
Jason (Json) 6d2ba0d562 fix: steering reaches active runs across agent harnesses (#119594)
* fix steering delivery across harnesses

* fix steering across moving transcript leaves

* test: align steering queue expectations

* fix: harden active steering ownership

* fix: retain steering fallback admission

* fix: reject late copilot steering

* fix: prevent replay of accepted steering

* fix: bind acquired chat work admission

* fix: bind steering to active transcript branch
2026-08-05 16:02:04 -06:00
Peter Steinberger 52c4554787 refactor(codex): consolidate approval and elicitation ownership (#119626) 2026-08-05 08:23:08 -07:00
pash-openai 55715cafb3 fix(codex): allow natural reactions in the current conversation (#119649) 2026-08-05 14:41:32 +00:00
Vincent Koc d06fc25a0c fix(agents): protect private memory in shared chats (#119198)
* fix(agents): protect private memory in shared chats

Fixes #84466

Co-authored-by: Peter Steinberger <steipete@gmail.com>

* fix(agents): propagate shared chat type across runtimes

* fix(agents): enforce bootstrap privacy after hooks

* test(agents): cover final bootstrap filtering

* fix(agents): filter private memory before allowlists

* fix(agents): preserve bootstrap source identity

* refactor(agents): simplify bootstrap source identity

* fix(agents): keep bootstrap source identity private

* fix(agents): unify CLI runtime chat type

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-08-04 23:01:38 +08:00
sunlit-deng 7cf7fbbe99 fix(codex): cap compaction override warning cache via createDedupeCache (#101745)
* fix(codex): cap compaction override warning cache via createDedupeCache

* test(codex): cover compaction warning cache eviction

* test(codex): use valid compaction trigger in cap coverage

* test(codex): assert warning retention at the 4096-entry boundary
2026-08-04 15:39:16 +08:00
Peter Steinberger 3fa9cc209b fix(agents): preserve tainted memory provenance in provider tool bridges (#118760) 2026-08-03 10:12:10 -07:00
Vincent Koc 8895b0c288 fix(codex): preserve yielded subagent handoff (#118644) 2026-08-03 19:44:58 +08:00
Peter Steinberger 2cc0a98519 refactor(codex): compact plugin inventory test fixtures (#118223) 2026-08-02 16:10:00 -07:00
Peter Steinberger 30c79e4db1 fix(inference): prevent lost cancellation, stuck compaction, and runaway tools (#118146)
* fix(inference): preserve cancellations, compaction, and tool-loop safety

* fix(inference): satisfy Codex and mock-provider type checks

* fix(codex): secure tool-free recovery and restricted turns

* fix(codex): satisfy host-prompt provenance lint
2026-08-02 14:42:01 -07:00
Peter Steinberger 999f14392b fix(telegram): preserve question choices across button rows (#118049)
Co-authored-by: Peter Steinberger <steipete@macos.shared>
2026-08-02 11:49:35 -07:00
Peter Steinberger 0138f5b5e3 fix: stop lost cancellations, false success, and stuck Codex compaction (#117902)
* fix(inference): preserve cancellation, lifecycle, and Codex completion ownership

* test(qa): settle visible replies on the active channel transport
2026-08-02 02:03:57 -07:00
Josh Avant b3a1d97ed7 fix(agents): scope harness preflight fallback (#117256)
* fix(agents): scope harness preflight fallback

* test(plugin-sdk): record scoped preflight contract

* test(agents): lock fallback approval boundary

* fix(agents): bind preflight scope to selected harness
2026-08-02 00:42:26 -05:00
Peter Steinberger 7c1d5dc7ef fix(inference): preserve run ownership and completion delivery (#117731) 2026-08-01 18:57:05 -07:00
Jacob Tomlinson 20ac22f647 fix(codex): guide recovery from unimported agent auth (#116807)
* fix(codex): diagnose unimported agent auth

Add agent-scoped Codex migration guidance and expose a validated --agent target so non-default credentials cannot be imported into the default agent store.

Fixes #116763

* fix(codex): surface auth migration before route planning

* fix(codex): scope auth migration recovery

* fix(codex): preserve API key auth fallback

* test: repair memory importer routing expectation

* test: drop superseded memory routing repair

* test(tui): report PTY progress verbosely

---------

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-08-01 07:08:02 -06:00
Peter Steinberger 8738fe1354 refactor(codex): deduplicate generated protocol schemas (#117382) 2026-08-01 05:32:37 -07:00
Peter Steinberger b721cffa44 fix(inference): simplify lifecycle and preserve Codex tool identity (#117298) 2026-08-01 02:05:45 -07:00
Vincent Koc 71a09dcfe3 fix(codex): preserve app-server close diagnostics (#117296) 2026-08-01 17:01:42 +08:00
Vincent Koc 754dcb8b2f merge: preserve verified completion handoff series (#117148)
* commit '619682ed010f4e6c56c73feb4948fd7265083e10':
  fix(agents): bind completion messages to source
  fix(agents): mint completion delivery grant
  fix(agents): retain tools for direct completion delivery
  fix(agents): integrate verified completion delivery
  test(codex): use typed completion handoff fixture
  fix(agents): verify completion tool handoffs
2026-08-01 15:35:41 +08:00
Peter Steinberger 378d4ff938 fix(codex): preserve authoritative turn completion (#117185)
Retain terminal and assistant-completion facts when pre-start notifications exceed the bounded buffer. Exclude commentary from replies, accept legacy unphased final messages, and let completed terminal items own the final answer while rejecting interrupted, failed, or non-terminal outcomes.

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
Co-authored-by: Peter Steinberger <58493+steipete@users.noreply.github.com>
2026-08-01 15:34:30 +08:00
Vincent Koc f90f0b1a7b test(codex): use typed completion handoff fixture 2026-08-01 12:47:05 +08: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
WhatsSkiLL 38d53e324d fix(codex): preserve user home default for session catalog (#116131)
* fix-codex-preserve-user-home-session-catalog-default

* fix-codex-cover-catalog-reload-proof

* fix-codex-harden-catalog-home-proof

* fix-codex-enforce-proof-cleanup

* test(codex): require proof process shutdown

* fix(codex): honor supervised Unix control connections

---------

Co-authored-by: IWhatsskill <284122573+IWhatsskill@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-31 12:01:17 -07:00
Vincent Koc 0ccdac5a71 fix(codex): restore SQLite session continuity (#116944)
Carry the canonical typed SQLite session target through Codex startup and settled-turn finalization so fresh and resumed turns retain prior OpenClaw history.

Closes #116851
Closes #116862

Co-authored-by: Calin Laurentiu Ilie <calinilielaur@gmail.com>
2026-08-01 02:06:03 +08:00
Vincent Koc a4faeae9df Merge pull request #101358 from mrunalp/podman-sandbox-backend
Add Podman sandbox backend
2026-08-01 00:00:18 +08:00
Harjoth Khara 5e2fec2969 fix(codex): /steer hangs indefinitely when the app-server does not answer turn/steer (#116565)
* fix(codex): bound the app-server turn/steer request so /steer cannot hang forever

* docs(codex): scope the turn/steer comment to verified behavior

* test(codex): prove steer abort clears pending request

---------

Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
2026-07-31 10:01:02 +08:00
Vincent Koc e0e0b7cede test(codex): wait for heartbeat scheduling before timer advance (#116617) 2026-07-31 09:59:41 +08:00
Mrunal Patel 903276c798 Add Podman sandbox backend
Closes #101348

Adds a bundled podman sandbox backend, SDK helper exports, policy/Codex integration, generated plugin docs, and focused tests.
2026-07-30 20:20:42 -04:00
Kimiyu-openai 43156fe482 fix(codex): add remote WebSocket heartbeat and reconnect (#116135) 2026-07-30 15:38:26 -07:00
Vincent Koc bb68389a66 fix(ui): deduplicate gateway-native session hosts 2026-07-30 15:22:37 +08:00
Peter Steinberger ec46d30fbf fix(codex): preserve requester across approval bridge (#116152) 2026-07-29 18:16:51 -07:00
Brian Snyder cce8a21492 fix(codex): accept finalizer prompt echoes (#116044)
Co-authored-by: BSnizND <199837910+BsnizND@users.noreply.github.com>
2026-07-30 09:03:01 +08:00
Peter Steinberger a19132e7eb fix(codex): prevent approval promotion from blocking unattended runs (#116117)
* fix(codex): honor hook approval ownership

* fix(codex): keep permission grants human-gated
2026-07-29 17:00:16 -07:00
Peter Steinberger b9377f6048 fix(codex): enforce native MCP tool access (#116054)
* fix(codex): enforce native MCP tool access

* chore: remove prerelease changelog entry

* chore: restore changelog to main

* refactor(codex): build MCP server patches from entries
2026-07-29 17:06:49 -04:00