HydroRoll-Team / HydroRoll-Team/OneRoll
Implement v2 keep, filter, sort, count, and unique option semantics
- Dominant language
- Python
- Stars
- 3
- Forks
- 1
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 2
Description
## Parent
- #7
## What to build
Implement the accepted non-random selection/query pipeline on the shared typed Value and RFC-0003 trace graph.
## Frozen contract
- `kN` / `klN`: stable keep-high / keep-low.
- `dN` / `dlN`: stable drop-high / drop-low.
- `fV`: retain items matching an each-scope Validator.
- `s` / `sl`: stable descending / ascending sort.
- `cV`: return Scalar count while retaining matching source-node provenance.
- Postfix `u`: retain first occurrences without refill.
- Counts are positive and bounded; wrong kinds and oversized keep/drop requests fail before evaluation.
## Acceptance criteria
- [ ] Every option matches RFC-0001 case IDs and RFC-0003 Value/Trace shapes.
- [ ] Filter and count use the shared Validator evaluator.
- [ ] Zero, oversized, wrong-kind, and incompatible parameters return spanned validation errors.
- [ ] Options execute left to right; selected and discarded RollNodes remain reachable.
- [ ] V1 `kh`, `kl`, `dh`, `dl`, and ascending `s` have executable migration cases.
- [ ] Rust, installed Python, CLI, and documentation agree for representative compositions.
## Blocked by
- #7
- #21
- #39
- #41
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading RFC-0001 and RFC-0003, then inspect the work and dependencies in issues #7, #21, #39, and #41. Use the frozen contract and acceptance criteria as the completion checklist, including representative Rust, installed Python, CLI, and documentation compositions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- cli, compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100