Skip to content

Commit 1603789

Browse files
committed
test(lint): the shipped-form predicate census reads the G2b gate
82 predicates (81 + the field form's inlineColumns gate, data.type == 'master_detail') and 57 quoted-literal comparisons. The corpus was differenced against the merge base e956924 by form::field::source: one added, none removed. Claude-Session: https://claude.ai/code/session_01ARcDurZ5j34RdqsGgc4jgH Co-authored-by: Claude <noreply@anthropic.com>
1 parent 66b73be commit 1603789

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

‎packages/lint/src/validate-predicate-path-refs.test.ts‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,16 @@ describe('#7010 corpus — shipped METADATA_FORM_REGISTRY', () => {
605605
// `field :: accept | currencyConfig | dependsOn | lookupColumns |
606606
// lookupFilters | relatedListColumns`, plus `action :: patch` and
607607
// `action :: bodyExtra`. The other eight rows carry no predicate.
608-
expect(predicates, 'the shipped metadata forms carry no predicates at all').toBe(81);
608+
// It is 82 today, an ADDITION of ONE: #19332 (flight G2b) gave four live
609+
// structured keys a form row each, and one of them carries a meaningfulness
610+
// gate — the field form's `inlineColumns` repeater, read only on a
611+
// `master_detail` field, like its `inlineTitle` / `inlineAmountField`
612+
// siblings. Measured, not inferred: the shipped corpus was differenced
613+
// against the merge base `e956924e` by `<form>::<field>::<source>`,
614+
// 81 → 82, `field :: inlineColumns :: data.type == 'master_detail'` added
615+
// and NONE removed. The other three rows and all their sub-rows carry no
616+
// predicate.
617+
expect(predicates, 'the shipped metadata forms carry no predicates at all').toBe(82);
609618

610619
const findings = validatePredicatePathRefs(corrupted);
611620
expect(findings).toHaveLength(predicates);
@@ -701,7 +710,10 @@ describe('#7010 corpus — shipped METADATA_FORM_REGISTRY', () => {
701710
// `data.type == 'currency'`, `action :: patch` on
702711
// `data.operation == 'update'`, `action :: bodyExtra` on
703712
// `data.type == 'api'`); the other five are `in`-list gates.
704-
expect(comparisons, 'no shipped predicate carries an `==`/`!=` literal comparison').toBe(56);
713+
// It is 57 today: #19332 G2b's one new predicate, `field :: inlineColumns`
714+
// on `data.type == 'master_detail'`, compares against a single-quoted
715+
// literal.
716+
expect(comparisons, 'no shipped predicate carries an `==`/`!=` literal comparison').toBe(57);
705717

706718
const rhsFindings = validatePredicatePathRefs(corrupted)
707719
.filter((f) => f.rule === PREDICATE_RHS_PATH_SHAPED);

0 commit comments

Comments
 (0)