diff --git a/src/components/Layout/mdx/Admonition.tsx b/src/components/Layout/mdx/Admonition.tsx
index 5848d66904..dd85e669e1 100644
--- a/src/components/Layout/mdx/Admonition.tsx
+++ b/src/components/Layout/mdx/Admonition.tsx
@@ -2,7 +2,7 @@ import React from 'react';
import cn from '@ably/ui/core/utils/cn';
import Aside from '../../blocks/dividers/Aside';
-const LEGACY_ADMONITION_TYPES = ['new', 'updated', 'experimental', 'public-preview'];
+const LEGACY_ADMONITION_TYPES = ['new', 'updated', 'experimental', 'see-evidence'];
type AdmonitionVariant = 'neutral' | 'note' | 'further-reading' | 'important' | 'warning';
diff --git a/src/components/blocks/dividers/Aside.tsx b/src/components/blocks/dividers/Aside.tsx
index 151a323bad..d0ea494fc0 100644
--- a/src/components/blocks/dividers/Aside.tsx
+++ b/src/components/blocks/dividers/Aside.tsx
@@ -44,6 +44,14 @@ const Aside = ({ children, attribs }: AsideProps) => {
Further Reading
>
+ ) : attribs && attribs[`data-type`] === `see-evidence` ? (
+ <>
+
+
+ 🔎
+ See evidence
+
+ >
) : attribs && isVersioningInfo ? (
<>
+With 50% capacity headroom built in, Ably instantly absorbs traffic spikes without degradation or pre-provisioning. [See evidence here 🕵️](/docs/platform/architecture/infrastructure-operations#resource-implications)
+
+
diff --git a/src/pages/docs/liveobjects/concepts/objects.mdx b/src/pages/docs/liveobjects/concepts/objects.mdx
index a3200d07ec..9c8b2851cd 100644
--- a/src/pages/docs/liveobjects/concepts/objects.mdx
+++ b/src/pages/docs/liveobjects/concepts/objects.mdx
@@ -27,6 +27,10 @@ meta_description: "Learn how data is represented as objects in Ably LiveObjects"
LiveObjects enables you to store shared data as "objects" on a channel, allowing your application data to be synchronized across multiple users and devices in realtime. This document explains the key concepts you need to know when working with objects.
+
+
## Primitive types
Primitive types are the fundamental data types that can be stored in a collection type. Currently, the only supported collection type is a [LiveMap](/docs/liveobjects/map).
diff --git a/src/pages/docs/liveobjects/concepts/operations.mdx b/src/pages/docs/liveobjects/concepts/operations.mdx
index 3353bfa619..1210030a4a 100644
--- a/src/pages/docs/liveobjects/concepts/operations.mdx
+++ b/src/pages/docs/liveobjects/concepts/operations.mdx
@@ -29,6 +29,10 @@ LiveObjects operations define how object data is updated and synchronized across
When you create or update an object, the change is expressed as an _operation_ that is sent as an [object message](/docs/metadata-stats/stats#messages) on the channel. The operation is then applied to the object instance on all clients that are subscribed to the channel.
+
+
This document explains the key concepts you need to know when working with operations.
## Operation types
diff --git a/src/pages/docs/liveobjects/concepts/synchronization.mdx b/src/pages/docs/liveobjects/concepts/synchronization.mdx
index 795ce1d899..b1d8b0a83b 100644
--- a/src/pages/docs/liveobjects/concepts/synchronization.mdx
+++ b/src/pages/docs/liveobjects/concepts/synchronization.mdx
@@ -37,6 +37,10 @@ Ably stores the object data durably such that the data is available even after t
When a channel first becomes active in a region, the channel loads the object data from durable storage into memory to facilitate low-latency operation processing.
+
+
## Client objects
While Ably maintains the source of truth on the channel, each connected client keeps a local representation of the objects on the channel.
@@ -56,3 +60,7 @@ Currently, when a client publishes an operation it is not immediately applied to
If there is a loss of continuity on the channel for any reason, such as the client becoming disconnected for more than two minutes and entering the [suspended state](/docs/connect/states#connection-states), the client objects will automatically be resynchronized when it reconnects.
+
+
diff --git a/src/pages/docs/liveobjects/inband-objects.mdx b/src/pages/docs/liveobjects/inband-objects.mdx
index ca30536478..c2cd2bfdbb 100644
--- a/src/pages/docs/liveobjects/inband-objects.mdx
+++ b/src/pages/docs/liveobjects/inband-objects.mdx
@@ -37,6 +37,10 @@ If you're using LiveObjects from one of the the following languages, then use th
Inband objects works by delivering changes to channel objects as regular channel messages, similar to [inband occupancy](/docs/channels/options#occupancy).
+
+
## Enable Inband Objects
To enable inband objects, use the `objects` [channel parameter](/docs/channels/options#objects) when getting a channel:
diff --git a/src/pages/docs/liveobjects/index.mdx b/src/pages/docs/liveobjects/index.mdx
index 9ffd8a4f3d..fbabf1ce1a 100644
--- a/src/pages/docs/liveobjects/index.mdx
+++ b/src/pages/docs/liveobjects/index.mdx
@@ -37,6 +37,10 @@ LiveObjects enables you to store shared data as "objects" on [channels](/docs/ch
LiveObjects provides a simple, purpose-built API that handles realtime synchronization, persistence, and convergence behind the scenes. The result is a single logical view of your data - distributed to the edge, updated in real time, and always in sync - no matter how many users are connected or where they are in the world.
+
+
## Use cases
You can use LiveObjects to build all sorts of powerful functionality in your applications that require realtime updates to shared data. It is useful when your application has data that:
diff --git a/src/pages/docs/liveobjects/lifecycle.mdx b/src/pages/docs/liveobjects/lifecycle.mdx
index ebc0b2cb53..97ab57839e 100644
--- a/src/pages/docs/liveobjects/lifecycle.mdx
+++ b/src/pages/docs/liveobjects/lifecycle.mdx
@@ -76,6 +76,10 @@ channel.getObjects().on(ObjectsStateEvent.SYNCED, (stateEvent) -> {
LiveObjects synchronization events do not replace [connection](/docs/connect/states) or [channel](/docs/channel/states) states. You should still monitor these states and handle [connection](/docs/connect/states#handling-failures) and [channel](/docs/channel/states#failure) failures to ensure your application behaves as expected. LiveObjects synchronization events specifically inform you about the progress of LiveObjects data synchronization and should be used alongside other state management mechanisms.
+
+
## Handle object lifecycle events
diff --git a/src/pages/docs/liveobjects/storage.mdx b/src/pages/docs/liveobjects/storage.mdx
index 7f7ba0a557..35eec9317c 100644
--- a/src/pages/docs/liveobjects/storage.mdx
+++ b/src/pages/docs/liveobjects/storage.mdx
@@ -7,6 +7,10 @@ meta_description: "Learn about LiveObjects object storage."
Ably durably stores all objects on a channel for a retention period that is configured to 90 days by default. If the data is not updated within the retention period, it automatically expires. After expiry, the channel is reset to its initial state and only includes an empty [channel object](/docs/liveobjects/concepts/objects#channel-object)[root object](/docs/liveobjects/concepts/objects#root-object).
+
+