• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sdougbrown / umpire / 24296873946
93%

Build:
DEFAULT BRANCH: main
Ran 12 Apr 2026 02:32AM UTC
Jobs 1
Files 38
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Apr 2026 02:31AM UTC coverage: 93.007% (+0.06%) from 92.949%
24296873946

push

github

web-flow
Add rejectFoul option to activeSchema for server-side validation (#19)

* ✅ Add rejectFoul option to activeSchema for server-side guard

Enabled fields where `fair: false` (foul values) previously passed
through activeSchema with their base schema, silently accepting
contextually invalid input. With `rejectFoul: true`, those fields
receive a `.refine(() => false)` using the field's reason as the
message, so server handlers can reject submissions that contain
values that are structurally valid but contextually wrong.

Threads the option through createZodValidation as well.

https://claude.ai/code/session_01SMMXCxD2n1tDmMrtWRuBJj

* ✅ Add rejectFoul coverage for createZodValidation and add changeset

- Extends the validation.test.ts suite with a fairWhen-based scenario
  (gas vehicle in an electric spot) that exercises the rejectFoul path
  through createZodValidation.run(), including error message propagation
- Adds .changeset/zod-reject-foul.md for a minor bump to @umpire/zod

https://claude.ai/code/session_01SMMXCxD2n1tDmMrtWRuBJj

* 🐛 Fix rejectFoul for optional foul fields; fix fairWhen predicate; add coverage

- Foul optional fields now get .optional() so omitting the field passes
  while submitting the stale value is still rejected. Previously, absent
  foul optional fields failed with a generic "Required" error from the
  base schema rather than passing (Greptile P1).
- Add test: omitting a foul optional field passes when rejectFoul is true
  (Greptile P2).
- Fix fairWhen predicate in validation test: FairPredicate signature is
  (value, values, conditions), not (values); first arg is the field's own
  value, not the full values map.

https://claude.ai/code/session_01SMMXCxD2n1tDmMrtWRuBJj

* 📄 Add Validator Integrations docs; move Zod page to correct slug

- Add docs/integrations/validators.md — general page covering the
  validation integration contract (skip disabled, required/optional,
  rejectFoul), client vs server usage, and the pattern f... (continued)

1341 of 1519 branches covered (88.28%)

Branch coverage included in aggregate %.

7 of 7 new or added lines in 2 files covered. (100.0%)

2064 of 2142 relevant lines covered (96.36%)

4105.55 hits per line

Jobs
ID Job ID Ran Files Coverage
1 24296873946.1 12 Apr 2026 02:32AM UTC 38
93.01
GitHub Action Run
Source Files on build 24296873946
  • Tree
  • List 38
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #24296873946
  • ba5419b3 on github
  • Prev Build on main (#24296840096)
  • Next Build on main (#24296979827)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc