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

valkyrjaio / sindri-java / 30420467063 / 1
100%
26.x: 100%

Build:
DEFAULT BRANCH: 26.x
Ran 29 Jul 2026 03:47AM UTC
Files 90
Run time 2s
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

29 Jul 2026 03:46AM UTC coverage: 99.956% (+0.004%) from 99.952%
30420467063.1

push

github

web-flow
[Cli] Generate the argument and option parameters a command declares (#62)

# Description

`CliRouteParameterReader` was a stub: both `updateArguments` and
`updateOptions` returned
`List.of()` unconditionally, and `CliRouteAttributeReader` never called
it — it emitted
`java.util.List.of(), java.util.List.of()` for every command's arguments
and options.

The effect is a correctness gap that only appears once the cache is
generated. A command
declaring `@ArgumentParameter` / `@OptionParameter` binds its parameters
correctly at runtime
through the framework's `AttributeRouteCollector`, but the
Sindri-generated `AppCliRoutingData`
drops every one of them. The same app therefore behaves differently
cached and uncached: required
arguments stop being required, options stop resolving, `validValues`
stop being enforced, and
defaults never apply. Per the architecture guide, cache is a cold-start
optimization and never a
correctness boundary — so this is a bug fix, not a missing feature, and
it targets `26.x`.

This implements the reader and wires it through the emitter, so the
generated data now mirrors
what reflection produces.

Both annotations are repeatable, so each is read directly and via its
generated container
annotation (`@ArgumentParameters` / `@OptionParameters`).

Verified end to end against the starter app: a controller declaring 14
argument and option
parameters previously generated 0, and now generates all 14 with their
correct modes, value
modes, short names, valid values and default values.

Sibling PRs:

- valkyrjaio/valkyrja-starter-app-java#58 — the starter-app CLI
permutation commands this
  enables (blocked on a Sindri release carrying this fix)
- valkyrjaio/valkyrja-starter-app-java#55 — the HTTP counterpart

## Types of changes

- [ ] Improvement _(non-breaking change which improves code)_
- [x] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(brea... (continued)

617 of 618 branches covered (99.84%)

Branch coverage included in aggregate %.

1679 of 1679 relevant lines covered (100.0%)

4.39 hits per line

Source Files on job 30420467063.1
  • Tree
  • List 90
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 30420467063
  • cc37bc6c on github
  • Prev Job for on 26.x (#30418777941.1)
  • Next Job for on 26.x (#30420555480.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc