5 Commits
Author SHA1 Message Date
zeekay bec4802870 fix(ci): add missing asciicheck.py and readme_toc.py scripts
- asciicheck.py validates README contains only safe chars (ASCII + emoji)
- readme_toc.py validates ToC links match actual headings
- Remove codex-cli/README.md checks (file doesn't exist in our fork)
2026-03-11 20:33:58 -07:00
James Peter e0277c46bd chore(repo,tui): remove labels/scripts; update TUI sources
- Remove obsolete GitHub label templates and demo assets
- Remove unused helper scripts under `scripts/`
- Update Rust TUI sources (`codex-rs/tui/src/*`)

Staged summary:

 .github/codex/labels/codex-attempt.md     |   9 --
 .github/codex/labels/codex-review.md      |   7 --
 .github/codex/labels/codex-rust-review.md | 139 ------------------------------
 .github/codex/labels/codex-triage.md      |   7 --
 .github/demo.gif                          | Bin 19750111 -> 0 bytes
 .github/pull_request_template.md          |   6 --
 codex-rs/tui/src/app.rs                   |   7 ++
 codex-rs/tui/src/app_event.rs             |   4 +
 codex-rs/tui/src/bottom_pane/mod.rs       |  52 ++++++-----
 codex-rs/tui/src/chatwidget.rs            |  48 ++++++++++-
 codex-rs/tui/src/history_cell.rs          |  26 ++++--
 codex-rs/tui/src/user_approval_widget.rs  |  71 ++++-----------
 scripts/asciicheck.py                     | 127 ---------------------------
 scripts/pr-cleanup.sh                     | 131 ----------------------------
 scripts/publish_to_npm.py                 | 118 -------------------------
 scripts/readme_toc.py                     | 119 -------------------------
 16 files changed, 123 insertions(+), 748 deletions(-)
2025-09-08 22:15:28 +10:00
James Peter cffa07042f chore: restore files removed unintentionally in previous commit
Re-add .github/codex labels, .vscode config, and root scripts that were dropped while updating upstream-merge workflow. Only intended change is the PR zero-diff guard.
2025-09-08 09:02:26 +10:00
James Peter 5b49e3bda8 ci(upstream-merge): skip PR on zero diff; close existing no-op PRs
- Guard PR step when upstream merge is a true no-op (no file deltas vs base).
- Add workflow-level 'if' on PR step to honor earlier skip short-circuit.
- Leaves agent + policy steps unchanged; avoids empty PRs like #83.
2025-09-08 09:01:51 +10:00
Michael BolinandGitHub 79edf92b1a Enforce ASCII in README.md (#513)
This all started because I was going to write a script to autogenerate
the Table of Contents in the root `README.md`, but I noticed that the
`href` for the "Why Codex?" heading was `#whycodex` instead of
`#why-codex`. This piqued my curiosity and it turned out that the space
in "Why Codex?" was not an ASCII space but **U+00A0**, a non-breaking
space, and so GitHub ignored it when generating the `href` for the
heading.

This also meant that when I did a text search for `why codex` in the
`README.md` in VS Code, the "Why Codex" heading did not match because of
the presence of **U+00A0**.

In short, these types of Unicode characters seem like a hazard, so I
decided to introduce this script to flag them, and if desired, to
replace them with "good enough" ASCII equivalents. For now, this only
applies to the root `README.md` file, but I think we should ultimately
apply this across our source code, as well, as we seem to have quite a
lot of non-ASCII Unicode and it's probably going to cause `rg` to miss
things.

Contributions of this PR:

* `./scripts/asciicheck.py`, which takes a list of filepaths and returns
non-zero if any of them contain non-ASCII characters. (Currently, there
is one exception for ✨ aka **U+2728**, though I would like to default to
an empty allowlist and then require all exceptions to be specified as
flags.)
* A `--fix` option that will attempt to rewrite files with violations
using a equivalents from a hardcoded substitution list.
* An update to `ci.yml` to verify `./scripts/asciicheck.py README.md`
succeeds.
* A cleanup of `README.md` using the `--fix` option as well as some
editorial decisions on my part.
* I tried to update the `href`s in the Table of Contents to reflect the
changes in the heading titles. (TIL that if a heading has a character
like `&` surrounded by spaces, it becomes `--` in the generated `href`.)
2025-04-22 10:07:40 -04:00