Orbit 2026.07.1: Control without guesswork
Typed Discord controls, honest policy locks, editable announcements, runtime diagnostics, Module Runtime v2, and four new engagement modules.
Highlights
| Area | What changed | Default state |
|---|---|---|
| Announcements | Editable schedules, text/embed modes, message updates, resend lineage and delivery revisions | Available after migration |
| Policies & plans | Field-level resources, inherited locks, plan treatment and server enforcement | Enforced from the shared catalog |
| Module Runtime v2 | Transactional records, idempotency, RNG proofs, cron jobs and optional dependencies | v1 remains compatible |
| Engagement modules | Casino, Quest Board, Party Hub, Suggestions & Roadmap | Not installed and disabled by default |
Announcements that remain editable
Announcements now use a complete publishing workspace instead of a one-way send form. Authors choose text, embed, or combined output, insert context-safe placeholders, preview the Discord result, configure audience and approval, and keep a revision history before and after delivery.
- Scheduled announcements can be edited, rescheduled, or cancelled until a bot worker claims the delivery.
- Optimistic revisions prevent a late editor save from racing a live send.
- Edit original updates the existing Orbit message and records the actor, revision, and Discord message ID.
- Edit and resend creates a linked draft and a separate delivery instead of silently rewriting history.
- Deleted or foreign Discord messages produce a useful state while preserving the option to resend.
Editors and automation speak one language
- Channel selectors distinguish text, voice, category, announcement, forum, and stage channels; API and runtime preflight validate the selected type.
- Temp Voice Room Creation now uses a Voice Channel picker and a Category picker. Ticket routing and panels use category-aware selection while log destinations remain text-only.
- The shared editor-session contract tracks baseline, draft, validation, revision conflicts, reset, save, route changes, and browser reload from the first real edit.
- Ticket routing, Temp Voice Room Creation, and every manifest-driven settings page now trigger the same Floating Save Bar. Dialog editors retain their local save action and warn before closing with changes.
Nested workflow logic is now visual. ALL, ANY, and NOT groups support adding, duplicating, moving, grouping, ungrouping, negating, role/channel selection, and structured time windows. Existing ASTs stay compatible; developer JSON is read-only and the eight-level/node limits are enforced in both the UI and API.
Analytics that fail visibly
Event Logger analytics starts its overview query before the first visible loader and binds guild and period as explicit dependencies. Constraints, trend, active members, and delivery state arrive in one overview request; member detail remains lazy.
Feedback with useful evidence and privacy boundaries
- The client tracks page-ready beacons, navigation completion, active queries, recent safe UI actions, connectivity, chunk and hydration failures, repeated API failures, auth drift, and dirty editors.
- Problem descriptions are assembled from localized fragments using route, safe action, duration, and diagnosis; they remain fully editable.
- Orbit recommends a targeted query retry or soft navigation first. Hard reload is suggested only when plausible and is blocked while unsaved work exists.
- Reports are redacted and rate-limited before entering the Orbit feedback inbox, with an optional Sentry event reference and an explicitly consented diagnostic snapshot.
- System Team can cluster reports by fingerprint, route, release, and diagnosis, then track status and internal notes.
Policies and plans now own every control
Module manifests and Core Tool schemas generate canonical resources for modules, views, sections, settings, actions, commands, jobs, and API operations. Removed resources are archived with their policy history. Coverage checks identify visible or mutable controls that are missing a resource.
module.<id>
view.module.<id>.<view>
section.module.<id>.<section>
setting.module.<id>.<fieldPath>
action.module.<id>.<action>- The policy interface is a searchable resource tree with inheritance, bulk assignment, simulation, plan colour, and the exact winning decision.
- Plan-only controls keep their saved value but render a dedicated lock state with required plan and upgrade destination.
- Config diffs are checked server-side at field level; a visual lock is only the presentation of that same decision.
- Globally disabled, system-disabled, or stronger Core Tool overrides cannot be re-enabled from a guild page, including by a System Administrator viewing that guild. Locked switches do not mutate and do not show a false success message.
Module Runtime API v2
- Secure RNG uses server commitments and later reveal proofs, including replay-conflict checks for range and nonce.
- Manifest cron jobs are materialized automatically, deduplicated with advisory locks, and rescheduled after success or recoverable failure.
- Modules can declare optional dependencies and call approved, versioned functions through the capability graph.
- Interaction updates and coalesced Discord message edits support live games without turning every animation frame into a rate-limit incident.
- All Runtime v2 operations participate in capabilities, resource registration, quotas, idempotency, and audit. Runtime API v1 remains supported.
New module: Casino
- Daily rewards, streaks, balances, ledger history, leaderboards, optional transfers, fees, limits, cooldowns, roles, balance caps, audited adjustments, and voluntary self-exclusion.
- Blackjack supports hit, stand, double, split, and insurance with per-hand settlement. Roulette, animated Slots, Video Poker, Mines, Crash, Dice, Coinflip, and High-Low each have configurable limits.
- Texas Hold'em supports two to six players, private hole cards, a public table, best-five-of-seven ranking, tie pots, and auditable buy-ins.
- Commit/reveal history, atomic account/ledger updates, abandoned-session recovery, daily loss limits, cooldowns, configurable seasons, and rate-limit-coalesced animations.
- Approved modules can issue idempotent virtual-chip rewards through a rate-limited economy function.
Three more engagement modules
Forms and review
- Auto Review can score individual fields with dates, required choices, keywords, regex, and weighted points, then act as reviewer assistance or apply configured accept/reject thresholds.
- Submission review keeps complete answers, identity context, per-field timing, total duration, decision history, internal notes, and four-eyes state in one readable surface.
- Official form deletion no longer violates submission history: referenced flows archive safely while unreferenced drafts can be removed.
- The public form header, page cards, progress, response workspace, mobile controls, and background treatment now share the same designed form surface.
Fixes and polish
- Guild owners and managers can redeem eligible inventory items for their own servers.
- Core Tool switches now reflect the effective system lock and cannot claim success when a stronger policy owns the value.
- Role Panels and module sub-pages start their real query rather than waiting behind a lifecycle hook that never runs.
- Category channels are no longer discarded from Discord snapshots, and missing guild icons use the generated server fallback.
- Signed-in users are redirected away from Login; legal, public, content, and application pages now use the shared responsive navigation contract.
- Discord guild lists remain scoped to the signed-in Discord account even for System Administrators, separated by whether Orbit is installed and backed by reloadable, purpose-specific caches.
Admin and developer changes
- Content Studio supports long-form document outlines, sticky formatting tools, drag-reordered blocks, mixed inline formatting, code, cards, callouts, responsive tables, images, buttons, themes, drafts, scheduled publication, duplication, and optimistic revisions.
- The first-party module publisher now persists Runtime API version, capabilities, record collections, dependencies, function contracts, HTTP integrations, and metric declarations from the artifact manifest.
- Discord channel, role, member, and guild snapshots have purpose-specific invalidation and visible reload actions. Permission-sensitive member roles remain live-first with cache fallback.
- New database migrations add module config revisions, campaign delivery revisions, the feedback inbox, Runtime v2 storage, engagement-plan availability, and this release draft.
Migration notes
| Area | Compatibility | Action |
|---|---|---|
| Runtime | Runtime API v1 remains available | Roll out v2 modules to test or beta guilds first |
| Announcements | Existing campaigns are interpreted as text + embed | No content rewrite required |
| Level-ups | Existing plain-text configuration remains plain text | Switch modes only when desired |
| Policies | Removed resources are archived with history | Review newly generated field-level resources |
| New modules | All four start uninstalled and disabled | Install explicitly after policy and plan review |
Known limitations
- Historical form submissions cannot gain timing data that was never recorded.
- Editing an original announcement requires the referenced Discord message to still exist and be owned by Orbit; resend remains available when it does not.
- The four Runtime v2 modules are beta-gated and require explicit installation.
- Season leaderboards snapshot up to the configured record quota and process record resets idempotently; very large guilds should monitor the first rollover.
- Casino provides entertainment with virtual balances only and intentionally exposes no purchase, payout, or cash-equivalent path.
A disabled switch should be disabled, a saved field should be saved, and a spinner should eventually have to explain itself.
The operating rule behind Orbit 2026.07.1