---
name: undominated-offer-join
description: Refuse a price that does not name both the model and the seller it came from.
license: MIT
metadata:
  author: Undominated.ai
  version: "1.0.0"
---

# Offer join

Use when a price is about to be published without both identities.

1. A price belongs to one model and one seller.
2. A missing seller is not "the provider".
3. A missing model is not the seller's catalogue.
4. Do not invent either identity.

## Run the local check

```sh
python3 scripts/check.py examples/synthetic.json
python3 scripts/check.py /absolute/path/to/your-input.json
```

The bundled example is **synthetic**, not a market measurement. The script reads one local JSON file, prints JSON, and writes nothing. Python 3.10+; no dependencies.

Exit codes: `0` the supplied claim matches the rule; `1` review required; `2` invalid input. A pass is not publication permission.

## Input contract

`model` and `seller` are non-empty text or null. `price` is a decimal string or null.

## Deliverable and limits

Return whether the price has both identities.

The user retains control over external actions. This skill does not install dependencies, spend API credits, modify production settings, or publish anything.
