Flips four status words and nothing else. The four sections campaign SF036
filed at proposed and whose implementing requests have landed move to
accepted: ADR-0005's profile assign and read-only mount (sb-qhzl, PR 363;
built by sb-2bmk, PR 378 at 8abc655), ADR-0002's decision 7 hidden?/readonly?
amendment (sb-s0jt, PR 360; built by sb-21gm, PR 375 at 09d048b), and
sb-hlut's two sentence sections - ADR-0002's optional sentence/1 and
ADR-0005's Node.sentence plus ViewModel.outline/1 (PR 373; both built by
sb-w37s, PR 377 at ea2fdee). sb-gdmw's recipe-membership amendment does NOT
flip in this campaign (RQ-SF036-7) and its status line is untouched.
The diff removes exactly the four lines those status words sit on; every
other line is an addition. Two dated foot Notes, one per file, record what
the flip checked. No marker is inserted beside a status paragraph: this
campaign's records-append-at-the-end rule forbids a mid-file insert, and
every forward sentence those paragraphs carry is met in the foot Note
instead - the shape sb-wzoa's and sb-9paa's flips of the ADR-0011 amendments
both took.
Every claim was verified against main at 8abc655 rather than against the code
the sections were written on. All four sections' decisions hold. Five
wordings do not, and the Notes correct them by addition:
1. ADR-0002's F2 describes the narrow missing-default refusal as the code
reads "today" and cites compiler.ex at three ranges. The amendment's own
F3 replaced that code: path_field_without_default?/1 no longer exists,
declaration_finding/1 asks about :default for every field type, and the
shift is not the uniform +37 a rebase alone would have produced. Met by
implementation, not falsified.
2. F8 calls Datamodel's declared_row a "declaration struct"; it is a @type
map at datamodel.ex:219-227.
3. F4's {:type_expr, opts} row names "the nothing at all arm" where the
2026-09-06 amendment calls it the absent arm. Same three values, wrong
name.
4. The sentence/1 amendment describes the reader as "a palette entry plus a
config"; BlockType.sentence/2 is (module, config), the shape summary/3
takes, because a palette entry carries no module.
5. "Indistinguishable from a module that declares no sentence/1" is true at
that reader and false one level up: the injected `use` default is a real
def sentence/1, so ViewModel's declares_sentence?/1 counts it as declared
and its Node.sentence is the palette label rather than an author's title.
The Note states the cost, and that no shipped core type is in that set.
Corrections 1-3 are sb-p144's residue and 4-5 are sb-xtcp's, both folded
here by the conductor. Both Notes also re-count the code cites the three
implementing requests moved; each section already said its cites were to be
re-read rather than trusted.
docs/adr/.cite-baseline.json is refreshed in the same request, which is the
campaign's one baseline update: the citations PRs 360, 363, 367, 372, 373
and 376 wrote are recorded, and mix adr.cites then exits 0 with no moved
citation and no unrecorded one.
Docs only: no Elixir file changes and no also-gated paths, so the repo's rule
that a change touching no code has no gate to run applies; CI runs it
regardless. No fragment: ADRs are excluded from changelog.d.
Refs: sb-xnxw