Osy#betaRun it on Osyrin: osyrin.com

Why Osy# · ten chapters, one reason each

Why, then how, then proof.

The reference answers what does this construct do. These answer why would I want this at all, and then how it works, and then what happens when you change it. Every example in them is a real file out of a real app, read at build time.

  1. Chapter 01
    Built for agents · Written by agents
    A coding agent can ask the toolchain instead of inferring.

    An agent gets the application's real shape, real access rules and real trace from four commands, not from guessing.

  2. Chapter 02
    Agents as declarations · Agentic apps
    An agent is part of the application, not a way around it.

    Declare one as a class: the account it runs as, the jobs it can do, the functions it may call, and what it must ask a person first.

  3. Chapter 03
    Workflows that wait · Workflows
    A process that waits three days for a person is still just source.

    The state is a column on your entity; a run outlives the deploy that started it.

  4. Chapter 04
    Resumes without repeating · Durable execution, built in
    Your database is transactional. The world is not.

    A crash after the charge is recorded and before the confirmation is sent does not charge again on resume: the recorded result is replayed, not the call.

  5. Chapter 05
    Secure by default · Security
    Say who may read it, once. Every query obeys.

    A caseworker may read a case if their unit handles it, they have not recused themselves, and they are senior enough for a restricted one — four rules, named once, one statement.

  6. Chapter 06
    Nothing to mock · Testing
    An agent can prove its code works. Not say so.

    The agent writes the test beside the feature and runs one command; the green it hands you ran the application as a person, under its rules, from a known starting state.

  7. Chapter 07
    The editor is the compiler · The editor
    The editor sees the program the compiler sees.

    Hover, rename, go-to-definition and the debugger come from the resolver that compiles your app.

  8. Chapter 08
    UI in the language · The UI model
    The screen is written in the same language as the rules.

    A screen is a component: fields, actions and a render block, in the language the rules are in.

  9. Chapter 09
    Documents are data · Markdown
    A document a person and an agent can edit at the same time.

    Declare a Markdown member and the application, its editor, its agents and its search all work on one structured document.

  10. Chapter 10
    One program · One program
    The whole application is one program.

    Data, rules, behaviour, screens and long-running work are constructs in one program, and the compiler reasons across them.