Взаимозачёт бонусов сети (Волна 3). Гость копит бонусы в одной точке — тратит в другой; HQ автоматически сводит долги в конце месяца. Один пул-дорожка «Финансист · HQ (авто, сервер)», гейт-цикл накопления взаимозачётов, финальное сведение. Граф 1:1 с Mermaid-каноном crm/cross-clearing.md.
E-21 (кросс-клиринг) + схема 48.
%%{init:{
"theme":"base",
"themeVariables":{
"fontFamily":"Hanken Grotesk, ui-sans-serif, sans-serif",
"fontSize":"14px",
"lineColor":"#5a4d3d",
"primaryColor":"#f6e6cd",
"primaryBorderColor":"#d5842a",
"primaryTextColor":"#241b12",
"clusterBkg":"#fbf7ef",
"clusterBorder":"#d0c1a6",
"edgeLabelBackground":"#fbf7ef",
"tertiaryColor":"#f6efe2"
},
"flowchart":{"curve":"basis","nodeSpacing":42,"rankSpacing":52,"htmlLabels":true}
}}%%
%% E-22 Кросс-клиринг · Источник: ответ E-21 (кросс-клиринг) + схема 48
flowchart TD
subgraph HQ["Финансист · HQ (авто, сервер)"]
S1(["Гось потратил бонусы сети
в точке Б (не своей)"]) --> C1["Зафиксировать: точка А выпустила,
точка Б погасила"]
C1 --> M1{"Конец месяца?"}
M1 -->|нет| WAIT["Накапливать взаимозачёты"]
WAIT --> M1
M1 -->|да| SET["Свести: списать долг с А,
компенсировать Б"]
SET --> D1(["Взаимозачёт закрыт"])
end
classDef actor fill:#fbf7ef,stroke:#94866f,color:#241b12,stroke-dasharray:5 3;
classDef ext fill:#e5ecf6,stroke:#5b7bb0,color:#243a5f;
classDef gate fill:#f8e8cf,stroke:#c9791f,color:#7a4a10;
classDef event fill:#dcefe1,stroke:#3c8a5b,color:#1c4a30;
classDef task fill:#f6e6cd,stroke:#d5842a,color:#241b12;
classDef auth fill:#ede7f6,stroke:#7e57c2,color:#4527a0;
classDef audit fill:#d6efec,stroke:#26a69a,color:#0f5c56;
classDef danger fill:#f6dcd5,stroke:#bc3f2b,color:#7a2418;
class C1,WAIT,SET task;
class M1 gate;
class S1,D1 event;
style HQ fill:#fbf7ef,stroke:#d0c1a6;
HQ: гейт M1 «Конец месяца?» лишь зацикливает накопление (WAIT → M1) до конца периода, затем SET сводит и D1 закрывает взаимозачёт. Опасных операций (отмена-без-права / авторизация MSR / Audit Trail) в процессе нет — оттого красная кодировка словаря §5 в графе не задействована.