{bi_span("这里把每个指标压缩为状态、分数和第一条证据,先给出整体判断,再进入下方明细。", "This compresses each metric into status, score, and the first evidence item before the detailed cards below.")}
{render_metric_summary(scorecard)}
-
{render_metric_cards(scorecard)}
+
+
{bi_span("指标明细", "Metric Details")}
+
{render_metric_cards(scorecard)}
+
diff --git a/tests/verify_skill_overview.py b/tests/verify_skill_overview.py
index 0041ef9..05d17b2 100644
--- a/tests/verify_skill_overview.py
+++ b/tests/verify_skill_overview.py
@@ -52,10 +52,14 @@ def main() -> None:
assert ".metrics-primary" in css_contract, css_contract[:7000]
assert ".metrics-flow" in css_contract, css_contract[:9000]
assert ".metric-detail-grid" in css_contract, css_contract[:9000]
+ assert ".metric-detail-section" in css_contract, css_contract[:9000]
+ assert ".detail-section-kicker" in css_contract, css_contract[:9000]
assert ".section-head {\n display: grid;\n grid-template-columns: minmax(0, 1fr);" in css_contract, css_contract[:7000]
assert "grid-template-columns: minmax(0, 246px) minmax(0, 1fr)" not in css_contract, css_contract[:7000]
- assert ".metrics-primary {\n display: grid;\n grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);" in css_contract, css_contract[:9000]
- assert ".metric-detail-grid {\n grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));" in css_contract, css_contract[:9000]
+ assert ".metrics-primary {\n display: grid;\n grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);" in css_contract, css_contract[:9000]
+ assert ".metric-detail-grid {\n grid-template-columns: repeat(2, minmax(min(100%, 420px), 1fr));" in css_contract, css_contract[:9000]
+ assert ".metric-card {\n display: grid;\n grid-template-columns: minmax(112px, 0.28fr) minmax(0, 1fr);" in css_contract, css_contract[:11000]
+ assert "repeat(auto-fit, minmax(min(100%, 320px), 1fr))" not in css_contract, css_contract[:9000]
assert "grid-template-columns: minmax(420px, 1fr)" not in css_contract, css_contract[:9000]
assert "overflow-wrap: break-word" in css_contract, css_contract[:9000]
assert ".metrics-primary, .metric-detail-grid, .two-col" in css_contract, css_contract[-2600:]
@@ -292,7 +296,11 @@ def main() -> None:
assert 'class="section-body metrics-report"' in report_html, report_html[:9000]
assert 'class="metrics-flow"' in report_html, report_html[:9000]
assert 'class="metrics-primary"' in report_html, report_html[:9000]
+ assert 'aria-label="指标图表与成熟度摘要"' in report_html, report_html[:9000]
assert 'class="metrics-stack"' not in report_html, report_html[:9000]
+ assert 'class="metric-detail-section"' in report_html, report_html[:12000]
+ assert 'class="detail-section-kicker"' in report_html, report_html[:12000]
+ assert "指标明细" in report_html, report_html[:12000]
assert 'class="metric-grid metric-detail-grid"' in report_html, report_html[:12000]
assert report_html.index('class="metrics-primary"') < report_html.index('class="metric-grid metric-detail-grid"'), report_html[:12000]
assert "class='metric-summary-list'" in report_html, report_html[:9000]