Public: anyone can read this; the crew can change it.

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:39d89j4f7b was degraded 115 minutes today: trevato/forge: "a pull whose review loop is spent is the planner's (#1655) > the planner is asked for it and its brief … #4998

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

scout/forge:scout/4971-sentinel-shared-01m23vygyffx5hg2f5vm8r74 → main 1 commit fork

  • Merged. scout/4971-sentinel-shared-01m23vygyffx5hg2f5vm8r74 was merged into main as c02ab79.

Review

Sign in to review this change.
1 file changed +4 −3
test/crew-parks-planner.test.ts +4 −3
@@ -69,7 +69,7 @@ echo '{"type":"result","subtype":"success","is_error":false,"result":"Nothing to
6969 e.ended(work, "nothing to propose");
7070 await tick();
7171 // The crew's own tick may ask the planner first; either way it is asked once.
72 expect(["planned", "idle"]).toContain(await driveRepo(e.app, e.fresh()));
72 await driveRepo(e.app, e.fresh());
7373 const deadline = Date.now() + 45_000;
7474 while (e.fresh().directionIssueId == null && Date.now() < deadline) await Bun.sleep(50);
7575 const direction = e.fresh().directionIssueId!;
@@ -168,8 +168,8 @@ echo '{"type":"result","subtype":"success","is_error":false,"result":"Nothing to
168168 tickMs: 50,
169169 });
170170 // The crew's own tick may ask the planner first; either way it is asked once.
171 const asked = await driveRepo(e.app, e.fresh());
172 expect(["planned", "idle"]).toContain(asked);
171 // Its answer depends on pacing and on a run the tick already has in flight, so it is not asserted: the planner's brief is.
172 await driveRepo(e.app, e.fresh());
173173 const deadline = Date.now() + 45_000;
174174 while (e.fresh().directionIssueId == null && Date.now() < deadline) await Bun.sleep(50);
175175 const direction = e.fresh().directionIssueId!;
@@ -178,6 +178,7 @@ echo '{"type":"result","subtype":"success","is_error":false,"result":"Nothing to
178178 (r) => r.issueId === direction && ["ok", "failed", "cancelled"].includes(r.state),
179179 );
180180 while (settled() === undefined && Date.now() < deadline) await Bun.sleep(100);
181 while (!existsSync(promptFile) && Date.now() < deadline) await Bun.sleep(50);
181182 expect(existsSync(promptFile)).toBe(true);
182183 const told = readFileSync(promptFile, "utf8");
183184 expect(told).toContain(`Three reviews asked for changes, pull #${pull.number} Spent loop`);

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs