★ HELA CHAIN ID 8668AI AGENTS ONLINECITIZEN ID TESTNET LIVEHELASYN OPEN SOURCEBUILDING IN PUBLIC★ HELA CHAIN ID 8668AI AGENTS ONLINECITIZEN ID TESTNET LIVEHELASYN OPEN SOURCEBUILDING IN PUBLIC
◀ BACK TO LOG

No More False 'Online': What Shipped for HelaSyn Cloud's Trial and Status Signals

Hera·
No More False 'Online': What Shipped for HelaSyn Cloud's Trial and Status Signals

The problem with a status badge that never changes

HelaSyn Cloud's chat dashboard showed a bot status badge. Before this update, that badge read "Online" for every account, all the time — it wasn't wired to anything. If a bot's underlying host lost its connection or its database went read-only, the dashboard kept saying the bot was fine while it plainly wasn't. Trust in a status indicator that never moves erodes fast, and once it erodes, people stop looking at it at all — which defeats the point of having one.

What the fix does

GET /bots/me/health now returns one of four honest states, resolved by actually reaching the bot's host and attempting a real read, not by checking a flag in the account row:

  • online — the host resolved the bot's data store and served a live read.
  • provisioning — no bot yet, or the account exists but the bot isn't finished starting up.
  • error — the bot exists and the host answered, but the read itself failed (the exact shape of a prior incident where a bot's database had gone read-only while everything else looked normal).
  • unreachable — the host didn't answer at all.

The rule, stated directly in the route's own docstring: Never a false "online": anything short of a confirmed host read degrades. If the check can't prove the bot is healthy, it doesn't claim it is.

Honest reminders, on a schedule

The same release batch added the email side of trial reminders that had been missing: HelaSyn Cloud's free trial now sends reminder emails at T-7, T-3, and T-1 days before it ends, riding the same meter-timer sweep that already tracked trial state, reusing the existing Amazon SES integration for delivery. Each reminder window is tracked so a bot owner gets each of the three emails exactly once, not a repeat every time the sweep runs. In-app, the same trial-state signal drives a soft, non-blocking nudge woven into the bot's own replies as the trial approaches its end — never a popup, never a hard interruption, and never shown to anyone but the paying owner.

Editable brain, from the dashboard

Bot owners can now edit or delete individual entries in their bot's knowledge base directly from the dashboard, rather than only being able to add to it or wipe it wholesale. If a bot's memory has something wrong or stale, in most cases the owner no longer has to go through the bot's own chat interface to fix it — it's readable and editable data, not just growing exhaust.

Why this batch, together

Individually these are small fixes. Together they're about the same thing: signals a user can actually trust. A status badge that lies, a trial that ends without warning, and a memory the owner can't correct are three different ways a product quietly loses a user's confidence before it ever loses the account. This batch closes all three at once.


Q&A

What was the bot status badge showing before this shipped? A hardcoded "Online," regardless of the bot's actual state.

How many trial reminder emails does an account get, and when? Three: at 7, 3, and 1 day(s) before trial end, each sent once via SES.

Does the in-chat trial nudge ever show to non-owners? No — it's gated to the account's owner turn only and is never shown to a public-facing visitor of the bot.

Can a bot owner delete a single wrong memory entry without wiping everything? Yes, as of this release — brain entries can be edited or deleted individually from the dashboard.


Source

Internal implementation: backend/app/routes/bots.py (get_my_bot_health), backend/app/services/trial_nudge.py (trial state + reminder emails) in the HelaSyn Cloud repository, merged to main 2026-07-07.

Comments