Read PR description, comments, commits, and changed files.
UnderstandIdentified and reviewed linked issues.
UnderstandAnalyzed PR diff and relevant source files.
UnderstandChecked changelog and documentation compliance.
VerifyPosted review comment, added label, and converted PR to draft.
EditYou are given one or more GitHub PR URLs: https://github.com/badlogic/pi-mono/pull/837
For each PR URL, do the following in order:
packages/*/CHANGELOG.md files. Report whether an entry exists. If missing, state that a changelog entry is required before merge and that you will add it if the user decides to merge. Follow the changelog format rules in AGENTS.md. Verify:
### Breaking Changes, ### Added, ### Fixed, etc.)Fixed foo ([#123](https://github.com/badlogic/pi-mono/pull/123) by [@user](https://github.com/user))### Breaking Changes, not just ### FixedOutput format per PR: PR: Changelog:
If no issues are found, say so under Bad and Ugly.
Now let me read the relevant source files to understand the context:
Let me read more of the interactive-mode.ts file to see the cycle model functionality:
Let me verify the type imports work correctly:
Now let me verify documentation requirements:
PR: https://github.com/badlogic/pi-mono/pull/837
## [Unreleased] in packages/coding-agent/CHANGELOG.md### Added for new features and ### Changed for modifications- /scoped-models: Ctrl+R resets... ([#837](https://github.com/badlogic/pi-mono/pull/837) by [@CarlosGtrz](https://github.com/CarlosGtrz))onModelToggle, onEnableAll, onClearAll, onToggleProvider, onPersist) with 2 (onChange, onPersist):level suffix format (e.g., model-id:high)pkg:coding-agent labelenabledIds = null). This changes the semantics: pressing Ctrl+A with a search filter used to add those filtered models to the selection, now it clears all filteringshowModelsSelector code that tries to preserve explicit :level suffixes from settings by comparing session scope to settings scope is fragile. If the session scope gets modified (e.g., model order changes), the suffixes are lost and rebuilt from session stateenableAll() previously returned null when all models became enabled (indicating "no filter"). Now it always returns an array. This breaks the convention that null = "all enabled without explicit filter". Code comment says "null = all enabled (no filter)" but the function no longer produces that state/scoped-models?/scoped-models:level suffixes[provider] when cycling models via Ctrl+PonChange callback instead of multiple granular callbacksscoped-models-selector.test.ts with 5 test cases:
:level suffixpackages/coding-agent/README.md or docs (the :level suffix format is already documented)/scoped-models keybindings could be documented, but they're visible in the component's footer hint textpost that on the PR, ask the contributor to adjust their pr, turn the pr into a draft pr
Done. I've:
pkg:coding-agentThe contributor has been asked to:
enableAll() function semantics issue