feat(job-array-one-based-index): xcecli list and control use the selection parser (task 8.2)

ID lists split only at commas outside brackets and every selection is
validated before any request (control allows identity ranges, listing
refuses them). A raw -J value with brackets is checked before the
wildcard mapping, and the search rule and * stripping apply to the
name part only (-J 'foo*[1]' lists element 1 of arrays whose name
starts with foo); values without brackets map exactly as before.
Control results print each item's own job ID when the server sends it,
so a pre-upgrade element 0 shows as <array-id>[0]. Control and list
help show <array-id>[k] and <array-id>[a-b]; list help now says -J.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-01 12:53:50 +00:00
parent bc616e8c4a
commit 58ca7abb36
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
7 changed files with 439 additions and 38 deletions

View file

@ -189,7 +189,7 @@
- _Requirements: 1.5, 5.5, 5.7, 5.8, 5.12, 5.14, 5.16_
- _Boundary: CliSel, CliSplit_
- [ ] 8.2 Use the client parser in list and control commands
- [x] 8.2 Use the client parser in list and control commands
- Split ID lists only at commas outside brackets; validate every selection before any request; control by identity allows ranges, listing does not
- Check raw `-J` values containing brackets before wildcard mapping, taking the search rule from the name part only for bracketed values
- Print control results from each result's own job ID when present, falling back to today's rendering; add the control result's job ID field to the client model