This file is the durable local context for microplex core.
microplex is the shared core for country packs. It should accumulate reusable abstractions, not country-specific policy logic or raw source parsing.
Sibling repos:
src/microplex/targets/spec.pysrc/microplex/targets/provider.pysrc/microplex/targets/bundles.pysrc/microplex/targets/reweighting.pysrc/microplex/targets/benchmarking.py
These now cover:
- target specs and queries
- target providers
- household-linked entity bundles for reweighting
- normalized metric construction
- benchmark result/comparison/suite serialization
- payload-based and result-based slice/suite builders
src/microplex/geography.py
Public partition helpers on ProbabilisticAtomicGeographyAssigner now exist specifically so country packs do not reach into private assigner internals.
Core should own:
- benchmark math and data structures
- reweighting math and bundle interfaces
- common query/filter semantics
- generic suite/result orchestration
Country packs should own:
- PolicyEngine adapters
- raw source manifests/parsers
- geography assets/crosswalks
- target registries that are country-specific
- The next likely extraction is a fuller PE adapter contract:
- materialize required features
- evaluate target set
- return
BenchmarkResult
- Core should avoid hard-baking US tax-unit assumptions. US tax filing units may eventually need to be policy-endogenous.
- UK and US still differ in execution architecture:
- US is mostly in-process with richer caching
- UK still uses subprocess-isolated PE execution
tests/targets/test_benchmarking.pytests/targets/test_reweighting.pytests/test_package_surface.pytests/test_geography.py
If a change helps both UK and US, prefer landing it here first and making country packs adapt downward.