|
1 | 1 | # Model Release Journal |
2 | 2 |
|
3 | | -An open, community-curated journal tracking model releases across the AI landscape. |
| 3 | +An open, community-curated record of AI model releases. |
4 | 4 |
|
5 | | -## Why? |
| 5 | +- **Structured data**: one YAML file per model under [`models/`](models/). |
| 6 | +- **Validated**: every entry is checked against [`schema/model.schema.json`](schema/model.schema.json) in CI. |
| 7 | +- **Generated views**: [`INDEX.md`](INDEX.md) (all models, sortable by date or provider) and [`journal/`](journal/) (grouped by month) are rebuilt from the YAML — do not edit them by hand. |
6 | 8 |
|
7 | | -Model releases happen constantly. Pricing changes, context windows expand, new capabilities drop. This journal exists to create a durable, diffable, community-editable record. |
| 9 | +See [`INDEX.md`](INDEX.md) for the current list. |
8 | 10 |
|
9 | | -## Schema |
| 11 | +## Why |
| 12 | + |
| 13 | +Model releases happen constantly. Pricing shifts, context windows expand, naming conventions drift. Storing this as structured data — not prose — makes it diffable, queryable, and durable. |
10 | 14 |
|
11 | | -Each entry tracks: |
| 15 | +## Schema |
12 | 16 |
|
13 | | -| Field | Description | |
14 | | -|-------|-------------| |
15 | | -| `model_id` | The exact model identifier (e.g., `claude-sonnet-4-6`, `gpt-4.5`) | |
16 | | -| `provider` | The serving provider (e.g., `Anthropic`, `OpenAI`, `xAI`) | |
17 | | -| `release_date` | ISO 8601 date (`YYYY-MM-DD`) | |
18 | | -| `context_window` | Context window in tokens (e.g., `200000`) | |
19 | | -| `modalities` | Comma-separated list (e.g., `text, image, audio`) | |
20 | | -| `x_post` | Link to the official X/Twitter announcement post | |
21 | | -| `notes` | What changed, why it matters | |
| 17 | +Each `models/<model_id>.yaml` entry has these fields (see [`schema/model.schema.json`](schema/model.schema.json) for the authoritative definition): |
| 18 | + |
| 19 | +| Field | Required | Description | |
| 20 | +|-------|----------|-------------| |
| 21 | +| `model_id` | yes | Canonical slug, lowercase. Must match the filename stem. | |
| 22 | +| `display_name` | no | Human-readable name. | |
| 23 | +| `provider` | yes | Organization that serves the model. | |
| 24 | +| `release_date` | yes | ISO 8601 date of public availability. | |
| 25 | +| `context_window` | no | Input tokens (integer) or null. | |
| 26 | +| `output_tokens_max` | no | Max output tokens per response. | |
| 27 | +| `modalities` | no | Subset of `text, code, image, audio, video, pdf, embedding`. | |
| 28 | +| `status` | no | `preview`, `stable` (default), `deprecated`, `retired`. | |
| 29 | +| `supersedes` | no | `model_id` of the predecessor, if tracked here. | |
| 30 | +| `pricing` | no | `{ input_per_mtok, output_per_mtok, cached_input_per_mtok }`. | |
| 31 | +| `sources` | no | URLs of primary sources. | |
| 32 | +| `tags` | no | Free-form labels. | |
| 33 | +| `notes` | no | Short prose on what changed. | |
22 | 34 |
|
23 | 35 | ## Contributing |
24 | 36 |
|
25 | | -1. Add an entry to `journal/YYYY-MM.md` |
26 | | -2. Keep entries in reverse chronological order (newest first) |
27 | | -3. Include the X post link when available — it is the primary source |
| 37 | +See [`CONTRIBUTING.md`](CONTRIBUTING.md). Short version: |
| 38 | + |
| 39 | +```sh |
| 40 | +cp models/TEMPLATE.yaml models/<model_id>.yaml |
| 41 | +# edit fields |
| 42 | +python -m venv .venv && .venv/bin/pip install pyyaml jsonschema |
| 43 | +.venv/bin/python scripts/validate.py |
| 44 | +.venv/bin/python scripts/build.py |
| 45 | +git add models/ journal/ INDEX.md |
| 46 | +``` |
| 47 | + |
| 48 | +## Repository layout |
| 49 | + |
| 50 | +``` |
| 51 | +schema/model.schema.json # JSON Schema for entries |
| 52 | +models/<model_id>.yaml # one file per model (source of truth) |
| 53 | +models/TEMPLATE.yaml # copy this to start a new entry |
| 54 | +scripts/validate.py # schema + sanity checks (CI enforces) |
| 55 | +scripts/build.py # regenerates journal/ and INDEX.md |
| 56 | +journal/YYYY-MM.md # generated monthly view |
| 57 | +INDEX.md # generated global index |
| 58 | +.github/workflows/ # CI |
| 59 | +``` |
28 | 60 |
|
29 | 61 | ## License |
30 | 62 |
|
|
0 commit comments