You turn clause logic
into real contract data.
As Manager, you are the final link in the chain. You take the graphs designed by the Actuary and apply them to real reinsurance contracts — one instance at a time, field by field. Your data is the output of the entire formalisation process.
Your role in the chain
Four roles — one direction. You are the endpoint where logic becomes data.
| Step | Profile | What they produce for you |
|---|---|---|
| 1 | Junior | Clause drafts with wording, family, treaty types |
| 2 | Senior | Validated clauses + dimension catalogue (axes and fill instructions) |
| 3 | Actuary | DAG graphs — the formalised logic you will instantiate per contract |
| 4 | Manager ← you | Create contracts, instantiate graphs, fill in dimension values per node. |
Contracts
The contract is your entry point. Everything starts from the contract list on the left panel.
Creating and editing a contract
Click + New contract to open the contract creation modal. Fill in the label, status, start and end dates, and an optional comment. To edit an existing contract, click the ✏️ icon on its row in the list.
The contract detail panel
Clicking a contract in the list opens its detail panel on the right. The panel shows three sections in sequence:
Instantiation
An instance is one graph applied to one contract. Creating one takes a single click.
Quick instantiation
In the contract detail panel, expand a clause to see its available graphs. Click any graph row to instantly create a new instance — the label is set automatically as "{graph label} · YYYY-MM-DD". A confirmation toast appears and the new instance shows up immediately in the Instances section below.
Custom label instantiation
If you need a specific instance label, click the + Instance button in the DAG view toolbar (visible when a graph is open). This opens a modal where you can type a custom name before confirming.
Duplicate warning
If you instantiate a graph that is already instantiated on the same contract, the platform creates the new instance but shows a warning toast. Multiple instances of the same graph on one contract are allowed — for example, one per underwriting year.
Deleting an instance
Click the 🗑️ icon on an instance row. This permanently deletes the instance and all dimension values filled within it. This action is irreversible.
Filling dimension values
Click ▶ Open on any instance to load the DAG and start filling values node by node.
Reading the graph
The graph is displayed in read-only mode — you cannot move nodes or change the structure. Nodes with dashed borders are INPUT nodes — the leaves where values enter the system. Grey dashed nodes are phantoms from another graph (read-only projections). Solid-border nodes are computed from their children.
Opening a node's fill drawer
Click any node to open its dimension fill drawer on the left side of the screen. The drawer slides in and shows one block per dimension attached to that node by the Actuary. Each block has a name, a guidance note, and one or more numbered fill fields.
Phantom nodes
Some nodes appear in grey with a dashed border — these are phantom nodes from another graph feeding into the current clause. Clicking a phantom shows a read-only preview of its source graph. You cannot fill values on a phantom — its data comes from the corresponding instance in the source graph.
Risk dimensions
Some nodes carry an additional block of Risk fields — the exposure description built by the Risk Modeler and connected by the Actuary.
When the Actuary has connected an Actuary node to a Risk node via a Risk link, the fill drawer for that node shows a second block below the standard dimensions, separated by a red border and labelled 🗺️ RISK DIMENSIONS.
Each Risk block shows the Risk node label, its type (site / peril / coverage), the operand that qualifies the relationship (EXPOSED_TO, LOCATED_AT, COVERED_BY, AGGREGATES), and the Risk Graph it belongs to. Below that, one fill field per Risk dimension attached to the node by the Risk Modeler.
Validated clauses
Read-only catalogue of all validated clauses — accessible via the sidebar as an overlay panel.
Each clause card shows its title, family, status, treaty type pills, RI term tags (🏷 with definition on hover), and clause wording. Use this section to understand the business logic of a clause before instantiating its graph on a contract.
Dimensions
Read-only view of the documentary axes — a reference for the categories you will encounter when filling nodes.
Each dimension entry shows its code, label, category, and the list of fill instructions. If you are unsure what a dimension represents or what format to use, consult this section. The instructions shown here are exactly the ones that appear as fill fields in the drawer.
Graph Instances Explorer
Cross-contract view of all graph instances, with fill progress and contract context — accessible from the sidebar under Analytics.
The Explorer loads all instances across every contract in a single query and displays them as cards. Each card shows the instance ID, label, contract, clause family, treaty type pills, and a fill progress bar. Click any card to open the inspector panel on the right, which gives the full context and a direct Open instance → button.
Filters
| Filter | What it targets | Notes |
|---|---|---|
| Clause family | Family of the clause linked to the graph | |
| Treaty type | Treaty type family (e.g. XL, Quota Share) | Cascades to → List |
| List | Specific treaty type code on the contract | Filtered by Treaty type if active |
| Status | Contract status (Active, Expired…) | Cascades to → Contract |
| Contract | Specific contract | Filtered by Status if active |
| Fill | Completion level: Complete / Partial / Empty |
All filters apply client-side with no additional server call. The cascades Treaty type → List and Status → Contract narrow the available options dynamically as you select values.
Export
The ⬇ Export CSV button in the Explorer header exports the currently filtered view as a CSV — only the instances matching active filters. Columns: instance id, label, contract id, contract label, contract status, start date, end date, graph id, graph label, cycle flag, clause id, clause title, clause family, treaty types (pipe-separated), node count, nodes filled, fill %.
Data Checks
Live queries on your tenant data — each view exportable as CSV. Accessible from the sidebar as an overlay panel.
Four views are available for the Manager profile:
| View | What it shows |
|---|---|
| Contracts with instantiated graphs | Contracts that have at least one graph instance, with the instance count per contract. |
| Contracts with no graph instance | Contracts created but not yet instantiated — useful to track gaps. |
| Instances with no dimension values | Instances where the Manager has not entered any value yet — useful to track unfilled work. |
| All dimension values entered | Full export of all filled values, joined with their contract, graph, node, dimension, and instruction context. |
Click ▶ Run on any view to execute and display results. Click ⬇ Download CSV to export. The last view is the primary data extraction tool — it gives a complete picture of everything your team has filled in.
Maintenance
Cleanup operations for stale data left by upstream deletions. Always run the diagnostic first — it shows exactly what will be removed without touching anything.
| Code | What it cleans | Triggered by |
|---|---|---|
| M1 | Filled values whose instance was deleted | Direct instance deletion |
| M2 | Filled values whose dimension was detached from its node by the Actuary | Actuary modifies graph structure after values were entered |
| M3 | Filled values whose instruction line was deleted by the Senior | Senior modifies a dimension's instructions after values were entered |
| M4 | Instances attached to a graph that was deleted — cascades to all their filled values | Actuary deletes a graph that had instances |
| M5 | Instances attached to a contract that was deleted — cascades to all their filled values | Contract deleted with existing instances |
Recommended order: M4 → M5 first (remove orphan instances), then M1 → M2 → M3 (remove orphan values). This avoids double-counting rows across operations.