Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

gate() does not check draft enums, so a misspelled evidence class never gates

Open Beginner friendly
#302 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
typescript

Research direction

Start by reading the gate() boundary and the existing id validation that refuses invalid input; then locate the draft enum definitions for evidenceClass, severity, and layer. Check every closed enum field there and return InputRefusedError with the field and draft position, without echoing the value. Done means invalid draft enums are refused consistently, with tests covering the fields and error details.

Written by the indexing model from the issue text.

Description

area: engine bug security

What happens

gate() now checks ids at its boundary, but not the enum fields on each draft. A library caller that passes a draft with a misspelled evidenceClass, for example 'deterministic ' with a trailing space, gets a draft that never gates.

Why it matters

A deterministic barrier that does not gate is a false green. The command path builds drafts inside the engine, so this affects library callers, not usabl check today.

Fix direction

Check every draft enum field (evidenceClass, severity, layer, and any other closed set) at the gate boundary. Refuse an unknown value with InputRefusedError, naming the field and position without echoing the value, the same way ids are refused.

Dominant language
TypeScript
Stars
0
Forks
0
Avg merge
2h 48m
Merged PRs (30d)
8

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from usabl-dev/usabl

All issues in usabl-dev/usabl

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.