You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The chronicle#166 ruling (2026-08-13): selection contracts live in the consumer; Chronicle is a facts-only layer. The national contract re-homed in #707 (uk/uk_national_targets.json, US untyped-resource pattern). Two UK contracts remain Chronicle-side and need the same migration:
uk_local_geography (25 targets, constituency + local-authority) — actively consumed by microcosm.build.uk_runtime.local_targets.metric_names_from_target_profile, which duck-types a Ledger-exported profile object. Migration: translate the profile into a UK resource (same shape as uk_national_targets.json), switch local_targets.py to load it in-repo, keep the metric-name ordering contract (profile order is load-bearing for compute_household_metrics columns).
uk_firms (8 targets, country level, groupby + cross-tab dimension selectors) — declares the firm calibration surface; firm generation currently consumes Chronicle facts directly (uk_firm_source_data_from_ledger_facts), so this is a declaration move with no build-path change until the firm targets compile through the shared reference machinery.
uk_local_geography's selectors reference wave-3 facts; its own resolution coverage becomes testable consumer-side once the local packages are consumed (chronicle#134 landed the national-side packages).
Chronicle-side removal of the profile surface is tracked separately in the chronicle retirement issue; sequence this migration first so nothing consumes a deleted artifact.
The chronicle#166 ruling (2026-08-13): selection contracts live in the consumer; Chronicle is a facts-only layer. The national contract re-homed in #707 (
uk/uk_national_targets.json, US untyped-resource pattern). Two UK contracts remain Chronicle-side and need the same migration:uk_local_geography(25 targets, constituency + local-authority) — actively consumed bymicrocosm.build.uk_runtime.local_targets.metric_names_from_target_profile, which duck-types a Ledger-exported profile object. Migration: translate the profile into a UK resource (same shape asuk_national_targets.json), switchlocal_targets.pyto load it in-repo, keep the metric-name ordering contract (profile order is load-bearing forcompute_household_metricscolumns).uk_firms(8 targets, country level, groupby + cross-tab dimension selectors) — declares the firm calibration surface; firm generation currently consumes Chronicle facts directly (uk_firm_source_data_from_ledger_facts), so this is a declaration move with no build-path change until the firm targets compile through the shared reference machinery.Notes:
record_set_id/groupby_dimension/dimensionsselectors; the national contract additionally usesdimension_valuespins that the reference resolver must honor when Consume Ledger UK facts: uk_target_references, mapping module, and a compile-parity gate #622 compiles — one resolver should serve all three contracts.uk_local_geography's selectors reference wave-3 facts; its own resolution coverage becomes testable consumer-side once the local packages are consumed (chronicle#134 landed the national-side packages).🤖 Generated with Claude Code