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
{{ message }}
Repository navigation
Commit d60968c
Browse filesBrowse the repository at this point in the historyBrowse files
feat(runtime,cli): surface seed / marketplace-heal outcomes in the boot summary (#3430) (#3444)
Extend the #3415 config-app Seeds banner line to a per-source summary that also covers the marketplace rehydrate/heal path. The seed-summary kernel service is now a per-source list written through a shared recordSeedOutcome helper; the CLI ready banner prints one combined, log-level-independent line, marking fresh-DB heals and escalating rejections / empty installs to a yellow warning.
Closes#3430.
Surface marketplace rehydrate/heal seed outcomes in the `os dev` / `os serve` boot banner (#3430), extending the config-app Seeds line from #3415.
8
+
9
+
The seed pipeline's most useful result lines are all `logger.info`, but `os dev` forwards a default `warn` level and the serve boot-quiet window swallows stdout — so "marketplace package rehydrated onto a fresh DB with 0 rows", a fresh-DB self-heal, and row-level seed failures were all invisible unless you queried the database directly.
10
+
11
+
The `seed-summary` kernel service is now a per-source list. AppPlugin (config apps) and the marketplace rehydrate/heal path each contribute a labelled entry, and the banner prints one combined line that ignores the log level:
Fresh-DB heals are marked `(healed on fresh db)`; a marketplace package that installed with seed datasets but landed 0 rows, and any run that dropped records, escalate to a yellow `⚠` line instead of passing silently.
ctx.logger?.info?.(`[MarketplaceInstallLocal] healed sample data for ${entry.manifestId}: inserted=${summary.inserted} updated=${summary.updated} errors=${summary.errors}`);
256
+
// #3430: surface the fresh-DB self-heal in the boot banner — the
257
+
// info line above is swallowed by the default warn level, so this
258
+
// was previously only confirmable by querying the database.
259
+
awaitthis.recordSeedSummary(ctx,{
260
+
source: entry.manifestId,
261
+
marketplace: true,
262
+
inserted: summary.inserted??0,
263
+
updated: summary.updated??0,
264
+
skipped: summary.skipped??0,
265
+
rejected: summary.errors??0,
266
+
healed: true,
267
+
});
256
268
}else{
257
269
ctx.logger?.warn?.(`[MarketplaceInstallLocal] sample-data heal for ${entry.manifestId} landed no rows${summary.errorSample ? ` — first error: ${summary.errorSample}` : ''}`);
0 commit comments