Skip to content

Replace unmaintained ecip_validator gem with local validator #552

@IstoraMandiri

Description

@IstoraMandiri

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:

  1. Does not support WIP status - Rejects ECIPs with status: WIP even 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."

  2. Is unmaintained - The upstream gem is no longer actively maintained, making it impossible to request fixes or updates.

  3. 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:

  1. Lives within this repository for full control over updates
  2. Stays synchronized with ECIP-1000 specifications
  3. Supports all valid statuses defined in ECIP-1000 including WIP
  4. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions