Commit fd7cfde
authored
`validateFlowTemplatePaths` was wired by hand into `os validate` and nowhere
else — the drift `REFERENCE_INTEGRITY_RULES` exists to end (#3583 §5 D5): one
stack, a different rule subset depending on which command the author ran.
It mattered more once #3861 gave the rule a gating severity. A `{record.<path>}`
token in a CRUD node's `filter` naming an unknown field, or hopping through an
un-expanded relation, makes the runtime REFUSE the node (#3810). `os validate`
failed on it; `os lint` and `os compile` did not look, so a CI job running
either one built and shipped a flow that cannot execute.
The rule is now a suite member — it meets the suite's own admission criterion,
since a `{record.<field>}` token is a name resolved against the bound object's
declared fields. One line reaches all three commands; the hand-wiring in
`validate.ts` is deleted rather than duplicated.
Checked the three stack shapes the suite is handed before moving the call site:
raw `config` (lint), `normalizeStackInput` output, and schema-parsed
`result.data` (validate/compile), across all three example apps. They agree
finding-for-finding, so the move does not change what is reported.
End-to-end on app-showcase: all three commands pass unchanged on the real stack,
and with one filter token corrupted to `{record.idd}` all three exit 1 — where
previously only `validate` did.
Also fixed in the same file: on a clean run `os validate --json` never reported
the suite's warnings. `refWarnings` was assembled, printed, and included in the
FAILURE payload, but omitted from the success-path `warnings` array — so adding
the rule to the suite would have silently dropped its warnings for JSON
consumers. Same bug shape as the dropped errors #3861 fixed: computed, then
discarded.
1 parent 0bfdf46 commit fd7cfde
4 files changed
Lines changed: 98 additions & 46 deletions
File tree
- .changeset
- packages
- cli/src/commands
- lint/src
Lines changed: 43 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | 24 | | |
26 | 25 | | |
27 | 26 | | |
| |||
515 | 514 | | |
516 | 515 | | |
517 | 516 | | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
559 | | - | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
560 | 524 | | |
561 | 525 | | |
562 | 526 | | |
| |||
762 | 726 | | |
763 | 727 | | |
764 | 728 | | |
765 | | - | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
766 | 736 | | |
767 | 737 | | |
768 | 738 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
106 | 107 | | |
107 | 108 | | |
108 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
109 | 129 | | |
110 | 130 | | |
111 | 131 | | |
| |||
118 | 138 | | |
119 | 139 | | |
120 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
121 | 150 | | |
122 | 151 | | |
123 | 152 | | |
| |||
131 | 160 | | |
132 | 161 | | |
133 | 162 | | |
134 | | - | |
| 163 | + | |
135 | 164 | | |
136 | | - | |
| 165 | + | |
137 | 166 | | |
138 | 167 | | |
139 | 168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
27 | 35 | | |
28 | 36 | | |
29 | 37 | | |
| |||
43 | 51 | | |
44 | 52 | | |
45 | 53 | | |
| 54 | + | |
46 | 55 | | |
47 | 56 | | |
48 | 57 | | |
| |||
84 | 93 | | |
85 | 94 | | |
86 | 95 | | |
| 96 | + | |
87 | 97 | | |
88 | 98 | | |
89 | 99 | | |
| |||
0 commit comments