# Getting started

> Create an account, publish a decision model, and understand what the registry stores.

Source: https://systemonemodels.tech/docs/getting-started

## What this registry is

System One is a registry and developer platform for **decision models** — models
that return a typed decision with calibrated confidence instead of generated
text.

A repository holds the manifest, the model card, the evaluation numbers, the
lineage — and the files. Weights are uploaded straight to storage, versioned,
and stored once by content, so variants that share a tokenizer do not pay for it
twice. Files can also stay where they already are: a version can reference
Hugging Face, GitHub, or any URL instead. Downloads come from the edge either
way, and never pass through the application.

## Create an account

1. [Sign up](https://systemonemodels.tech/signup). Your username becomes your namespace, so your models live
   at `username/model-name`. It cannot be changed later.
2. Verify your email. A six-digit code arrives immediately.
3. Publishing is gated on verification. Browsing is not.

Verification exists for a specific reason: without it, anyone could create an
account on an address they do not own. An unverified account cannot publish
anything, and the address owner gets an email telling them it happened.

## Publish from your terminal

The quickest way, and the only one you need for a folder full of models:

```bash
pip install systemonemodels
systemone login
systemone push
```

`push` finds the models in the folder, asks which to publish, and writes the
manifest, the model card and the evaluation for you from the files it finds.
See [SDK and CLI](https://systemonemodels.tech/docs/sdk).

## Or from the browser

You need three things:

- A **namespace** — your username, or an organization you own.
- A **name** — lowercase, letters, digits, `.`, `_` and `-`.
- A **manifest** — [`systemone.yaml`](https://systemonemodels.tech/docs/manifest), validated before it saves.

Go to [New model](https://systemonemodels.tech/new). The editor validates the manifest as you type and
refuses a manifest that disagrees with the URL it is being published to.

## Publish a version

Versions are immutable. `0.1.0` always resolves to the manifest and artifacts it
was published with, so a pull that worked last month still works.

Each version carries artifact references. Artifacts declared in the manifest are
included automatically; you can add more from the form.

## Record lineage

If your model is a fine-tune, set `base_model` in the manifest:

```yaml
base_model: acme/laya-base
```

The registry links your model to its parent and lists it on the parent's page.
If the base model is not on the registry yet, the reference stays in the
manifest and resolves when that repository appears. Until then, say where it
lives and the page links there instead:

```yaml
base_model: aac6fef/laya-multilingual-mlx
base_model_source: huggingface
```

`systemone push` sets both for you when the model's files record a Hugging Face
base, as Laya Studio's do.

## Next

- [The systemone.yaml specification](https://systemonemodels.tech/docs/manifest)
- [SDK and CLI](https://systemonemodels.tech/docs/sdk)
- [HTTP API](https://systemonemodels.tech/docs/api)
- [Fine-tuning with Laya Studio](https://systemonemodels.tech/docs/fine-tuning)
