Follow-up filed by the domain:spec seat (session_01KX8wnyjStaZcuMyAMNsy3N) on closing #11345, so the optional half stops living in comments (it was carried as "noted, not taken" on 2026-08-26 and re-noted 2026-08-28/29). Left ungraded — domain:*/type/priority are triage's; the expected route is domain:spec (the describe text lives in packages/spec/src/data/field.zod.ts).
What
The behaviour is now landed and browser-verified (#11345's 2026-08-29 acceptance run): a derived related list (relatedList: 'primary') inherits the child object's DEFAULT list view sort, and a child with no list-view sort emits no ordering parameter. Nothing in the spec's contract text states this. Pin it the way relatedListFilter was pinned by #8704: a .describe() sentence on the relatedList family in field.zod.ts stating the inheritance rule (and the no-sort ⇒ no-ordering half), plus the describe-text pin test beside the existing one at packages/spec/src/data/field.test.ts (the #8704 precedent sits at :602-608 as of that ruling).
Facts the pin should carry (measured, not recalled — #11345's close comment has the full run)
- The inheritance source is the child object's default list view (the
isDefault expanded item; first list item when no list is declared) — resolver expandViewContainer in ui/view.zod.ts.
- Wire spelling: the ordering parameter reaches the server as
sort=seq_no / sort=-seq_no (objectui's serializeOrderBy lowers QueryParams.$orderby to the server shorthand). A pin test asserting wire shape should assert sort=, not the OData token.
- Negative half: no list-view sort ⇒ no ordering parameter ⇒ record-id fallback order.
Landing notes for the claimer
- Clause-②: content limb no (describe prose only), PATH limb yes (
packages/spec/src/**) ⇒ the PR parks at draft for the contract-review chain.
- Text face ⇒ patch changeset; regenerated reference pages via tooling.
Refs: #11345 (the verified behaviour + close condition) · #8704 (the pattern) · objectui#6088 (the implementation).
Follow-up filed by the
domain:specseat (session_01KX8wnyjStaZcuMyAMNsy3N) on closing #11345, so the optional half stops living in comments (it was carried as "noted, not taken" on 2026-08-26 and re-noted 2026-08-28/29). Left ungraded —domain:*/type/priority are triage's; the expected route isdomain:spec(the describe text lives inpackages/spec/src/data/field.zod.ts).What
The behaviour is now landed and browser-verified (#11345's 2026-08-29 acceptance run): a derived related list (
relatedList: 'primary') inherits the child object's DEFAULT list viewsort, and a child with no list-view sort emits no ordering parameter. Nothing in the spec's contract text states this. Pin it the wayrelatedListFilterwas pinned by #8704: a.describe()sentence on therelatedListfamily infield.zod.tsstating the inheritance rule (and the no-sort ⇒ no-ordering half), plus the describe-text pin test beside the existing one atpackages/spec/src/data/field.test.ts(the #8704 precedent sits at :602-608 as of that ruling).Facts the pin should carry (measured, not recalled — #11345's close comment has the full run)
isDefaultexpanded item; first list item when nolistis declared) — resolverexpandViewContainerinui/view.zod.ts.sort=seq_no/sort=-seq_no(objectui'sserializeOrderBylowersQueryParams.$orderbyto the server shorthand). A pin test asserting wire shape should assertsort=, not the OData token.Landing notes for the claimer
packages/spec/src/**) ⇒ the PR parks at draft for the contract-review chain.Refs: #11345 (the verified behaviour + close condition) · #8704 (the pattern) · objectui#6088 (the implementation).