Home › Product › How EDIS works
Architecture

How EDIS works

A policy question is classified, routed to registered agents, resolved into a model workflow, queued, executed, validated and reported — with the chain visible to the user throughout.

The pipeline

Eight stages between question and report

Nothing in this sequence is optional. A question that cannot pass a stage — because a dataset is missing, a model has not converged or the user is not licensed for the country requested — stops there and says so.

01User questionNatural language, with country, region, baseline year, horizon, currency and scenario.
02EDIS orchestratorIntent classification and normalisation against the registered question library.
03Agent selectionThe agents whose specifications accept this question class are assembled.
04Data, models, GISRequired model services and datasets are resolved and availability confirmed.
05SimulationThe workflow is queued; model workers execute in dependency order.
06ValidationConvergence, consistency and plausibility checks; failure is reported, not smoothed.
07Policy intelligenceResults assembled into summary, results, charts, maps, budget and distributional views.
08ReportBrief or technical report generated with assumptions, limitations and a run ID.
Routing

Twelve checks before a model runs

When a question is entered, EDIS works through a fixed sequence. Every step is logged, and the log is what the run record and the report annex are built from.

The rule: never send every question directly to a language model. The model layer answers; the AI layer decides which model, and explains.

#Check
01Classify intent against the question library
02Identify country
03Identify sector or sectors
04Identify scenario and shocks
05Identify relevant agents
06Determine required models
07Check data availability and quality score
08Check user and organisation permissions
09Construct the workflow and execution order
10Execute through the job queue
11Validate results and record status
12Assemble the response and the report
Cross-model workflow

The FINEX-to-MEL chain

The integrated workflow that gives EDIS its answer to a budget question. Results feed forward through the chain, and the MEL layer feeds back into the next fiscal framework.

FINEXMTEFSector modelUCSNBudget Output EnginePIASCDCGEPovertyMELfeedback to FINEX

Why the chain is visible

Analysts are asked to defend results. A result that arrives without a visible derivation cannot be defended. EDIS therefore shows which model is running, which have completed, which are waiting and which have failed — while the run is in progress, not only afterwards.

Run states

Queued Running Validating Completed Failed Non-converged

Model status

Ready Partial Data missing Model error Validated

A user must be able to see whether a result is reliable before acting on it. Status badges appear on the model, on the run and on every displayed figure.

Execution

Long simulations never block the interface

A general equilibrium run or a network optimisation can take minutes. EDIS submits it to a queue and returns control immediately; the workspace updates as workers report progress.

Run requestJob queueModel workerStatusResult storeInterface update

Results are written to a result store keyed by run ID, so a scenario can be reopened, compared, shared with a colleague or cited in a report months later and return exactly the same numbers.

Technology

  • Julia and Genie.jl for the platform services
  • Stipple.jl for reactive analytical interfaces
  • PostgreSQL for the registries, runs and results
  • Redis and background workers for the job queue
  • REST APIs and WebSockets for long-running model jobs
  • Containerised model services, scaled independently

Models are not rewritten into JavaScript. The front end calls model services; the models remain where they are maintained.

Provenance

Eleven fields behind every number

No numerical answer appears in EDIS without a traceable record. This is what a reviewer, an auditor or a parliamentary committee will ask for.

Data source
Named dataset and custodian
Data year
Reference period of the data
Country
Country instance of the model
Model
Model service that produced the figure
Model version
Exact version, not “latest”
Scenario
Named scenario and its shocks
Run ID
Unique, reproducible run identifier
Timestamp
When the run executed
Parameters
Every parameter that differed from default
Transformations
Deflators, conversions, aggregations applied
Validation status
Validated, partial, or failed with the reason

How data is sourced and scored

Two audiences, one engine

Executive mode and expert mode

The same run, presented at the altitude the user needs. Mode is a preference, not a different product, and a user with the right permissions can move between them.

Executive mode

For ministers, permanent secretaries and senior policymakers

  • Top findings, stated in three lines
  • Key risks and what would change the conclusion
  • Budget implications, including recurrent cost created
  • Policy options, ranked, with trade-offs stated
  • Recommended actions and the decision each one requires
  • Scenario comparison, side by side

Technical complexity is not exposed unless it is asked for.

Expert mode

For economists, modellers and technical analysts

  • Model parameters and the closure rule in force
  • Scenario shocks as entered, with units
  • Convergence diagnostics and solver status
  • Iteration results and residuals
  • Full data tables and equation references
  • Sensitivity analysis across the elasticity set

Advanced configuration is available where the licence permits it.

Security and separation

Government data does not leak between organisations

Identity

Authentication, session security, password policy, and organisation-scoped accounts with invitation flows.

Authorisation

Role-based access control down to the model, agent, dataset, country and report level.

Isolation

Organisation separation enforced in the data layer, with cross-organisation isolation tested.

Accountability

Audit logs, API quotas, rate limiting and secure secrets management. Private datasets are never exposed.

See a run end to end Open the model explorer