CI boundary checker misses renamed codex-core dependencies in codex-tui
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 76/100
Hướng nghiên cứu
Bắt đầu với .github/scripts/verify_tui_core_boundary.py, đặc biệt là manifest_failures() và source_failures(), sau đó kiểm tra cách .github/workflows/repo-checks.yml gọi bộ kiểm tra. Bổ sung kiểm thử hồi quy cho các dependency được đổi tên trong bảng dependency thông thường và bảng dependency dành riêng cho target, đồng thời xác minh bộ kiểm tra từ chối chúng nhưng vẫn chấp nhận các manifest được phép.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
.github/scripts/verify_tui_core_boundary.py checks only whether the literal key codex-core appears in the Cargo dependency tables. Cargo permits renaming a dependency while preserving its underlying package name, so the checker accepts a direct dependency on codex-core if it is declared under an alias.
Source evidence
In manifest_failures(), the condition is if FORBIDDEN_PACKAGE in dependencies:. This tests dependency keys, not the package field of dependency specifications. source_failures() likewise looks for the literal codex_core identifier and misses imports using the alias.
Minimal reproduction (isolated Python, matching the current parser/check logic)
[dependencies]
core_alias = { package = "codex-core", path = "../core" }
With this dependency table, manifest_failures() returns []; with codex-core = { path = "../core" } it reports a failure. A Rust import use core_alias::... also avoids the hard-coded source patterns. This is a valid Cargo renamed-dependency form.
Expected
The CI check should reject any dependency whose key is codex-core or whose dependency table has package = "codex-core", including target-specific and dev/build dependencies.
Actual
The checker reports no violation for a renamed direct dependency, despite its stated purpose of enforcing the codex-tui → codex-core boundary. The check is invoked from .github/workflows/repo-checks.yml.
Suggested fix
Inspect each dependency entry's package field when the value is a table, and add a regression test for renamed direct dependencies and target-specific renamed dependencies. Consider token-aware source analysis separately to avoid false positives in comments.
Validation scope
Confirmed with an isolated Python reproduction of the exact TOML parsing and membership condition from the referenced source. No full Bazel/Cargo build was run. Reviewed source at commit e742db9f7ba98e63e502b310857d49d047888518; searched existing issues/PRs for this checker and found no exact duplicate.
- Ngôn ngữ chính
- Rust
- Star
- 131k
- Fork
- 20.7k
- Merge trung bình
- 1 phút
- Pull request đã merge (30 ngày)
- 997
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của openai/codex
-
app bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
app bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Package archive builder deletes existing file with unsupported suffix under --forceCó thể đã có người làm @akhil9tiet đã nhận 2 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
openai/codex#57727 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
readme_toc.py generates duplicate fragment links for repeated headingsCó thể đã có người làm @akhil9tiet đã nhận 2 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openai/codex#57719 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
CLI enhancement TUI
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
good first issue help wanted r-docs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
servo/rust-smallvec#824 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
superradcompany/microsandbox#1974 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
Maintainer thường phản hồi trong vòng 1 ngày
-
priority middle
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 62/100
KATO-Hiro/AtCoderClans#12940 ·
Maintainer thường phản hồi trong vòng 1 ngày