Program Manager — Tower Editor

Reinsurance programmes.
Structured. Visual. Documented.

As the Program Manager, you design the reinsurance tower structure — the chain of protections a cedant purchases, layer by layer. You build the architecture that makes every programme legible and auditable.

🏗️ Programs & towers
🕸️ DAG-based structure
Node types
Link types
🧩 Dimensions
' . "\n"; $content_html .= $sec['html'] . "\n"; $content_html .= '

Key concepts

Three levels — one hierarchy.

LevelObjectDescriptionExample
1ProgrammeTop-level container grouping all towers for a given cedant or risk portfolio.Standard
2TowerA single protection layer structure — a directed graph encoding how losses flow from gross to net.QS + XL Risk
3NodeA position in the flow — gross loss, ceded amount, net retention. Each has a type and optional dimension annotations.Gross loss, Net retention
💡
The tower is a DAG. Directed, Acyclic Graph — flows always go from gross input to net output, never backwards. The platform detects and flags any accidental cycle.

Building a tower

A tower encodes how losses travel through the reinsurance structure — from gross position through cessions and recoveries to the net retention.

💡
Think of it as a loss flow diagram. Gross loss at the top, net at the bottom. Each node is a position; each link qualifies how one position feeds into another.

Workflow

1
Open a tower
Click any tower row in the sidebar. The canvas loads its nodes and links. If no positions are saved, Auto-layout runs automatically.
2
Add nodes
Click + Node or double-click the canvas. Set label and node type in the inspector, then click Apply.
3
Draw links
Hover a node until the port appears at its bottom edge. Drag to another node. A link type picker opens — select the appropriate type.
4
Attach dimensions
Select a node → Dimensions tab → + Add dimension. Choose from the catalogue. Click Apply.
5
Save
Click 💾 Save or press Ctrl+S. Nodes, links, positions and dimensions are written atomically. Cycle detection runs automatically.
⚠️
Save is all-or-nothing. Unsaved changes exist only in the browser. The header shows ● unsaved when there are pending changes.

Canvas controls

ActionHow
PanClick and drag empty canvas
ZoomScroll wheel
Fit view⊡ Fit button
Auto-layout⬡ Auto-layout — recomputes positions top-to-bottom
Select node/linkClick it — opens inspector
Delete nodeSelect → ✕ badge, or Delete
Delete linkSelect → 🗑 in inspector, or Delete
Quick add nodeDouble-click empty canvas
SaveCtrl+S or 💾 Save

Inspector panel

Clicking a node or link opens the inspector — your editing workspace for that element.

ContextWhat you do here
Node — PropertiesSet label and node type. Click Apply to confirm locally, then Save.
Node — DimensionsAdd or remove dimension attachments. Apply then Save.
LinkChange the link type. Apply then Save.
Tower info (nothing selected)Programme and tower stats, cycle flag, and the ✏️ Rename button.
💡
Apply vs Save. Apply updates the in-memory canvas. Save writes to the database. Always Save after all your Apply actions.

Node types

Node types define the role of each position in the loss flow. They are colour-coded on the canvas.

The platform ships with two seed types: LOSS (a loss position — gross, ceded, or net) and LOSS_COMMON_ACCOUNT (a common account loss shared between cedant and reinsurer). You can add as many custom types as your structures require via ⬡ Node types in the Reference section.

💡
Node types are fully customisable. Create types that match your vocabulary: PREMIUM, REINSTATEMENT, AGGREGATE_LIMIT, etc. Each type gets its own colour and is available immediately in the node inspector.

Dimensions

Dimensions attach documentary axes to nodes — they specify what must be described at each position in the tower.

Seed categoryDimensionsPurpose
FLOW — Flow StateGROSS · RETENTION · RECOVERYPosition in the loss flow chain
COVERAGE — Coverage TypeQS · XL_RISK · XL_EVENT · XL_COMMON · SLType of reinsurance coverage at this node

Attaching dimensions

1
Select the node
Click the node on the canvas.
2
Open Dimensions tab
Click the Dimensions tab in the inspector.
3
Add, Apply, Save
Click + Add dimension, choose from the dropdown (grouped by category), repeat as needed. Click Apply then Save.

Managing the catalogue

Open 🧩 Dimensions in the Reference section. Use + Add category and + Dim. to create, or the Edit / Del buttons to modify. A dimension cannot be deleted while attached to a node.

Managing node & link types

The Reference section gives you full CRUD control — code, label, colour, and display order for each type.

⚠️
Codes are immutable after creation. A type in use cannot be deleted. Rename labels freely — the code is the stable identifier stored on each node or link in the database.

The colour picker assigns the rendering colour for nodes on the canvas and arrowheads on links. Choose contrasting colours for types that frequently appear together in the same tower.

Data Checks

Live queries on your tenant data — accessible from the Analytics section of the sidebar.

ViewWhat it shows
Inventaire des towersAll towers with node count, link count, and cycle flag — programme by programme.
Nœuds sans dimensionNodes with no dimension attached — useful before a programme review.
Towers avec cycle détectéTowers flagged with a structural cycle — must be corrected before signoff.

Click ▶ Run on any view, then ⬇ Download CSV to export. The toolbar ⬇ CSV exports the current tower's nodes and links as a flat file.

Database purge

Three cleanup operations for structural orphans. Always diagnose first — it is always safe and shows exactly what will be removed.

⚠️
All purge operations are irreversible. Review the diagnostic list before confirming.
CodeWhat it cleansTypical cause
P1Nodes whose parent tower was deleted — cascades to their links and dimension attachmentsTower deleted outside normal flow
P2Links whose parent or child node no longer existsNode deleted without cascading its links
P3Dimension attachments whose node or dimension no longer existsNode or dimension deleted leaving stale attachments

Recommended order: P1 → P2 → P3.

Cycle detection

A tower must be acyclic — no node can be its own ancestor. RI-TOOL checks this on every save.

If a cycle is detected, an orange banner appears at the top of the canvas and a red dot appears on the tower row in the sidebar. The tower is still saved but is structurally invalid.

⚠️
To fix a cycle: find the link that feeds back into an ancestor and delete it. Resave — the banner disappears when the graph is acyclic.
New to the platform? Your workspace is already built.
Every new account includes a complete reference framework, a live Profit Commission example with 5 actuary graphs, and 2 SOA statement templates — included at signup.