{# Spec 151 - table-level layout recommendations index. One row per qualifying table from the latest scan. Replaces the spec-148 per-opportunity card surface; the opportunity detail page now shows a chip linking to /recommendations/layout/. Index columns: - Table (clickable → detail page) - Current layout (chip: "partitioned" / "unpartitioned") - Recommended partition column (or "-") - Top cluster picks (chip list, up to 4) - Window cost (cost in scan window) #} {% extends "layout.html" %} {% block content %}

Partition & Cluster

{% if not has_latest_scan %}

No successful scan yet. Run a scan first - layout recommendations are derived from the workload the scan observes.

{% elif not recommendations %}

The latest scan didn't surface any tables that meet the layout-recommendation gates. This happens when:

Run a longer-lookback scan if you suspect there's signal we're missing.

{% else %}
{% for rec in recommendations %} {% set _row_href = '/recommendations/layout/' ~ (rec.table_full_name | urlencode) %} {% endfor %}
Table Current Recommended partition Recommended cluster Window cost Jobs
{{ rec.table_full_name }}
{{ rec.table_total_bytes | format_bytes }}
{% if rec.is_currently_partitioned %} partitioned {% else %} unpartitioned {% endif %} {% if rec.recommended_partition_column %} {{ rec.recommended_partition_column }} {% else %} - {% endif %} {% if rec.cluster_picks %}
{% for col in rec.cluster_picks %} {{ col }} {% endfor %}
{% else %} - {% endif %}
{{ rec.table_total_cost_in_window_usd | format_usd }} {{ rec.contributing_job_count }}
{% include "components/_pagination.html" %} {% endif %} {% endblock %}