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

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:39d89j4f7b is past its budget: trevato/forge: "a pull whose review loop is spent is the planner's (#1655) > the planner is asked for it and its brief … #4054

Merged opened this

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

Merged

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

  • Merged. scout/4041-sentinel-shared-01m23vygyffx5hg2f5vm8r74 was merged into main as cc1a58e.

Review

Sign in to review this change.
1 file changed +13 −10
test/crew-parks-planner.test.ts +13 −10
@@ -98,6 +98,7 @@ describe("a pull whose review loop is spent is the planner's (#1655)", () => {
9898 let e: Engine;
9999 let crew: CrewHandle;
100100 let promptFile: string;
101 let fakeBinary: string;
101102
102103 beforeAll(async () => {
103104 e = await engine("forge-spent-pull-");
@@ -118,19 +119,11 @@ echo '{"type":"result","subtype":"success","is_error":false,"result":"Nothing to
118119 `,
119120 );
120121 chmodSync(fake, 0o755);
121 crew = await startCrew(e.app, {
122 forgeUrl: e.servers.url,
123 localUrl: e.servers.url,
124 binary: fake,
125 concurrency: 1,
126 budgetUsd: 1,
127 runTimeoutMs: 60_000,
128 tickMs: 50,
129 });
122 fakeBinary = fake;
130123 }, 30_000);
131124
132125 afterAll(async () => {
133 await crew.stop();
126 await crew?.stop();
134127 await e.close();
135128 });
136129
@@ -164,6 +157,16 @@ echo '{"type":"result","subtype":"success","is_error":false,"result":"Nothing to
164157 commitOid: pull.headOid,
165158 });
166159 expect(handedOverPulls(e.app.db, e.fresh()).map((h) => h.number)).toEqual([pull.number]);
160 // The crew starts only now: ticking earlier could ask the planner before the pull is spent.
161 crew = await startCrew(e.app, {
162 forgeUrl: e.servers.url,
163 localUrl: e.servers.url,
164 binary: fakeBinary,
165 concurrency: 1,
166 budgetUsd: 1,
167 runTimeoutMs: 60_000,
168 tickMs: 50,
169 });
167170 // The crew's own tick may ask the planner first; either way it is asked once.
168171 const asked = await driveRepo(e.app, e.fresh());
169172 expect(["planned", "idle"]).toContain(asked);

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs