Allow discovery refresh to adopt redundant model names #35
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/nexus!35
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/pi-provider-redundant-names"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This lets
discover-refreshadopt and remove a modelnameonly when it exactly repeats that model'sid. Custom names and every unrelated field still fail before bearer access; HTTP, credentials, transactions, removals, and manualaddare unchanged. The 336-assertion synthetic suite and full provisioning check cover normalization and the refusal boundary. If this behaves incorrectly, revert this commit; any private profiles change can be restored from its prior commit.Closes #34.
Strategy plan and reviews: allod/strategy#42.
Risk
Residual risk is R3 because this relaxes validation immediately before authenticated discovery. The accepted predicate is exact across every model, and command-level fixtures prove custom names, non-string names, ordinary unsupported fields, and an empty-string field key all fail without Age or HTTP access.
Validation
bash -n scripts/pi-provider tests/pi-provider.shnix shell nixpkgs#shellcheck -c shellcheck -x --source-path=SCRIPTDIR scripts/pi-provider tests/pi-provider.shbash tests/pi-provider.sh— 336 assertionsnix build .#checks.x86_64-linux.provisioning-contractgpt-5.5: one unsupported-empty-key blocker and one missing non-string witness found and fixedgpt-5.6-terra: no remaining findingsAll authenticated-discovery tests use generated local HTTP and Age fixtures. No private provider, inference, deployment, rebuild, or provider-side mutation was performed.