Repository navigation
Keep native picker IDs separate from form editor text - #1760
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
debt-src at 4c39fbf blocks on 5 lines: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
P208: keep native IDs native
6 focused Core cases passed (1.38 s); the original Toad first-click form case passed (11.36 s), using both changed source trees. No provider call or profile.
Boundary
Before:
CatalogTargetField.preparechanged nativeexample/model-oneinto the editor string"example/model-one"inside the catalog itself. Toad's sharedModelSelectionthen searched, compared current selection and ranked recents using that encoded value. Native history stores the unquoted ID.After: prepared catalogs retain their original
CatalogChoicerecords. The target field owns translation between choice identity and editor text. Finite annotation choices keep their existing serialized values. Toad's companion change reads current values and writes selected values through these hooks; no second selector, alias table, quote-stripping rule or cache.Trace and limits
ModelConfigOption/CatalogConfigOption.display_choicesand are transported byTargetField.offered/with_offered.PreparedChoicessupplies editor choices;CatalogFieldSelectionsupplies native IDs to the existingModelSelection.Conversation.on_change_modelandagent_turn_overrecordmodel.valuethroughDB.record_model_usage;ModelConfigurationSetting.recent_choicesreads those raw IDs forModelSelection.history_scopeoverride. This fixes the ID contract and current-value display; it does not claim to add command-dialog recents loading.Evidence
Native authored plans:
p208-model-choice-boundary.plan.jsonandp208-model-choice-tests.plan.jsonin/home/ts/.cache/agent-scratch/parallel-pi/; both NRA applies exited 0, with one parser and one analysis worker and only the selected files. This is an authored repair, not an automatically proved behavioral equivalence or a global scan.Core checks cover native identity, current-value decoding, editor payload round-trip to
ThreadModel, offered-choice transport and unchanged finite choices, for explicit and unconfigured current models. Toad's original form case additionally verifies current selection and first-click confirmation. The popup's actual selection callback is source-traced; it has not been exercised by a new physical UI run.The original probe and full test logs are retained beside the plans. The Core and Toad changes must ship together in one ordinary install.