Architecture

This document describes the intended package/module separation for the research-focused, minimal refactor.

Target top-level modules

  • motac.data: dataset loaders (Chicago, ACLED, simulation) and canonical schema validation

  • motac.spatial: grid/graph builders, travel-time neighbours, POI features

  • motac.models: parametric Hawkes, marked Hawkes, neural-kernel modules

  • motac.inference: JAX likelihoods, sparse/jit kernels, optimisers, constraints

  • motac.sim: simulator and observation-noise models

  • motac.eval: backtesting, metrics, calibration, reporting

  • motac.cli: commands for fetch, build-substrate, simulate, fit, forecast, backtest

Only these seven package directories are kept under src/motac.

Legacy split modules were removed to keep the codebase straightforward for research iteration.