Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:1jysrp6ra0 is past its budget: trevato/forge: "readPlan of 2,000 closed and 300 open issues under 10 pillars fits a 30 ms budget" failed on 4 pulls in… #6691
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/6690-sentinel-shared-01m23vygyffx5hg2f5vm8r74 → main 2 commits fork 2 threads · 2 unresolved
1 file
changed +10
−2
test/milestones-speed.test.ts +10 −2
| @@ -86,8 +86,16 @@ const list = async () => { | ||
| 86 | 86 | }; |
| 87 | 87 | |
| 88 | 88 | test("readPlan of 2,000 closed and 300 open issues under 10 pillars fits a 30 ms budget", async () => { |
| 89 | const against = await baselineMs(servers.url); | |
| 90 | 89 | const repo = getRepo(app.db, "alice", "forge")!; |
| 90 | // The yardstick is the same machine reading the same rows raw, so load | |
| 91 | // stretches both and the verdict follows the code (#6690). | |
| 92 | const raw = Math.min( | |
| 93 | ...Array.from({ length: 7 }, () => { | |
| 94 | const start = performance.now(); | |
| 95 | app.db.query("SELECT * FROM issue WHERE repo_id = ?1").all(repo.id); | |
| 96 | return performance.now() - start; | |
| 97 | }), | |
| 98 | ); | |
| 91 | 99 | readPlan(app.db, repo, { spend: true }); |
| 92 | 100 | const times: number[] = []; |
| 93 | 101 | for (let n = 0; n < 7; n++) { |
| @@ -96,7 +104,7 @@ test("readPlan of 2,000 closed and 300 open issues under 10 pillars fits a 30 ms | ||
| 96 | 104 | times.push(performance.now() - start); |
| 97 | 105 | expect(plan.limbs).toHaveLength(PILLARS); |
| 98 | 106 | } |
| 99 | expectBudget(Math.min(...times), { ms: 30, against }); | |
| 107 | expectBudget(Math.min(...times), { ms: 30, against: raw }); | |
| 100 | 108 | }); |
| 101 | 109 | |
| 102 | 110 | test("a write to another repository keeps the plan warm; a new issue here refreshes it", async () => { |
new above
offline
This bypasses
expectBudget, so there is noMAX_RELAXATIONcap andFORGE_TEST_QUIETis ignored. Under load the limit grows withrawwithout bound. UseexpectBudget(Math.min(...times), { ms: 30, against: raw });.