-
Notifications
You must be signed in to change notification settings - Fork 64
Description
Summary
The external ecip_validator gem used in CI does not recognize "WIP" as a valid ECIP status, despite ECIP-1000 explicitly permitting it. This causes validation failures for legitimate work-in-progress proposals.
Problem
The CI pipeline uses an external Ruby gem (ecip_validator) to validate ECIP metadata. This gem:
-
Does not support WIP status - Rejects ECIPs with
status: WIPeven though ECIP-1000 states: "Draft ECIPs which may be in a very early stage may be entered as WIP ECIPs, which means they are a work in progress." -
Is unmaintained - The upstream gem is no longer actively maintained, making it impossible to request fixes or updates.
-
Drifts from ECIP standards - As ECIP-1000 evolves, the external validator falls out of sync with the actual rules.
Current Workaround
Prefixing Draft ECIPs with WIP -- see https://ecips.ethereumclassic.org/ECIPs/ecip-1107
Proposed Fix
Replace the external ecip_validator gem with a locally-maintained validation system that:
- Lives within this repository for full control over updates
- Stays synchronized with ECIP-1000 specifications
- Supports all valid statuses defined in ECIP-1000 including WIP
- Can be extended as new requirements emerge
Rationale
- Self-sufficiency: The ECIPs repository should not depend on external unmaintained tooling for core validation
- Consistency: Validation rules should match the actual ECIP-1000 specification
- Maintainability: Local tooling can be updated alongside specification changes
- Reliability: Eliminates CI failures caused by validator/spec drift
References
- ECIP-1000 - ECIP Process specification (defines WIP as valid status)
- Create ECIP-1120: Basefee Market with Miner Rewards #547
- Fix Olympia ECIPs categorization #550