From fd8fcdf307997b98db952855e6968aa5fff486bd Mon Sep 17 00:00:00 2001
From: Dan Jones <dan.jones@noc.ac.uk>
Date: Mon, 13 Mar 2023 16:54:09 +0000
Subject: [PATCH] docs: corrections to pubsub topic docs

---
 README.md | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/README.md b/README.md
index 2e2c8b5..702df2e 100644
--- a/README.md
+++ b/README.md
@@ -17,16 +17,23 @@ Messages are routed using either a publish/subscribe or broadcast mechanism.
 
 For published messages, the message is published for a given a topic. 
 
-Clients create a subscription to a topic pattern which may include wildcards. 
+Clients create a subscription (stored in their config) to a topic pattern which may include wildcards. 
+It's important to note that the client config documents the subscription. To change a client 
+subscription it must be updated with the backbone.
 
-Messages with a topic matching a client's subscription pattern are delivered to that client.
+Published messages are delivered to all clients where 
+the message topic matches the client's subscription 
+topic pattern.
 
-Broadcast messages are delivered to all clients regardless of their subscription.
+Broadcast messages are delivered to all clients regardless of their subscription. 
 
 ### Field
 
 The topic should be set in the `message.header.destination` for published messages. 
-The desintation field should be set to `broadcast` for any messages sent using broadcast. 
+The `destination` field should be set to `broadcast` for any messages sent using broadcast. 
+
+Because the `destination` field is a topic it defines what the message relates to - not 
+who the intended recipient is. 
 
 ### Structure
 
@@ -39,21 +46,13 @@ e.g
 
 ### Terms
 
-The `header.destination` field contains the topic that messages will be published to.
-
-This is not the intended recipient of those messages.
-
-The autonomy engine/frontend/c2s are not represented in the topic.
-
-The topic describes what the message relates to.
-
-The client `subscription` will define which clients receive a message.
-
 * `prefix` - an agreed hard-coded/config setting prefix shared by all adapters and client subscriptions eg soar 
 * `operator` - human readable organisation name for the platform operator one of [noc|planet-ocean|hydrosurv] 
 * `platform_type` - one of [autosub|ecosub|reav?]
 * `platform_identifier` - human readable identifier for the platform eg ah1, eco1, reav1 
-* `to_platform|from_platform` -  eg ..to_platform.mission_plan, ..from_platform.platform_status
+* `to_platform|from_platform` - eg ..to_platform.mission_plan, ..from_platform.platform_status
+missions are sent `to_platform` to be executed and status updates are received `from_platform` containing 
+information about its position and health status
 * `message_type` - one of `[acknowledgement|mission_plan|observation|planning_configuration|platform_status...]`
 
 ### Subscriptions
-- 
GitLab