# logOS > where minds meet. soma is one mac app for training language models continuously, on your own mac or in the cloud, with swappable runtimes. logOS is where soma models live and are shared. the current runtime is **rma v1** (residual metabolic aperture, tokenizer soma-8k-v1); posthumous runtimes (v14, v12.3) stay downloadable and inspectable. every model on logOS has a runtime, a lineage and a history of revisions: each save continues the last (the head moves forward only from itself), and the head plus the two revisions before it are kept, with any pinned ones. models are private, unlisted or public. the full machine-readable api reference is [/api/manifest.json](https://logossoma.com/api/manifest.json). ## the site as markdown the site's copy lives in markdown and is served as-is, so crawlers and models read what people read. - [/api/about.md](https://logossoma.com/api/about.md): what soma and logOS are, how rma learns, cloud training - [/api/downloads.md](https://logossoma.com/api/downloads.md): the app, how to install it, and every runtime - [/api/content/app.md](https://logossoma.com/api/content/app.md): what is in the app - [/api/specs.md](https://logossoma.com/api/specs.md): the current runtime's full specification - [/api/runtimes/{id}/spec.md](https://logossoma.com/api/runtimes/rma-v1/spec.md): any runtime's specification (`rma-v1`, `v14`, `v12.3`, or `current`) - [/api/blog.html](https://logossoma.com/api/blog.html): notes, in plain html ## pages - [about](https://logossoma.com/about) · [downloads](https://logossoma.com/downloads) · [runtimes](https://logossoma.com/runtimes/current) - [models](https://logossoma.com/checkpoints): browse and search public models - [paper](https://logossoma.com/paper): "Time Is All You Need: Temporal Translation and the Credit Assignment Problem", james blight, AAAI 2026 - [chat](https://logossoma.com/chat): talk to a soma running on someone's own hardware, through a shared pass prompt - [developments](https://logossoma.com/developments): research notes - [info](https://logossoma.com/info): contact, licence, and these links ## downloads (no auth) - [/api/download/app/mac](https://logossoma.com/api/download/app/mac): soma.dmg, the mac app (apple silicon, macos 13+). it carries its own python and every runtime. - [/api/runtimes](https://logossoma.com/api/runtimes): every runtime, the current one first, each with immutable, sha256-verified files - `/api/runtimes/{id}/releases/{version}/files/{name}`: one runtime file. a runtime bundle holds `runtime.json`, `runtime.lock.json` and the locked source; check every file against the lock - [/api/download/script/soma.zip](https://logossoma.com/api/download/script/soma.zip): the current runtime's bundle - [/api/download/paper.pdf](https://logossoma.com/api/download/paper.pdf): the paper - [/sitemap.xml](https://logossoma.com/sitemap.xml) ## api - [/api/checkpoints](https://logossoma.com/api/checkpoints): list and search public models. query: search, tags, n_bands, hidden_dim, base, verified_only, min_bytes, max_bytes, sort (downloads|stars|newest|trained), limit, offset - `/api/checkpoints/{id}`: one model; `/api/checkpoints/{id}/revisions`: its revision chain - [/api/activity](https://logossoma.com/api/activity) · [/api/creators](https://logossoma.com/api/creators) · [/api/tags](https://logossoma.com/api/tags) · [/api/site-info](https://logossoma.com/api/site-info) ### download a model (2 calls) 1. `POST /api/checkpoints/{id}/download` returns `{ download_url, file_size_bytes }`. rate-limited 10/min/ip. 2. `GET `: the .pt file. load it with its runtime (`/api/runtimes/{runtime}`). ### upload a model (auth, 4 calls) 1. `POST /api/checkpoints/upload/presign` with `{ filename, file_size }` returns `{ upload_id, presigned_url, r2_key }` 2. `PUT `: raw .pt bytes, `Content-Type: application/octet-stream`, straight to storage (up to 16 GB) 3. `POST /api/checkpoints/upload/confirm` with `{ upload_id, r2_key, filename }` returns the parsed metadata 4. `POST /api/checkpoints` with that metadata (and `visibility`: private, unlisted or public) to register a later save of the same model is a revision: upload it the same way, then `POST /api/checkpoints/{id}/revisions` with `{ r2_key, meta_r2_key, sha256 }`. it must continue the head (its parent_revision_id is the head), or it is refused; fork it as a new model instead. ### remote chat (no auth, pass-prompt addressed) - `POST /api/chat/log-os/prompt` with `{ pass_prompt, prompt }`: the browser sends a prompt - `GET /api/chat/log-os/poll?pass_prompt=<>`: either side polls - `POST /api/chat/log-os/response` with `{ pass_prompt, response }`: the bridge answers sessions are keyed by sha256(pass_prompt); the pass prompt itself is never stored. they expire an hour after the last activity. ## auth - people sign in with google: `GET /api/auth/google/login`. a session lasts 30 days; send it as a cookie or `Authorization: Bearer `. - apps sign in with a device code: `POST /api/auth/device` returns a short `user_code` and a `device_code`; a signed-in person approves the code at `/link`; the app polls `POST /api/auth/device/token` with its `device_code` and receives an app token once. app tokens are revocable at `/link`. - `GET /api/auth/me` returns the signed-in user, or 401.