These are not add-ons or premium modules. Every application CEDM Platform generates includes all of them, configured from your model.
Declare a lifecycle on an entity and every record shows its current state and the moves out of it as buttons. A move can be limited to roles, can run workflows on entry, and is recorded whether it succeeds, is refused or fails.

Rules are GoRules decision graphs evaluated on every write: they can validate, set values, cascade to related records or start a workflow. Automations read like the policy they implement, and both can be tried against a sample record before they are saved.

Windows, tabs, fields and their order are rows in an Application Dictionary generated from the model. Administrators rearrange, hide and group fields in the running application, and the change takes effect on the next request.

The rules that keep data right are enforced by the server in the same statement as the write, so they hold under load and through any client.
Every save names the version it started from. If someone else saved first, the screen shows what changed, who changed it and when, and lets the user refresh or overwrite deliberately.
A record in a final state cannot be edited or deleted by anyone, because undoing a completed transaction should be a new transaction, not a quiet edit.
A value-list field refuses a value the list does not hold, and a reference refuses an id that points at nothing, on the server and not just in the form.
Choose a country and only its states are offered; choose a state and only its cities. The backend holds a write to the same narrowed set.
Every application serves a REST API that describes itself in OpenAPI, with Redoc and Scalar built in. One generic interface serves every entity in the dictionary, including ones added after deployment, and every response carries the version needed for a safe update.

The same model that generates the application generates the suites that check it, so the tests grow with every entity, rule and role you add.
Hundreds of request tests per application exercise every entity, permission, lifecycle and conflict path over real HTTP against a real database.
Bun API suites check the application against the model itself, not against what the generator wrote, and Playwright specs drive the real screens.
Each application can open every one of its screens in a browser and fail on a crash, a server error, a console error or a leaked internal table name.
Dedicated suites sign in as an ordinary role and as nobody at all, because a test that runs as the administrator passes every permission check.
Reports declared in the model ship with the application. Queries are held to a single read, three times over: when written, when compiled and when run.
Each role the model declares gets a demonstration account. Administrators create, lock and deactivate accounts, and the last administrator cannot be removed.
People ask for records and reports in plain language and the application's own screens open inside the conversation. The assistant never writes a record itself.
Every application includes seven visual themes, switchable at run time without a rebuild, in light and dark.
Every refusal carries a catalogued error code and a request reference. Log levels change per channel at run time, without a restart.
Thirteen lifecycle events around every create, update and delete call your Rust handlers. Regeneration adds new hooks and never touches your implementations.
Pick the theme that suits your brand, or let each user choose. Every theme ships in every application.







Bring a process you run today. We will model it with you and generate the application in the same session.