You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Arrays (e.g. `modalities.input`) and primitives are **replaced** wholesale by the child
49
+
- Any field the child omits is inherited verbatim from the base
50
+
-`omit` runs **after** the merge and deletes each dot-path from the result (used when the child needs to *remove* something the base defines, e.g. a provider-specific experimental mode). Every listed path must exist in the merged model, else an error is thrown. Ancestor tables that become empty as a result are also pruned, so `omit = ["experimental.modes.fast"]` yields no `experimental` key in the final JSON when `fast` was the only mode.
51
+
- Chains are allowed (A extends B extends C); cycles throw
52
+
- The base model must exist; `[extends.from]` pointing at a missing provider/model is an error
53
+
- The `extends` table is stripped before schema validation, so the merged result must still satisfy the strict `Model` schema
0 commit comments