Concepts
How Solen fits together: generation, deployment, healing, monitoring, and access control.
How Solen generates code
Solen turns your intent into a structured spec (goal contract + versions). A generator pipeline (LLM-assisted) produces application code, often a Next.js-style UI with Tailwind, scoped to your project. Rules enforce complete files, no placeholder copy, and consistent styling. Each deploy is tied to a spec version so you can compare, tweak, and redeploy.
How deployment works
When you deploy, the control plane runs a deploy lifecycle: provision resources if needed, build container images or bundles, assign ports and URLs, and register routing (for example *.apps.<apex> behind a reverse proxy). Deploy mode may be mock (local/dev), solen (containers on your node), or orchestrated via the build engine and deploy runtime depending on environment. Successful runs set deploymentUrl and project status to deployed (or preview when preview-before-production is enabled).
How self-healing works
For deployed apps, optional health monitoring can detect failures (HTTP errors, timeouts). After repeated failures, Solen may open a heal incident, run diagnostics, propose or apply fixes (depending on autonomy mode: supervised vs autonomous), and trigger rebuild/redeploy flows. You'll see timeline and log entries in the project UI; approvals may be required in supervised mode.
What Oversight monitors
Oversight connects governance and telemetry: platform health signals, recommendations, and recent events for your workspace when configured. The UI may surface warnings, policy hints, or actions (execute recommendation) alongside your projects. It complements, not replaces, runtime health checks inside the deploy stack.
Workspaces and roles
Every user works inside a workspace. Projects (goals), API keys, and billing context are scoped to that workspace. Roles and permissions (for example deploy, project create, settings) gate what members can do in the UI; API keys carry separate scopes for Agent API access (projects:read, projects:write, runs:read, etc.).