Proposal type
Other
Affected scope (files/folders/chains)
references/offers/.csv; listings/all-networks/.csv; listings/specific-networks//.csv; validation workflow
Motivation / problem statement
The same category currently has multiple incompatible header orders, and some listing files omit or reposition fields relative to their canonical offer schema. A local census of the current main branch found variants in six categories: analytics (2), apis (3), bridges (6), explorers (3), faucets (4), and oracles (3). This makes spreadsheet edits error-prone, allows positional CSV tooling to shift values silently, and repeatedly requires one-off cleanup DBIPs. Contributors and downstream consumers benefit from one machine-enforced invariant.
Detailed proposal
Proposal type: Other (schema validation)
Add a validation rule that derives the canonical header for each category from references/offers/<category>.csv, then requires every listing header to equal that ordered column set plus the listing-only chain column in one documented position. Allow an explicit per-category exception file only where a field is intentionally listing-only.
Implementation outline:
- Parse headers with a CSV parser, not string splitting.
- Compare field names, duplicates, omissions, additions, and order.
- Report the exact file and first differing index.
- Normalize existing drift category by category in small PRs before making the check blocking.
- Add fixtures for a missing field, an extra field, and an order-only mismatch.
Measured evidence from current main: 28 listing files use minority header variants across bridges (11), explorers (6), faucets (8), oracles (3), plus one order-only API outlier. The rule prevents recurrence rather than opening a separate DBIP for every category.
AI disclosure: AI assisted with the repository-wide census and drafting; all counts were computed directly from the downloaded current main branch and checked against the project style guide.
Contact (optional)
No response
Rewards address (optional)
0xc2633a3baf513319b2bc9cec7d5ac65a8103fbbe
Proposal type
Other
Affected scope (files/folders/chains)
references/offers/.csv; listings/all-networks/.csv; listings/specific-networks//.csv; validation workflow
Motivation / problem statement
The same category currently has multiple incompatible header orders, and some listing files omit or reposition fields relative to their canonical offer schema. A local census of the current main branch found variants in six categories: analytics (2), apis (3), bridges (6), explorers (3), faucets (4), and oracles (3). This makes spreadsheet edits error-prone, allows positional CSV tooling to shift values silently, and repeatedly requires one-off cleanup DBIPs. Contributors and downstream consumers benefit from one machine-enforced invariant.
Detailed proposal
Proposal type: Other (schema validation)
Add a validation rule that derives the canonical header for each category from
references/offers/<category>.csv, then requires every listing header to equal that ordered column set plus the listing-onlychaincolumn in one documented position. Allow an explicit per-category exception file only where a field is intentionally listing-only.Implementation outline:
Measured evidence from current main: 28 listing files use minority header variants across bridges (11), explorers (6), faucets (8), oracles (3), plus one order-only API outlier. The rule prevents recurrence rather than opening a separate DBIP for every category.
AI disclosure: AI assisted with the repository-wide census and drafting; all counts were computed directly from the downloaded current main branch and checked against the project style guide.
Contact (optional)
No response
Rewards address (optional)
0xc2633a3baf513319b2bc9cec7d5ac65a8103fbbe