Skip to content

Commit 7502220

Browse files
committed
test(spec): the last ui/ file group's test titles state each cited decision in words instead of a tracker number (stage 23)
Stage 23 of the spec lane's share of the runtime-string burn-down: the test strings shipped under packages/spec/src, the last name-ordered ui/ group (view-item-config-type.test.ts through widget.test.ts). 100 literals in 16 files (97 test titles and 3 declared strings: one table label that prints inside for-of titles, and two expect messages) lose 106 tracker ids: 25 literals now state the cited decision in words, 20 get their subject back in words, and 55 drop a number the title already explains. No needle sits in this group. Text only: one line per literal, no assertion, identifier, test count, code comment or file name changes. Claude-Session: https://claude.ai/code/session_01T9u38rswFp5Rw8DswRUReJ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 9e33ee7 commit 7502220

16 files changed

Lines changed: 100 additions & 100 deletions

‎packages/spec/src/ui/view-item-config-type.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ void [
7979
parsedArtifactScalarConfig,
8080
];
8181

82-
describe('[#19920] a ViewItem config is typed by its arm, not unknown', () => {
82+
describe('a ViewItem config is typed by its arm, not unknown', () => {
8383
it('each body typed through the published names parses at its door', () => {
8484
expect(ViewItemSchema.safeParse(listItem).success).toBe(true);
8585
expect(ViewItemSchema.safeParse(formItem).success).toBe(true);

‎packages/spec/src/ui/view-metadata-schema.test.ts‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { ListViewSchema, ViewItemSchema, ViewMetadataSchema } from './view.zod';
1818

1919
const PLACEHOLDER_DATA = { provider: 'object', object: 'crm_lead' } as const;
2020

21-
describe('ViewMetadataSchema — genuine validation across the three runtime shapes (#3095)', () => {
21+
describe('ViewMetadataSchema — genuine validation across the three runtime shapes', () => {
2222
// ── shape 2: standalone ViewItem record ───────────────────────────────────
2323
describe('ViewItem record form', () => {
2424
it('accepts a well-formed list ViewItem', () => {
@@ -92,7 +92,7 @@ describe('ViewMetadataSchema — genuine validation across the three runtime sha
9292
expect(ViewMetadataSchema.safeParse({ listViews: {} }).success).toBe(false);
9393
});
9494

95-
it('REJECTS a bare `{}` — the pin this line used to make, reversed by #5599', () => {
95+
it('REJECTS a bare `{}` — the pin this line used to make, reversed by the identity precondition', () => {
9696
// This assertion previously read `.toBe(true)`, justified as "legacy-
9797
// compatible … a truly empty body carries no viewKind/object, so every
9898
// consumer that filters on identity drops it". #5599 measured what that
@@ -122,7 +122,7 @@ describe('ViewMetadataSchema — genuine validation across the three runtime sha
122122
expect(r.success).toBe(true);
123123
});
124124

125-
it('REJECTS a raw list config with NO object binding — the #7741 dead row, with located guidance', () => {
125+
it('REJECTS a raw list config with NO object binding — a row no read path could serve, with located guidance', () => {
126126
// ⚠️ Deliberate inversion (#7741, ruled 2026-08-12, direction B). This
127127
// test used to PIN acceptance of exactly this body ("adhoc PUT, no
128128
// registry entry to inherit from") — and QA run #7695 measured what that
@@ -212,7 +212,7 @@ describe('ViewMetadataSchema — genuine validation across the three runtime sha
212212
});
213213

214214
// ── #5599: the identity precondition, ahead of all four arms ──────────────
215-
describe('identity precondition (#5599)', () => {
215+
describe('identity precondition — a body must read as a view before any member judges it', () => {
216216
// The reproduction from the issue, verbatim. On `origin/main` every input
217217
// in this block was ACCEPTED and reduced to `{ type: 'simple' }` — member 4
218218
// (`FormViewSchema.extend(…).strip()`) both strips unknown keys and requires
@@ -384,7 +384,7 @@ describe('ViewMetadataSchema — genuine validation across the three runtime sha
384384
expect(ViewMetadataSchema.safeParse({ groupByField: 'stage' }).success).toBe(false);
385385
});
386386

387-
it('does NOT close the arms — `.strip()` round-tripping is untouched (#5074)', () => {
387+
it('does NOT close the arms — `.strip()` round-tripping is untouched', () => {
388388
// The ruling on #5599 kept every arm's `.strip()`: a body that speaks the
389389
// vocabulary still carries undeclared aux keys through without a 422.
390390
// This is the deliberate residue of the minimal fix, pinned so a later
@@ -403,14 +403,14 @@ describe('ViewMetadataSchema — genuine validation across the three runtime sha
403403
// authorable (objectui's `gridNonAuthorKeys` disposition). The two halves
404404
// below are the card's executable acceptance criterion; a change that flips
405405
// either one is reversing a ruling, not tidying a schema.
406-
describe('columnState — runtime-only overlay key (#9933)', () => {
406+
describe('columnState — runtime-only overlay key', () => {
407407
// The REAL payload, measured: objectui's `persistViewPatch` sends
408408
// `{ columnState: { order?, widths? }, _isOverride: true }` and
409409
// `normalizeViewMetadata` inherits `name`/`object`/`viewKind` from the
410410
// shadowed entry (#2555). Before commit d5552ca13 this body carried no declared key,
411411
// so the identity precondition 422'd it — the ruled patch-only write for
412412
// a column drag could not persist.
413-
it('HALF 1 — the overlay face accepts a `columnState`-only patch (the objectui#5233 payload)', () => {
413+
it('HALF 1 — the overlay face accepts a `columnState`-only patch (the patch-only write the console persists)', () => {
414414
const r = ViewMetadataSchema.safeParse({
415415
name: 'showcase_task.default',
416416
object: 'showcase_task',
@@ -421,7 +421,7 @@ describe('ViewMetadataSchema — genuine validation across the three runtime sha
421421
expect(r.success).toBe(true);
422422
});
423423

424-
it('HALF 1 — a baseline-less columnState patch is refused at the MEMBERS (binding pair, #7741), not the precondition', () => {
424+
it('HALF 1 — a baseline-less columnState patch is refused at the MEMBERS (the object + viewKind binding pair), not the precondition', () => {
425425
// `columnState` is vocabulary now, so the precondition stays inert; what
426426
// refuses the unbound body is the members' object+viewKind requirement.
427427
const r = ViewMetadataSchema.safeParse({ columnState: { order: ['name'] } });

‎packages/spec/src/ui/view-metadata-type.test.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ const parsedUndeclaredKey: ViewMetadataParsed = { type: 'grid', columns: ['name'
7878
const parsedScalar: ViewMetadataParsed = 42;
7979
void [parsedFromUnknown, parsedUndeclaredKey, parsedScalar];
8080

81-
describe('[#19871] ViewMetadata is a view body, not unknown', () => {
81+
describe('ViewMetadata is a view body, not unknown', () => {
8282
it('has a typed body for every member of the union', () => {
8383
expect(Object.keys(BODY_OF_EACH_MEMBER).sort()).toEqual([...VIEW_METADATA_BRANCHES].sort());
8484
});
@@ -92,7 +92,7 @@ describe('[#19871] ViewMetadata is a view body, not unknown', () => {
9292
}
9393
});
9494

95-
describe('[#19920] ViewMetadataParsed is a parsed view body, not unknown', () => {
95+
describe('ViewMetadataParsed is a parsed view body, not unknown', () => {
9696
for (const branch of VIEW_METADATA_BRANCHES) {
9797
it(`the ${branch} member's parse output and diagnoseViewMetadata's data are both ViewMetadataParsed`, () => {
9898
const memberOutput: ViewMetadataParsed = VIEW_METADATA_MEMBERS[branch].parse(BODY_OF_EACH_MEMBER[branch]);

‎packages/spec/src/ui/view-overlay-options-bag.test.ts‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ function under(issues: Issue[], prefix: PropertyKey[]): Array<Omit<Issue, 'path'
7777
.sort((a, b) => `${a.path}|${a.code}`.localeCompare(`${b.path}|${b.code}`));
7878
}
7979

80-
describe('[#20051] the bag declares exactly the list kinds, derived from the shape', () => {
80+
describe('the bag declares exactly the list kinds, derived from the shape', () => {
8181
it('declares one block per list-view kind that has a block — `grid` has none', () => {
8282
// A pin on the DERIVATION (`listViewKindBlocks`): the list is not
8383
// hand-maintained in the schema, so it is stated once here, where a new
@@ -88,7 +88,7 @@ describe('[#20051] the bag declares exactly the list kinds, derived from the sha
8888
});
8989
});
9090

91-
describe('[#20051] a direct and an `options`-wrapped out-of-contract key get the same refusal', () => {
91+
describe('a direct and an `options`-wrapped out-of-contract key get the same refusal', () => {
9292
it('the card\'s headline: `options.timeline.metaFields` is refused by name, as `timeline.metaFields` is', () => {
9393
const timeline = { startDateField: 'created_at', titleField: 'name', metaFields: ['region'] };
9494
const direct = listOverlayIssues(overlay({ type: 'timeline', timeline }));
@@ -136,7 +136,7 @@ describe('[#20051] a direct and an `options`-wrapped out-of-contract key get the
136136
});
137137
});
138138

139-
describe('[#20051] the bag itself is closed', () => {
139+
describe('the bag itself is closed', () => {
140140
it('`options.foo` is refused by name at `options`, not dropped', () => {
141141
const issues = listOverlayIssues(overlay({ options: { foo: 1 } }));
142142
const hit = issues.find((i) => i.code === 'unrecognized_keys');
@@ -157,7 +157,7 @@ describe('[#20051] the bag itself is closed', () => {
157157
});
158158
});
159159

160-
describe('[#20051] a legal `options.KIND` still parses and round-trips', () => {
160+
describe('a legal `options.KIND` still parses and round-trips', () => {
161161
it('CONTROL: the legacy `options.map` bag objectui pins is accepted and kept in the parse output', () => {
162162
// objectui `packages/app-shell/src/views/InterfaceListPage.mapConfig.test.tsx`
163163
// — "CONTROL: the legacy `options.map` bag is still forwarded on its own
@@ -205,7 +205,7 @@ describe('[#20051] a legal `options.KIND` still parses and round-trips', () => {
205205
});
206206
});
207207

208-
describe('[#20051] the form overlay cannot take the bag the list overlay refused', () => {
208+
describe('the form overlay cannot take the bag the list overlay refused', () => {
209209
it('a column-less, type-less body with a bad `options` bag is refused, not accepted as a form', () => {
210210
// Without the form overlay's `options` pin this body is ACCEPTED: the list
211211
// member refuses it (no `columns`, and the bag), the form member — which
@@ -252,7 +252,7 @@ describe('[#20051] the form overlay cannot take the bag the list overlay refused
252252
* `.strip()` used to drop it unread; with the save storing the parsed body it
253253
* would have vanished on a `200` instead.
254254
*/
255-
describe('[#20051] a ViewItem record carries no top-level `options` bag', () => {
255+
describe('a ViewItem record carries no top-level `options` bag', () => {
256256
const record = (extra: Record<string, unknown> = {}) => ({
257257
name: 'crm_lead.board',
258258
object: 'crm_lead',

‎packages/spec/src/ui/view-overlay-options-type.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ const numericBagArtifact: AssembledViewArtifact = { object: 'crm_lead', viewKind
8282
const numericBagParsedArtifact: AssembledViewArtifactParsed = { object: 'crm_lead', viewKind: 'list', options: { kanban: 42 } };
8383
void [typedBag, numericBagMetadata, numericBagParsedMetadata, numericBagArtifact, numericBagParsedArtifact];
8484

85-
describe('[#19920] the list overlay options bag carries each kind block', () => {
85+
describe('the list overlay options bag carries each kind block', () => {
8686
it('the runtime key set is the kind set the type names', () => {
8787
const bag = VIEW_METADATA_MEMBERS.listOverlay.shape.options.unwrap();
8888
expect(Object.keys(bag.shape).sort()).toEqual([...KIND_BLOCKS]);

‎packages/spec/src/ui/view-overlay-owner-hidden-retirement.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ describe('overlay owner/hidden retirement — ADR-0087 registration', () => {
332332
expect(MIGRATIONS_BY_MAJOR[18]!.conversionIds).toContain('view-overlay-owner-hidden-removed');
333333
});
334334

335-
it('the family carries ONE D3 semantic entry, and it names the family\'s D2 conversion (ruling B on #17152)', () => {
335+
it('the family carries ONE D3 semantic entry, and it names the family\'s D2 conversion (ruled: a D3 entry per family, even beside a lossless D2)', () => {
336336
const semantic = MIGRATIONS_BY_MAJOR[18]!.semantic;
337337
const family = semantic.filter((s) => s.id === 'view-overlay-owner-hidden-retired');
338338
expect(family).toHaveLength(1);

‎packages/spec/src/ui/view-overlay-viewkind-arm.test.ts‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ function acceptance(body: unknown) {
8080
return { data: parsed.data as Record<string, unknown>, branch: diagnosis.branch };
8181
}
8282

83-
describe('#20186 a column-less list PATCH is judged by the list member', () => {
83+
describe('a column-less list PATCH is judged by the list member', () => {
8484
it('the headline `{ name, object, viewKind: list, sort }` is ACCEPTED on listOverlay and parses to a LIST', () => {
8585
const { data, branch } = acceptance({ ...LIST, sort: [{ field: 'name', order: 'asc' }] });
8686
expect(branch).toBe('listOverlay');
@@ -99,14 +99,14 @@ describe('#20186 a column-less list PATCH is judged by the list member', () => {
9999
['inlineEdit', { inlineEdit: true }],
100100
['columnState', { columnState: { widths: { name: 120 } } }],
101101
['rowHeight', { rowHeight: 'compact' }],
102-
])('the console %s toggle (patch only, ruled on #7494) is ACCEPTED on listOverlay', (_label, patch) => {
102+
])('the console %s toggle (a patch-only write, as ruled) is ACCEPTED on listOverlay', (_label, patch) => {
103103
const { branch, data } = acceptance({ ...patch, viewKind: 'list', ...ID, _isOverride: true });
104104
expect(branch).toBe('listOverlay');
105105
expect(data.type).toBe('grid');
106106
});
107107
});
108108

109-
describe('#20186 …and its list keys are JUDGED, not stripped', () => {
109+
describe('…and its list keys are JUDGED, not stripped', () => {
110110
it('a retired bare-string `sort` is REFUSED at `sort`, with the 17.5.0 retirement prescription', () => {
111111
const r = refusal({ ...LIST, sort: 'name desc' });
112112
expect(r.topCodes).toEqual(['invalid_union']);
@@ -141,7 +141,7 @@ describe('#20186 …and its list keys are JUDGED, not stripped', () => {
141141
});
142142
});
143143

144-
describe('#20186 a column-less list overlay that NAMES a `type` stays refused — at `columns`', () => {
144+
describe('a column-less list overlay that NAMES a `type` stays refused — at `columns`', () => {
145145
// `overlay.list.identity` in `view-union-diagnostics.test.ts`: refused before,
146146
// refused now, and still wrapped as `invalid_union` (the refusal is an
147147
// ABORTING issue, so the list member is not the union's lone survivor).
@@ -161,7 +161,7 @@ describe('#20186 a column-less list overlay that NAMES a `type` stays refused
161161
});
162162
});
163163

164-
describe('#20186 the mirror: a `viewKind: form` body is judged by the form member', () => {
164+
describe('the mirror: a `viewKind: form` body is judged by the form member', () => {
165165
it('list `columns` on a form overlay is REFUSED under formOverlay, at `columns`, with the count prescription', () => {
166166
const r = refusal({ ...FORM, columns: ['name'] });
167167
expect(r.topCodes).toEqual(['invalid_union']);
@@ -179,7 +179,7 @@ describe('#20186 the mirror: a `viewKind: form` body is judged by the form membe
179179
});
180180
});
181181

182-
describe('#20186 W2 — a list-legal value under a key both arms declare differently is ACCEPTED', () => {
182+
describe('W2 — a list-legal value under a key both arms declare differently is ACCEPTED', () => {
183183
// Refused before: the form member judged these keys by FORM rules (a retired
184184
// `aria` tombstone, a string-only `description`, a public-link `sharing`).
185185
// Declared as a widening: `Clause-②: yes (narrowing)`.
@@ -193,7 +193,7 @@ describe('#20186 W2 — a list-legal value under a key both arms declare differe
193193
});
194194
});
195195

196-
describe('#20186 controls — byte-identical parse output (measured on origin/main ce70876e)', () => {
196+
describe('controls — byte-identical parse output (measured on origin/main ce70876e)', () => {
197197
it('a real form overlay', () => {
198198
const { data, branch } = acceptance({
199199
name: 'acct.f', object: 'account', viewKind: 'form', type: 'simple', sections: [{ label: 'Main', fields: ['name'] }],
@@ -216,7 +216,7 @@ describe('#20186 controls — byte-identical parse output (measured on origin/ma
216216
});
217217
});
218218

219-
describe('#20186 each member judges ONE viewKind — read off the members themselves', () => {
219+
describe('each member judges ONE viewKind — read off the members themselves', () => {
220220
it('a direct parse of the form member names where a list body is judged', () => {
221221
const r = VIEW_METADATA_MEMBERS.formOverlay.safeParse({ ...LIST, sort: [{ field: 'name', order: 'asc' }] });
222222
expect(r.success).toBe(false);
@@ -232,7 +232,7 @@ describe('#20186 each member judges ONE viewKind — read off the members themse
232232
expect(issue?.message).toMatch(/^This is the flattened LIST overlay member, which judges `viewKind: "list"` only\./);
233233
});
234234

235-
it('an ABSENT viewKind keeps the binding prescription (#7741), on both members', () => {
235+
it('an ABSENT viewKind keeps the binding prescription, on both members', () => {
236236
for (const member of [VIEW_METADATA_MEMBERS.listOverlay, VIEW_METADATA_MEMBERS.formOverlay]) {
237237
const r = member.safeParse({ object: 'crm_lead', hidden: true });
238238
const issue = r.error!.issues.find((i) => i.path[0] === 'viewKind');
@@ -241,7 +241,7 @@ describe('#20186 each member judges ONE viewKind — read off the members themse
241241
});
242242
});
243243

244-
describe('#20186 the premise: no pipe, and the served JSON Schema moves only by the contract', () => {
244+
describe('the premise: no pipe, and the served JSON Schema moves only by the contract', () => {
245245
it('both overlay members are still plain object schemas', () => {
246246
// A pipe serves its INPUT side to `/api/v1/meta/types/view`, and for a
247247
// transform that is `{}` (the `assertViewIdentity` docblock). The input-side

‎packages/spec/src/ui/view-overlay-viewkind-type.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ type IsOptionalKey<T, K extends keyof T> = {} extends Pick<T, K> ? true : false;
109109
const typeIsOptionalOnListOverlayOutput: IsOptionalKey<ListOverlayOut, 'type'> = true;
110110
void [typeIsOptionalOnListOverlayOutput];
111111

112-
describe('[#19920] the flattened overlay members keep their own viewKind literal', () => {
112+
describe('the flattened overlay members keep their own viewKind literal', () => {
113113
it('the list-shaped `viewKind: "form"` body is refused by every door that judges it', () => {
114114
const body = { type: 'grid', columns: ['name'], object: 'crm_lead', viewKind: 'form' };
115115
expect(VIEW_METADATA_MEMBERS.listOverlay.safeParse(body).success).toBe(false);

0 commit comments

Comments
 (0)