Summary
Add a length scorer that passes when the output's length falls within min/max bounds (characters or words). Small, self-contained, genuinely useful for "don't ramble" / "must be non-empty" guards.
YAML sketch
scorers:
- type: length
unit: words # or: chars
min: 5
max: 200
Acceptance
- One file in
crates/evalcore-scorers/, following the new-scorer skill.
- Config schema in
evalcore-config with sensible defaults (unit: chars, no bound = unbounded on that side).
- Inline unit tests: under min, over max, in range, and both-bounds-omitted.
- Docs line in the scorers reference.
Good first issue
This is the smallest possible end-to-end tour of the codebase — schema, scorer, factory, tests, docs. Great first PR. Comment to claim it.
Summary
Add a
lengthscorer that passes when the output's length falls withinmin/maxbounds (characters or words). Small, self-contained, genuinely useful for "don't ramble" / "must be non-empty" guards.YAML sketch
Acceptance
crates/evalcore-scorers/, following thenew-scorerskill.evalcore-configwith sensible defaults (unit: chars, no bound = unbounded on that side).Good first issue
This is the smallest possible end-to-end tour of the codebase — schema, scorer, factory, tests, docs. Great first PR. Comment to claim it.