From b4362bc277cfb724e95df94a02b0885351a5fab3 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 10:23:58 +0200 Subject: [PATCH 01/10] docs(bryn): bucket the hero flow into two stage groups [BRYN-1086] Per GTM feedback, the pipeline reads as two bigger groups rather than a chain of steps: 'Noise to signal' (sources, identity, signals, score) and 'Play agent engine' (Plays and the actions they run). The suggested 'Noise to Signal Intelligence' label was adjusted: 'intelligence' is on the brand book's banned list. Adds subgraph title margins and cluster theming to the shared mermaid configs. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 28 ++++++++++++++--------- static/images/bryn/src/theme-dark.json | 10 ++++++-- static/images/bryn/src/theme-light.json | 10 ++++++-- 5 files changed, 35 insertions(+), 17 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index 8e01daad..19813445 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 66139940..c8d408b7 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index c1d9523d..8e424e18 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -1,13 +1,19 @@ flowchart TB - V([Website visitor]) --> P[Pixel] - P --> ID[Identity resolution] - PH[Product analytics] --> ID - WH[Your systems
webhook] --> ID - ID --> CO["Company + person
(when known)"] - CO --> S[Signals] - S --> SC["Score
Fit ⬩ Intent ⬩ Timing"] - SC --> PL[Plays]:::accent - PL --> O1[Slack alert] - PL --> O2[CRM update] - PL --> O3[On-page
personalization] + V([Website visitor]) --> P + subgraph NS ["Noise to signal"] + direction TB + P[Pixel] --> ID[Identity resolution] + PH[Product analytics] --> ID + WH[Your systems
webhook] --> ID + ID --> CO["Company + person
(when known)"] + CO --> S[Signals] + S --> SC["Score
Fit ⬩ Intent ⬩ Timing"] + end + subgraph PE ["Play agent engine"] + direction TB + PL[Plays]:::accent --> O1[Slack alert] + PL --> O2[CRM update] + PL --> O3[On-page
personalization] + end + SC --> PL classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF diff --git a/static/images/bryn/src/theme-dark.json b/static/images/bryn/src/theme-dark.json index 8fdc8be6..abfe31e4 100644 --- a/static/images/bryn/src/theme-dark.json +++ b/static/images/bryn/src/theme-dark.json @@ -10,12 +10,18 @@ "secondaryColor": "#161D27", "tertiaryColor": "#161D27", "edgeLabelBackground": "#0D1320", - "clusterBkg": "transparent" + "clusterBkg": "transparent", + "clusterBorder": "#2A3548", + "titleColor": "#94A3B8" }, "flowchart": { "curve": "basis", "htmlLabels": true, "nodeSpacing": 30, - "rankSpacing": 40 + "rankSpacing": 40, + "subGraphTitleMargin": { + "top": 8, + "bottom": 24 + } } } \ No newline at end of file diff --git a/static/images/bryn/src/theme-light.json b/static/images/bryn/src/theme-light.json index 34219f24..67abca1a 100644 --- a/static/images/bryn/src/theme-light.json +++ b/static/images/bryn/src/theme-light.json @@ -10,12 +10,18 @@ "secondaryColor": "#F8FAFC", "tertiaryColor": "#F8FAFC", "edgeLabelBackground": "#FFFFFF", - "clusterBkg": "transparent" + "clusterBkg": "transparent", + "clusterBorder": "#94A3B8", + "titleColor": "#1F2937" }, "flowchart": { "curve": "basis", "htmlLabels": true, "nodeSpacing": 30, - "rankSpacing": 40 + "rankSpacing": 40, + "subGraphTitleMargin": { + "top": 8, + "bottom": 24 + } } } \ No newline at end of file From 1ff5f2275c3f4da418356f61f022ddabedcb0321 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 10:34:01 +0200 Subject: [PATCH 02/10] docs(bryn): label the noise feeds and the bucket hand-off [BRYN-1086] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The raw events entering identity resolution are now named (page views ⬩ clicks, product events, your events) so the 'noise' reads as noise, and the cross-bucket edge says what crosses it: a scored signal triggers a Play. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index 19813445..bd9e54d5 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

a scored signal triggers a Play

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index c8d408b7..b931d796 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

a scored signal triggers a Play

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 8e424e18..5aacde21 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -2,9 +2,9 @@ flowchart TB V([Website visitor]) --> P subgraph NS ["Noise to signal"] direction TB - P[Pixel] --> ID[Identity resolution] - PH[Product analytics] --> ID - WH[Your systems
webhook] --> ID + P[Pixel] -->|"page views ⬩ clicks"| ID[Identity resolution] + PH[Product analytics] -->|"product events"| ID + WH[Your systems
webhook] -->|"your events"| ID ID --> CO["Company + person
(when known)"] CO --> S[Signals] S --> SC["Score
Fit ⬩ Intent ⬩ Timing"] @@ -15,5 +15,5 @@ flowchart TB PL --> O2[CRM update] PL --> O3[On-page
personalization] end - SC --> PL + SC --->|"a scored signal triggers a Play"| PL classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From 367c69dab01a8444ebce0161c9e7cd603669e075 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 11:01:02 +0200 Subject: [PATCH 03/10] docs(bryn): categorize Play outputs and pluralize the trigger label [BRYN-1086] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Outputs read as effect categories with real connectors as examples: Alerts (Slack ⬩ Teams ⬩ Discord) and Tool updates (CRM ⬩ sequences ⬩ webhooks), matching the engine's verbs-name-the-effect model. Jira and the suggested ellipsis were dropped: no Jira connector exists today and three real examples imply extensibility without over-promising. The hand-off label becomes 'scored signals trigger Plays'. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index bd9e54d5..b46ce446 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

a scored signal triggers a Play

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page
personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index b931d796..81c41bb6 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

a scored signal triggers a Play

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Slack alert

CRM update

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page
personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 5aacde21..cece446b 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -11,9 +11,9 @@ flowchart TB end subgraph PE ["Play agent engine"] direction TB - PL[Plays]:::accent --> O1[Slack alert] - PL --> O2[CRM update] + PL[Plays]:::accent --> O1["Alerts
Slack ⬩ Teams ⬩ Discord"] + PL --> O2["Tool updates
CRM ⬩ sequences ⬩ webhooks"] PL --> O3[On-page
personalization] end - SC --->|"a scored signal triggers a Play"| PL + SC --->|"scored signals trigger Plays"| PL classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From 62e7d482ceb2d7079f025b20d1e013f0c4560a67 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 11:03:28 +0200 Subject: [PATCH 04/10] docs(bryn): center the Plays node in the engine bucket [BRYN-1086] dagre centers a parent over its middle child, not the cluster; widening the on-page node balances the outer children so the middle child (and Plays above it) lands on the cluster midline. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index b46ce446..210c9659 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 81c41bb6..702b7b6e 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page
personalization

\ No newline at end of file +

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index cece446b..6e335b68 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -13,7 +13,7 @@ flowchart TB direction TB PL[Plays]:::accent --> O1["Alerts
Slack ⬩ Teams ⬩ Discord"] PL --> O2["Tool updates
CRM ⬩ sequences ⬩ webhooks"] - PL --> O3[On-page
personalization] + PL --> O3["On-page personalization"] end SC --->|"scored signals trigger Plays"| PL classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From 5dd0faae9267ee193c9be0e0a83ca6ee30d9026e Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 11:07:00 +0200 Subject: [PATCH 05/10] docs(bryn): center the identity chain by putting the pixel mid-row [BRYN-1086] Moving the pixel to the middle of the source row centres the chain the same way the engine bucket was fixed, and it earns its place: the visitor-to-pixel edge now forms a single straight spine from Website visitor down to Plays, with product analytics and the webhook balanced either side. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index 210c9659..276ec8a7 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 702b7b6e..6869e3ec 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

page views ⬩ clicks

product events

your events

scored signals trigger Plays

Website visitor

Pixel

Identity resolution

Product analytics

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 6e335b68..941f1e33 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -2,8 +2,8 @@ flowchart TB V([Website visitor]) --> P subgraph NS ["Noise to signal"] direction TB - P[Pixel] -->|"page views ⬩ clicks"| ID[Identity resolution] - PH[Product analytics] -->|"product events"| ID + PH[Product analytics] -->|"product events"| ID[Identity resolution] + P[Pixel] -->|"page views ⬩ clicks"| ID WH[Your systems
webhook] -->|"your events"| ID ID --> CO["Company + person
(when known)"] CO --> S[Signals] From 7000da9f94c707309101c63fe85f4d9b17e2cd2d Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 11:12:40 +0200 Subject: [PATCH 06/10] docs(bryn): close the loop back to the visitor [BRYN-1086] A dotted return edge from the Play agent engine to the website visitor, labelled 'personalized content and outreach': on-page personalization reaches them directly, sequences and rep follow-up reach them through the Plays. Drawn from the whole engine block deliberately; that is the mental-model altitude for the hero, with the per-verb detail living in the Play anatomy diagram. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index 276ec8a7..e46a0940 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 6869e3ec..2cdd3aba 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 941f1e33..2901dac5 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -16,4 +16,5 @@ flowchart TB PL --> O3["On-page personalization"] end SC --->|"scored signals trigger Plays"| PL + PE -.->|"personalized content and outreach"| V classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From 14ca4314834c5dfc310508cd9e3bb607c2b91729 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 11:20:17 +0200 Subject: [PATCH 07/10] docs(bryn): unroll the visitor loop into a single terminal arrow [BRYN-1086] The loop-back version put the engine's return arrow at the top of the diagram, starting the story at its own ending. Unrolled instead: one arrow, 'personalized content and outreach', drops from the engine to a terminal Website visitor node, so the read is strictly top to bottom and the diagram is bookended by the same visitor. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index e46a0940..7db12673 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

Website visitor

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 2cdd3aba..1557fbf0 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

Website visitor

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 2901dac5..751a665b 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -16,5 +16,5 @@ flowchart TB PL --> O3["On-page personalization"] end SC --->|"scored signals trigger Plays"| PL - PE -.->|"personalized content and outreach"| V + O2 -->|"personalized content and outreach"| V2([Website visitor]) classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From a0daff1d064c8ed087de34f036a7f2385a172318 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 11:37:51 +0200 Subject: [PATCH 08/10] docs(bryn): route the visitor return as a bottom-anchored loop [BRYN-1086] Per review: the return leg now leaves the engine's output row and loops up the right margin to the original visitor, replacing the terminal bookend node. Anchored at the on-page personalization box so the edge exits the bottom of the engine rather than its top boundary. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index 7db12673..8e1972aa 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

Website visitor

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 1557fbf0..b0d2376e 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

Website visitor

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 751a665b..15404129 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -16,5 +16,5 @@ flowchart TB PL --> O3["On-page personalization"] end SC --->|"scored signals trigger Plays"| PL - O2 -->|"personalized content and outreach"| V2([Website visitor]) + O3 -.->|"personalized content and outreach"| V classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From 13f458efb39cc45ecde34018a715861502a10504 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 12:01:26 +0200 Subject: [PATCH 09/10] docs(bryn): exit the visitor loop from the engine's bottom edge [BRYN-1086] The return line previously emerged from the top region of the engine block, which read as the engine sitting first in the flow. An invisible elbow node ranked below the outputs forces the dotted loop to leave the engine's underside, sweep below the block, and climb the right margin to the original visitor. Shipped SVGs verified for cluster order this time. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index 8e1972aa..a45e7d8f 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index b0d2376e..0240618c 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 15404129..20dbcf01 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -16,5 +16,7 @@ flowchart TB PL --> O3["On-page personalization"] end SC --->|"scored signals trigger Plays"| PL - O3 -.->|"personalized content and outreach"| V + O2 -.- W((" ")):::ghost + W -.->|"personalized content and outreach"| V + classDef ghost fill:none,stroke:none,color:transparent classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF From 528bca913b7ae1bf75ac2768f596f1cdb278f9d4 Mon Sep 17 00:00:00 2001 From: Kevin Colgan Date: Tue, 14 Jul 2026 12:02:07 +0200 Subject: [PATCH 10/10] docs(bryn): settle on the unrolled visitor bookends [BRYN-1086] Restores the terminal-node version (14ca431) after trying the loop-back variants: one arrow, 'personalized content and outreach', from the engine to a second Website visitor node. Strict top-to-bottom read, no long margin edge. Co-Authored-By: Claude Fable 5 --- static/images/bryn/d1-hero-flow-dark.svg | 2 +- static/images/bryn/d1-hero-flow-light.svg | 2 +- static/images/bryn/src/d1-hero-flow.mmd | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/static/images/bryn/d1-hero-flow-dark.svg b/static/images/bryn/d1-hero-flow-dark.svg index a45e7d8f..7db12673 100644 --- a/static/images/bryn/d1-hero-flow-dark.svg +++ b/static/images/bryn/d1-hero-flow-dark.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

Website visitor

\ No newline at end of file diff --git a/static/images/bryn/d1-hero-flow-light.svg b/static/images/bryn/d1-hero-flow-light.svg index 0240618c..1557fbf0 100644 --- a/static/images/bryn/d1-hero-flow-light.svg +++ b/static/images/bryn/d1-hero-flow-light.svg @@ -1 +1 @@ -

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

\ No newline at end of file +

Play agent engine

Noise to signal

product events

page views ⬩ clicks

your events

scored signals trigger Plays

personalized content and outreach

Website visitor

Pixel

Product analytics

Identity resolution

Your systems
webhook

Company + person
(when known)

Signals

Score
Fit ⬩ Intent ⬩ Timing

Plays

Alerts
Slack ⬩ Teams ⬩ Discord

Tool updates
CRM ⬩ sequences ⬩ webhooks

On-page personalization

Website visitor

\ No newline at end of file diff --git a/static/images/bryn/src/d1-hero-flow.mmd b/static/images/bryn/src/d1-hero-flow.mmd index 20dbcf01..751a665b 100644 --- a/static/images/bryn/src/d1-hero-flow.mmd +++ b/static/images/bryn/src/d1-hero-flow.mmd @@ -16,7 +16,5 @@ flowchart TB PL --> O3["On-page personalization"] end SC --->|"scored signals trigger Plays"| PL - O2 -.- W((" ")):::ghost - W -.->|"personalized content and outreach"| V - classDef ghost fill:none,stroke:none,color:transparent + O2 -->|"personalized content and outreach"| V2([Website visitor]) classDef accent fill:#7C3AED,stroke:#7C3AED,color:#FFFFFF