Skip to content

fix: simplify external package check to version+checksum only - #174

Merged
bash0816 merged 2 commits into
mainfrom
fix/codex-0149-simplify-external-check
Aug 23, 2026
Merged

fix: simplify external package check to version+checksum only#174
bash0816 merged 2 commits into
mainfrom
fix/codex-0149-simplify-external-check

Conversation

@bash0816

Copy link
Copy Markdown
Owner

Follow-up to PR#173. The dependency-edge comparison for external packages caused a false-positive CI failure (hyper-util losing system-configuration/windows-registry edges due to the reqwest feature change, verified by Claude Opus 5 to be a feature-graph effect unrelated to Android target pruning). Simplifies external package verification to version+checksum only; rama-* keeps an explicit full-set assertion as a belt-and-suspenders check; local workspace member rules are unchanged.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7ee928ea20

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +79 to +82
for k, before_by_version in before_ext.items():
after_by_version = after_ext.get(k, {})
for version, checksum in before_by_version.items():
if version in after_by_version and after_by_version[version] != checksum:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reject replacements of external package identities

When the unlocked cargo fetch in .github/workflows/external-build-android-aarch64.yml replaces any non-rama registry version or Git revision, the old (name, source, version) is absent from after_by_version and the newly introduced identity is never examined, so this loop returns success. For example, replacing serde 1.0.1 with 1.0.2—or changing a Git source hash—passes even though the checksum/source and resolved code changed, allowing the Android artifact to silently ship an unintended dependency re-resolution; additions/removals should be validated or narrowly allowlisted rather than ignored whenever the identities do not intersect.

Useful? React with 👍 / 👎.

@bash0816
bash0816 merged commit a4e490c into main Aug 23, 2026
3 checks passed
@bash0816
bash0816 deleted the fix/codex-0149-simplify-external-check branch August 23, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant