init
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Results Logging
|
||||
|
||||
## TSV Format
|
||||
|
||||
One row per iteration. Tab-separated. Header row required.
|
||||
|
||||
```
|
||||
iteration commit metric delta status description
|
||||
```
|
||||
|
||||
### Column Definitions
|
||||
|
||||
| Column | Type | Notes |
|
||||
|--------|------|-------|
|
||||
| iteration | integer | 0-indexed. 0 = baseline. |
|
||||
| commit | string | Short SHA (7 chars) or `-` if discarded/crashed |
|
||||
| metric | float | Measured value from verify command |
|
||||
| delta | float | Signed change from previous best. Negative = improvement for "lower is better". `-` for baseline. |
|
||||
| status | enum | See status values below |
|
||||
| description | string | One sentence: what was attempted |
|
||||
|
||||
### Status Values
|
||||
|
||||
| Status | Meaning |
|
||||
|--------|---------|
|
||||
| `baseline` | Initial measurement before any changes |
|
||||
| `keep` | Improvement passed guard, committed |
|
||||
| `keep (reworked)` | Failed guard on first attempt, reworked, then passed |
|
||||
| `discard` | No improvement or below min-delta threshold |
|
||||
| `guard-failed` | Metric improved but guard command exited non-zero; reverted |
|
||||
| `crash` | Verify command errored or timed out |
|
||||
| `no-op` | Improvement below min-delta threshold (not a failure, just insufficient) |
|
||||
|
||||
### Example Log
|
||||
|
||||
```tsv
|
||||
iteration commit metric delta status description
|
||||
0 a1b2c3d 842 - baseline Initial bundle size measurement
|
||||
1 e4f5a6b 810 -32 keep Tree-shake unused lodash imports
|
||||
2 - 798 -44 discard Remove dead CSS — metric improved but below min-delta
|
||||
3 c7d8e9f 771 -71 keep Replace moment.js with day.js
|
||||
4 - - - crash Build script errored on dynamic import rewrite
|
||||
5 1a2b3c4 751 -91 guard-failed Inline critical CSS — bundle smaller but tests failed
|
||||
6 5d6e7f8 758 -84 keep (reworked) Inline critical CSS with fallback (guard-safe version)
|
||||
7 9a0b1c2 741 -101 keep Lazy-load admin panel chunk
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Progressive Summaries
|
||||
|
||||
### Every-5-Iteration Summary
|
||||
|
||||
Print after iterations 5, 10, 15, ...:
|
||||
|
||||
```
|
||||
--- Progress @ iteration 5 ---
|
||||
Best so far: 751 (baseline: 842, -10.8%)
|
||||
Kept: 3 | Discarded: 1 | Crashed: 1 | Guard-failed: 1
|
||||
Top strategy: dependency replacement (moment→day.js: -71)
|
||||
```
|
||||
|
||||
### Final Summary
|
||||
|
||||
Print at loop end (budget exhausted or goal reached):
|
||||
|
||||
```
|
||||
--- Final Summary ---
|
||||
Baseline → Final: 842 → 741 (-11.9%, -101 units)
|
||||
Iterations: 7 total | Kept: 4 | Discarded: 1 | Crashed: 1 | Guard-failed: 1
|
||||
Best single iteration: #7 lazy-load admin chunk (-20)
|
||||
Worst outcome: #4 crash (build script)
|
||||
Key insight: Dependency replacement yielded most gains; CSS inlining required guard-safe rework
|
||||
```
|
||||
Reference in New Issue
Block a user