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.
- Chapter 01Built for agents · Written by agentsA 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.
- Chapter 02Agents as declarations · Agentic appsAn 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.
- Chapter 03Workflows that wait · WorkflowsA 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.
- Chapter 04Resumes without repeating · Durable execution, built inYour 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.
- Chapter 05Secure by default · SecuritySay 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.
- Chapter 06Nothing to mock · TestingAn 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.
- Chapter 07The editor is the compiler · The editorThe editor sees the program the compiler sees.
Hover, rename, go-to-definition and the debugger come from the resolver that compiles your app.
- Chapter 08UI in the language · The UI modelThe 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.
- Chapter 09Documents are data · MarkdownA 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.
- Chapter 10One program · One programThe whole application is one program.
Data, rules, behaviour, screens and long-running work are constructs in one program, and the compiler reasons across them.