mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-01 04:09:17 +00:00
ci(perf): the interaction first-frame ceiling sits above the 1.78 level (#692)
The full workflow's 7-sample median of firstStableRenderMs for
large-house-interaction-v1 was about 2790 ms across the 1.77 line and
about 2920 ms at v1.78.0 (7d4d75bd: 2925.0; the neighbouring run of the
same SHA read 3144.8). The 3000 ms ceiling sat 2.7 % above the level and
failed on runner noise; #689's 3-sample smoke read 3002.4.
- hardMaxMs 3000 → 3400 in the full profile and its smoke twin (one
number, #473 AC4): +16 % over the 1.78 level, +8 % over the worst run.
The base-relative ratio and noise allowance are unchanged.
- README: the series and the reasoning; the test pins the number and the
series points.
Issue: #692
User-Visible: no
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
This commit is contained in:
@@ -251,6 +251,24 @@ for (const [smokeName, fullName] of [
|
||||
});
|
||||
}
|
||||
|
||||
test('#692 первый стабильный кадр interaction: потолок над уровнем 1.78 с запасом на шум раннера', () => {
|
||||
const smoke = readBudget('budgets-interaction-smoke.json');
|
||||
const full = readBudget('budgets-large-house-interaction.json');
|
||||
const ceiling = full.timings.firstStableRenderMs.hardMaxMs;
|
||||
assert.equal(ceiling, 3400);
|
||||
assert.equal(smoke.timings.firstStableRenderMs.hardMaxMs, ceiling, 'смок = полный профиль (#473 AC4)');
|
||||
// Медианы полного профиля (7 образцов) из performance.yml: линия 1.77 и v1.78.0.
|
||||
const level177 = [2769.0, 2838.2, 2777.3, 2801.7];
|
||||
const level178 = [2925.0, 2925.2];
|
||||
const worst = 3144.8; // тот же SHA v1.78.0, соседний прогон — шум раннера до 7,5 %
|
||||
for (const median of [...level177, ...level178, worst]) assert.ok(median < ceiling, `${median} краснеет на ${ceiling}`);
|
||||
assert.ok(ceiling >= Math.max(...level178) * 1.15, 'запас над уровнем 1.78 не меньше 15 %');
|
||||
assert.ok(ceiling <= Math.max(...level178) * 1.2, 'и не больше 20 %: потолок остаётся гардом');
|
||||
// Относительное сравнение полного профиля не ослаблено.
|
||||
assert.equal(full.timings.firstStableRenderMs.maxRegressionRatio, 0.3);
|
||||
assert.equal(full.timings.firstStableRenderMs.noiseAllowanceMs, 250);
|
||||
});
|
||||
|
||||
test('interaction aggregate keeps hosted-runner headroom without weakening component gates (#483)', () => {
|
||||
const smoke = readBudget('budgets-interaction-smoke.json');
|
||||
const full = readBudget('budgets-large-house-interaction.json');
|
||||
|
||||
Reference in New Issue
Block a user