Commit Graph

13125 Commits

Author SHA1 Message Date
Michael Bolin
03187b2c69 Merge 629a31c674 into sapling-pr-archive-bolinfest 2026-04-25 15:58:32 -07:00
Michael Bolin
629a31c674 permissions: finish profile-backed app surfaces 2026-04-25 15:57:32 -07:00
Michael Bolin
7d3bd8ffd8 permissions: remove core legacy policy round trips 2026-04-25 15:57:32 -07:00
Michael Bolin
70cd79acac permissions: migrate approval and sandbox consumers to profiles 2026-04-25 15:57:32 -07:00
Michael Bolin
106cd7414f permissions: derive compatibility policies from profiles 2026-04-25 15:57:32 -07:00
Michael Bolin
91a07d0d32 permissions: make runtime config profile-backed 2026-04-25 15:57:32 -07:00
Michael Bolin
82613053f3 test: stabilize app-server path assertions on Windows 2026-04-25 15:57:32 -07:00
Michael Bolin
d2a8f04b79 Merge 7f255b8f07 into sapling-pr-archive-bolinfest 2026-04-25 15:46:08 -07:00
Michael Bolin
7f255b8f07 permissions: finish profile-backed app surfaces 2026-04-25 15:43:16 -07:00
Michael Bolin
e422ec733b permissions: remove core legacy policy round trips 2026-04-25 15:43:16 -07:00
Michael Bolin
e8bd0d430b permissions: migrate approval and sandbox consumers to profiles 2026-04-25 15:43:16 -07:00
Michael Bolin
f51435fd38 permissions: derive compatibility policies from profiles 2026-04-25 15:43:16 -07:00
Michael Bolin
135f44714b permissions: make runtime config profile-backed 2026-04-25 15:43:16 -07:00
Michael Bolin
708b6b7338 test: stabilize app-server path assertions on Windows 2026-04-25 15:43:07 -07:00
Michael Bolin
bc21f9d088 merge commit for archive created by Sapling 2026-04-25 15:28:20 -07:00
Michael Bolin
a9df4bddc6 permissions: finish profile-backed app surfaces 2026-04-25 15:28:02 -07:00
Michael Bolin
39d56bcbab permissions: remove core legacy policy round trips 2026-04-25 15:28:02 -07:00
Michael Bolin
480c5cb3ed permissions: migrate approval and sandbox consumers to profiles 2026-04-25 15:28:02 -07:00
Michael Bolin
25ada29a8b permissions: derive compatibility policies from profiles 2026-04-25 15:28:02 -07:00
Michael Bolin
bb278c369c permissions: make runtime config profile-backed 2026-04-25 15:28:02 -07:00
Michael Bolin
2b8b5e6a4d Merge e154f63289 into sapling-pr-archive-bolinfest 2026-04-25 13:48:01 -07:00
Michael Bolin
e154f63289 permissions: finish profile-backed app surfaces 2026-04-25 13:47:43 -07:00
Michael Bolin
de2513e69f permissions: remove core legacy policy round trips 2026-04-25 13:47:43 -07:00
Michael Bolin
0f8b2257ec permissions: migrate approval and sandbox consumers to profiles 2026-04-25 13:47:43 -07:00
Michael Bolin
b5b6f7023e permissions: derive compatibility policies from profiles 2026-04-25 13:47:43 -07:00
Michael Bolin
71ce35708b permissions: make runtime config profile-backed 2026-04-25 13:47:43 -07:00
Michael Bolin
f41306b4f3 test: isolate remote thread store regression from plugin warmups (#19593)
Follow-up to #19266.

## Why


`thread_start_with_non_local_thread_store_does_not_create_local_persistence`
is meant to catch accidental local thread persistence when a non-local
thread store is configured. The Windows flake reported in [this
BuildBuddy
invocation](https://app.buildbuddy.io/invocation/0b75dde4-6828-4e7b-a35b-e45b73fb005d)
showed that the assertion was tripping on an unexpected top-level `.tmp`
entry:

```diff
 {
+    ".tmp",
     "config.toml",
     "installation_id",
     "memories",
     "skills",
 }
```

That `.tmp` does not appear to come from `tempfile::TempDir`; it comes
from unrelated plugin startup work that can legitimately materialize
`codex_home/.tmp`, including the startup remote plugin sync marker in
[`core/src/plugins/startup_sync.rs`](bce74c70ce/codex-rs/core/src/plugins/startup_sync.rs (L13-L15))
and the curated plugin snapshot under
[`.tmp/plugins`](bce74c70ce/codex-rs/core-plugins/src/startup_sync.rs (L25-L26)).

That makes the regression race unrelated background startup tasks
instead of validating the thread-store invariant it was added to cover.
Rather than weakening the assertion to allow arbitrary `.tmp` entries,
this change isolates the test from plugin warmups so it can stay strict
about unexpected local thread persistence artifacts.

## What changed

- disable plugins in the generated config used by
`app-server/tests/suite/v2/remote_thread_store.rs`
- keep the existing `codex_home` assertions unchanged so the test still
fails if local session or sqlite persistence is introduced

## Verification

- `cargo test -p codex-app-server
suite::v2::remote_thread_store::thread_start_with_non_local_thread_store_does_not_create_local_persistence
-- --exact`
2026-04-25 20:45:31 +00:00
Michael Bolin
a525b49d3a Merge 6fe18bbbff into sapling-pr-archive-bolinfest 2026-04-25 13:26:58 -07:00
Michael Bolin
6fe18bbbff test: isolate remote thread store persistence regression 2026-04-25 13:26:44 -07:00
Eric Traut
bce74c70ce Restore persisted model provider on thread resume (#19287)
Fixes #15219.

## Why

`thread/resume` should continue a persisted thread with the same model
provider that created the thread. The app server already restores the
persisted model and reasoning effort before resuming, but it was leaving
`model_provider` unset. If a user created a thread with one provider and
later switched their active profile to another provider, resumed
encrypted history could be sent to the wrong endpoint and fail with
`invalid_encrypted_content`.

The thread metadata already records the original provider, so resume
should apply it when the caller has not explicitly requested a different
model/provider/reasoning configuration.

## What changed

This updates `merge_persisted_resume_metadata` in
`app-server/src/codex_message_processor.rs` to copy
`ThreadMetadata::model_provider` into `ConfigOverrides::model_provider`
alongside the persisted model.

The existing resume metadata tests now also assert that:

- the persisted provider is restored for normal resume
- explicit model, provider, or reasoning-effort overrides still prevent
persisted resume metadata from being applied
- a thread with no persisted model or reasoning effort still resumes
with its persisted provider

## Verification

- `cargo test -p codex-app-server` passed the app-server unit tests,
including the updated resume metadata coverage. The broader integration
portion of that command failed in an unrelated environment-sensitive
skills-budget warning assertion, where this run saw 8 omitted skills
instead of the expected 7.
- `just fix -p codex-app-server` completed successfully.
2026-04-25 12:40:00 -07:00
Michael Bolin
952250df6e Merge d958f52151 into sapling-pr-archive-bolinfest 2026-04-25 10:25:10 -07:00
Michael Bolin
d958f52151 permissions: finish profile-backed app surfaces 2026-04-25 10:24:56 -07:00
Michael Bolin
7937eb324d permissions: remove core legacy policy round trips 2026-04-25 10:24:56 -07:00
Michael Bolin
d55d33b129 permissions: migrate approval and sandbox consumers to profiles 2026-04-25 10:24:56 -07:00
Michael Bolin
f64334a799 permissions: derive compatibility policies from profiles 2026-04-25 10:24:56 -07:00
Michael Bolin
48d74e7b6e permissions: make runtime config profile-backed 2026-04-25 10:24:56 -07:00
Michael Bolin
88f300d74d fix: increase Bazel timeout to 45 minutes (#19578)
Unfortunately, if most of the build graph is invalidated such that there
are few cache hits, the Windows Bazel build for all the tests often
takes more than `30` minutes, so this PR increases the timeout to `45`
minutes until we set up distributed builds.
2026-04-25 10:03:01 -07:00
Michael Bolin
3743eab63e Merge f2d627f15e into sapling-pr-archive-bolinfest 2026-04-25 09:56:43 -07:00
Michael Bolin
f2d627f15e fix: increase Bazel timeout to 45 minutes 2026-04-25 09:56:37 -07:00
Michael Bolin
3993859337 merge commit for archive created by Sapling 2026-04-25 09:17:30 -07:00
Michael Bolin
47ce60e3e4 permissions: finish profile-backed app surfaces 2026-04-25 09:08:06 -07:00
Michael Bolin
93f49ada50 permissions: remove core legacy policy round trips 2026-04-25 09:08:06 -07:00
Michael Bolin
66783f3e8f permissions: migrate approval and sandbox consumers to profiles 2026-04-25 09:08:06 -07:00
Michael Bolin
c8335d27f2 permissions: derive compatibility policies from profiles 2026-04-25 09:08:06 -07:00
Michael Bolin
cdbbfa4bc1 permissions: make runtime config profile-backed 2026-04-25 09:07:56 -07:00
Michael Bolin
0997360123 Merge 5801f386bd into sapling-pr-archive-bolinfest 2026-04-25 08:57:46 -07:00
Michael Bolin
5801f386bd permissions: finish profile-backed app surfaces 2026-04-25 08:57:28 -07:00
Michael Bolin
54081971f7 permissions: remove core legacy policy round trips 2026-04-25 08:57:28 -07:00
Michael Bolin
08fc3d2942 permissions: migrate approval and sandbox consumers to profiles 2026-04-25 08:57:28 -07:00
Michael Bolin
6ceba5b9ab permissions: derive compatibility policies from profiles 2026-04-25 08:57:27 -07:00