SAS Viya
SAS Viya IFRS 17 · Governed reporting engine

IFRS 17
AI Studio

{{ bootMsg }}

{{ bootN1 }}Measurement engine
{{ bootN2 }}Semantic layer
{{ bootN3 }}Use cases
{{ bootN4 }}Insights
studio.ifrs17.ai · Production demonstration
SAS® Viya®
V {{ authUserName }}SAS Viya

Welcome to SAS Viya

Let us help you get started with some demos and hands-on experiences.

Productivity and Speed

From data to discovery to deployment, the intelligent automation of SAS Viya supports you through the full analytics life cycle.

Experience SAS Viya Copilot

Data & AI Life Cycle Quick Start

Solutions

User not Permissioned
{{ noPermItem }} is not provisioned for user {{ authUserName }}.
SAS
IFRS17 AI Studio

Sign in

Use your SAS Viya credentials to continue.

{{ loginError }}
© 2020-2026, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.About
SAS

You have signed out.

For increased security, close your browser.

{{ authTimeoutText }}

© 2020-2026, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.About
SAS {{ splashSparkles }}
© 2020-2026, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
IFRS 17 AI Studio Focus mode · Esc to exit
IFRS 17 AI Studio
{{ bc.label }} {{ bc.label }} /
IFRS 17 AI Studio
V2 Operational Intelligence
{{ periodChip }}
Needs attentioni
Workspaces
Analysis
Accounting
Control & data
VC
Vasudevan Chandrashekran
Group Actuarial
{{ period }} · FY26 close
Advanced Filters
Questions and answers are grounded to these choices.
{{ moduleTitle }}
{{ moduleSubtitle }}
Explain this number
{{ exTitle }}
{{ exValue }} {{ exDelta }}
{{ exScope }}
›
{{ t }}
What moved it
{{ b.val }}
{{ b.label }}
{{ exRowsTitle }}
{{ exMoreRows }}
{{ f.l }}
{{ f.v }}
Where the number comes from
{{ l.t }} →
CFO pack · board-ready movement story
Three slides, written from the {{ cfoFy }} numbers. Charts export as editable PowerPoint shapes, with commentary in the speaker notes.
{{ cfoSlide.kicker }}
{{ cfoSlide.title }}
{{ cfoSlide.lede }}
{{ k.label }}
{{ k.value }}
{{ k.delta }}
{{ b.valLabel }}
{{ b.label }}
{{ t }}
Insurance revenue composition
{{ r.label }}{{ r.value }}
CSM movers by product line
{{ mv.label }}{{ mv.value }}
Decisions for the board
{{ t }}
SAS IFRS17 AI Studio · {{ cfoScope }}{{ cfoSlide.num }} / 3
{{ cfoMsg }}
Auditor pack
One file of evidence for one contract group
Lineage maps, hop evidence, reconciliation, assumption approvals and a sign-off sheet, sealed with a SHA-256 fingerprint.
Loading the traceability index…
Format
Sections
{{ apRingLabel }}
Pre-flight checks
Run against the extract before the pack is sealed.
{{ apScore }}
{{ c.icon }}
{{ c.label }}
{{ c.detail }}
{{ apSummary }}
{{ apMsg }}
Welcome
Generative and agentic AI across your IFRS 17 results, disclosures and governance. Pick up where you left off, or jump into a module below.
Pinned insights
Annual report insight
{{ a.metric }}
{{ a.value }}{{ a.change }}
{{ a.note }}
Regulator watch
{{ regulatorWatchStatusLabel }}
NEW {{ r.item }}
{{ r.status }}
{{ r.due }}
Audit findings & remediation
{{ sv.count }}
{{ sv.label }}
High: {{ auditHighDetail }}
Avg. days to close: {{ auditAvgDays }} (down from {{ auditAvgDaysPrior }})
Historical performance — 6-year trendi
{{ s.label }}
{{ s.pct }}%
{{ s.last }} {{ s.unit }}
What changed this period
  • {{ c }}
Full audit trail
Every assumption change, sign-off and AI-drafted narrative is logged with reviewer and timestamp.
FY2017 close is in progress
CSM closed at {{ nf.NT001 }}, down {{ nf.NT002 }} since opening. 2 assumption changes worth {{ nf.NT003 }} are pending sign-off and 2 AI-drafted narratives are awaiting review in Governance & Audit Trail.
Ask the Copilot
Ask a natural-language question over your IFRS17 results and get a sourced, confidence-scored answer.
The sections below read live from Data Hub tables in the "Home Intelligence Feed" library. That library is fed by a "Home Intelligence Feed" source & collection — the same annual reports, audit reports and regulator letters, viewable as uploaded documents in Retrieval Agent Manager — plus a daily automated web scrape of regulator publication pages. View in Retrieval Agent Manager → · Open Data Hub →
Since go-live — 6 years under IFRS 17
{{ ms.year }}
{{ ms.label }}
{{ ms.detail }}
IFRS 17 explainers
{{ homeVideoPageLabel }}
{{ v.title }}
{{ v.audience }}
{{ v.source }}
{{ v.duration }} · {{ v.watchLabel }}
No explainer videos match "{{ homeVideoSearch }}".
EXECUTIVE COMMAND CENTER
{{ execLensTitle }}
{{ execLensBlurb }}
Scope · {{ execLensScope }} Demo data Workbook · proxy
Drill-downs · {{ execKpiLabel }}
{{ execKpiValue }} {{ execKpiMeta }}
{{ d.n }}
{{ d.q }}
{{ d.a }}
{{ d.fig }} {{ d.bandLabel }}
{{ p.title }}
Demo data
{{ p.chart }}
{{ tc.valueLabel }}
{{ tc.label }}
{{ c }}
{{ cell.text }} {{ cell.text }}
{{ n.title }}
{{ n.text }}
{{ st.label }}
{{ st.pctLabel }}
{{ hc }}
{{ hr.label }}
{{ cell.text }}
{{ cd.label }}
{{ cd.value }}
{{ cd.note }}
{{ p.text }}
Source · {{ p.sourceLabel }}
Lineage · {{ p.lineage }}
{{ execSectionsNote }}
Workbook · proxySection figures computed from ICG_PROXY_MEASURES and EXPERIENCE_VARIANCE_ICG
What changedi
{{ c.title }}
{{ c.detail }}
{{ c.tag }}
Why it changedi
{{ w.cause }}{{ w.weightLabel }}
{{ w.detail }}
Material itemsi
Ranked by materiality score · click to open the underlying insight
{{ mi.item }}
{{ mi.link }} →
{{ mi.value }}
{{ mi.score }}
{{ mi.owner }}
{{ mi.status }}
Forward viewi
Model {{ execForwardModel }} · uncertainty {{ execForwardBand }} · WW_INSURANCE book, MYR K
{{ execForwardStatement }}
{{ execForwardChart }}
Reported Illustrative forecast
Decisions requiredi
{{ d.question }}
{{ d.impact }}
{{ d.owner }} · by {{ d.by }}
Recorded: {{ d.chosen }} — logged to the audit trail.
{{ execLensLinkNote }}
Executive overview, financial, risk and forecast lenses are computed from the SAS WW_INSURANCE sample workbook as at 31 Dec 2017 (amounts relabelled MYR). CSM, loss component, revenue and service result are proxies pending SAS IFRS17 engine output. Close operations and governance lenses remain illustrative demo values.
Close readinessi
{{ closeBand }} FY2017 close review population
{{ closeScore }} / 100
{{ closeStatement }}
Control gatesi
{{ g.mark }} {{ g.label }} {{ g.detail }}
Work queuei
Ranked by materiality
ItemValueMaterialityOwnerTeamStatusAge
{{ x.item }} {{ x.value }}
{{ x.score }}
{{ x.owner }} {{ x.team }} {{ x.status }} {{ x.age }} Investigate →
No items match these filters.
Illustrative demo data. Figures and generated answers are not production-calculated.
{{ t.label }} {{ t.value }} {{ t.sub }}
Close calendar
FY2017 year-end · working days · CP = critical path · select a phase for its tasks
{{ l.label }}
Phase
{{ d.wd }}
{{ d.date }}
{{ d.mark }}
Phase detail
{{ ctSel.statusLabel }}
{{ ctSel.name }}
{{ ctSel.window }} · {{ ctSel.team }} · {{ ctSel.owner }}
{{ ctSel.note }}
{{ k.mark }} {{ k.t }} {{ k.due }}
{{ ctSel.deps }}
Blockers to sign-off
Ranked by exposure · each links to where it is resolved
{{ b.rank }}
{{ b.t }}
{{ b.d }}
{{ b.owner }} · due {{ b.due }}
{{ b.x }}
Team lanes
{{ tm.name }}{{ tm.label }}
{{ tm.od }}
Illustrative close calendar. Late-rerun exposure is calculated live from the Scenario Lab cash-flow engine; other exposures come from the My Close queue.
Loading subledger balances, journals and accounting events…
Year ended 31 Dec
Scope
{{ t.label }}{{ t.value }}{{ t.sub }}
Commentary agent
{{ l.mark }}{{ l.t }}
Flux by account
{{ fxBasis }}
Account{{ fxPrevLbl }}{{ fxCurLbl }}Change%Status
{{ r.label }}
Line detail
{{ fxSel.st }}
{{ fxSel.name }}
{{ fxSel.gl }} · {{ fxSel.cat }}
{{ fxPrevLbl }}
{{ fxSel.prev }}
{{ fxCurLbl }}
{{ fxSel.cur }}
Change
{{ fxSel.d }} · {{ fxSel.pct }}
Commentary{{ fxSel.textNote }}
No commentary yet. Draft this line, or run the agent across every line above threshold.
What moved it · {{ fxSel.postedLbl }}
{{ x.label }}{{ x.v }}
{{ x.n }} journal lines · {{ x.m }}
{{ fxSel.resid }}
By portfolio
{{ g.g }} · {{ g.v }}
Journal lines · largest {{ fxJrN }}
DateTypeD/CMYRMeasure · group
{{ r.dt }}{{ r.et }}{{ r.dc }}{{ r.amt }}{{ r.sm }} · {{ r.icg }}
Balances and journals are the SAS IFRS17 subledger sample (SL_BALANCE, SL_JOURNAL) converted at 4.95 to MYR. The subledger carries P&L accounts cumulatively, so P&L lines compare year activity; balance-sheet lines compare closing balances. Commentary is drafted from the posted journals and needs controller review.
Loading subledger balances, journals and accounting events…
Financial year
View
{{ t.label }}{{ t.value }}{{ t.sub }}
Income statement · {{ mpTitle }}
MYR · income positive · green is favourable
LineActualBudgetVariancePrior yearFY forecast
{{ r.name }} {{ r.a }} {{ r.b }} {{ r.v }}{{ r.vp }} {{ r.py }} {{ r.fc }}
Budget assumptions · live what-if
CommentaryRedrafts as you move the assumptions
{{ c.t }}
Insurance service result by month
Bars actual · marker budget · faded months not yet closed
{{ m.l }}
By product line · {{ mpTitle }}
Product lineRevenueService resultvs budgetCSM
The subledger posts IFRS 17 results annually, so monthly actuals phase each account's year activity (revenue on coverage units, claims on the seasonal profile). Budget is prior-year activity flexed by the assumptions above and phased evenly. Product lines are display names for the 16 sample contract groups.
Loading subledger balances, journals and accounting events…
FY2017 external audit · today WD+3, Thu 4 Jan 2018
{{ t.label }}{{ t.value }}{{ t.sub }}
Ageing of open requests
{{ a.l }}{{ a.n }}
Evidence agent
{{ l.mark }}{{ l.t }}
Requests
{{ pbSel.id }}{{ pbSel.st }}{{ pbSel.due }}
{{ pbSel.t }}
Auditor request · raised {{ pbSel.raised }}
{{ pbSel.q }}
Matched evidence
Not matched yet. Run the evidence agent or match this request on its own.
{{ e.name }}{{ e.detail }}
Drafted response
Loading subledger balances, journals and accounting events…
Ask the subledger in plain English
Agent steps
{{ s.mark }}{{ s.t }}{{ s.d }}
Generated SQL
{{ alTable }}
{{ alSql }}
{{ alAnswer }}
Result · {{ alN }} rows
{{ c.l }}
{{ c.v }}
{{ alChartTitle }}
{{ b.l }}{{ b.v }}
Source rows
{{ alSrcNote }}
ASOFDATEAccount / measureContract groupD/CMYRType
{{ r.dt }}{{ r.k }}{{ r.icg }}{{ r.dc }}{{ r.amt }}{{ r.et }}
Recent
Step {{ tourStepLabel }}
{{ tourCurrent.title }}

{{ tourCurrent.body }}

{{ dashAsAt }}
Contractual Service Margin
{{ dashKpi.csm.value }}
{{ dashKpi.csm.changeLabel }}
{{ dashKpi.csm.priorLabel }}
{{ dashKpi.csm.yoyLabel }}
Risk Adjustment
{{ dashKpi.ra.value }}
{{ dashKpi.ra.changeLabel }}
{{ dashKpi.ra.priorLabel }}
{{ dashKpi.ra.yoyLabel }}
Loss Component
{{ dashKpi.lc.value }}
{{ dashKpi.lc.changeLabel }}
{{ dashKpi.lc.priorLabel }}
{{ dashKpi.lc.yoyLabel }}
Insurance Revenue
{{ dashKpi.rev.value }}
{{ dashKpi.rev.changeLabel }}
{{ dashKpi.rev.priorLabel }}
{{ dashKpi.rev.yoyLabel }}
/
{{ dashDrillMetricLabel }} — {{ dashDrillLevelLabel }}

Most granular level — the movement drivers behind this balance. Click a bar to drill into the next level of aggregation.

{{ bar.valueLabel }}
{{ bar.name }}
{{ bar.name }}
{{ bar.valueLabel }}
CSM by year-end, with run-off
{{ p.value }}
{{ p.label }}
/

{{ csmChartLevelLabel }} — most granular level

{{ bar.valueLabel }}
{{ bar.name }}
{{ bar.name }}
{{ bar.valueLabel }}
Generative highlights
Proxy measures

{{ dashHighlightsNote }}

•{{ h.text }}
Open review items
Contract groupProduct lineIssueSeverityStatus
{{ r.id }}{{ r.lob }}{{ r.issue }}{{ r.sev }}{{ r.status }}
Use cases
No use case matches.
Insights
No insights match that filter.
{{ libCrumb }}
{{ libTitle }}
{{ libMat.band }}
{{ libValue }}
{{ libQuestion }}
{{ libView }} · Owner {{ libOwner }} · {{ libNum }}
{{ libAnswer }}
{{ libChart }}
{{ c.label }}
{{ c.valueLabel }}
Drill deeper
{{ libFollowAnswer }}
Driversi
{{ d.rank }}
{{ d.text }}
{{ d.pctLabel }}
Materialityi
{{ libMat.band }} {{ libMat.scoreLabel }}
Absolute · {{ libMat.absolute }}
Relative · {{ libMat.relative }}
Close impact · {{ libMat.closeImpact }}
Evidencei
{{ libEv.staleLabel }} {{ libEv.reviewLabel }}
{{ c.valueLabel }}
{{ c.label }}
Definition · {{ libEv.definition }}
Source · {{ libEv.table }} · {{ libEv.rows }}
Filters · {{ libEv.filters }}
Freshness · {{ libEv.freshness }}
Lineage · {{ libEv.lineage }}
Source detail
The reconciled line items behind this insight
{{ c }}
{{ cell }}
Outlooki
{{ libOutlook }}
Next quarter
{{ libForecast.next }}
Uncertainty
{{ libForecast.band }}
Model
{{ libForecast.model }}
Trigger · {{ libForecast.trigger }}. {{ libForecast.reversal }}
Action
{{ libAction.priority }} priority {{ libAction.status }}
{{ libAction.text }}
✓{{ x.text }}
Owner
{{ libAction.owner }}
Target date
{{ libAction.due }}
Track
Illustrative demo data. Figures and generated answers are not production-calculated.
Opened from Intelligence Library · use case and insight follow that session.
1. Use case
2. Insight
Grounded to · {{ copilotFocusSummary }}
Ask a question
Locating the governed insight that answers this question...
Your question
{{ ipAskedQuestion }}
Answered from {{ ipUseCase }} · {{ ipTitle }} · {{ ipNum }}
Grounded to · {{ ipScope }}
{{ ipView }}
Reconciled visual
{{ ipChart }}
1 · Executive answer
{{ ipAnswer }}
2 · Root causes
{{ d.rank }}
{{ d.text }}
{{ d.pctLabel }}
3 · Materiality
{{ ipMat.band }} {{ ipMat.scoreLabel }}
Absolute · {{ ipMat.absolute }}
Relative · {{ ipMat.relative }}
Close impact · {{ ipMat.closeImpact }}
4 · Evidence availability
{{ ipEv.staleLabel }} {{ ipEv.reviewLabel }}
{{ c.valueLabel }}
{{ c.label }}
Definition · {{ ipEv.definition }}
Source · {{ ipEv.table }} · {{ ipEv.rows }}
Filters · {{ ipEv.filters }}
Freshness · {{ ipEv.freshness }}
Lineage · {{ ipEv.lineage }}
5 · Forward view
{{ ipOutlook }}
Next quarter
{{ ipForecast.next }}
Uncertainty
{{ ipForecast.band }}
Model
{{ ipForecast.model }}
Trigger · {{ ipForecast.trigger }}. {{ ipForecast.reversal }}
6 · Recommended action
{{ ipAction.priority }} priority {{ ipAction.status }}
{{ ipAction.text }}
✓{{ x.text }}
Owner
{{ ipAction.owner }}
Target date
{{ ipAction.due }}
Track
Illustrative demo data. Figures and generated answers are not production-calculated.
{{ copilotUseCaseName }}
{{ copilotSelectedInsight.title }}
{{ t.text }}
COPILOT
{{ t.text }}
{{ t.evTableName }} {{ t.evMeta }}
{{ c }}
{{ cell }}
{{ t.evFootnote }}
Disclosure notes
No note matches that filter.
{{ noteCrumb }}
{{ noteNavTitle }}
Compare against
{{ s.value }} {{ s.label }}
{{ ncViewTitle }}
{{ ncBaseLabel }} → {{ ncDraftLabel }}
Removed Added
{{ p.n }}
{{ tk.t }}
{{ p.tag }}
{{ ncBaseLabel }}
{{ ncDraftLabel }}
{{ tk.t }}
{{ tk.t }}
Figure tie-out
{{ ncTieSummary }}
No figures cited in this narrative.
{{ t.fig }}
{{ t.ctx }}
{{ t.note }}
{{ t.status }}
{{ selectedNote.name }} ({{ selectedNoteUnit }})
{{ c }}
{{ cell }}
Drafted narrative
Confidence: {{ selectedNote.confidence }}%

{{ selectedNote.calcNote }}

✎ Edited by you — captured in the Governance & Audit Trail log.

Tracked changes since last draft
✎{{ tc }}

No edits since the last draft.

Scope · {{ actScopeLabel }} · {{ actScopeShareLabel }} · assumption set {{ actSetId }}
{{ actConfirm }}
Calculated with
{{ k.label }}i
{{ k.value }}
{{ k.note }}
Assumption change register, re-measured on the workbook

The workbook carries no assumption changes. Each move in ACT_ASSUMPTION_CHANGE is applied to the contract-group cash flows (CALC-020). CSM, OCI and finance expense in MYR K.

ChangeAssumptionPriorCurrentMoveCSMOCIFin. exp.StudyApproverStatus
{{ c.id }} {{ c.name }} {{ c.prior }} {{ c.now }} {{ c.move }} {{ c.csm }} {{ c.oci }} {{ c.finexp }} {{ c.study }} {{ c.approver }} {{ c.status }}
Total assumption impact {{ actChangeCsmTotal }} {{ actChangeOciTotal }} {{ actChangeFinTotal }}
{{ actBridgeNote }}
Assumption impact tree
{{ actProp.id }} · {{ actProp.scope }}
{{ actProp.factorLabel }} {{ actProp.move }}
{{ actProp.rationale }}
Coefficient {{ actProp.coefficient }} · {{ actProp.formula }}
Scope {{ actProp.shareLabel }} · study {{ actProp.study }}
→
{{ n.label }}
{{ n.value }}
{{ n.note }}
Cohort impact attribution
Contract groupCohortCSMLoss componentRisk adjustmentShare
{{ r.icg }} {{ r.cohort }} {{ r.csm }} {{ r.lc }} {{ r.ra }} {{ r.shareLabel }}
Actuarial interpretation
Owner {{ actProp.owner }} · {{ actProp.decision }}. The proposal reduces future service profit and narrows the CSM buffer for the groups in scope; the loss component and risk adjustment absorb the remainder.
Recommended actions
•{{ a.text }}
Scenario levers
{{ s.label }} {{ s.valueLabel }}
{{ s.coefficient }} · {{ s.formula }}
Outputs calculated with
{{ o.label }}
{{ o.value }}
Base {{ o.base }} · {{ o.move }}
Generated interpretation
{{ actScenarioNarrative }}
Factor contribution and audit basis

Each line re-measures the scope's cash flows with that factor alone (CALC-020). Amounts in MYR K.

FactorShockCSMLoss componentOCIService resultFormulaCalibration study
{{ f.factor }} {{ f.delta }} {{ f.csm }} {{ f.lc }} {{ f.oci }} {{ f.profit }} {{ f.formula }} {{ f.study }}
Scenario runs on file

Published to ACT_SCENARIO_RUN and ACT_SCENARIO_RESULT. Select a row to load its levers.

RunScenarioScopeCSM impactRun byRun atPostedStatus
{{ r.id }} {{ r.name }} {{ r.scope }} {{ r.csm }} {{ r.by }} {{ r.at }} {{ r.posted }} {{ r.status }}
{{ k.label }}
{{ k.value }}
{{ k.note }}
Onerous radar
How far each contract group is from turning onerous
Across: claims severity increase that uses up the group's CSM. Up: CSM size. Bubbles left of the red line flip under the shock you set.
Claims severity shock{{ actOnShockLabel }}
{{ z.label }}
{{ actOnShockLabel }} shock
{{ t.label }} {{ t.label }}
Onerous today Flips under this shock Within 10% headroom Comfortable {{ actOnerousCount }}
{{ k.label }}
{{ k.value }}
{{ k.note }}
Watch list · nearest to the edge
Select a group for its tipping point and drivers
{{ actOnSel.icg }}
{{ actOnSel.prob }}
{{ actOnSel.gaugeLabel }}headroom
{{ actOnSel.intervention }}
CSM buffer
{{ actOnSel.csm }}
Loss component
{{ actOnSel.lc }}
CSM trend
{{ actOnSel.trend }}
What would tip it
{{ t.label }}{{ t.value }}
{{ actOnSel.basis }}
Share of groups onerous, product line × cohort
Click a cell to scope the radar to it.
{{ h.label }}
{{ row.portfolio }}
Workbook discount curve · {{ actCurveName }}

{{ actCurveNote }} · {{ actCurveAvgShift }}

{{ d.label }}
■ Approved curve ■ Scenario curve
{{ m.k }}
{{ m.v }}
{{ i.label }}
{{ i.value }}
{{ i.note }}
Base and scenario rates
TenorApprovedScenarioShift
{{ r.tenor }} {{ r.base }} {{ r.scen }} {{ r.shift }}
Reverse stress objectivei
Solve backwards from a management boundary
{{ actBoundaryLabel }}
Minimum assumption boundary

Solved live on the workbook cash flows (CALC-020). Achieved movement {{ actSolverAchieved }}.

FactorBaseRequired shockBoundary levelFormula
{{ r.factor }} {{ r.base }} {{ r.shock }} {{ r.level }} {{ r.formula }}
{{ m.k }}
{{ m.v }}
Management interpretation
{{ actStressNarrative }}
Reverse stress tests on file

Published to ACT_REVERSE_STRESS and carried into the governance audit trail.

TestTargetBoundaryScopeSolverRun byRun atStatus
{{ t.id }} {{ t.target }} {{ t.boundary }} {{ t.scope }} {{ t.solver }} {{ t.by }} {{ t.at }} {{ t.status }}
Evidence and lineage
{{ actLineage }}
{{ actFreshness }}
Insights
No insight matches that filter.
{{ reconCrumb }}
{{ reconNavTitle }}
Source connector (Claims Data Feed) is degraded — this insight reflects data as of 2 days ago, not the current close.
Dashboard view
{{ reconIcgFilterLabel }}
AI is analyzing this insight...
{{ c }}
{{ cell.text }}
{{ r.label }}{{ r.value }}
{{ reconSelectedInsight.dashboard.caption }}
{{ r.text }} {{ r.tag }}
{{ t.text }}
COPILOT
{{ t.text }}
{{ t.evTableName }} {{ t.evMeta }}
{{ c }}
{{ cell }}
{{ t.evFootnote }}
Insight summary
Confidence: {{ reconSelectedInsight.confidence }}%

{{ reconSelectedInsight.calcNote }}

•{{ b }}
Recommended actions
✓{{ a }}
Source: {{ reconSelectedInsight.source }}
Three-way auto-reconciliation
Engine to subledger to general ledger
Every accounting event is matched to its journal postings, and every journal position to its GL balance, by contract group. Breaks are ranked by MYR impact and given a likely cause.
As at
Loading ACCOUNTING_EVENT, IFRS17_SUBLEDGER_JOURNAL and IFRS17_SUBLEDGER_BALANCE…
{{ f.kicker }}
{{ f.title }}
{{ f.table }}
Rows
{{ f.rows }}
Value
{{ f.value }}
{{ k.label }}
{{ k.value }}
{{ k.note }}
Break heatmap by contract group
Click a cell to filter the break list
Contract group
Engine → Subledger
Subledger → GL
Impact
{{ r.impact }}
Breaks by likely cause
Breaks ranked by MYR impact
{{ twListMeta }}
Why this broke
{{ b.why }}
Suggested action
{{ b.action }}
{{ b.evTitle }}
{{ c }}
{{ cell }}
{{ b.evNote }}
No breaks match these filters.
Formula Registry
Every calculation behind the studio in one place. Engine formulas come from the SAS IFRS 17 formula library; application logic lists each calculation the screens perform, with where it is used. Source files: data/formulas.json, data/posting.json, data/formula_registry.json.
Loading formula library…
Could not load the registry files. Serve the project over HTTP (see README.md) so data/*.json can be fetched.
{{ frMatchCount }} of {{ frTotal }} formulas · {{ frPostedCount }} reach the journal
IDVariableApproachAreaOrderDepsJournal
{{ r.id }}{{ r.variable }}{{ r.approach }}{{ r.area }}{{ r.order }}{{ r.depCount }}{{ r.postedLabel }}
{{ frPageLabel }}
{{ frSelected.id }} {{ frSelected.postedTag }}
{{ frSelected.variable }}
{{ frSelected.desc }}
Approach
{{ frSelected.approach }}
Area
{{ frSelected.area }}
Order
{{ frSelected.order }}
Calc type
{{ frSelected.calcType }}
Ceded
{{ frSelected.ceded }}
Transition
{{ frSelected.transition }}
Expression
{{ frSelected.formula }}
Dependency graph · green = posts to journal
Upstream ({{ frSelected.upCount }})
Input measure
→
{{ frSelected.variable }}
→
Downstream ({{ frSelected.downCount }})
Terminal output
ƒ {{ frAppSelected.id }} {{ frAppSelected.status }}
{{ frAppSelected.name }}
{{ frAppSelected.statusNote }}
Expression
{{ frAppSelected.expression }}
Inputs
{{ x.t }}
Output
{{ frAppSelected.output }}
Implemented in
{{ frAppSelected.function }}
Data Hub tables
Engine formulas
Used on
IDNameCategoryStatus
{{ e.id }}{{ e.name }}{{ e.category }}{{ e.status }}
Walk a single contract group from input measures through to its disclosure note, or review the audit trail below.
Pending Approvals
3
Assumption Changes (MTD)
6
Unreviewed AI Narratives
2
Data Quality Score
{{ nf.NT017 }}
{{ k.label }}i
{{ k.value }}
{{ k.note }}
Assumption Change Log

The same ACT_ASSUMPTION_CHANGE rows the Assumptions workbench runs on. The CSM column foots to the MYR {{ govChangeCsmTotal }}K assumption bar in the Executive Update CSM bridge.

ChangeDateAssumptionPrior ValueNew ValueCSMOCIStudyChanged ByApproved ByStatus
{{ c.id }} {{ c.date }} {{ c.name }} {{ c.prior }} {{ c.now }} {{ c.csm }} {{ c.oci }} {{ c.study }} {{ c.by }} {{ c.approver }} {{ c.status }}
Total assumption impact {{ govChangeCsmTotal }}
Connector Status & Data Freshness

Ties every insight in this app back to its source system's last successful sync.

Data SourceStatusAs-of DateFreshness
SAS IFRS17 Results (CAS Tables)● ConnectedJun 30, 2026Fresh
General Ledger / Sub-ledger Feed● ConnectedJun 30, 2026Fresh
Actuarial Cash Flow Engine● ConnectedJun 30, 2026Fresh
Assumption Governance Log● ConnectedJun 30, 2026Fresh
Claims Data Feed● DegradedJun 28, 2026Stale — 2 days
Market Data (Discount Curve)● ConnectedAug 5, 2026Fresh
Approval / Sign-off Workflow
ItemStageOwnerStatusDue
FY2017 Assumption PackageActuarial Sign-offR. MehtaApprovedAug 10
FY2017 CSM Roll-forwardFinance ReviewS. TanApprovedAug 12
Motor-2023 Experience VarianceActuarial Sign-offA. LimPendingAug 14
Board Pack — FY2017Audit Committee ReviewAudit CommitteePendingAug 18
Disclosure Note 12 DraftCFO ApprovalCFO OfficeNot StartedAug 20
{{ a.item }}{{ a.stage }}{{ a.owner }}{{ a.status }}{{ a.due }}
Data Lineage
SourceTransformationOutput
SAS IFRS17 Results (CAS Tables)GenAI & Agentic AI LayerInsights, Narratives & Disclosures
General Ledger / Sub-ledgerReconciliation EngineReconciliation Status & Breaks
Actuarial Cash Flow EngineCSM / RA Roll-forward ModelsCSM, RA & Loss Component Balances
Assumption Governance LogAssumption Impact ModelsAssumption Analysis & Stress Testing
{{ l.source }}{{ l.transform }}{{ l.output }}
Assumption & Scenario Audit Trail

Every action taken in the Assumptions workbench — saved scenarios, applied curve scenarios and reverse stress tests — with the object it touched. Actions taken in this session are tagged.

TimestampUserRoleActionObjectRecord
{{ a.at }} {{ a.user }} {{ a.role }} {{ a.action }} {{ a.ref }} {{ a.tagLabel }}
AI Narrative Audit Trail
NarrativeModuleGenerated OnStatus
Disclosure Note 12 draftDisclosuresAug 5, 09:14Pending Review
Executive KPI NarrativeUse CasesAug 5, 08:02Reviewed — S. Tan
CSM Movement ExplanationUse CasesAug 4, 16:40Reviewed — R. Mehta
Reconciliation Executive NarrativeReconciliationAug 5, 07:55Pending Review
{{ el }}DisclosuresJust nowManually Edited
Access & Activity Log
UserRoleActionTimestamp
R. MehtaGroup ActuarialApproved FY2017 assumption packageAug 5, 09:20
S. TanFinanceReviewed CSM roll-forwardAug 5, 08:45
A. LimActuarial AnalystUpdated morbidity assumptionJun 14, 14:02
Audit CommitteeAuditorViewed Board Pack draftAug 4, 11:15
CFO OfficeExecutiveViewed Executive KPI DashboardAug 5, 07:30
Signed run Run 04 · approved WD+1, 2 Jan 2018 Reported basis for the FY2017 close
Late reruns received
Overall materiality
{{ lrThrLabel }}
{{ lrVerdictTitle }} {{ lrRunLine }}
{{ lrVerdictRec }}
Net effect on CSM less loss component: {{ lrNet }}{{ lrNetPct }}
Clearly trivial {{ lrTriv }} Materiality {{ lrThr }}
{{ k.label }} {{ k.base }} → {{ k.now }} {{ k.delta }}
Close timeline
{{ lrSlipLabel }}
{{ d.wd }}{{ d.date }}
{{ d.mark }}
What the rerun touches
{{ lrHours }}
{{ a.a }}
{{ a.d }}
{{ a.st }}
Impact by product line
CSM less loss component · MYR K · green is favourable
{{ lrLineChart }}
No product line moves by more than MYR 0.1K.
Contract groups moving most
{{ lrMovedLabel }}
Contract group Portfolio CSM Run 04 → rerun Net effect
{{ g.disp }}Turns onerous
{{ g.icg }}
{{ g.pf }} {{ g.csm }}
{{ g.d }}
{{ lrDecisionText }}
Leversi
{{ L.label }}i {{ L.valueLabel }}
{{ L.note }}
Cash-flow driven
{{ scnBasis }}
Cash flows: real CSM / LC: estimate
{{ h.label }}i {{ h.value }} {{ h.delta }}
Levers & impact · as at {{ scnPeriod }}i
{{ r.label }} {{ r.deltaLabel }} · {{ r.pctLabel }}
Base {{ r.baseLabel }} → scenario {{ r.nowLabel }}
Impact by metrici
MYR K · green is favourable
{{ scnChart }}
Root-cause attributioni
Each lever re-run on its own · MYR K
All levers are at base. Move a lever to see which one drives the effect.
{{ scnAttributionChart }}
{{ a.rank }}
{{ a.label }}
{{ a.pctLabel }}
{{ a.valueLabel }}
CSM glide pathi
{{ scnGlideSub }}
{{ scnProjectionChart }}
{{ scnProjectionNote }}
{{ scnIcgTitle }}
Trace any group back to its workbook rows
Contract group Portfolio Model CSM Loss component Net effect
{{ g.disp }} Turns onerous
{{ g.icg }}
{{ g.pf }} {{ g.appr }} {{ g.csm }} {{ g.lc }}
{{ g.d }}
Readingi
{{ scnNarrative }}
Cash flows, discount curves and contract-group attributes are real rows from the SAS WW_INSURANCE sample workbook, shown as MYR with HLA-style portfolio names. CSM and loss component are estimates until SAS IFRS17 engine output is loaded. The discount shock is an exact re-discount; lapse and severity are approximations applied to base cash flows until Prophet sensitivity runs are available.
Evidence packages
Illustrative demo data. Figures and generated answers are not production-calculated.
{{ evSel.id }} {{ evSel.status }}
{{ evSel.name }}
{{ evSel.detail }}
{{ evSel.staleLabel }}
Last review {{ evSel.reviewed }} by {{ evSel.reviewer }} · {{ evSel.items }} evidence items
Confidence, decomposedi
{{ c.label }} {{ c.valueLabel }}
{{ c.note }}
MetricOwnerValidation
{{ r.name }}
{{ r.code }} · {{ r.usedIn }}
{{ r.owner }} {{ r.validation }}
No metrics match that search.
{{ regSel.code }} {{ regSel.validation }} v{{ regSel.version }}
{{ regSel.name }}
Business definition
{{ regSel.definition }}
Source measures
{{ mm.name }}
Source table
{{ regSel.table }}
Owner
{{ regSel.owner }}
Last reviewed
{{ regSel.reviewed }}
Used in
{{ regSel.usedInLabel }}
Illustrative demo data. Figures and generated answers are not production-calculated.
Input → measures → events → journal → GL → disclosurei
End-to-end traceability
Pick a contract group and walk every hop from the input measures the engine calculated to the disclosure note the balance lands in. Each hop shows the real keys and row counts for that group.
{{ trMapErr }}
Loading the traceability index...
{{ trGroup.chainLabel }} Projects: {{ trGroup.projectList }} Source currency: {{ trGroup.currencyList }} As at 31 Dec 2017
Click a stage to collapse or expand it. Click a record to open its table in Data Hub. Scroll to zoom, drag to pan.
Workbook lineage · SAS WW_INSURANCE samplei
{{ twHead.pf }} Source portfolio: {{ twHead.src }} Model: {{ twHead.appr }} As at {{ twHead.period }}
Loading workbook tables: INSURANCE_CASHFLOW, GL_ACCOUNT_BALANCE_SEGMENT, INSURANCE_CONTRACT_GROUP, INSURANCE_CONTRACT_GROUP_DETL, QUOTES...
{{ h.num }}
{{ h.title }}
{{ h.table }} {{ h.status }}
{{ h.summary }}
{{ h.src }}
{{ s.label }}: {{ s.value }}
{{ c }}
{{ cell }}
Engine extract lineage · SAS IFRS17 test entityi
{{ trGroup.chainLabel }} Projects: {{ trGroup.projectList }} Source currency: {{ trGroup.currencyList }}
Loading the traceability index across ALL_MEASURES, ACCOUNTING_EVENT, IFRS17_SUBLEDGER_JOURNAL and IFRS17_SUBLEDGER_BALANCE...
{{ h.num }}
{{ h.title }}
{{ h.table }} {{ h.status }}
{{ h.summary }}
{{ s.label }}: {{ s.value }}
{{ c }}
{{ r.key }}{{ r.value }}
{{ h.note }}
Chain integrity across all contract groups

Which of the 16 posted contract groups can be walked all the way from input measures to a disclosure note.

Contract groupMeasure rowsEventsJournal linesBalance rowsChain
{{ c.measRows }} {{ c.events }} {{ c.lines }} {{ c.balRows }} {{ c.chainLabel }}
Ask for a lineage
AI

Name a contract group and ask for its lineage. The answer is composed from the same index the hops above read, so it cannot drift from the data.

{{ t.text }}
LINEAGE COPILOT
{{ ln.text }}
{{ t.source }}
{{ ev.evTableName }} {{ ev.evMeta }}
{{ c }}
{{ cell }}
{{ ev.evFootnote }}
{{ g.library }}
{{ datahubTable.name }}
Columns: {{ datahubTable.columns.length }}
Rows: {{ datahubTable.rows }}
Size: {{ datahubTable.size }}
Updated: {{ datahubTable.updated }}
Demo data Loading extract…
#NameData TypeDescription
{{ c.n }}{{ c.name }}{{ c.type }}{{ c.desc }}
Showing {{ datahubSampleRows.length }} of {{ datahubTable.rows }} rows
{{ col }}
{{ cell.val }}
Generative AI Insight — {{ datahubTable.name }}
{{ datahubAutoInsight }}
{{ m.text }}
Thinking…
{{ ramGuardrail }}
Guided Workflow
Follow these steps to stand up retrieval-augmented generation over your enterprise documents. Each step unlocks once the previous one completes.
Completed workflow runs
CollectionDocumentsEmbedding ModelDestinationStatusUpdated
{{ rc.name }}{{ rc.docsCount }}{{ rc.embedModel }}{{ rc.destination }}✓ {{ rc.status }}{{ rc.updated }}
Previously Created Workflows
Agent / WorkflowCollectionLLMDestinationDeployedStatus
{{ ag.name }}{{ ag.collection }}{{ ag.llm }}{{ ag.destination }}{{ ag.deployedAt }}✓ {{ ag.status }}
{{ st.n }}
{{ st.label }}
Step 1 · Upload Enterprise Documents, Videos & Tutorials
Audience for this upload
{{ d.ext }} {{ d.name }} {{ d.audience }} {{ d.sizeLabel }} {{ d.statusLabel }}
Step 2 · Organize & Process Documents
{{ d.name }} {{ d.statusLabel }}
Embedding model
Destination (vector store)
Chunking, embedding and writing vectors to the destination store…
Collection
{{ ramCollection.name }}
Vectors
{{ ramCollection.rowCount }} chunks
Embeddings size
{{ ramCollection.embeddingsSize }}
Status
✓ {{ ramCollection.status }}
Step 3 · Run Evaluation to Choose the Best Retrieval Settings
Large language model
Retrieval top-K: {{ ramTopK }}
Running retrieval evaluation across the collection…
Recall@{{ ramTopK }}
{{ ramEvalRecall }}%
Overall score
{{ ramEvalScore }}%
🏆 Champion configuration
Step 4 · Interact with Documents via Chat
Ask a question grounded in your uploaded document(s) — e.g. "How are onerous contracts treated?"
{{ c.text }}
Source: {{ c.source }}
Retrieving relevant passages…
Step 5 · Develop Agents to Automate Complex Workflows
Tools
{{ ramAgent.name }} {{ ramAgent.status }}
LLM: {{ ramAgent.llm }} · Collection: {{ ramAgent.collection }}
✓ Workflow complete — your enterprise knowledge base is live. Explore it via the Chat, Collections and Agents tabs above.
Dashboard
Read-only · authorized users see queries made by all users
Type
Show
Period
{{ ch.label }}
{{ b.name }} {{ b.value }}
{{ ch.title }}
▮ {{ ch.barLabel }}— {{ ch.lineLabel }}
{{ b.m }}
User Feedback %
▮ Positive▮ Negative▮ No response
{{ f.m }}
Positive feedback climbed thirteen points as the champion configuration moved to overlapping chunks. The August dip tracks the orchestrator's failed delegations.
Filters apply to Entity Name, Entity Type and Feedback
Entity NameTypeQueryResponseStart TimeDurationCostFeedback
{{ q.entity }} {{ q.type }} {{ q.query }} {{ q.response }} {{ q.start }} {{ q.duration }} {{ q.cost }} {{ q.feedback }}
Licensed data volume
{{ ramStorUsed }} of {{ ramStorLicensed }} · {{ ramStorPct }}
Embedded Models Allocation
{{ ramStorEmbedUsed }} of {{ ramStorEmbedAlloc }} · {{ ramStorEmbedPct }}
Source Files Allocation
{{ ramStorFilesUsed }} of {{ ramStorFilesAlloc }} · {{ ramStorFilesPct }}
Embedding ModelUsed ByDisk Space
{{ m.name }} {{ m.configs }} {{ m.size }}
SourceFilesDisk Space
{{ m.name }} {{ m.files }} {{ m.size }}
Big 4 Technical Guidance is the largest source at 403 GiB across four PDFs — the OCR and table extraction on those handbooks accounts for most of it. It is also the least authoritative content in the corpus.
{{ ramQDetailEntity }}
{{ ramQDetailFeedback }}
Start {{ ramQDetailStart }}
Duration {{ ramQDetailDuration }}
Cost {{ ramQDetailCost }}
Query submitted
{{ ramQDetailQuery }}
System prompt generated
{{ ramQDetailPrompt }}
Response
{{ ramQDetailResponse }}
Knowledge Base Data
ConfigurationDestinationEmbedding ModelRow CountEmbeddings SizeStatus
{{ rc.name }}{{ rc.destination }}{{ rc.embedModel }}{{ rc.rowCount }}{{ rc.embeddingsSize }}{{ rc.status }}
No collection yet — complete Steps 1–2 of the Workflow to see it here.
Average Retrieval Time by Model
{{ b.label }}
Sources
Sources provide the raw materials for vectorization and search. A source cannot be removed while a collection is using it.
NameTypeFile Update ScheduleFilesAssociated CollectionsLast Updated
{{ src.name }} {{ src.type }} {{ src.schedule }} {{ src.fileCount }} {{ src.collections }} {{ src.updated }}
{{ ramSelSourceName }}
{{ ramSelSourceType }} In use — {{ ramSelSourceCollections }}
{{ ramSelSourceDesc }}
Copyright handling
STORE_FULL_TEXT is off. Document metadata, issue and effective dates, amendment inventory and machine-written summaries are vectorized; verbatim IFRS 17 paragraph text is not stored, because it is IFRS Foundation copyright. Retrieval therefore cites and characterises the standard rather than reproducing it.
Type
{{ ramSelSourceType }}
Cron expression
{{ ramSelSourceCron }}
Last updated
{{ ramSelSourceUpdated }}
Associated collections
{{ ramSelSourceCollections }}
Custom source template
{{ ramSelSourceTemplate }}
Repository URL
{{ ramSelSourceGitUrl }}
Document NameSizeTags
{{ f.name }} {{ f.size }}
{{ tg.label }}
—
Supported file types: {{ ramSupportedExt }}
Selected file
{{ ramSelFileName }}
Ingested summary
{{ ramSelFileSummary }}
Retrieved from
{{ ramSelFileUrl }}
Tags
{{ tg.label }}✕ No tags applied
Tags filter retrieval at query time — a tagged query returns only chunks from sources carrying that tag. Revectorize the collection to publish a new tag to Chat.
Custom metadata columns
{{ m.label }} ✕
Column names must match the file's headings exactly. With agentic retrieval enabled, the agent combines semantic search with filters on these columns.
Custom metadata columns apply only to .csv, .xls and .xlsx files.
Running custom source code…
TimestampTriggerStatusJob Log
{{ j.ts }}{{ j.trigger }}{{ j.status }}{{ j.note }}
No jobs — this source type has no code to execute.
LLM aliases let the custom source reference models by stable, human-readable names instead of IDs. Map each alias to a retrieval setting.
LLM AliasRetrieval Settings
{{ a.alias }}{{ a.retrievalSetting }}
NameDescriptionValueSecret
{{ e.name }}{{ e.desc }}{{ e.value }}{{ e.secretLabel }}
Synchronization
Schedule
Cron expression
{{ ramSelSourceCron }}
The cron expression is generated from the frequency you pick. Choose Manual instead if you want to synchronize files on demand only. For Git sources, Synchronize on the Files tab fetches the latest commit without waiting for the schedule.
Collections
{{ ramSelCollName }}
{{ ramSelCollDesc }}
Sources: {{ ramSelCollSources }}
Security group: {{ ramSelCollGroup }}
{{ ramSelCollBudget }}
⚠ {{ ramSelCollBudgetAlertText }}
ConfigurationVectorized StatusLast JobLast Auto EvalLast User EvalConfiguration Status
{{ cf.name }}
{{ cf.embedModel }} · {{ cf.chunks }} chunks · {{ cf.size }}
{{ cf.vectorized }} {{ cf.lastJob }} {{ cf.autoEval }} {{ cf.userEval }} {{ cf.statusIcon }} {{ cf.status }}
Only the Champion configuration can be queried by end users and used by agents. A Challenger can run in automation pipelines. Under Evaluation means it has not been tested.
Available large language models
{{ l.name }} {{ l.provider }} →
Configured large language models
#ModelRetrieval SettingsVisibility in Chat
{{ l.order }}
{{ l.name }}
{{ l.provider }}
{{ l.retrievalSetting }} {{ l.visibility }}
Order sets LLM priority in Chat. Users without administrative privileges see only the first model.
User Eval
Eval LLM
{{ ramUserEvalLLM }}
Auto Eval
Data generation: {{ ramAutoEvalGenLLM }}
Critic: {{ ramAutoEvalCritic }}
Eval: {{ ramAutoEvalEvalLLM }}
Auto Eval Data — {{ ramAutoDataCount }} generated test cases
QuestionContextGround TruthGenerator LLMCost
{{ d.q }} {{ d.ctx }} {{ d.gt }} {{ d.gen }} {{ d.cost }}
Auto Eval Results
TimestampConfigurationEval LLMCritic LLMCritic EmbeddingStatusRagas ScoreCostDetails
{{ r.ts }} {{ r.config }} {{ r.evalLLM }}{{ r.critic }}{{ r.criticEmbed }} {{ r.status }} {{ r.ragas }} {{ r.cost }}
The Ragas score is the harmonic mean of faithfulness, answer relevancy, context recall and context precision. Stale results are runs that are no longer in sync with the current evaluation data.
User Evaluation Jobs
TimestampTest CaseEval LLMConfigurationStatusScoreCost
{{ r.ts }} {{ r.test }} {{ r.evalLLM }}{{ r.config }} {{ r.status }} {{ r.score }} {{ r.cost }}
User eval prompts
Prompt
{{ ramUserPromptText }}
Response
{{ ramUserPromptResponse }}
Assertions
Passing threshold {{ ramUserPromptThreshold }}
Pass Fail
MetricReferenceResult
{{ a.metric }}{{ a.ref }}{{ a.result }}
{{ ramSelCfgName }}
{{ ramSelCfgStatus }} Read-only — settings are immutable once saved
{{ ramSelCfgDesc }}
Embedding model
{{ ramSelCfgEmbed }}
Destination
{{ ramSelCfgDest }}
Compression
{{ ramSelCfgCompression }}
Quantization
{{ ramSelCfgQuantization }}
Configuration update strategy
{{ ramSelCfgStrategy }}
{{ ramSelCfgStrategyNote }}
Chunk size
{{ ramSelCfgChunkSize }}
Chunk overlap
{{ ramSelCfgChunkOverlap }}
Clean text after ingestion
{{ ramSelCfgCleanText }}
Excluded extensions
{{ ramSelCfgExcluded }}
OCR
Enabled
OCR library
{{ ramSelCfgOcrLib }}
OCR language
{{ ramSelCfgOcrLang }}
OCR is disabled — scanned pages and images in these documents contribute no text.
Export tables
Enabled
Table detection pipeline
{{ ramSelCfgTablePipeline }}
Table export format
{{ ramSelCfgTableFormat }}
Detection threshold
{{ ramSelCfgTableThreshold }}
Implicit row detection
{{ ramSelCfgImplicitRow }}
Implicit column detection
{{ ramSelCfgImplicitCol }}
Borderless tables
{{ ramSelCfgBorderless }}
Table export is disabled — tables are ingested as flowing text, which for the discount curve workbook means the numbers lose their row and column meaning.
Chunks in this configuration
{{ ramSelCfgChunks }}
Embeddings size
{{ ramSelCfgSize }}
Vectorization footprint
{{ ramSelCfgCpu }} CPU · {{ ramSelCfgMemory }} · {{ ramSelCfgExec }}
OpenVINO device
{{ ramSelCfgOpenvino }}
Every document in the collection's sources is chunked into this configuration. Open a document to inspect its chunks — retrieval can be disabled per chunk, which is how we suppress the superseded discount curve tab without deleting the workbook.
Submit Vectorization Job
{{ ramSelCfgName }} · {{ ramSelCollName }}
Both execution providers produce identical embeddings; OpenVINO usually finishes faster on the same CPU allocation.
Generate Evaluation Data
Source coverage — {{ ramAutoCoverage }}%
Test cases to be generated {{ ramAutoCaseCount }}
Large language model
{{ ramAutoEvalGenLLM }}
Reference configuration
{{ ramSelCfgName }}
Chunks are sampled at random, given to the LLM, and the LLM is asked to write a question that requires that chunk to answer — along with the ground truth answer.
Evaluation Results
{{ ramAutoDetailTitle }}
QuestionRagasFaithfulnessAnswer RelevancyContext RecallContext PrecisionCost
{{ d.q }} {{ d.ragas }} {{ d.faith }}{{ d.rel }}{{ d.recall }}{{ d.prec }} {{ d.cost }}
Retrieval Settings
How context is retrieved from your documents and how the LLM uses it to answer. Settings must be mapped to a collection's LLMs before they take effect.
System prompt template
✓ contains {context} Required: the prompt must include the {context} variable
Query result limit
Chunks give the LLM the top N most relevant passages. Tokens hold the context volume constant regardless of chunk size — at least 5000 is recommended.
Score threshold
{{ ramSelSettingThreshold }}
Chunks scoring below the threshold are discarded before augmentation.
All retrieved chunks are passed to the LLM regardless of similarity score.
Retrieval type
Max from the corresponding section Recommended only for documents organised with headings — returns the whole section around the best chunk.
Adjacent chunks to retrieve Adds the chunks immediately before and after each match.
Table retrieval settings
Max tokens per table
5000 recommended.
Hybrid search
0 · keyword semantic · 1 {{ ramSelSettingHybridAlpha }}
{{ ramHybridHint }}
Semantic similarity search only.
Extra retrieval parameters
ParameterValue
{{ x.key }}{{ x.value }}
Destination-specific parameters passed through to the vector database.
Chat
Agents
Collections
{{ c.name }}
★ champion · ◆ challenger. Users without administrative privileges see champions only.
{{ ramCTarget }}
{{ tg.label }}
{{ m.text }}
Decomposing query and routing to agents…
Retrieval filtered to: {{ tg.label }}
Tags
A tagged query retrieves only from sources carrying that tag.
Previous chats
Response Details
Total duration {{ ramTraceTotalDuration }}
Total cost {{ ramTraceTotalCost }}
{{ n.typeLabel }}
{{ n.title }}
{{ n.meta }}
Every action taken to produce this answer, in order, indented by depth. Colour is the action type: query, LLM call, retrieval, MCP tool, delegated agent.
{{ ramNodeTypeLabel }}
{{ ramNodeTitle }}
{{ ramNodeMeta }}
LLM
{{ ramNodeLlmName }}
Provider
{{ ramNodeProvider }}
Model
{{ ramNodeModel }}
Agent called
{{ ramNodeAgentName }}
Experiment used
{{ ramNodeExperimentId }}
Tool server
{{ ramNodeServer }}
Tool
{{ ramNodeTool }}
Input supplied by the agent
{{ ramNodeInput }}
Output returned by the tool
{{ ramNodeOutput }}
Agentic retrieval decision
{{ ramNodeAgenticNote }}
Queried against
{{ ramNodeCollections }}
Configuration size
{{ ramNodeTotalChunks }}
Retrieval prompt
{{ ramNodePrompt }}
Documents retrieved from
{{ r.doc }} {{ r.chunks }} {{ r.best }}
{{ r.excerpt }}
System prompt
{{ ramNodeSystemPrompt }}
Prompt
{{ ramNodePrompt }}
Response
{{ ramNodeResponse }}
Response Duration
{{ ramTraceTotalDuration }}
{{ st.label }}{{ st.ms }}
Response Cost
{{ ramTraceTotalCost }}
{{ c.label }}{{ c.value }}
Retrieval is {{ nf.NT018 }} of the elapsed time but almost none of the cost. The cost sits in the completion tokens across four LLM calls — which is what agentic retrieval reduces, by not searching collections that cannot hold the answer.
Documents
No documents uploaded yet — use the Workflow tab.
Chatting with: {{ ramChatSelectedDocName }}
Ask a question grounded in your uploaded document(s).
{{ c.text }}
Source: {{ c.source }}
Retrieving relevant passages…
Agents
Agents extend retrieval with custom workflows and tools. Orchestrator agents decompose a query and delegate to the agents whose A2A cards claim each task. An agent needs a champion experiment before it can be started.
NameTypeExperimentsStatusLast Modified
{{ a.name }}
{{ a.desc }}
{{ a.kind }} {{ a.experiments }} ● {{ a.status }} {{ a.lastModified }}
{{ ramSelAgentName }}
{{ ramSelAgentKind }} ● {{ ramSelAgentStatus }} Chat initializer: {{ ramSelAgentInitializer }}
{{ ramSelAgentDesc }}
ExperimentTypeLLMRetrieval SettingAgentic RetrievalFootprintLast User EvaluationStatus
{{ e.name }} {{ e.type }} {{ e.llm }} {{ e.retrievalSetting }} {{ e.agentic }} {{ e.footprint }} {{ e.userEval }} {{ e.statusIcon }} {{ e.status }}
{{ ramSelExpName }}
{{ ramSelExpType }} {{ ramSelExpTemplate }}
System prompt
{{ ramSelExpPrompt }}
A system prompt set on an experiment overrides the agent-level prompt and the prompt in Retrieval Settings.
LLM
{{ ramSelExpLlm }}
Retrieval setting
{{ ramSelExpRetrieval }}
Virtual CPUs
{{ ramSelExpCpu }}
Container memory
{{ ramSelExpRam }}
Tools
{{ t.label }}
No tools assigned — retrieval only.
Delegates to
{{ a.label }}
Only agents with a configured A2A agent card can be delegated to.
Collections
{{ c.label }}
Agentic retrieval Enabled Disabled
{{ ramAgenticExplainer }}
Agent description
{{ ramAgentCardDesc }}
The orchestrator reads this card to decide what this agent is for. A vague description is the most common cause of a task being routed to the wrong agent.
Skills
{{ sk.name }}
{{ sk.desc }}
Query examples
“{{ x.text }}”
Orchestrator agents do not carry an A2A card — they read the cards of the agents they delegate to. See the Delegates to list on the Summary tab.
No A2A card configured. Until one exists this agent cannot be delegated to by any orchestrator.
ExperimentLLMLast User EvaluationCost per runStatus
{{ e.name }} {{ e.llm }} {{ e.userEval }} {{ e.cost }} {{ e.statusIcon }} {{ e.status }}
Compare the scores here to decide the champion. Where two experiments score equally, cost per run decides — which is why the mini model holds champion on the Regulator Watch Agent at a fifth of the cost.
User Eval Tests
Reusable test scenarios, not tied to any collection or agent. Each prompt carries assertions and a passing threshold — the percentage of assertions that must pass for the response to count as correct.
NamePromptsPassing ThresholdUpdated At
{{ t.name }} {{ t.promptCount }} {{ t.threshold }} {{ t.updated }}
{{ ramSelTestName }}
Passing threshold {{ ramSelTestThreshold }}%
{{ ramSelTestDesc }}
Test prompts
Passing threshold (%)
Assertions
MetricValue
{{ a.metric }}{{ a.value }}
A good practice is to include safeguard prompts — a question the documents cannot answer, asserting that the model replies that it does not know rather than inventing a figure.
Automation
Connect sources, configurations and agents into scheduled workflows that run without intervention. A connection from a source to a configuration re-vectorizes on source update; a connection from a configuration to an agent re-initializes the agent when vectorization finishes.
Configured pipelines
Available pipelines
{{ ramPipeCollName }}
Configured No connections — drag between connection points to build the pipeline
Sources
Configurations
Agents
{{ n.sub }}
{{ n.name }}
{{ n.sub2 }}
{{ n.sub }}
{{ n.name }}
{{ n.sub2 }}
{{ n.sub }}
{{ n.name }}
{{ n.sub2 }}
No agent is configured against this collection, so the pipeline ends at vectorization.
If you connect only one source to a configuration, every source in the collection is re-vectorized when that source updates. Use the update strategy to avoid duplicate embeddings.
Automation Settings
Resources for automated vectorization jobs only. Manual vectorization keeps its own settings.
Code Templates
Predefined blueprints for the components developers extend. A template must be published before it appears when adding an agent, source or tool server. Versions are immutable — saving changes creates a new one.
NameTypeLatest VersionStateUsed By
{{ t.name }} {{ t.kind }} {{ t.version }} Published Unpublished {{ t.usedBy }}
{{ ramSelTplName }}
{{ ramSelTplKind }} {{ ramSelTplVersionLabel }} Viewing a superseded version — read only
{{ ramSelTplDesc }}
Version history
Template type
{{ ramSelTplKind }}
Version shown
{{ ramSelTplVersionLabel }}
LLM aliases
Enabled
Consumed by
{{ ramSelTplUsedBy }}
{{ ramSelTplCode }}
Custom source and agent templates must define exec(). Credentials, endpoints and file paths belong in environment variables, never in the code — a hard-coded key here becomes a key in every source built from the template.
NameDescriptionDefault ValueSecret
{{ e.name }}{{ e.desc }}{{ e.value }}{{ e.secretLabel }}
LLM AliasDescription
{{ a.alias }}{{ a.desc }}
Aliases let the code name models by role rather than by ID, so a model swap is a mapping change on the experiment rather than a code change here.
This template calls no language model, so it declares no aliases. Tool server templates expose functions to an agent; the agent's own experiment decides which model calls them.
Application Settings
Administrator role required
NameTypeURIConnectionIn Use
{{ d.name }} {{ d.type }} {{ d.uri }} ● Connected ● Failed {{ d.configs }}
{{ ramSelDestName }}
Connection failed — the host is unreachable from the cluster
URI
{{ ramSelDestUri }}
Port
{{ ramSelDestPort }}
Database
{{ ramSelDestDb }}
Schema
{{ ramSelDestSchema }}
Create if not exist
{{ ramSelDestCreate }}
Deployment type
{{ ramSelDestDeployment }}
gRPC port
{{ ramSelDestGrpc }}
NameProviderDimensionMax TokensStateIn Use
{{ m.name }}
{{ m.modelId }}
{{ m.provider }} {{ m.dim }} {{ m.maxTokens }} {{ m.status }} {{ m.configs }}
{{ ramSelEmbedName }}
{{ ramSelEmbedStatus }} {{ ramSelEmbedConfigs }}
Model ID
{{ ramSelEmbedModelId }}
Dimension
{{ ramSelEmbedDim }}
Max tokens
{{ ramSelEmbedMaxTokens }}
Deprecated. Existing configurations continue to consume it, but no new configuration can be created with it. Deprecation cannot be undone.
Dimension and max tokens are inferred when the model is verified. Verify them — an incorrect inferred value means the model silently fails to embed.
NameProviderDeploymentConnectionToken CostGroups with Access
{{ l.name }} {{ l.provider }} {{ l.deployment }} ● Healthy ● Failed {{ l.cost }} {{ l.groups }}
{{ ramSelLlmName }}
Connection failed — check the API key and that egress to this endpoint is permitted
Provider
{{ ramSelLlmProvider }}
Deployment name
{{ ramSelLlmDeployment }}
URI
{{ ramSelLlmUri }}
API version
{{ ramSelLlmApiVersion }}
API key
••••••••••••
Metered cost
{{ ramSelLlmCost }}
Groups with access
{{ g.label }}
A user can chat with a collection only if they belong to the User group, the collection's own group, and a group with access to the model. All three, or the collection simply does not appear for them.
Admin group
sas_ram_admin_role on client sas-ram-app. Full read, create, update and delete across every view.
User group
sas_ram_user_role on client sas-ram-app. Chat only, and only with collections they have been granted.
Per-collection groups
Created automatically with each collection — IFRS17KnowledgeBase, RegulatoryWatch, HomeIntelligenceFeed.
TaskAdministratorUser
{{ r.task }}{{ r.admin }}{{ r.user }}
Users are managed in the Keycloak realm created at deployment. Administrators hold these permissions by default; users must be granted theirs explicitly by group membership.
Connect only to tool servers from secure, trusted sources. An untrusted server can expose the environment to data exfiltration, adversarial content injection or unauthorized data access. Every connection here must be vetted under internal security policy before it reaches a production agent.
MCP Tool Servers
Tool servers host the MCP tools an agent can call. Starting a server makes its tools selectable on the Add Agent and Edit Agent windows; stopping it makes them unavailable.
NameCode TemplateSourceServer StatusPing StatusTools
{{ sv.name }} {{ sv.template }} {{ sv.source }} ● {{ sv.status }} {{ sv.ping }} {{ sv.ping }} {{ sv.ping }} {{ sv.toolCount }}
{{ ramSelSrvName }}
● {{ ramSelSrvStatus }} {{ ramSelSrvTemplate }}
{{ ramSelSrvDesc }}
This is a third-party server outside the cluster. SAS does not vet the security, reliability or behaviour of third-party MCP servers — evaluating and approving it is the customer's responsibility, including the risk of data exfiltration and adversarial content injection.
Transport type
{{ ramSelSrvTransport }}
Server URL
{{ ramSelSrvUrl }}
Authentication
{{ ramSelSrvAuth }}
{{ ramSelSrvAuthNote }}
OpenAPI specification
{{ ramSelSrvSpecUrl }}
Database vendor
{{ ramSelSrvVendor }}
Started
{{ ramSelSrvStarted }}
Tools used by
{{ ramSelSrvUsedBy }}
Environment variables
NameValueSecret
{{ e.name }}{{ e.value }}{{ e.secretLabel }}
Tools
{{ t.caret }}
{{ t.name }}
{{ t.desc }}
ParameterField TypeRequiredDefault
{{ p.name }} {{ p.type }} {{ p.requiredLabel }} {{ p.def }}
The tool list is populated only while the server is running. Start the server to discover its tools and make them selectable when creating or editing an agent.
Tool Server Logs
{{ ramSelSrvName }}
{{ l.level }}
{{ l.msg }}
{{ l.ts }}
Retrieval Agent Manager Admin — Generative AI for Enterprise Knowledge Base
Dashboard
ING data
ConfigurationDestination TypeEmbedding ModelRow CountRows SizeEmbeddings SizeEmbedding Dim.
{{ r.config }}{{ r.dest }}{{ r.embed }}{{ r.rows }}{{ r.rowsSize }}{{ r.embSize }}{{ r.dim }}
Average Retrieval Time
{{ g.model }}
{{ l.label }}
Sources
NameTypeScheduleAssociated CollectionsLast Updated
{{ r.name }}{{ r.type }}{{ r.schedule }}{{ r.collections }}{{ r.updated }}
NameSizeLast Updated
{{ f.name }}{{ f.size }}{{ f.updated }}
JobStatusStarted
{{ j.name }}{{ j.status }}{{ j.started }}
All Collections > Financial Docs
ConfigurationVectorization StatusLast JobLast Auto EvalLast User EvalConfiguration Status
{{ r.name }} ✓ {{ r.status }} {{ r.lastJob }}
{{ r.evalPct }}%
✓ {{ r.userEval }} 🏆 Champion {{ r.configStatus }}
⚙ Basics
Embedding model
all-MiniLM-L6-v2
Destination
weaviate storage local
Update strategy
Append, sync, and delete
🔧 Settings
Document ingestion
Exclude extensions from processing
.pdf
☑ Clean text after ingestion
🔍 Text Extraction
☐ OCR enabled
☐ Export tables
Collections
New Collection
{{ c.name }}
1 Source ⌄
Chat
{{ g.group }}
Large language model
gpt-4.1 (Concise)
what products does Apple sell?
Apple sells the following products:
Smartphones:
  • iPhone 16 Pro
  • iPhone 16
  • iPhone 15
  • iPhone 14
  • iPhone SE
Personal Computers (Mac):
  • MacBook Air
  • MacBook Pro
  • iMac
  • Mac mini
  • Mac Studio
  • Mac Pro
MCP Tool Servers
NameTemplateServer StatusPing Status
{{ r.name }} {{ r.template }} ● {{ r.status }} {{ r.ping }}
Tools — {{ adminSelectedMcp }}
NameDescription
› {{ f.name }}{{ f.desc }}
Agents
NameVersionStatus
{{ a.name }} {{ a.version }} ● {{ a.status }}
About
Name
{{ adminSelectedAgentDetail.name }}
Description
{{ adminSelectedAgentDetail.desc }}
LLMs
default
{{ adminSelectedAgentDetail.llm }}
Collections
default
{{ adminSelectedAgentDetail.collection }}
Tools
default
{{ adminSelectedAgentDetail.tools }}
{{ adminOtherLabel }}
This section mirrors the Sources view's data — switch here once you've configured it from the Workflow tab.