Project
21 pages.
When the Osy# compiler hits a bug of its own — a crash, or a rule it broke about itself, never an error in your code — `osy validate`, `compile`…
A workflow run can outlive the deploy that started it. Deploying with --new-version freezes the code and data shape the running app has, so runs…
You never set up a database. You never started a web server. That wasn't a step we skipped — it's the product. Your app is two things and you only…
Read this before you write anything. An Osy# app is ONE model — you do not build an API for it, and you do not write the layers you are probably…
When an entity you already have becomes a subtype of a base — your own, or a kit's — its rows become the base's rows with the same ids, so everything…
Deploying a new version does not move the runs already in flight — they keep executing the version they started under. migrate moves them forward…
Osy# is the language. Osyrin is the runtime it executes on, and it is the half of your app you did not write. This is what it holds itself to — six…
Renaming an entity or property, and removing one, are changes to something that already holds rows. Say what you meant in a migration and the rename…
A migration can run a function of the version it deploys, once, inside the deploy, after the schema change — the data change no schema verb can say…
A workflow run keeps executing the version it started under, which is exactly what you want until that version is the problem. cancel-runs stops…
The toolchain sends usage counts — command names and their flag names, versions, OS, error codes, durations, the size of an answer and whether a…
An application's own outbound allow-list and deny-list, kept in the project's .egress file. The osy egress verbs edit it; a local compile applies it…
A bridge is a package whose manifest says `completes A@0, B@0;`. An app that uses every package it completes gets it without writing a `use` line:…
A kit that needs something done declares an ordinary public interface; another kit implements it; the app picks one in a setting. A member added with…
When the platform or a kit retires a spelling, new source that writes it is refused, naming what replaced it. An app that is already deployed keeps…
The manifest at the root of every project. It names the app, says which files are model, seed, migrations and tests, and declares the capabilities…
A function, a class member or a contract member declared internal is callable only from the package that declares it. Any package may implement a…
The oldest platform release your app may be built and run on, as the first line of app.osy. osy init writes it, osy compile and osy deploy say when…
The manifest that makes a git repository a publishable Osy# package. It names the package, says which of the repository's files actually ship…
The shape of an Osy# project — a manifest at the root, and folders for model, seed, migrations and tests. What you put where decides what gets…
A secret may end only at a sink: a request header, the key of a signing call, the mTLS certificate — or a URL query parameter or request-body field…