Atelier v0.9.7-beta
A polish release focused on observability, control, and pipeline correctness. Four merged PRs since v0.9.6-beta.
Already on v0.9.6-beta? Skip to the Upgrade section. The full list of behaviour changes is short — only one of them runs different work by default after upgrade.
Highlights
”Ask Nova →” button on the error banner
When an app is in an error state, the red banner at the top of the app page used to have a “View logs →” link that just navigated to the Logs tab. The original intent was to package the failure context and route it to Nova for analysis — that’s what it does now. Clicking sends the platform error message + the last 50 build-log entries to Nova in a kickoff message; Nova picks up from there.
The plain “View logs” link is still there if you just want to read the transcript yourself.
Downloadable logs with a time-period selector
The Logs tab gets a Download button. Behaviour depends on the active sub-tab:
- Build sub-tab — downloads the persisted pipeline transcript as
<app>-build.log. - Live sub-tab — pick a window from the dropdown (1 hour / 6 hours / 24 hours / 7 days / “all available”) then click Download. Snapshots recent pod stdout/stderr into
<app>-<service>-last-<N>s-pod.log.
Useful for attaching to bug reports without copy-pasting from the browser. Capped at 10,000 lines per download to keep response sizes sane.
Drag-and-drop chat attachments
You can now drop .txt, .md, .json, .yaml, or .csv files onto the docs area in the build chat — same validation as the existing click-to-pick button. A violet outline + “Drop files to attach” overlay appears while dragging. Works on existing apps, the new-app create flow, both.
Pre-build review now runs by default on Standard profile
This is the one behaviour change worth knowing about before you upgrade. Previously the LLM-based pre-build review only ran on the Hardened profile. Now it runs on Standard too (and is genuinely off on Fast).
The pre-build review is now split into two layers:
| Layer | What | When it runs | Cost |
|---|---|---|---|
| Layer 1 — programmatic | Static checks: Service-selector / Deployment-label match, nginx prefix-stripping vs backend routes, app-name-prefix on nginx hosts, secretKeyRef existence, frontend code using absolute /api paths | Always — every profile, no toggle | Free, <100ms |
| Layer 2 — LLM | Cross-resource reasoning a regex can’t do (port mismatches, logical contradictions, etc.) | Standard + Hardened by default; off on Fast | ~1-3¢ per build, ~5-10s latency |
After upgrade, builds on Standard apps will start including a 5-10s “Running infrastructure consistency review…” step they didn’t have before. If you’d rather opt out:
- Switch to Fast in Settings → Build → Pipeline Profile (you’ll lose Layer 2 + post-build code review + CVE scanning), or
- Toggle “LLM pre-build review” off explicitly in Settings → Build → Code Review (keeps the rest of Standard).
If you stay on Fast, the Pipeline Profile settings panel now shows a callout listing exactly what isn’t being checked, so you know what you’re opting out of.
New “Pre-build Review” LLM role
Settings → AI → LLM Profiles now has a Pre-build Review row alongside Build / Plan / Nova / Supervisor / Code Review. Pin a cheaper/faster model here (Haiku, gpt-4o-mini) for the focused pre-build pass without affecting post-build review. Falls back to whatever you’ve got assigned to Code Review if you don’t pin a separate model — so existing setups don’t need to change anything.
Two new programmatic checks for the recurring naming-drift bug class
Layer 1 grew two new checks (zero LLM cost), targeting the chinese-homework / messaging-app class of bug where the LLM drops the random hash suffix from the app name and writes references to a non-existent Service or Secret:
- Check 8 — nginx
proxy_passhost must include the app-name prefix. - Check 9 —
secretKeyRef.namemust reference a Secret in the manifests or the platform-injected<app_name>-secrets.
The agentic build prompt and the infra-review prompt also got a clearer reminder that the app name may include a hash suffix and must be used verbatim.
Tailscale guide
A new “Remote Access → Tailscale” section in the in-app documentation (open it from the Documentation link in the sidebar settings menu, or directly at http://atelier.home.arpa/docs.html). Covers:
- Installing Tailscale on the cluster node.
- Two DNS strategies for making
atelier.home.arparesolve over the tailnet (per-client hosts file vs. dnsmasq + Tailscale Split DNS). - Sharing the cluster with another person via Tailscale Node Sharing.
Subnet routing for reaching the wider home LAN over the tailnet isn’t covered yet — it’s a separate cluster-side configuration (tailscale up --advertise-routes=...) that will land in a follow-up doc update.
Upgrade
From any v0.9.x-beta:
curl -Lo upgrade.sh https://tryatelier.blob.core.windows.net/tryatelier/latest/upgrade.shchmod +x upgrade.sh./upgrade.sh v0.9.7-betaTakes ~30 seconds. Running app pods aren’t restarted; only the Atelier control plane (atelier-core + atelier-ui) rolls.
If you’re doing a fresh install rather than an upgrade, use:
curl -Lo atelier-install https://tryatelier.blob.core.windows.net/tryatelier/latest/atelier-installcurl -Lo atelier-core-image.tar.gz https://tryatelier.blob.core.windows.net/tryatelier/latest/atelier-core-image.tar.gzcurl -Lo atelier-ui-image.tar.gz https://tryatelier.blob.core.windows.net/tryatelier/latest/atelier-ui-image.tar.gzcurl -Lo mcp-fetch-image.tar.gz https://tryatelier.blob.core.windows.net/tryatelier/latest/mcp-fetch-image.tar.gzchmod +x atelier-install./atelier-installmcp-fetch-image.tar.gz is required even though you may not use MCP yourself — atelier-install tags and pushes registry.atelier.local/mcp-fetch:latest unconditionally during finalisation, so the install aborts if it’s missing.
After upgrade, full operational docs are in the in-app Documentation panel — open it from the Documentation ↗ link in the sidebar settings menu (cog icon at the bottom of the sidebar), or go directly to http://atelier.home.arpa/docs.html.
Background work (no user-visible change)
The architectural epic #374 — Agent-Workflow Pipeline was filed. The eventual direction: every pipeline stage becomes an editable workflow step with declarative prompt + tools + permissions, instead of being compiled into the platform. No user-visible change in this release — the umbrella’s first wedge lands later, building on the review-and-revise flow (#353).
Feedback
Bug reports and feedback in the testers Discord channel. Thanks for trying it.