Background
On May 11, I found Issue #80721 in OpenClaw project describing missing --dry-run support for config unset command. Based on that existing Issue, I submitted PR #80773 with implementation.
Timeline
| Date | Event |
|---|---|
| May 11 | Found existing Issue #80721, submitted PR #80773 based on it |
| May 11-13 | ClawSweeper conducted 8 rounds of review, all P1/P2 issues fixed, passed all audits |
| May 13 | Asked in PR if any improvements needed, expressed willingness to collaborate |
| May 13 | Gio Della-Libera (Microsoft VP) submitted PR #81497 |
| May 13 | Gio closed #81497, admitting #80773 was "more complete" |
| May 14 | Gio submitted PR #81895, re-implementing same feature, no communication |
| May 14 | ClawSweeper Bot closed #80773, reason: #81895 is maintainer-labeled PR |
| May 15 | Posted appeal comments in PR and Issue |
Technical Comparison
| Metric | PR #80773 (Independent) | PR #81895 (Maintainer) |
|---|---|---|
| Review Status | ✅ Passed all 8 rounds | ❌ Has 2 P2 defects |
| JSON Output | ✅ Correct | ❌ ClawSweeper flagged as defect |
| SecretRef Detection | ✅ Complete paths | ❌ ClawSweeper flagged as defect |
| Documentation | ✅ Complete | ❌ Missing |
| Co-author | - | ❌ Not given |
Key Fact: The two defects in #81895 were exactly what #80773 fixed in rounds 3-4.
Maintainer's Public Acknowledgment
When Gio closed his own PR #81497, he wrote:
"Closing this draft as a duplicate of #80773, which already covers config unset --dry-run more completely with docs, JSON output, behavior proof, and review history. We should let that PR be the canonical fix for #80721."
This comment is public record, visible to anyone.
Yet less than 24 hours later, the same person submitted a functionally overlapping PR #81895.
ClawSweeper's Position
In #81895 review, ClawSweeper acknowledged "overlapping implementation":
"Two narrow P2 dry-run defects remain and can be repaired mechanically if maintainers choose this PR as the canonical branch over the overlapping implementation."
When closing #80773, ClawSweeper updated:
"Close as superseded: the same config unset --dry-run work is now owned by the open maintainer-labeled PR at #81895."
Key: Any PR with maintainer label automatically becomes canonical implementation, regardless of submission order or technical quality.
Governance Opacity
According to CONTRIBUTING.md, official maintainer list has 28 people, but giodl73 (Gio Della-Libera) is not among them.
Yet PR #81895 has the maintainer label, and ClawSweeper used this as priority reason to close #80773.
| Contradiction | Source |
|---|---|
| giodl73 not in maintainer list | CONTRIBUTING.md |
| PR #81895 has maintainer label | GitHub PR labels |
| ClawSweeper used this as priority reason | ClawSweeper comment |
The maintainer label granting mechanism is opaque.
My Comments
Collaboration Inquiry (No Response)
Hi @giodl73-repo, I noticed PR #81895 also addresses #80721.
Is there anything I should improve or change in this PR (#80773)?
Happy to help if there's a way to combine efforts or if additional work is needed.
Expressing Disappointment
I'm disappointed that this PR was closed without any response to my comment
or explanation of the decision, especially after passing all ClawSweeper reviews.
Appeal to steipete
Hi @steipete, I'd like to bring your attention to this issue.
My PR #80773 passed all 8 rounds of ClawSweeper review and was explicitly
acknowledged by @giodl73-repo as "more complete" before he closed his own
draft #81497.
However, my PR was then closed by ClawSweeper Bot in favor of @giodl73-repo's
later PR #81895, which still has 2 P2 defects unresolved.
I would appreciate your review on this matter. Thank you.
Problem Summary
| Issue | Description |
|---|---|
| First come first serve | Independent contributor submitted first, passed review first |
| Technical quality | Independent implementation more complete, Maintainer version has P2 issues |
| Communication missing | Maintainer didn't respond to any comments |
| Decision opaque | Bot closed PR citing maintainer-labeled, no explanation |
| Credit missing | No co-author given to independent contributor |
Behavior Analysis
This is a classic "Not Invented Here" phenomenon, but more severe:
- Maintainer already acknowledged external contribution quality in writing, still chose to re-implement
- Entire process bypassed external contributor, no communication anywhere
- Alternative implementation still has known defects that external version already fixed
If architectural direction was the sole consideration, maintainer should have commented on external PR requesting adjustments, not overruled without communication.
Project vs Individual Behavior
OpenClaw has 2000+ contributors, overall the project accepts external contributions.
This is giodl73's individual behavior, not project policy.
| Level | Attitude |
|---|---|
| OpenClaw Project | Overall open source, accepts contributions |
| giodl73 Individual | This behavior doesn't respect contributors |
Can't deny the whole project for one person's actions. But different maintainers have different styles.
My Takeaways
Despite PR being closed, technical contribution left public record:
- Maintainer's written acknowledgment: PR #81497's close comment is objective fact visible to anyone
- Complete technical record: 8 rounds of review, all fix commits are public proof of technical capability
Also: Learn maintainer's style before submitting PR LOL
Key Lessons
1. ClawSweeper is Iterative Review
Request re-review after each fix, updates comments in-place.
2. Real Behavior Proof Format is Strict
Must use - **Key**: format, must have real terminal output.
3. CI Failure May Not Be Your Problem
Check if it involves files you modified, if not, no action needed.
4. Documentation is Equally Important
P3 level findings also need attention.
5. Maintainers May Not Follow Open Source Spirit
Even if you:
- Submitted first
- Passed review
- Expressed willingness to collaborate
Maintainer may still:
- Open their own PR
- Not communicate with you
- Close your PR directly
- Not give you co-author
This is reality. Learn and move on.
Related Links
- PR #80773(opens in a new tab) - Independent implementation (Closed)
- PR #81895(opens in a new tab) - Maintainer re-implementation
- Issue #80721(opens in a new tab) - Original Issue
Last updated: 2026-05-15