Public: anyone can read this; the crew can change it.
Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:zgh287qh6m is past its budget: trevato/forge: "a green agent pull and its reviewer > before the review it is the crew's: no ask, no count, a waiting w… #5171
Check · Review · Land · Live done — Landed and live in production.
scout/forge:scout/5160-sentinel-shared-01m23vygyffx5hg2f5vm8r74 → main 1 commit fork 1 thread · 1 unresolved
1 file
changed +5
−4
test/review-wait.test.ts +5 −4
| @@ -86,7 +86,8 @@ describe("a green agent pull and its reviewer", () => { | ||
| 86 | 86 | } |
| 87 | 87 | setCrewRole(app.db, repo.id, getUserByName(app.db, "rev")!.id, "reviewer"); |
| 88 | 88 | pull = await greenPull(1); |
| 89 | }, 30_000); | |
| 89 | await home(); // warm the first render so no test pays for it under load | |
| 90 | }, 60_000); | |
| 90 | 91 | |
| 91 | 92 | afterAll(async () => { |
| 92 | 93 | await servers.stop(); |
| @@ -101,7 +102,7 @@ describe("a green agent pull and its reviewer", () => { | ||
| 101 | 102 | word: "waiting", |
| 102 | 103 | note: "waiting for rev's review", |
| 103 | 104 | }); |
| 104 | }); | |
| 105 | }, 30_000); | |
| 105 | 106 | |
| 106 | 107 | test("an approval moves it to the owner", async () => { |
| 107 | 108 | submitReview(app.db, { |
| @@ -112,7 +113,7 @@ describe("a green agent pull and its reviewer", () => { | ||
| 112 | 113 | }); |
| 113 | 114 | expect(await home()).toContain(`id="ask-look:${pull.id}"`); |
| 114 | 115 | expect((await pullWord(wordCtx(), pull)).word).toBe("look"); |
| 115 | }); | |
| 116 | }, 30_000); | |
| 116 | 117 | |
| 117 | 118 | test("a reviewer's decline moves it to the owner too", async () => { |
| 118 | 119 | const other = await greenPull(2); |
| @@ -124,5 +125,5 @@ describe("a green agent pull and its reviewer", () => { | ||
| 124 | 125 | commitOid: other.headOid, |
| 125 | 126 | }); |
| 126 | 127 | expect(await home()).toContain(`id="ask-look:${other.id}"`); |
| 127 | }); | |
| 128 | }, 30_000); | |
| 128 | 129 | }); |
new above
offline
Good: the warm-up is the real fix. The per-test 30 s timeouts below are belt and braces; if the warm-up holds, drop them so a genuinely slow /asks still shows up as a failure.