Skip to content

Enforce label-to-score-band consistency in fixture validation #62

Description

@knytcomics-ui

Category

Good First

Summary

Extend scripts/validate-fixtures.mjs to enforce the documented score bands for clean, suspicious, and malicious fixtures.

Current Behavior

The validator checks that scores are numeric and between 0 and 100, but does not compare a score with its destination label.

Problem

A fixture can currently be labelled clean while receiving a malicious-range score without CI detecting the contradiction.

Why This Matters

This protects evaluation correctness and downstream warning behavior.

Proposed Scope

Add explicit score-band configuration, boundary handling, and actionable validation errors naming the fixture and expected range.

Acceptance Criteria

  • Valid existing fixtures pass.
  • Mismatched label/score bands fail validation.
  • Boundary values follow CONTRIBUTING.md.
  • Error output identifies the fixture and expected range.
  • Automated tests cover valid and invalid boundaries.

Technical Considerations

Relevant files: scripts/validate-fixtures.mjs, destinations.json, scores.json, and CONTRIBUTING.md. Preserve intentional unused score gaps.

Testing Requirements

Test lower and upper boundaries, gap values, and mismatched labels.

Cross-Repository Impact

None identified; fixture values remain unchanged.

Out of Scope

Do not rescore fixtures or change extension tier thresholds.

Complexity

Localized validator change.

Impact

High — protects dataset integrity.

Suggested Labels

good first issue, area: validation, area: scoring

Metadata

Metadata

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third Campaignarea: scoringScore stubs and tier modelingarea: validationFixture schema and integrity checksenhancementNew feature or requestgood first issueGood for newcomers

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions