# Eldric AI OS 5.0.0-alpha.3 — Release Notes

_Released 2026-04-23._

_Focus of this release: the Phase-3 kernel. Real users, real
tenants, real projects, real workgroups — all wired through
every module that needed them. Every API route is now a real
implementation; the webchat gained a 14-dashboard modular shell;
zero stubs remain in the Phase-1/2 surface._

## Identity service — real users, real auth

The `anon/default/viewer` profile baked into alpha.2 is replaced
with a full identity system:

| Piece | What ships |
|---|---|
| Account types | `human`, `system`, `service`, `device` |
| Auth flows | register / login / password change / forgot password (email token) |
| API keys | `X-API-Key` header accepted alongside session cookies |
| Auto-enforcement | kernel flips auth on the moment the first user is created — no `--auth=enforce` flag required |
| Tenants | user ↔ tenant association, tenant-scoped resources everywhere below |

Auth stays _off_ on a fresh install (so `dnf install eldric-aios
&& curl :8880/health` still works zero-config). The first
`register` call provisions the owner account and flips the
kernel into enforced mode.

## Projects, workgroups, skills — CRUD everywhere

The scope plumbing alpha.2 put into place now has real
resources hanging off it:

- **Projects** — create / list / rename / delete, wired through
  `controller` and the `dream` module's scope resolver.
- **Workgroups** — shared KB grouping, membership managed via
  the identity service.
- **Skills** — user-authored declarations surfaced by the `dream`
  module's real skill-extraction pass (replacing the alpha.2
  stub).

## Every API route is now real

127 routes across the Phase-1/2 surface had implementations in
alpha.2 ranging from "done" to "stub returning 501". alpha.3
closes the gap: **zero stubs remaining** in the documented API
surface. Per-module highlights:

| Module | alpha.3 change |
|---|---|
| `router` | 5 load-balancing strategies (`round-robin`, `least-conns`, `least-latency`, `weighted`, `random`) with per-worker stats |
| `dream` | Real skill extraction + an auto-cycle background thread |
| `training` | Real job execution via Python subprocess; venv probe on startup |
| `science` | Live USGS earthquake API; OpenAlex / arXiv routing |
| `nova`   | Pattern-based optimization proposals |
| `media`  | Backend detection (`piper` / `ffprobe`) with actionable errors when missing |
| `iot`    | Device validation; protocol driver status surfacing |
| `data`   | Hybrid search (vector + matrix memory), merged into one response |

## Webchat — modular dashboard shell

`modules.d/edge/chat.html` gained a module-loader architecture:
a lean shell plus 14 JS modules pulled in on demand.

**Dashboards shipped (14):**

```
admin    agents      swarm     training    knowledge   comm
iot      science     media     nova        plugins     files
settings devtools
```

Each dashboard is an independent JS module under
`modules.d/edge/dashboards/`. The Edge module serves them
through a new `/dashboards/*.js` route. Loading a dashboard is
`Ctrl+K` → pick → module imported on first open; subsequent
opens reuse the cached import.

**Other webchat additions:**

- Sign-up flow, password change, forgot-password with emailed
  token — end-to-end, no manual admin step.
- Sidebar now reads real conversations / projects / KBs from
  the server rather than the alpha.2 fixtures.
- Agent Designer modal — type, domain, knowledge base, model
  selection in one dialog; fires `agent.create` on confirm.
- Module launcher (`Ctrl+K`) enumerates every dashboard + recent
  conversations + plugin toggles; keyboard-first navigation.

## Packaging

- `eldric-aios-5.0.0-3.alpha3.fc43.x86_64.rpm` (CPU baseline)
  published on `repo.eldric.ai/5.0/`.
- CUDA add-on unchanged from alpha.2 — `eldric-aios-cuda-5.0.0-
  2.alpha2.fc42.x86_64.rpm` still the latest. A CUDA rebuild
  for alpha.3 is on the alpha.4 list.

## Deployed

Validated live on the dev cluster:

- Controller — `10.19.0.180`
- Edge / `chat.eldric.ai` — `10.19.0.172`

## Upgrade from alpha.2

Drop-in. `/data/eldric` layout is compatible; alpha.3 adds the
identity tables under `controller/` and the dashboard modules
under `/usr/share/eldric/modules.d/edge/dashboards/`.
`dnf upgrade` picks both up.

First admin account on an upgraded cluster:

```bash
curl -XPOST http://<host>:8880/api/v1/auth/register \
  -H 'Content-Type: application/json' \
  -d '{"email":"admin@example.com","password":"…","role":"owner"}'
# auth flips to enforced mode on success
```

## What's still Phase-4

- **Eldric Client SDK** — Swift / Kotlin / Rust / TypeScript —
  so CLI / macOS GUI / iOS / Android / Windows desktop become
  thin UI glue over the 13 Edge endpoints.
- **`eldric-setup` first-boot wizard** — interactive auth +
  admin-token + first-tenant provisioning.
- **Debian / Ubuntu signed repo** at `deb.eldric.ai`.
- **alpha.3 CUDA rebuild** on the repo alongside the CPU RPM.
