Commit Graph
6962 Commits
Author SHA1 Message Date
Michael Bolin 07d3fc6077 merge commit for archive created by Sapling 2026-02-01 22:50:35 -08:00
Michael Bolin dfdf5e9def Remove stray .snap.new filtering from schema fixtures reader
Motivation:
- `codex-app-server-protocol` schema fixtures are not insta snapshots.
- Filtering `*.snap.new` is confusing and risks hiding real files.

What changed:
- Remove the `.snap.new` filename special case in `read_schema_fixture_tree`.

Refs: macOS Bazel schema fixture mismatch investigation
2026-02-01 22:48:50 -08:00
Michael Bolin e7d0954b24 Merge c2828d9774 into sapling-pr-archive-bolinfest 2026-02-01 22:41:39 -08:00
Michael Bolin c2828d9774 Avoid JSON-schema canonicalization (preserve field order)
Motivation:
- App-server JSON schema output is already stable; sorting object keys is unnecessary.
- Alphabetical key canonicalization is potentially harmful because it obscures intentional ordering (e.g. struct field order) and makes diffs noisier.

What changed:
- Remove JSON key-sorting from schema emission.
- Regenerate vendored JSON schema fixtures.

Refs: openai/codex#8956 (fixture sync test pattern)
2026-02-01 22:40:15 -08:00
Michael Bolin af40fe7abc merge commit for archive created by Sapling 2026-02-01 22:35:22 -08:00
Michael Bolin 989b5a647d Fix clippy in app-server schema fixture test
Motivation:
- `cargo clippy --tests` is run in CI with `-D clippy::expect-used`; the new schema fixture test used `expect()`.

What changed:
- Convert test helpers to return `anyhow::Result` and add context instead of using `expect()`.

Refs: 3b069fda39 (schema fixture vendoring commit)
2026-02-01 22:28:28 -08:00
Michael Bolin dfe883c9ef merge commit for archive created by Sapling 2026-02-01 22:23:03 -08:00
Michael Bolin 3b069fda39 Vendor app-server protocol schema fixtures
Motivation:
- Keep `codex app-server` protocol artifacts (TypeScript + JSON Schema) checked in for consumers (e.g. IDE integrations) and make changes reviewable.
- Prevent drift between generated output (`codex app-server generate-ts` / `codex app-server generate-json-schema`) and what is vendored in the repo.

What changed:
- Vendor generated artifacts under `codex-rs/app-server-protocol/schema/typescript/` and `codex-rs/app-server-protocol/schema/json/`.
- Add `just write-app-server-schema` to fully regenerate fixtures (including deleting stale files).
- Add a fixture sync test for `codex-app-server-protocol` to assert the vendored trees match freshly generated output.
- Canonicalize JSON schema output (sorted object keys) for deterministic diffs.
- Wire Bazel test data so remote tests can read the vendored fixtures.

Refs: openai/codex#8956 (config.schema.json vendoring + sync test pattern)
2026-02-01 22:22:25 -08:00
Michael Bolin e3a75d8288 merge commit for archive created by Sapling 2026-02-01 21:35:11 -08:00
Michael Bolin 2063d61273 chore: remove deprecated mcp-types crate 2026-02-01 21:27:38 -08:00
Michael Bolin dbb97b1ce9 feat: migrate MCP implementation from mcp-types to rmcp
***
feat: add MCP protocol types and rmcp adapters
2026-02-01 21:27:38 -08:00
Michael Bolin 1ccba470cb merge commit for archive created by Sapling 2026-02-01 21:07:03 -08:00
Dylan Hurd 6c22360bcb fix(core) Deduplicate prefix_rules before appending (#10309)
## Summary
We ideally shouldn't make it to this point in the first place, but if we
do try to append a rule that already exists, we shouldn't append the
same rule twice.

## Testing
- [x] Added unit test for this case
2026-02-01 20:30:38 -08:00
Michael Bolin db4a855318 chore: remove deprecated mcp-types crate 2026-02-01 19:58:08 -08:00
Michael Bolin cffa4bc4fe feat: migrate MCP implementation from mcp-types to rmcp
***
feat: add MCP protocol types and rmcp adapters
2026-02-01 19:58:08 -08:00
Michael Bolin d8e2e706eb merge commit for archive created by Sapling 2026-02-01 19:50:57 -08:00
Michael Bolin cecd6caccf feat: add MCP protocol types (ts/JsonSchema friendly) 2026-02-01 19:44:58 -08:00
Michael Bolin dbf41653da chore: remove deprecated mcp-types crate 2026-02-01 19:44:58 -08:00
Michael Bolin 8ce41a48e5 feat: migrate MCP implementation from mcp-types to rmcp
***
feat: add MCP protocol types and rmcp adapters
2026-02-01 19:44:58 -08:00
Michael Bolin e34851baf0 merge commit for archive created by Sapling 2026-02-01 19:13:42 -08:00
Michael Bolin dae183ce3f chore: remove deprecated mcp-types crate 2026-02-01 19:08:53 -08:00
Michael Bolin c14c2ce6a0 feat: migrate MCP implementation from mcp-types to rmcp 2026-02-01 19:08:53 -08:00
Michael Bolin 5e9ceccc40 feat: add MCP protocol types and rmcp adapters 2026-02-01 19:08:53 -08:00
pakrym-oai 03fcd12e77 Do not append items on override turn context (#10354) 2026-02-01 18:51:26 -08:00
Michael Bolin 1150e6159d merge commit for archive created by Sapling 2026-02-01 18:37:22 -08:00
Michael Bolin 56c918e49d feat: replace custom mcp-types crate with equivalents from rmcp 2026-02-01 18:34:27 -08:00
Dylan Hurd 8b95d3e082 fix(rules) Limit rules listed in conversation (#10351)
## Summary
We should probably warn users that they have a million rules, and help
clean them up. But for now, we should handle this unbounded case.

Limit rules listed in conversations, with shortest / broadest rules
first.

## Testing
- [x] Updated unit tests
2026-02-02 02:26:15 +00:00
Gav Verma 5fb46187b2 fix: System skills marker includes nested folders recursively (#10350)
Updated system skills bundled with Codex were not correctly replacing
the user's skills in their .system folder.

- Fix `.codex-system-skills.marker` not updating by hashing embedded
system skills recursively (nested dirs + file contents), so updates
trigger a reinstall.
- Added a build Cargo hook to rerun if there are changes in
`src/skills/assets/samples/*`, ensuring embedded skill updates rebuild
correctly under caching.
- Add a small unit test to ensure nested entries are included in the
fingerprint.
2026-02-01 18:17:32 -08:00
Michael Bolin 1f5096977b merge commit for archive created by Sapling 2026-02-01 17:56:56 -08:00
Michael Bolin 223cb55475 feat: replace custom mcp-types crate with equivalents from rmcp 2026-02-01 17:56:35 -08:00
Michael Bolin b1ff6bc812 Merge 136c14de8c into sapling-pr-archive-bolinfest 2026-02-01 17:03:33 -08:00
Michael Bolin 136c14de8c feat: replace custom mcp-types crate with equivalents from rmcp 2026-02-01 17:03:29 -08:00
Michael Bolin bbf2e51945 Merge fb6e94fb5b into sapling-pr-archive-bolinfest 2026-02-01 17:01:16 -08:00
Michael Bolin fb6e94fb5b feat: replace custom mcp-types crate with equivalents from rmcp 2026-02-01 17:01:11 -08:00
Michael Bolin 792907925c Merge b5231ea6d1 into sapling-pr-archive-bolinfest 2026-02-01 16:04:43 -08:00
Michael Bolin b5231ea6d1 feat: replace custom mcp-types crate with equivalents from rmcp 2026-02-01 16:04:37 -08:00
Charley Cunningham d3514bbdd2 Bump thread updated_at on unarchive to refresh sidebar ordering (#10280)
## Summary
- Touch restored rollout files on `thread/unarchive` so `updatedAt`
reflects the unarchive time.
- Add a regression test to ensure unarchiving bumps `updated_at` from an
old mtime.

## Notes
This fixes the UX issue where unarchived old threads don’t reappear near
the top of recent threads.
2026-02-01 12:53:47 -08:00
Michael Bolin d64525bf07 merge commit for archive created by Sapling 2026-02-01 09:01:33 -08:00
Michael Bolin f94bcf0796 chore: remove duplicate mcp-types declaration in Cargo.toml 2026-02-01 09:01:20 -08:00
Michael Bolin a383d64f37 merge commit for archive created by Sapling 2026-02-01 08:59:52 -08:00
Michael Bolin d11ca91487 chore: remove duplicate mcp-types declaration in Cargo.toml 2026-02-01 08:59:43 -08:00
Charley Cunningham 3dd9a37e0b Improve plan mode interaction rules (#10329)
## Summary
- Replace the “Hard interaction rule” with a clearer “Response
constraints” section that enumerates the allowed exceptions for Plan
Mode replies.
- Remove the stray Phase 1 exception line about simple questions.
- Update plan content requirements to ask for a brief summary section
and generalize API/type wording.
2026-01-31 23:20:27 -08:00
Dylan Hurd ae4eeff440 fix(config) config schema newline (#10323)
## Summary
Looks like we may have introduced a formatting issue in recent PRs.

## Testing
- [x] ran `just write-config-schema`
2026-02-01 05:08:29 +00:00
Gav Verma e470461a96 Sync system skills from public repo for openai yaml changes (#10322)
Follow-up to https://github.com/openai/codex/pull/10320

Syncing additional changes from
https://github.com/openai/skills/tree/main/skills/.system
2026-01-31 21:07:35 -08:00
Gav Verma dfba95309f Sync system skills from public repo (#10320)
Syncs the system skills included in Codex with the updates in
https://github.com/openai/skills/tree/main/skills/.system
2026-01-31 20:44:18 -08:00
Dylan Hurd 11c912c4af chore(features) Personality => Stable (#10310)
## Summary
Bump `/personality` to stable

## Testing
 - [x] unit tests pass
2026-01-31 20:32:32 -08:00
Dylan Hurd a33fa4bfe5 chore(config) Rename config setting to personality (#10314)
## Summary
Let's make the setting name consistent with the SlashCommand!

## Testing
- [x] Updated tests
2026-01-31 19:38:06 -08:00
Anton Panasenko 101d359cd7 Add websocket telemetry metrics and labels (#10316)
Summary
- expose websocket telemetry hooks through the responses client so
request durations and event processing can be reported
- record websocket request/event metrics and emit runtime telemetry
events that the history UI now surfaces
- improve tests to cover websocket telemetry reporting and guard runtime
summary updates


<img width="824" height="79" alt="Screenshot 2026-01-31 at 5 28 12 PM"
src="https://github.com/user-attachments/assets/ea9a7965-d8b4-4e3c-a984-ef4fdc44c81d"
/>
2026-01-31 19:16:44 -08:00
xl-openai aab3705c7e Make skills prompt explicit about relative-path lookup (#10282)
Fix cases where the model tries to locate skill scripts from the cwd and
fails.
2026-01-31 19:08:25 -08:00
Gav Verma 39a6a84097 feat: Support loading skills from .agents/skills (#10317)
This PR adds support for loading
[skills](https://developers.openai.com/codex/skills) from
`.agents/skills/`.
- Issue: https://github.com/agentskills/agentskills/issues/15
- Motivation: When skills live on the filesystem, sharing them across
agents is awkward and often ends up requiring symlinks/duplication. A
single location under `.agents/` makes it easier to share skills.
- Loading from `.codex/skills/` will remain but will be deprecated soon.
The change only applies to the [REPO
scope](https://developers.openai.com/codex/skills#where-to-save-skills).
- Documentation will be updated before this change is live.

Testing with skills in two locations of this repo:
<img width="960" height="152" alt="image"
src="https://github.com/user-attachments/assets/28975ff9-7363-46dd-ad40-f4c7bfdb8234"
/>

When starting Codex with CWD in `$repo_root` (should only pick up at
root):
<img width="513" height="143" alt="image"
src="https://github.com/user-attachments/assets/389e1ea7-020c-481e-bda0-ce58562db59f"
/>

When starting Codex with CWD in `$repo_root/codex-rs` (should pick up at
cwd and crawl up to root):
<img width="552" height="177" alt="image"
src="https://github.com/user-attachments/assets/a5beb8de-11b4-45ed-8660-80707c77006a"
/>
2026-01-31 18:45:05 -08:00