This was generated by AI during triage.
Summary
Replace byte-equality round-trip readback (verify_apply_readback, gateway.rs:1146-1303) with block-fingerprint readback for clients under Provider Injection.
Problem
Today readback re-serializes the expected config and byte-compares against the whole file. Under coexistence semantics the user may add/edit their own providers at any time — any such edit currently reads as drift. Byte-compare is fundamentally incompatible with Provider Injection.
Design (decided)
- Readback checks only the Injected Block: presence, fingerprint match (endpoint, protocol, projected model set, credential reference — never the credential value).
- Foreign content is never validated and never reported as drift.
- The client's global default-model key (e.g. DSH
agent-default-model) is read and surfaced as informational state ("active / pointing elsewhere"), never as an error — injection never owns it.
- Concurrent-edit safety applies only to the injected block and the single credential key; writes remain backup + atomic.
Acceptance criteria
Related
Summary
Replace byte-equality round-trip readback (
verify_apply_readback,gateway.rs:1146-1303) with block-fingerprint readback for clients under Provider Injection.Problem
Today readback re-serializes the expected config and byte-compares against the whole file. Under coexistence semantics the user may add/edit their own providers at any time — any such edit currently reads as drift. Byte-compare is fundamentally incompatible with Provider Injection.
Design (decided)
agent-default-model) is read and surfaced as informational state ("active / pointing elsewhere"), never as an error — injection never owns it.Acceptance criteria
Related