/**
 * Rule: list-view-renders
 *
 * For every model in the spec, boot the runtime, click through to the
 * model's primary view (typically the list), and assert nothing threw
 * an error boundary or bailed with an empty DOM.
 *
 * Catches: generator regressions that produce broken list components,
 * runtime component crashes on specific field types, missing column
 * renderers, etc. The dual guard (error-boundary + non-empty content)
 * catches both obvious explosions and silent "return null" bugs.
 *
 * Deliberately doesn't check for specific content — column-level
 * assertions come from `list-shows-business-columns` (Phase 3).
 */
export const RULE_ID = 'list-view-renders';
export const listViewRenders = (spec) => {
    return spec.models.map(model => ({
        ruleId: RULE_ID,
        specElement: model.name,
        name: `[${RULE_ID}] ${model.name} list view renders without errors`,
        steps: [
            { action: 'bootRuntime' },
            { action: 'navigateToModel', modelName: model.name },
            { action: 'expectViewRenders' },
        ],
    }));
};
//# sourceMappingURL=list-view-renders.js.map