You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(seed-loader): count reference fields dropped from written rows (#3932)
The loader had two failure outcomes and counted one. A record it cannot write
lands in `errored`. But an unusable reference VALUE (an object where a natural
key belongs, an array on a single-value field) is removed from the record —
never written as NULL, which would sever an existing link on upsert replay —
and the row is written without it. Nothing counted that.
So a load that quietly severed N associations reported `totalErrored: 0` and
every count-driven surface read clean. The boot banner — the one seed signal
that survives `os dev`'s boot-quiet window and the default warn level — printed
`showcase 42 rows`, and the warn line said "0 dropped record(s)": true, and
useless. That reporting gap is why #3911 was reported as silent.
Adds `SeedLoadResult.referencesDropped` + `SeedLoaderSummary
.totalReferencesDropped`, deliberately NOT folded into `errored`: the row WAS
written, so that would break the `inserted + updated + skipped` reconciliation
against `total`. Threaded through both seed-summary producers (AppPlugin's
inline seed, the marketplace heal) to the banner, which now names it:
⚠ Seeds: showcase 42 ok / 3 lost links ⚠
and to the app-plugin warn line, which no longer reports "0 dropped record(s)"
over a load that lost associations.
Both counters are additive with a 0 default, so existing producers and
consumers of `SeedLoaderResult` are unaffected.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Gusro3gdGv4wgbBnaFy9ah
0 commit comments