Skip to content

adr: Placement Policy (019) + Migration/Operational gating (020) + Data·Policy·Provider lens - #14

Merged
croadfeldt merged 1 commit into
mainfrom
docs/adr-019-020-placement-policy
Jun 27, 2026
Merged

croadfeldt merged 1 commit into
mainfrom
docs/adr-019-020-placement-policy

Conversation

@croadfeldt

Copy link
Copy Markdown
Owner

Closes the Policy column of the placement-data substrate. UDLM ADR-001..004 (croadfeldt/udlm#13) supply the Data + Provider sides; these are the control-plane Policy side. All Proposed, pending the engineering re-sync (#163).

ADRs

  • 019 Placement Policy — the 8th typed policy: declarative affinity / anti-affinity / spread / co-locate / prefer / pin over abstract Topology kinds; the engine evaluates; enforces the portability discipline (no provider-native ids in intent). Consumes UDLM Topology (ADR-001), capacity/utilization (ADR-002), provider topology_capability (ADR-004).
  • 020 Migration & Operational Gating — reuses existing typed policies: Governance-Matrix (migration permission / sovereignty), Orchestration-Flow (cutover sequence), GateKeeper (process-validation freshness gating, T6), + operational rehearsal scheduling. No new type beyond 019.

Foundational requirement

adr/README now mandates that every ADR / DecisionRecord state its Data · Policy · Provider aspects (the three abstractions, ADR-002) — foundational across UDLM, DCM, and DAV. Both new ADRs model the section. (UDLM gets the mirror requirement in its rubric + ADR template.)

This completes the three-abstraction coverage: Data (UDLM #13) + Provider (UDLM ADR-004) + Policy (here), all cross-domain.

…uire Data·Policy·Provider lens

Closes the Policy column of the placement-data substrate (UDLM ADR-001..004 are the Data +
Provider sides; these are the control-plane Policy side).

- ADR-019 Placement Policy — the 8th typed policy: declarative affinity/anti-affinity/spread/
  co-locate/prefer/pin over abstract Topology kinds; engine evaluates; enforces the portability
  discipline. Consumes UDLM Topology + capacity/utilization + provider topology_capability.
- ADR-020 Migration & Operational Gating — reuses existing typed policies: Governance-Matrix
  (migration permission/sovereignty), Orchestration-Flow (cutover sequence), GateKeeper
  (process-validation freshness gating), + operational rehearsal scheduling. No new type beyond 019.
- adr/README — **required lens: every ADR/DecisionRecord MUST state its Data · Policy · Provider
  aspects** (the three abstractions, ADR-002) — foundational across UDLM/DCM/DAV. Both new ADRs
  model the section.

Companion to croadfeldt/udlm#13 (UDLM Topology + placement-data ADRs).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant