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