Skip to content

docs: add mega-evm review checks to REVIEW.md#352

Open
vincent-k2026 wants to merge 1 commit into
mainfrom
krabat/docs/review-guidelines
Open

docs: add mega-evm review checks to REVIEW.md#352
vincent-k2026 wants to merge 1 commit into
mainfrom
krabat/docs/review-guidelines

Conversation

@vincent-k2026

Copy link
Copy Markdown
Contributor

Supplements the baseline rubric with mega-evm-specific checks it doesn't cover:

  • Release-blocking dependencies (cargo publish -p <crate> --locked must resolve at release time).
  • Benchmark methodology (comparable hardforks on both arms, even round counts, quantitative adjudication).
  • Storage-layout parity test against the Solidity layout so a field reorder fails a test.

Additive only — no existing rules changed.

@github-actions

Copy link
Copy Markdown

🧬 Mutation testing

No results at target/mutants/mutants.out — nothing was mutated (e.g. no mutatable changes).

@github-actions

Copy link
Copy Markdown

🧬 Mutation testing — ✅ PASS

Nothing to test — no mutants were generated on the changed lines.

@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: ed86042417

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread REVIEW.md
- `no_std` compatibility must be maintained in the `mega-evm` crate — no direct `std::` usage.
Follow the existing pattern: `#[cfg(not(feature = "std"))] use alloc as std;`.
- New workspace dependencies should use `default-features = false` — features are opted-in explicitly.
- **Release-blocking dependencies.** A crate that gets published must not depend on an unpublished crate; `cargo publish -p <crate> --locked` has to resolve at release time. Flag a new dependency that would break the next release's resolution.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Split the dependency guideline into sentence lines

This added Markdown bullet puts multiple sentences on the same physical line, so it violates the repository’s Markdown convention and makes future edits inconsistent with the surrounding documentation style; split the bold label and each following sentence onto separate lines.

AGENTS.md reference: AGENTS.md:L347-L348

Useful? React with 👍 / 👎.

Comment thread REVIEW.md
Comment on lines +48 to +49
- **Benchmark methodology.** A perf-comparison PR must pin comparable hardforks on both arms (a hard-coded `OpSpecId` that ignores the enum default silently benches the wrong fork), use an even round count (odd defeats A/B alternation), and adjudicate quantitatively. Don't drop a `saturating_sub`/guard "for speed" without a measured, attributable gain.
- **Storage-layout parity.** Where Rust mirrors a Solidity storage layout, add a parity test against that layout so a field reordering fails a test instead of drifting silently into a consensus bug.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Split the added test bullets into sentence lines

These added Markdown bullets also keep the bold label and following prose on the same line, with the benchmark bullet packing several sentences together; please wrap each sentence onto its own line to satisfy the repo’s documentation convention.

AGENTS.md reference: AGENTS.md:L347-L348

Useful? React with 👍 / 👎.

@vincent-k2026 vincent-k2026 added spec:unchanged No change to any `mega-evm`'s behavior comp:doc Changes in the documentation api:unchanged No change to the public interface or API labels Jul 22, 2026

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ 1 finding

  • Summary: Doc-only PR adding three review-guidance bullets to REVIEW.md. Content matches the PR description and no existing rule is altered.
  • Inline comments: 2 minor stylistic findings on the sentence-per-line convention.
  • Body-only items: none.

Pre-mortem: no verifiable high-impact failure path found.

Still open from earlier reviews: none.

Comment thread REVIEW.md
- `no_std` compatibility must be maintained in the `mega-evm` crate — no direct `std::` usage.
Follow the existing pattern: `#[cfg(not(feature = "std"))] use alloc as std;`.
- New workspace dependencies should use `default-features = false` — features are opted-in explicitly.
- **Release-blocking dependencies.** A crate that gets published must not depend on an unpublished crate; `cargo publish -p <crate> --locked` has to resolve at release time. Flag a new dependency that would break the next release's resolution.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[Minor] These new bullets pack the bold header and multiple sentences on one line, breaking the CLAUDE.md convention (One sentence, one line) and the pattern already used by existing REVIEW.md entries (see lines 14-16, 25-27, 44-47): bold header on its own line, then each subsequent sentence on its own indented continuation line.

Comment thread REVIEW.md
Their comments — especially the `file:line:col` mutation-location references — must be kept up to date when the referenced source moves.
Flag any PR that shifts lines in a mutated source file but leaves a now-stale location reference (or an orphaned/renamed test) in `tests/mutation/`; a reference that no longer points at its mutant defeats the purpose of the linkage.
These tests should not be hand-edited otherwise — see `crates/mega-evm/tests/mutation/main.rs`.
- **Benchmark methodology.** A perf-comparison PR must pin comparable hardforks on both arms (a hard-coded `OpSpecId` that ignores the enum default silently benches the wrong fork), use an even round count (odd defeats A/B alternation), and adjudicate quantitatively. Don't drop a `saturating_sub`/guard "for speed" without a measured, attributable gain.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

[Minor] Same convention issue as line 37: multiple sentences on one line. Split the bold header and each sentence onto its own line.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api:unchanged No change to the public interface or API comp:doc Changes in the documentation spec:unchanged No change to any `mega-evm`'s behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant