CH-TAB-02 . family TAB
HEATMAP TABLE
entities x metrics table, cells shaded per column and numbered. Needs:
entity rows x numeric metric columns with different scales.
statuslookupcomparison
DL-01 AGRAW
DL-02 KATA
DL-03 LOGOS
DL-04 SHILPA
DL-05 OBEYA
DL-06 LEX
DL-07 SAGA
DL-08 SENTINEL
DL-09 ATLAS
DL-10 BASIRA
DL-11 SUTRA
DL-12 NOROSHI
DL-13 MIZAN
DL-14 EVIDENTIA
DL-15 ABRID
DL-16 TELOS
Use when
- entities compared across metrics with different scales (progress %, punch count, tests left)
- the reader looks up their row but the pattern should jump out
Do not use when
- one shared scale across all columns (use CH-COR-03's global mode)
- status enums (CH-TAB-01)
- more than 8 rows or 6 metric columns
See instead
Alternatives
- CH-TAB-01 (status enums instead of numbers)
- CH-COR-03 (two ordered dimensions)
Rules
- per-column normalization; the spec's one job is making mixed scales comparable
- intensity encodes magnitude, not judgment: the title says whether high is good or bad
- values printed in every cell
- rows in the reader's natural order, never sorted by health
- single-hue ramp
Never do this
- red-green judgment coloring on magnitude data
- global normalization across mixed units
- cells without printed values
- sorting rows by intensity
QA before delivering
- per-column normalization verified
- every cell prints its value
- rows in natural order
- title names the standout row with a number
- source line present bottom-left
Data shape
| title | string, action title naming the row that stands out |
| eyebrow | string caps, rendered only when the DL chrome asks for it |
| source | string, rendered bottom-left, always |
| columns | metric names, caps |
| rows | array of {label, values[] same length as columns} |
Sample data (golden)
{
"title": "System D trails on every metric of the readiness set",
"eyebrow": "READINESS METRICS . WEEK 28",
"source": "Source: sample dataset v1, 2026-07-12",
"columns": [
"PROGRESS %",
"OPEN PUNCH",
"TESTS LEFT"
],
"rows": [
{
"label": "System A",
"values": [
92,
12,
4
]
},
{
"label": "System B",
"values": [
88,
18,
6
]
},
{
"label": "System C",
"values": [
74,
25,
11
]
},
{
"label": "System D",
"values": [
41,
63,
28
]
},
{
"label": "System E",
"values": [
66,
31,
15
]
}
]
}