diff --git a/.changeset/adr-0104-meta-advertisement-as-implemented.md b/.changeset/adr-0104-meta-advertisement-as-implemented.md new file mode 100644 index 0000000000..4e6650efc4 --- /dev/null +++ b/.changeset/adr-0104-meta-advertisement-as-implemented.md @@ -0,0 +1,4 @@ +--- +--- + +docs(adr-0104): amend the upgrade-path advertisement clause to record how it landed (#4253/#4284) — `os migrate meta` names the migrations without gate status, because gate status is per deployment (2026-07-27 addendum) while `meta` acts on source, which deploys to zero-or-N of them; status is reported where a datastore is actually open. Releases nothing. diff --git a/docs/adr/0104-field-runtime-value-shape-contract.md b/docs/adr/0104-field-runtime-value-shape-contract.md index e077489f97..cf4333ef10 100644 --- a/docs/adr/0104-field-runtime-value-shape-contract.md +++ b/docs/adr/0104-field-runtime-value-shape-contract.md @@ -830,7 +830,15 @@ os migrate value-shapes and a deployment booting ≥17 with covered fields and no `adr-0104-value-shapes` row logs one line at startup saying warn-mode is in effect and which command ends it. A gate nobody is told about is served by - nobody. + nobody. *(Amended as implemented, #4253/#4284: `meta` names the migrations + **without** gate status. The status half was a category error this ADR had + already corrected — per the 2026-07-27 addendum the gate is per + **deployment**, and `meta` acts on **source**, which deploys to zero-or-N of + them, so "its" status has no referent at meta time. Status is reported where + a datastore is actually open: each migration command reports before it + writes, and the boot line carries the live verdict — after #4284, only where + that line is true: counting only fields a write would check, silent when an + env switch already settled the posture.)* ### Fresh datastores attest at creation — both flags