v3.8.0 (Finish Clean, Stay Online & See Clearly)
Major Update- Completion
After successful Studio mutations without
complete_task, the relay synthesizes a one-shot finish — think/query-only turns no longer auto-complete. Scripts must still getcheck_scripton the changed path before complete (prompt + tool description enforce it). - Live Chat
Early-dispatched tools that grow on the same step re-paint correctly. Step text always lands before that step’s tools (even when tools arrive first over SSE), so streaming prose no longer ends up under the wrong tool block.
- Diagnostics
New reliability telemetry:
agent_llm_turns, richertool_invocations(path, turn, recovery, soft-skip, error detail), jobfinish_reason/ synth flags, plus product events for Studio batches, LLM turns, playtest blocks, check_script findings, plugin pair/session, and plugin diags. Ops SQL pack + migration included. - Plugin
Studio plugin: whitespace/CRLF-tolerant
edit_scriptrecovery (unique matches only, with re-read hints), soft-skip invalid property members instead of red-X’ing the turn, longer playtest-stop wait with retries, rate-limited diag emit over the plugin WebSocket, and clearer UDim2 string parsing. - Quota
Hitting 100% mid-job no longer cancels the in-flight prompt or tears down Studio presence (that looked like “plugin offline”). The job finishes; the paywall / composer lock applies on the next send. Relay billing notes overage for telemetry only.
- Continue
Continue from checkpoint now posts only Continue the job from the last checkpoint. — no duplicated error/tools dump in your prompt (that context is already in the turn above; the relay still gets the recovery brief off-meta).
- Tools UX
Playtest, Script Injection, edit mismatch, and path-not-found no longer pause the live job behind a Continue panel — failures stay inline in the tool bubble and feed back to the model. Transient tips still show when useful.
- Failure Codes
Transport failures classify from the message first (timeout / Studio offline / playtest) so a wrong hint like
permission_deniedon a timeout cannot win.check_scriptfindings track separately from transport crashes. - Homepage
Hero remastered with a Studio-chrome live demo frame, clearer subtitle, and muted-autoplay caption — then the redundant “plugin launch” promo section was removed so the first viewport stays one composition.
- Referrals
Checkout honors a client referral code if claim failed earlier (network blip), creates a
checkout_startedattribution when needed so the referrer still gets credit, and idempotent claim returns the promo for the already-attributed code. Self-referral rejects are recorded once; login clears permanent claim failures so they aren’t retried forever. Referral landing visitor key aligns with analytics UUID. - Limits
Agent job wall clock set to 5 hours (plus client wait buffer) — stream auth tokens stay long-lived separately.
- Email
Unsubscribe / preference links return a clear 503 when the preference secret is misconfigured instead of crashing the handler.
- Relay
Fail-fast when the Studio WebSocket is down before dispatching a batch; plugin pair/session outcomes recorded; sync-relay-overrides expanded for completion + telemetry wiring. Tests cover message order, quota settle, completion synthesis, tool failure codes, and run telemetry.