# Skeleton: incremental-comparison.html
> **⛔ Self-contained HTML — ALL CSS inline. No CDN links. Follow this exact 8-section structure.**
---
The HTML report has exactly 8 sections in this order. Each section MUST be present.
## Section 1: Header + Comparison Cards
```html
BASELINE
[FILL: baseline SHA]
[FILL: baseline commit date from git log]
[FILL: old rating]
→
TARGET
[FILL: target SHA]
[FILL: target commit date from git log]
[FILL: new rating]
TREND
[FILL: Improving / Worsening / Stable]
[FILL: N months]
```
## Section 2: Metrics Bar (5 boxes)
```html
[FILL: Components: old → new (±N)]
[FILL: Trust Boundaries: old → new (±N)]
[FILL: Threats: old → new (±N)]
[FILL: Findings: old → new (±N)]
[FILL: Code Changes: N commits, M PRs — use git rev-list --count and git log --oneline --merges --grep="Merged PR"]
```
**MUST include Trust Boundaries as one of the 5 metrics. 5th box is Code Changes (NOT Time Between).**
## Section 3: Status Summary Cards (colored)
```html
Fixed: [FILL: count] [FILL: 1-sentence summary, NO IDs]
New: [FILL: count] [FILL: 1-sentence summary, NO IDs]
Previously Unidentified: [FILL: count] [FILL: 1-sentence summary, NO IDs]
Still Present: [FILL: count] [FILL: 1-sentence summary, NO IDs]
```
**Status info appears ONLY here — NOT also in the metrics bar.**
## Section 4: Component Status Grid
```html
| Component | Type | Status | Source Files |
[REPEAT: one row per component with color-coded status badge]
| [FILL] | [FILL] | [FILL] | [FILL] |
[END-REPEAT]
```
## Section 5: Threat/Finding Status Breakdown
```html
[FILL: Grouped by status — Fixed items, New items, etc.]
[REPEAT: Each item: ID | Title | Component | Status]
[END-REPEAT]
```
## Section 6: STRIDE Heatmap with Deltas
```html
| Component |
S | T | R | I | D | E | A |
Total |
|
T1 | T2 | T3 |
[REPEAT: one row per component]
| [FILL: component] |
[FILL: S value] [FILL: delta indicator ▲/▼] |
... [same for T, R, I, D, E, A, Total] ...
|
[FILL: T1] | [FILL: T2] | [FILL: T3] |
[END-REPEAT]
```
**MUST have 13 columns: Component + S + T + R + I + D + E + A + Total + divider + T1 + T2 + T3**
## Section 7: Needs Verification
```html
[REPEAT: items where analysis disagrees with old report]
[FILL: item description]
[END-REPEAT]
```
## Section 8: Footer
```html
```
---
**Fixed CSS variables (use in `