Changelog

What we shipped. Plain English.

Each entry is a feature you can use right now. Below the release notes, a live ticker of what ONI is doing for real users at this moment.

All-time
40
cycles shipped
Last 24h
0
cycles ran
Last 7 days
3
projects active
Release notes
Apr 30, 2026
5 changes

Wallet that pauses cleanly + real top-up flow

Out-of-balance is no longer a silent failure mode. ONI hard-refuses turns at $0, the chat shows a friendly banner instead of a raw error, and the “Top up balance” button finally opens a modal that actually moves money.

  • NewHard balance gate at the v3 turn endpoint — ONI returns 402 BALANCE_EMPTY at < $0.01 instead of running anyway.
  • NewStripe Checkout top-up endpoint with dedicated webhook handler that credits the wallet + writes to the account ledger atomically.
  • NewOwner-only manual-credit fallback for emergency / pre-Stripe credits, gated by ONNETA_OWNER_EMAIL.
  • BetterTyped chat draft survives a 402 — text stays in the textarea, send button auto-disables, and a localStorage save means even a page reload doesn't lose the message.
  • BetterFriendly “Wallet is empty — ONI paused this turn” banner replaces the raw error string.
Apr 30, 2026
4 changes

Cycle-end memory: ONI learns after every turn

Every orchestrator turn now writes a 3-part retrospective (tried → happened → learned) and picks the lowest-health capability as a next-cycle hint. Future cycles read these instead of re-litigating every decision from scratch.

  • NewEnd-of-cycle finalize hook records a structured learning via Gemini, written to the per-project Learning Log.
  • NewCapability-health scorer computes a 0–100 score per capability based on data populated, depth, and recency.
  • NewpickNextCapability() returns the lowest-score eligible capability so the next cycle has a default focus.
  • BetterPick stashed in onneta_kv (ns='cycle_state', key='next_capability') so the Memory page can surface “ONI will probably touch X next.”
Apr 30, 2026
4 changes

Brand identity is automatic at project creation

Tell ONI what you're building and the brand profile lands before you finish reading the cinematic — palette, typography, voice, words to avoid, logo concept. No “Generate” button to click.

  • NewBRANDER specialist runs in-pipeline at project creation and writes branding_profiles atomically.
  • NewDirect-Gemini fallback path keeps the brand pipeline working when AWS Bedrock auth is down.
  • NewMemory page auto-populates 7 canonical facts (audience, tagline, pricing model, key metric, etc.) extracted from the vision + brand.
  • NewFirst retrospective auto-recorded so the brand-direction lesson is queryable from cycle one.
Apr 30, 2026
5 changes

Every capability surface lights up inline

Revenue, Inbox, Proposals, Invoices, Marketing, CRM, HRM, Analytics, Templates, and Branding now render inside the project workspace instead of bouncing through a dispatcher. Each surface explains where its data lives and how ONI extends it.

  • NewRevenue Specialist with public-payment endpoint + idempotent dedup on gateway_payment_id.
  • NewInbox correctly gated to “Inactive” until a verified mailbox is provisioned (managed by Onneta via AWS SES).
  • NewAuto-bridge: signed proposal drafts an invoice, paid invoice records a Revenue payment — single helper called from every site.
  • FixedMarketing reads the same contacts table as CRM (filtered by source) — single source of truth.
  • FixedPublic contact form endpoint now accepts cross-origin POSTs (CORS headers + OPTIONS handler).
Apr 29, 2026
4 changes

Visual mode — ONI sees the site it's building

ONI now takes Playwright screenshots of the live site mid-cycle, surfaces them in chat, and turns every visual finding into a tracked goal. Stops shipping changes blind.

  • NewPlaywright screenshot tool wired into the orchestrator — desktop / mobile / per-page.
  • NewScreenshots render as image cards in chat with file paths + sizes.
  • NewEvery visual finding ONI mentions in a screenshot review becomes a backlog goal automatically.
  • BetterSite-aware + capability-aware extraction — ONI inspects live pages and existing capabilities before proposing new ones.
Apr 29, 2026
5 changes

Cockpit 2.0 — chat-as-intent-stream

The cockpit is now organized around what you said and what ONI did about it, not around developer panels. Goals are first-class. Suggestion chips help you steer without typing.

  • NewPlain-English UI throughout — developer jargon hidden behind a setting.
  • NewGoals strip surfaces the active backlog inline next to the live preview.
  • NewSuggestion chips under the chat input ('Add a contact form', 'Change the colors', etc.).
  • NewMid-build edits — click a palette swatch to patch the live build without typing.
  • BetterViewport toggle (desktop / tablet / mobile) in the cockpit preview.
Apr 29, 2026
4 changes

Files + DB + Storage surfaces honest about state

The infrastructure capabilities now read live state — what's actually provisioned, what's on disk, what schema exists — and tell you the truth instead of showing optimistic placeholders.

  • FixedDB capability queries the real provisioned schema and renders a KPI strip with row counts per table.
  • FixedStorage counts source code on disk, not just S3 uploads — matches what you'd actually pay for.
  • NewClickable tables in DB surface — peek any row inline.
  • BetterFiles surface is read-only by default with an explicit “unlock to edit” mode to prevent accidental writes.
Apr 28, 2026
3 changes

Project DELETE actually cleans up everything

Right-click → Delete on a project now removes the disk artifacts, schema, repo, project DB, and sentinels — atomically. No orphaned rows, no zombie cloud resources.

  • NewRight-click context menu on the project list with Delete + Open in new tab.
  • NewCascade deletes the per-project Postgres DB, GitHub repo, sandbox runtime, and main-DB schema in one transaction.
  • FixedCockpit iframe CSP now allows *.onneta.com in frame-src so live previews load.
Right now on the platform
Anonymous snippets of what ONI is replying to real project chats. Project names are first-word only.
/aqaba got it, changing the photos for the featured dishes now to new desert shots.
/aqaba swapped the hero photo for a fresh desert shot, it's live now.
/aqaba Everything is already committed and live. The full platform was already built and is live. Here's…
/aqaba It's all committed and live. Your **Aqaba Desert** platform is ready with 4 fully built pages:
/aqaba Your **Aqaba Desert** platform is live and fully built — 4 pages, all connected:
/aqaba your site is live at https://aqaba-desert.onneta.com. it's got a basic hero, an about section, an…
/aqaba your site's live at https://aqaba-desert.onneta.com. i've set up a basic homepage covering your v…
/freelancetrack the homepage has one form for joining the waitlist, with fields for name, email, and an optional …
/freelancetrack couldn't find a contact form on the homepage, only a waitlist form. the contact form needs to be …
/freelancetrack couldn't test the contact form, the project runtime isn't available right now.
/freelancetrack (empty reply)
/freelancetrack got it — adding a contact form to the homepage, assuming it'll match the current site style. star…
/freelancetrack found a few things on the homepage: the styling doesn't match the brand, invoice generation isn't…
/freelancetrack got it — fresh test message received.
/freelancetrack your site has a homepage at '/' with sections for timer, log, invoice, pricing, and waitlist.
/freelancetrack found a few things on the homepage: the styling doesn't match the brand, invoice generation isn't…
/freelancetrack live site is up and responding (200), but there's a git branch error ('main' not found).
/freelancetrack got it — adding a feedback widget and a 404 page to the site. starting on it now.
/freelancetrack got it — adding a privacy page and a contact form with email validation to the site. starting on …
/freelancetrack done — saved that spec to /files.

Your own changelog starts tomorrow.

Sign up, describe your business, let ONI ship. You'll see your own version of this page in your HQ within a few cycles.