Platform architecture
The parts of the lab and what each is responsible for.
The lab is several services with separate jobs. Keeping them apart is what lets each one be simple, and lets the risky work be fenced in.
The parts#
| Part | Responsible for |
|---|---|
| Gateway | Signing people in, sessions, and deciding who a request comes from |
| Lab app | The web pages: Overview, Projects, Design Chat, Runs, Share |
| Platform | Accounts, organisations, plans, allowances and usage |
| Orchestrator | Running the design tools: queueing runs, starting them in containers, storing their results |
| AI engineer | The Nelix Agent's specialists: building each request, calling the model, checking what comes back |
| Workspace | The code editor and terminal in the browser |
How a run flows#
- You press Simulate, or type
nelix test. - The lab app passes the request to the orchestrator, with your identity as established by the gateway.
- The orchestrator queues the run, then starts the tool in a container that can see only your project.
- The tool writes its output. The orchestrator records the result and stores the artefacts: the waveform, the netlist, the layout.
- The lab app reads the result and shows it. The viewers read the stored artefacts.
How an AI request flows#
- You ask something in Design Chat, or press Ask Nelix Agent or Debug with Nelix Agent.
- The AI engineer assembles a request: the files and results for that one question, your account's allowance, and the agent's instructions.
- The model answers in a fixed structure.
- The AI engineer checks the answer: that it has the right shape, that any file it proposes is allowed, and, for a repair, that it passes your test in a separate copy.
- You see the result. Nothing is written to your project until you choose.
Design choices#
- The model runs nothing itself. It cannot run a command or change a file. In Design Chat it may ask the platform to list, read or search files of the open project, or read a run's reports; the platform does that, read-only, and shows it the result.
- Results are measured, then reported. Numbers come from tool output, not from the model.
- Every change is a proposal. The person decides.
- The audit log cannot be changed quietly. Every 10 minutes the platform seals new audit-log entries (who changed a project, a class or a plan, and when) into a hash chain kept apart from the database, with a signed summary that is also copied to the system log. A check shows any entry that was edited, deleted or added later.
- Updates do not cut you off. When the lab is updated, the old web workers finish the requests they already have before they stop, so a page or a button press in progress is not lost.
Something unclear or missing? Send feedbackSign in and use Feedback to tell us.