Repository navigation
docs: add CODEOWNERS and Developer/MAINTAINING.md (Discussion 208, S2) - #268
Conversation
Records the maintainer process agreed in Discussion 208: the peer rule, what the develop/main rulesets enforce, the reviewer pool and recusal (A1), review depth and CI-as-evidence (A2), red-develop handling (A3), CI backbone (A4), issue/task approval and closure, and what stays with the admin. CODEOWNERS only requests reviewers; code-owner review is not required by the ruleset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Santiagocetran
left a comment
There was a problem hiding this comment.
Thanks for putting this together! I checked CODEOWNERS routing, documentation links, and green CI at d7ec370.
One fix and one clarification in Developer/MAINTAINING.md before merging:
- Line 166: The original PR author can’t give final approval after a reviewer adds substantial fixes. Could we require an eligible reviewer who is neither the PR author nor a contributor to those fixes? That would keep this consistent with the no-self-approval rule.
- Line 64: Is Abraham’s sign-off intended for every mechanism-changing PR? Section 5.1 allows Umer or Abraham to sign off on mechanism-design issues, while the agreed queue specifically requires Abraham for PR #236. I understand issue approval and PR approval may have different requirements; could we make that distinction explicit if it’s intentional?
The rest looks consistent with the rollout, including skill-based escalation, the two-working-day response window, and using CI evidence versus local testing. Thanks again for documenting the process; this should make it much easier for us to follow.
…ix contributors; clarify mechanism sign-off (PR 268 review) - No. 7: after a reviewer pushes substantial fixes, the final approval comes from an eligible reviewer who is neither the PR author nor a contributor to those fixes. - No. 4.2 / No. 5.1: mechanism-design issues and mechanism-changing PRs need @umeradl's approval on GitHub. Abraham may not reply on GitHub; off-GitHub outcomes are summarised in a comment cc'ing @abrahamnash and @umeradl. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks @Santiagocetran, both points are addressed in 04963c9 (previous: d7ec370):
The second sign-off on |
…anism PRs umeradl approving a umermjd11 PR would be self-approval (No. 1), so for Umer's own mechanism PRs the sign-off comes from @abrahamnash, on or off GitHub, recorded in a PR comment. Peer approval is still required. Also move the "Mechanism sign-off" subsection to the end of No. 4.2 so the "What counts as evidence" paragraph stays under review depth. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Follow-up in 20a52a9 (previous: 04963c9): |
Santiagocetran
left a comment
There was a problem hiding this comment.
Final review at 20a52a9: both points from my previous review are addressed.
- Final approval after substantial reviewer fixes now requires an eligible reviewer who is neither the PR author nor a contributor to those fixes.
- Mechanism sign-off is explicit and consistent across the review-depth and issue-approval sections, including Abraham's sign-off for Umer's own mechanism PRs and recording off-GitHub sign-offs while retaining peer approval.
I rechecked CODEOWNERS routing and the documentation links, including the Developer/ links outside the Docs CI job's scope. The branch is current with develop and mergeable. Solidity, Python, Docs, and CI OK all passed for this revision: https://github.com/InfiniteZeroFoundation/DevNet/actions/runs/39645242917
No remaining findings or blockers. Approved; ready to merge.
|
Verification record for PR #268 at Claimed: The requested correction to final approval after substantial reviewer fixes is addressed. Verified: Section 7 now requires an eligible reviewer who is neither the PR author nor anyone who contributed to those fixes. The original author is no longer offered as a final approver. Claimed: Mechanism sign-off requirements are explicit and consistent. Verified: Sections 4.2 and 5.1 refer to the same mechanism sign-off policy. It requires Umer's GitHub approval for mechanism work and explicitly handles Umer's own mechanism PRs through Abraham's sign-off, recorded in a PR comment if given off GitHub, while retaining independent peer approval. The separate second sign-off for Claimed: CODEOWNERS routes review requests by area without making code-owner approval a merge requirement. Verified: Checked the last-matching entries for contracts, Python/tests/services/CI, documentation, the maintainer guide, CODEOWNERS itself, Claude tooling, and the fallback. The routing matches the PR description. The active develop ruleset requires one approval, last-push approval, dismissal of stale approvals, an up-to-date branch, and CI OK; it does not require code-owner review. CODEOWNERS configures requests, not reviewer availability or approval eligibility. Claimed: Documentation links are valid and CI passes. Verified: All 16 relative links in the new maintainer guide resolve, including heading anchors; both newly added MAINTAINING.md references resolve. These were checked separately because the Docs job runs its link checker only over Claimed: The PR can merge as-is against current develop. Verified: The four-file diff is +219/-0. Verification limits: No live-network or deployment verification applies to this docs/config-only change. The author's CODEOWNERS-errors API result and the original Discussion agreement were not independently re-fetched during this final pass; the final pass checked the previously requested fixes, full file diff, routing, links, active rulesets, and CI evidence. No remaining findings or requested changes. The approval at this revision stands. The per-file merge proposal follows; the actual merge and post-merge outcome remain for the merger. |
|
Merge proposal for PR #268 at Compared with current
|
| Field | Value |
|---|---|
| Change | New |
| Lines | +37/-0 |
| Diff | Adds the fallback followed by area-specific owners and explicit overrides for process/tooling files. |
| Functionality — how & why | How: GitHub uses the last matching pattern to request area reviewers; the active ruleset keeps code-owner approval optional. Why: Routes work to suitable reviewers while the independent peer-approval rule remains the merge gate. |
| Diff vs current develop | The change above applies directly to current develop; no additional reconciliation. |
| Recommended merge proposal | Merge as-is using GitHub's Create a merge commit. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local/GitHub conflict | Local patch applicability check: clean; GitHub: no conflict. A local merge was not performed. |
Developer/MAINTAINING.md
| Field | Value |
|---|---|
| Change | New |
| Lines | +179/-0 |
| Diff | Documents peer review, enforced rules, reviewer routing/escalation, evidence, review records, merge paths, issue/task closure, and tooling limits; includes both requested fixes. |
| Functionality — how & why | How: Provides the human process alongside GitHub enforcement, including independent final approval and explicit mechanism sign-off. Why: Makes reviewer and merger responsibilities explicit and prevents self-approval. |
| Diff vs current develop | The change above applies directly to current develop; no additional reconciliation. |
| Recommended merge proposal | Merge as-is using GitHub's Create a merge commit. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local/GitHub conflict | Local patch applicability check: clean; GitHub: no conflict. A local merge was not performed. |
Developer/CONTRIBUTING.md
| Field | Value |
|---|---|
| Change | Modified |
| Lines | +2/-0 |
| Diff | Adds the peer-review/merge statement and a relative link to MAINTAINING.md. |
| Functionality — how & why | How: Directs contributors from the contribution guide to the maintainer process. Why: Makes the review and merge expectations discoverable before submitting work. |
| Diff vs current develop | The change above applies directly to current develop; no additional reconciliation. |
| Recommended merge proposal | Merge as-is using GitHub's Create a merge commit. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local/GitHub conflict | Local patch applicability check: clean; GitHub: no conflict. A local merge was not performed. |
Developer/README.md
| Field | Value |
|---|---|
| Change | Modified |
| Lines | +1/-0 |
| Diff | Adds MAINTAINING.md to the developer-documentation index. |
| Functionality — how & why | How: Adds a table entry linking to the new guide. Why: Makes the process discoverable from the Developer directory entry point. |
| Diff vs current develop | The change above applies directly to current develop; no additional reconciliation. |
| Recommended merge proposal | Merge as-is using GitHub's Create a merge commit. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local/GitHub conflict | Local patch applicability check: clean; GitHub: no conflict. A local merge was not performed. |
Verification: claimed/verified record, approval, and passing CI.
No further code or documentation changes are proposed. After the merge, the merger should fill in the actual merge outcome, monitor the resulting develop CI run, and post the outcome comment with the real merge SHA, any deviations, and final build/test results.
0f1b97b
into
InfiniteZeroFoundation:develop
|
@Santiagocetran thanks. You'd already merged this a few seconds before I posted, so ignore the request that was here. This is the first PR that went fully through the new process (S2 in Discussion 208). You reviewed and approved it, then merged it with a merge commit, When you get a chance, please confirm here that the next PR touching a CODEOWNERS path gets its reviewers requested automatically. |
|
Post-merge outcome: merged by @Santiagocetran through GitHub's Create a merge commit as All four files were merged as proposed, with no deviations: Post-merge CI on develop completed successfully for the merge SHA:
The non-blocking advisory lint steps still report findings (forge lint: 49; Ruff: 664); they are advisory under the current workflow and did not fail the required checks. @umeradl your merge request crossed with the merge by a few seconds; it was already completed using the requested method. Automatic CODEOWNERS reviewer requests remain pending live verification on the next newly opened PR touching a covered path; this comment does not claim that future check has happened. |
Step S2 of Discussion 208. This is the first PR under the new
developruleset: it needs approval from @robertocarlous or @Santiagocetran, and whoever approves it merges it (merge commit).What's in it
.github/CODEOWNERS(new)foundry/,hardhat/): Robbert, Similoluwa, Umer. Python, tests, example services, CI (dincli/,tests/,cache_model_0/,cid_services/,pyproject.toml,.github/): Santiago, Umer.Documentation/andDeveloper/: Santiago, Robbert. Everything else falls back to Umer. This file only requests reviewers: the ruleset doesn't require code-owner review (No. 3.3).Developer/MAINTAINING.md(new)develop/mainrulesets actually enforce; the reviewer pool and recusal (A1); review depth, with green CI as evidence and local reproduction only for gaps (A2); the 3-comment review record; merge paths and the admin bypass (No. 9.1, No. 9.5); attribution; a reddevelopafter merge (A3); reverts; labels; the CI backbone (A4); issue/task approval and closing; docs syncing; wiki; what stays with Umer (No. 6); edge cases.Developer/CONTRIBUTING.mdDeveloper/README.mdChoices that differ from the thread
foundry/(includingtest/) plushardhat/. The thread only namedfoundry/srcandfoundry/script.@umeradlis a code owner on most areas, so this account's (umermjd11) PRs also auto-requestumeradl. Under No. 9.2 that account doesn't approve them; a peer does.Review notes
codeowners/errorsAPI reports no errors for this branch.🤖 Generated with Claude Code