Skip to content

Retire the target-profile surface: Chronicle is facts-only (#166 ruling) #172

Description

@juaristi22

The #166 ruling (2026-08-13): all selection contracts live in the consumer (Microcosm); Chronicle remains a facts-only layer. The national contract has been re-homed (microcosm#707); the remaining Chronicle-side profile surface should be retired once its consumers adopt the migrated contracts (microcosm migration issue for uk_local_geography + uk_firms).

Scope, sequenced after consumer adoption:

  1. Remove policyengine_chronicle/target_profiles/ (uk_local_geography.json, uk_firms.json, model.py) and the profile-resolution machinery in policyengine_chronicle/consumer.py (profile loading, resolve_profile_targets, per-profile coverage in build-consumer-artifact — the consumer artifact becomes facts + manifest hashes only).
  2. Retire the ledger-target-profile-author lane and ledger-target-profile judge from .github/chronicle-agents.yml; drop the profile tests.
  3. Reconcile the documentation so exactly one doctrine survives on main: revert the PR Add Ledger target profile contracts #60/README "Ledger owns target profiles and measurement contracts" framing; keep the founding facts-only boundary (harness plan, docs/architecture.md, docs/pe-calibration-targets.md already state it); update AGENTS.md, docs/chronicle-governance.md, and the consumer-artifact sections of the facts-only ADR.
  4. Drop policyengine_ledger.target_profile.v1 / resolved_target.v1 from the v2 surface migration plan: retire frozen ledger-named machine surfaces #143 v2 schema-id migration (no v2 successor).
  5. Define Belgian target profiles for populace-be #70 (Belgian target profiles) is superseded — Belgian contracts live consumer-side (be/target_references.json already does; its criticality-tier/basis-period content moves there).

Not in scope: the facts, packages, dimension_values fact semantics on rows, or the consumer-facts artifact — all unaffected by the ruling.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions