v0.7.4
EveriApp Builder v0.7.4
This release turns the builder from "generate an app" into generate, observe, and fix an app — a full runtime tracing spine, an AI copilot that watches you test, mini-LLM decisions as first-class resources, and in-chat mockups. Plus a wave of reliability fixes to the live preview.
On-prem, single-tenant, Apache-2.0. No data migration required — schema columns are added idempotently on startup.
✨ Highlights
🔎 App Inspector — see everything your app does
A new Inspector panel sits beside the Preview and narrates the running app in plain English as you click through it:
- Story mode — "You clicked Save order → the app asked the database → the database refused: customer_id can't be empty" — a chronological, human-readable trace of clicks, data calls, AI calls, and errors.
- Timeline mode — the same events as a developer waterfall with status, latency, tokens, and cost.
- Live follow — streams events in near-real-time while you test.
- Routine successful data calls collapse into one expandable line so the story doesn't drown in plumbing.
- Sessions are grouped by trace ID; one clear-trace button gives you a fresh slate.
🤖 Test with AI — a copilot that debugs alongside you
The Inspector surfaces issues and helps you fix them without leaving the flow:
- Detect (free, rules-only) — repeated errors, swallowed errors, decisions falling back, and slow calls appear as chips.
- Explain — click an issue (or an error row) and AI diagnoses it from the trace and your app's real source, naming the root cause and the files involved.
- Fix it — one click turns the diagnosis into a fix request that runs through the normal build pipeline (self-heal + verification + hot reload) so you watch it happen.
🧠 aiDecide — mini-LLM decisions as first-class resources
Build genuinely agentic apps without brittle regex. Declare a named decision (aiDecide('classify_question', …)) and the platform owns the prompt, schema, model, cache, and fallback:
- Prompt-as-data: tune a decision's prompt in the platform and the next call uses it — no rebuild.
- Never crashes an app: timeouts, provider errors, and off-schema answers resolve to a declared fallback.
- Born observable: every decision is traced, cost-metered, cached (user-scoped), and rate-limited.
- The generator now reaches for decisions instead of keyword/regex heuristics for fuzzy logic.
🎨 Mockups & diagrams in the builder chat
Plan visually before building:
```mermaidblocks render as flowcharts, sequence, and ER diagrams.```mockupblocks render as sandboxed screen mockups — with a "Make this real" button that implements the design as actual screens.
📚 Developer skills — standing preferences the AI follows
- Personal skills (sidebar) — "always enable WAL on SQLite," "every list gets a loading state" — applied to every app you build.
- Org conventions (Admin → Platform) — house standards applied to every developer.
🎛️ Per-purpose AI providers + full cost visibility
- Assign a default provider (and model) per purpose — pin a fast, cheap model to app decisions and a stronger one to generation.
- Every LLM call path is now cost-metered (in-app assistant, self-heal, bug analysis, decisions, copilot) — previously several were invisible.
🐛 Bug reports now carry the trace
Submitted bug reports include the session's traced events, so the AI triage sees what happened chronologically instead of guessing from a console tail.
🚀 Improvements
- Version indicator in the sidebar shows UI vs API version and flags a mismatch — no more debugging a stale bundle or backend.
- Decision robustness — per-decision timeouts (default 30s, up to 120s), a larger output ceiling for generative decisions, and self-documenting timeout/truncation errors that name the exact knob to change.
- Decision registry self-heals from the app's manifest on every preview start, with a manual re-sync endpoint.
- Action-oriented tooltips across the builder — each control states what it does and what clicking changes.
- Marketplace publish prefills listing metadata (short description, category, tags, license) so it stays consistent across publishes.
🔧 Fixes
- Live preview reliability — fixed blank preview at startup (readiness handshake, WebSocket relay, heartbeat), fixed resets during a session (transparent WS relay; rotating token no longer in the iframe URL), and fixed a 401 regression from a stale auth-token selector.
- Setup wizard hardening — invalid or malformed wizards are rejected on every write path instead of being stored broken and 500ing later; garbage rows degrade gracefully.
- App viewer loads previews through the runtime proxy with a scoped cookie, keeping auth tokens out of URLs and logs.
- Vendored SDK is refreshed on package import and marketplace install, so already-fixed SDK bugs don't reappear in imported apps.
Full details: see the commit history from the initial public release through v0.7.4.