Chapter 02 — Ocarina, the framework#
Unpacks the whole
ocarinaframework (Python 3.14+, v1.1.10) and Railway Oriented Programming straight through to the reporting plugins. Structured as a layered walk: deepest (theResult[T]type) to most visible (thebootstrapthat boots everything).
Chapter plan#
| # | Subject | File or folder |
|---|---|---|
| 01 | Technical identity, dependencies, toolchain | 01-identity.md |
| 02 | Full module tree + layered diagram | 02-module-tree.md |
| 03 | Railway Oriented Programming | 03-railway/ |
| 04 | Invariants (validate, assertions, chain_validations) | 04-invariants/ |
| 05 | Orchestration (Test → TestSuite → TestCampaign → TestCycle) | 05-orchestration/ |
| 06 | Lifecycle of a Scenario | 06-scenario.md |
| 07 | Watcher | 07-watcher.md |
| 08 | POMBase | 08-pom-base.md |
| 09 | Ports & adapters (ILogger, ITakeScreenshot) | 09-ports.md |
| 10 | Infrastructure (pool, builder, screenshotter, act counter, Selenium adapters) | 10-infra/ |
| 11 | Opinionated layer (CLI, loggers, plugins, bootstrap) | 11-opinionated/ |
| 12 | Custom types & custom errors | 12-custom-types-errors.md |
Related reading#
- Functional programming:
../03-functional/ - How the framework tests itself:
../04-internal-tests/ - Usage examples with project adapters:
../07-ocarina-example/,../08-ai-example/ - CI:
../10-cicd/02-ocarina-workflows.md