# Known compat gaps between upstream Tinker and the loops-tinker shim.
#
# The gap-key grammar (see collect_gaps in tests/_api_dump.py):
#
#   Class.method.param              — param missing from shim
#   Class.method.param:type         — param annotation differs
#   Class.method.param:default      — param default differs
#   Class.method.param:kind         — param kind differs (positional-only vs keyword-only)
#   Class.method.param:shim-required — shim requires a param upstream lacks
#   Class.method:return             — return annotation differs
#   Class.field:NAME                — dataclass/pydantic field missing
#   Class.field:NAME:type           — field annotation differs
#   Class.field:NAME:default        — field default differs
#   Class.field:NAME:required       — required flag differs
#   Class.field:NAME:shim-required  — shim requires a field upstream lacks
#   Enum.member:NAME[:value]        — enum member differs
#   TypeAlias:expansion             — alias expansion differs
#   Submodule-recursed entries use their dotted key (e.g. types.Datum.field:...).
#
# The ``:shim-required`` entries are the reverse-direction ratchet — they
# flag shim-side requirements upstream callers can't satisfy, which
# would break code written against upstream's signature. Optional
# shim-only extras (``x=None``) are silent; they don't break anything.
#
# Comments and blank lines are ignored.
#
# test_upstream_compat treats these as "known", failing only on new gaps —
# the ratchet that protects against regressions. When the shim grows to
# accept one of these, remove the corresponding line. When upstream adds
# a new divergence, the test fails; fix the shim or (with reviewer
# agreement) add the line here.

Checkpoint.field:base_model:shim-required
Checkpoint.field:checkpoint_type:type
Checkpoint.field:created_at:shim-required
Checkpoint.field:expires_at
Checkpoint.field:lora_adapter_config:shim-required
Checkpoint.field:public
Checkpoint.field:run_id:shim-required
Checkpoint.field:size_bytes:default
Checkpoint.field:size_bytes:type
Checkpoint.field:time
Checkpoint.field:tinker_path
Datum.field:loss_fn_inputs:default
Datum.field:loss_fn_inputs:type
EncodedTextChunk.field:tokens:type
ForwardBackwardOutput.field:loss_fn_output_type:default
ForwardBackwardOutput.field:loss_fn_output_type:required
ForwardBackwardOutput.field:loss_fn_outputs:required
ForwardBackwardOutput.field:loss_fn_outputs:type
ForwardBackwardOutput.field:metrics:default
ForwardBackwardOutput.field:metrics:type
ModelInput.append.chunk:type
ModelInput.append:return
ModelInput.append_int:return
ModelInput.empty:return
ModelInput.field:chunks:required
ModelInput.field:chunks:type
ModelInput.from_ints:return
ModelInputChunk:expansion
SampleResponse.field:_prompt_logprobs_list
SampleResponse.field:_topk_prompt_logprobs_list
SampleResponse.field:prompt_logprobs_np
SampleResponse.field:sequences:required
SampleResponse.field:sequences:type
SampleResponse.field:topk_prompt_logprobs_np
SampledSequence.field:_logprobs_list
SampledSequence.field:_tokens_list
SampledSequence.field:logprobs_np
SampledSequence.field:stop_reason:default
SampledSequence.field:stop_reason:required
SampledSequence.field:stop_reason:type
SampledSequence.field:tokens_np
SamplingClient.__init__.base_model:shim-required
SamplingClient.__init__.deployment:shim-required
SamplingClient.__init__.holder
SamplingClient.__init__.retry_config
SamplingClient.__init__.sampling_session_id
SamplingClient.__init__.shadow
SamplingClient.__init__.subprocess_sampling
SamplingClient.__init__:return
SamplingClient.compute_logprobs:return
SamplingClient.sample.num_samples:default
SamplingClient.sample.sampling_params:default
SamplingClient.sample.sampling_params:type
SamplingClient.sample:return
SamplingClient.sample_async.num_samples:default
SamplingClient.sample_async.sampling_params:default
SamplingClient.sample_async.sampling_params:type
SamplingParams.field:stop:type
ServiceClient.__init__:return
ServiceClient.create_lora_training_client.train_attn:default
ServiceClient.create_lora_training_client.train_attn:kind
ServiceClient.create_lora_training_client.train_attn:type
ServiceClient.create_lora_training_client.train_mlp:default
ServiceClient.create_lora_training_client.train_mlp:kind
ServiceClient.create_lora_training_client.train_mlp:type
ServiceClient.create_lora_training_client.train_unembed:default
ServiceClient.create_lora_training_client.train_unembed:kind
ServiceClient.create_lora_training_client.train_unembed:type
ServiceClient.create_lora_training_client.user_metadata:kind
ServiceClient.create_lora_training_client_async.train_attn:default
ServiceClient.create_lora_training_client_async.train_attn:kind
ServiceClient.create_lora_training_client_async.train_attn:type
ServiceClient.create_lora_training_client_async.train_mlp:default
ServiceClient.create_lora_training_client_async.train_mlp:kind
ServiceClient.create_lora_training_client_async.train_mlp:type
ServiceClient.create_lora_training_client_async.train_unembed:default
ServiceClient.create_lora_training_client_async.train_unembed:kind
ServiceClient.create_lora_training_client_async.train_unembed:type
ServiceClient.create_lora_training_client_async.user_metadata:kind
ServiceClient.create_rest_client:return
ServiceClient.create_sampling_client.retry_config
ServiceClient.create_sampling_client_async.retry_config
ServiceClient.create_training_client_from_state.weights_access_token
ServiceClient.create_training_client_from_state_async.weights_access_token
ServiceClient.create_training_client_from_state_with_optimizer.weights_access_token
ServiceClient.create_training_client_from_state_with_optimizer_async.weights_access_token
ServiceClient.get_server_capabilities:return
ServiceClient.get_server_capabilities_async:return
StopReason:expansion
TensorData.__init__.data:default
TensorData.__init__.data:type
TensorData.field:_numpy
TensorData.field:data:shim-required
TensorData.field:dtype:type
TensorData.field:shape:default
TensorData.field:shape:required
TensorData.field:shape:type
TensorData.field:sparse_col_indices
TensorData.field:sparse_crow_indices
TensorData.from_torch.tensor:type
TensorData.from_torch:return
TensorData.to_torch:return
TensorData.tolist:return
TrainingClient.__init__.base_model:shim-required
TrainingClient.__init__.base_url:shim-required
TrainingClient.__init__.holder
TrainingClient.__init__.lora_rank:shim-required
TrainingClient.__init__.model_id
TrainingClient.__init__.model_seq_id
TrainingClient.__init__:return
TrainingClient.create_sampling_client.retry_config
TrainingClient.forward.loss_fn:default
TrainingClient.forward.loss_fn_config:type
TrainingClient.forward:return
TrainingClient.forward_async.loss_fn:default
TrainingClient.forward_async.loss_fn_config:type
TrainingClient.forward_async:return
TrainingClient.forward_backward.loss_fn:default
TrainingClient.forward_backward.loss_fn_config:type
TrainingClient.forward_backward:return
TrainingClient.forward_backward_async.loss_fn:default
TrainingClient.forward_backward_async.loss_fn_config:type
TrainingClient.forward_backward_async:return
TrainingClient.forward_backward_custom:return
TrainingClient.forward_backward_custom_async:return
TrainingClient.load_state.weights_access_token
TrainingClient.load_state_async.weights_access_token
TrainingClient.load_state_with_optimizer.weights_access_token
TrainingClient.load_state_with_optimizer_async.weights_access_token
TrainingClient.save_state.overwrite
TrainingClient.save_state_async.overwrite
TrainingClient.save_weights_and_get_sampling_client.name:default
TrainingClient.save_weights_and_get_sampling_client.name:type
TrainingClient.save_weights_and_get_sampling_client.retry_config
TrainingClient.save_weights_and_get_sampling_client_async.name:default
TrainingClient.save_weights_and_get_sampling_client_async.name:type
TrainingClient.save_weights_and_get_sampling_client_async.retry_config
TrainingClient.save_weights_for_sampler:return
TrainingClient.save_weights_for_sampler_async.name:default
types.Checkpoint.field:base_model:shim-required
types.Checkpoint.field:checkpoint_type:type
types.Checkpoint.field:created_at:shim-required
types.Checkpoint.field:expires_at
types.Checkpoint.field:lora_adapter_config:shim-required
types.Checkpoint.field:public
types.Checkpoint.field:run_id:shim-required
types.Checkpoint.field:size_bytes:default
types.Checkpoint.field:size_bytes:type
types.Checkpoint.field:time
types.Checkpoint.field:tinker_path
types.Datum.field:loss_fn_inputs:default
types.Datum.field:loss_fn_inputs:type
types.EncodedTextChunk.field:tokens:type
types.ForwardBackwardOutput.field:loss_fn_output_type:default
types.ForwardBackwardOutput.field:loss_fn_output_type:required
types.ForwardBackwardOutput.field:loss_fn_outputs:required
types.ForwardBackwardOutput.field:loss_fn_outputs:type
types.ForwardBackwardOutput.field:metrics:default
types.ForwardBackwardOutput.field:metrics:type
types.GetInfoResponse.field:model_data:required
types.GetInfoResponse.field:model_id
types.GetInfoResponse.field:type
types.ImageChunk.field:expected_tokens:default
types.ImageChunk.field:expected_tokens:required
types.ImageChunk.field:expected_tokens:type
types.LoadWeightsResponse.field:path
types.LoadWeightsResponse.field:type
types.ModelInput.append.chunk:type
types.ModelInput.append:return
types.ModelInput.append_int:return
types.ModelInput.empty:return
types.ModelInput.field:chunks:required
types.ModelInput.field:chunks:type
types.ModelInput.from_ints:return
types.ModelInputChunk:expansion
types.SampleResponse.field:_prompt_logprobs_list
types.SampleResponse.field:_topk_prompt_logprobs_list
types.SampleResponse.field:prompt_logprobs_np
types.SampleResponse.field:sequences:required
types.SampleResponse.field:sequences:type
types.SampleResponse.field:topk_prompt_logprobs_np
types.SampledSequence.field:_logprobs_list
types.SampledSequence.field:_tokens_list
types.SampledSequence.field:logprobs_np
types.SampledSequence.field:stop_reason:default
types.SampledSequence.field:stop_reason:required
types.SampledSequence.field:stop_reason:type
types.SampledSequence.field:tokens_np
types.SamplingParams.field:stop:type
types.SaveWeightsForSamplerResponse.field:path:default
types.SaveWeightsForSamplerResponse.field:path:required
types.SaveWeightsForSamplerResponse.field:type
types.SaveWeightsResponse.field:path:default
types.SaveWeightsResponse.field:path:required
types.SaveWeightsResponse.field:type
types.StopReason:expansion
types.SupportedModel.field:model_name:default
types.SupportedModel.field:model_name:required
types.SupportedModel.field:model_name:type
types.TensorData.__init__.data:default
types.TensorData.__init__.data:type
types.TensorData.field:_numpy
types.TensorData.field:data:shim-required
types.TensorData.field:dtype:type
types.TensorData.field:shape:default
types.TensorData.field:shape:required
types.TensorData.field:shape:type
types.TensorData.field:sparse_col_indices
types.TensorData.field:sparse_crow_indices
types.TensorData.from_torch.tensor:type
types.TensorData.from_torch:return
types.TensorData.to_torch:return
types.TensorData.tolist:return
