mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
Internal builds before the versioned layout wrote .credentials.yaml as a flat mapping; refusing it outright would strand every key stored through the Models page and fail the next model request. Boot now recognizes exactly that layout - addressable names over non-empty string scalars, no directives - and rewrites it under the writer lock, nesting the original lines verbatim under refs: with the values byte for byte unchanged. Everything the recognizer declines keeps the loud by-name refusal, a live reload still never migrates, and the parser continues to read exactly one layout. The migration step retires with the pre-release stance at the first tagged release.