Commit Graph
10403 Commits
Author SHA1 Message Date
Michael Bolin d28e030d9f Merge d849d5e545 into sapling-pr-archive-bolinfest 2026-03-27 19:12:41 -07:00
Michael Bolin d849d5e545 refactor: rewrite argument-comment lint wrappers in Python 2026-03-27 19:12:34 -07:00
Michael Bolin b76196f912 Merge f37fa114bc into sapling-pr-archive-bolinfest 2026-03-27 19:11:53 -07:00
Michael Bolin f37fa114bc shell-escalation: keep macOS handshake stream alive 2026-03-27 19:11:47 -07:00
Michael Bolin dccbd68c00 Merge bb7732ada7 into sapling-pr-archive-bolinfest 2026-03-27 19:04:53 -07:00
Michael Bolin bb7732ada7 shell-escalation: keep macOS handshake stream alive 2026-03-27 19:04:45 -07:00
Michael Bolin 61dfe0b86c chore: clean up argument-comment lint and roll out all-target CI on macOS (#16054)
## Why

`argument-comment-lint` was green in CI even though the repo still had
many uncommented literal arguments. The main gap was target coverage:
the repo wrapper did not force Cargo to inspect test-only call sites, so
examples like the `latest_session_lookup_params(true, ...)` tests in
`codex-rs/tui_app_server/src/lib.rs` never entered the blocking CI path.

This change cleans up the existing backlog, makes the default repo lint
path cover all Cargo targets, and starts rolling that stricter CI
enforcement out on the platform where it is currently validated.

## What changed

- mechanically fixed existing `argument-comment-lint` violations across
the `codex-rs` workspace, including tests, examples, and benches
- updated `tools/argument-comment-lint/run-prebuilt-linter.sh` and
`tools/argument-comment-lint/run.sh` so non-`--fix` runs default to
`--all-targets` unless the caller explicitly narrows the target set
- fixed both wrappers so forwarded cargo arguments after `--` are
preserved with a single separator
- documented the new default behavior in
`tools/argument-comment-lint/README.md`
- updated `rust-ci` so the macOS lint lane keeps the plain wrapper
invocation and therefore enforces `--all-targets`, while Linux and
Windows temporarily pass `-- --lib --bins`

That temporary CI split keeps the stricter all-targets check where it is
already cleaned up, while leaving room to finish the remaining Linux-
and Windows-specific target-gated cleanup before enabling
`--all-targets` on those runners. The Linux and Windows failures on the
intermediate revision were caused by the wrapper forwarding bug, not by
additional lint findings in those lanes.

## Validation

- `bash -n tools/argument-comment-lint/run.sh`
- `bash -n tools/argument-comment-lint/run-prebuilt-linter.sh`
- shell-level wrapper forwarding check for `-- --lib --bins`
- shell-level wrapper forwarding check for `-- --tests`
- `just argument-comment-lint`
- `cargo test` in `tools/argument-comment-lint`
- `cargo test -p codex-terminal-detection`

## Follow-up

- Clean up remaining Linux-only target-gated callsites, then switch the
Linux lint lane back to the plain wrapper invocation.
- Clean up remaining Windows-only target-gated callsites, then switch
the Windows lint lane back to the plain wrapper invocation.
2026-03-27 19:00:44 -07:00
Michael Bolin d930261a67 merge commit for archive created by Sapling 2026-03-27 18:22:02 -07:00
Michael Bolin f2ab5f36bb chore: enforce argument-comment lint across all targets 2026-03-27 18:19:24 -07:00
Eric Traut ed977b42ac Fix tui_app_server agent picker closed-state regression (#16014)
Addresses #15992

The app-server TUI was treating tracked agent threads as closed based on
listener-task bookkeeping that does not reflect live thread state during
normal thread switching. That caused the `/agent` picker to gray out
live agents and could show a false "Agent thread ... is closed" replay
message after switching branches.

This PR fixes the picker refresh path to query the app server for each
tracked thread and derive closed vs loaded state from `thread/read`
status, while preserving cached agent metadata for replay-only threads.
2026-03-27 19:05:43 -06:00
Eric Traut 8e24d5aaea Fix tui_app_server resume-by-name lookup regression (#16050)
Addresses #16049

`codex resume <name>` and `/resume <name>` could fail in the app-server
TUI path because name lookup pre-filtered `thread/list` with the backend
`search_term`, but saved thread names are hydrated after listing and are
not part of that search index. Resolve names by scanning listed threads
client-side instead, and add a regression test for saved sessions whose
rollout title does not match the thread name.
2026-03-27 19:04:48 -06:00
Michael Bolin 05a7dad803 merge commit for archive created by Sapling 2026-03-27 17:36:39 -07:00
Michael Bolin f05597bbc0 chore: enforce argument-comment lint across all targets 2026-03-27 17:34:47 -07:00
Michael Bolin 1ca44623cc Merge 6759b7b659 into sapling-pr-archive-bolinfest 2026-03-27 17:24:22 -07:00
Michael Bolin 6759b7b659 shell-command: reuse a PowerShell parser process on Windows 2026-03-27 17:24:10 -07:00
Michael Bolin adb3b736ca Merge 880a15a281 into sapling-pr-archive-bolinfest 2026-03-27 17:21:45 -07:00
Michael Bolin 880a15a281 chore: enforce argument-comment lint across all targets 2026-03-27 17:21:27 -07:00
Michael Bolin 2ffb32db98 ci: run SDK tests with a Bazel-built codex (#16046)
## Why

Before this change, the SDK CI job built `codex` with Cargo before
running the TypeScript package tests. That step has been getting more
expensive as the Rust workspace grows, while the repo already has a
Bazel-backed build path for the CLI.

The SDK tests also need a normal executable path they can spawn
repeatedly. Moving the job to Bazel exposed an extra CI detail: a plain
`bazel-bin/...` lookup is not reliable under the Linux config because
top-level outputs may stay remote and the wrapper emits status lines
around `cquery` output.

## What Changed

- taught `sdk/typescript/tests/testCodex.ts` to honor `CODEX_EXEC_PATH`
before falling back to the local Cargo-style `target/debug/codex` path
- added `--remote-download-toplevel` to
`.github/scripts/run-bazel-ci.sh` so workflows can force Bazel to
materialize top-level outputs on disk after a build
- switched `.github/workflows/sdk.yml` from `cargo build --bin codex` to
the shared Bazel CI setup and `//codex-rs/cli:codex` build target
- changed the SDK workflow to resolve the built CLI with wrapper-backed
`cquery --output=files`, stage the binary into
`${GITHUB_WORKSPACE}/.tmp/sdk-ci/codex`, and point the SDK tests at that
path via `CODEX_EXEC_PATH`
- kept the warm-up step before Jest and the Bazel repository-cache save
step

## Verification

- `bash -n .github/scripts/run-bazel-ci.sh`
- `./.github/scripts/run-bazel-ci.sh -- cquery --output=files --
//codex-rs/cli:codex | grep -E '^(/|bazel-out/)' | tail -n 1`
- `./.github/scripts/run-bazel-ci.sh --remote-download-toplevel -- build
--build_metadata=TAG_job=sdk -- //codex-rs/cli:codex`
- `CODEX_EXEC_PATH="$PWD/.tmp/sdk-ci/codex" pnpm --dir sdk/typescript
test --runInBand`
- `pnpm --dir sdk/typescript lint`
2026-03-27 17:17:22 -07:00
Michael Bolin 298f66831e Merge a547507e48 into sapling-pr-archive-bolinfest 2026-03-27 16:57:25 -07:00
Michael Bolin a547507e48 fix: speed up test that uses PowerShell 2026-03-27 16:57:04 -07:00
Michael Bolin f367c71f6a merge commit for archive created by Sapling 2026-03-27 16:50:04 -07:00
Michael Bolin 28ac0c9171 chore: enforce argument-comment lint across all targets 2026-03-27 16:49:54 -07:00
Michael Bolin fb9bc28e9d merge commit for archive created by Sapling 2026-03-27 16:36:37 -07:00
Michael Bolin c42afa14dd wip: experiment with windows bazel v8 build 2026-03-27 16:36:26 -07:00
Michael Bolin c790a31e72 Merge 05737eb51e into sapling-pr-archive-bolinfest 2026-03-27 16:21:24 -07:00
Michael Bolin 05737eb51e chore: enforce argument-comment lint across all targets 2026-03-27 16:17:50 -07:00
Michael Bolin 2f8f47d1d6 merge commit for archive created by Sapling 2026-03-27 16:16:12 -07:00
Michael Bolin 983cfac0ac fix: stabilize SDK CI codex setup 2026-03-27 16:16:03 -07:00
Michael Bolin a2cbf3ca9c merge commit for archive created by Sapling 2026-03-27 16:14:41 -07:00
Michael Bolin a4fa041e7f chore: enforce argument-comment lint across all targets 2026-03-27 16:14:21 -07:00
Michael Bolin d3d62c9949 merge commit for archive created by Sapling 2026-03-27 16:12:35 -07:00
Michael Bolin 663b70848c fix: stabilize SDK CI codex setup 2026-03-27 16:12:14 -07:00
Michael Bolin 57be029551 Merge 475d54fdd1 into sapling-pr-archive-bolinfest 2026-03-27 16:09:09 -07:00
Michael Bolin 475d54fdd1 fix: stabilize SDK CI codex setup 2026-03-27 16:09:01 -07:00
Michael Bolin b98ab1d3e4 merge commit for archive created by Sapling 2026-03-27 16:07:46 -07:00
Michael Bolin f0b75c2560 wip: experiment with windows bazel v8 build 2026-03-27 16:07:31 -07:00
Michael Bolin 80d10cb8e0 merge commit for archive created by Sapling 2026-03-27 16:02:57 -07:00
Michael Bolin 895404b2fb wip: experiment with windows bazel v8 build 2026-03-27 16:02:45 -07:00
Drew Hintz f4f6eca871 [codex] Pin GitHub Actions workflow references (#15828)
Pin floating external GitHub Actions workflow refs to immutable SHAs.

Why are we doing this? Please see the rationale doc:
https://docs.google.com/document/d/1qOURCNx2zszQ0uWx7Fj5ERu4jpiYjxLVWBWgKa2wTsA/edit?tab=t.0

Did this break you? Please roll back and let hintz@ know
2026-03-27 23:00:05 +00:00
Michael Bolin d6eb030adf Merge 576ee3cb8b into sapling-pr-archive-bolinfest 2026-03-27 15:57:34 -07:00
Michael Bolin 576ee3cb8b fix: stabilize SDK CI codex setup 2026-03-27 15:57:30 -07:00
Eric Traut d65deec617 Remove the legacy TUI split (#15922)
This is the part 1 of 2 PRs that will delete the `tui` /
`tui_app_server` split. This part simply deletes the existing `tui`
directory and marks the `tui_app_server` feature flag as removed. I left
the `tui_app_server` feature flag in place for now so its presence
doesn't result in an error. It is simply ignored.

Part 2 will rename the `tui_app_server` directory `tui`. I did this as
two parts to reduce visible code churn.
2026-03-27 22:56:44 +00:00
Michael Bolin 13c039cff4 Merge 71a5905914 into sapling-pr-archive-bolinfest 2026-03-27 15:49:18 -07:00
Michael Bolin 71a5905914 wip: experiment with windows bazel v8 build 2026-03-27 15:49:10 -07:00
Michael Bolin b9da88bc5b merge commit for archive created by Sapling 2026-03-27 15:48:57 -07:00
Michael Bolin aaffe47501 wip: experiment with windows bazel v8 build 2026-03-27 15:48:43 -07:00
Michael Bolin 3da9d1d3a1 merge commit for archive created by Sapling 2026-03-27 15:46:56 -07:00
Michael Bolin 55fdf0a3b5 fix: stabilize SDK CI codex setup 2026-03-27 15:46:49 -07:00
iceweasel-oai 307e427a9b don't include redundant write roots in apply_patch (#16030)
apply_patch sometimes provides additional parent dir as a writable root
when it is already writable. This is mostly a no-op on Mac/Linux but
causes actual ACL churn on Windows that is best avoided. We are also
seeing some actual failures with these ACLs in the wild, which I haven't
fully tracked down, but it's safe/best to avoid doing it altogether.
2026-03-27 15:41:51 -07:00
Michael Bolin 0d2f67d4c6 merge commit for archive created by Sapling 2026-03-27 15:41:21 -07:00