You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
create-extractor: use the scheduler's status labels; drop add-live-case
Retires this pipeline's two invented labels for the scheduler's own
vocabulary. `extractor-request` stays for the issue's whole life — it
marks what the issue IS — and its STATE is now:
extractor-in-progress -> agent-running
extractor-blocked-needs-human -> needs-human
The scheduler guarantees both labels exist before any preprocessing runs,
so the worker's own label-creation goes away entirely. `ready-for-agent`
is deliberately never applied to a request: it is the executor's trigger.
A request stays claimed while its PR is in review, which outlives the
executor's 3h stale-claim sweep — that sweep is now scoped to dispatch
issues, so this pipeline releases its own stale claims instead: a claimed
request with no open `claude/extractor/*` PR naming it, quiet past a 6h
grace period, is released with a comment and picked up again next pass.
A run that dies between claiming and delivering no longer strands its
request silently, which the invented label never handled either.
Also removes the add-live-case skill. What it uniquely held — the
record-a-page procedure and the gardening flow — is four lines now that
the record-page task acts on a committed `.url`, and it belongs beside the
live-test contract it depends on, so it moves into testing-guide. The rest
of the skill was already duplicated there.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016NgBmWQmxLFPybrhSTz8i3
Copy file name to clipboardExpand all lines: .claudinite/local/packs/gcec/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ fingerprinted or seeded.
17
17
| Prose |[RULES.md](RULES.md) — working rules, owner commands, testing invariants, codebase gotchas, workflow-failure classification, architecture rules of the road, the capture policy |
18
18
| Checks |[test-offline-list-sync](test-offline-list-sync.mjs) (+ red-first fixtures in [pack.test.mjs](pack.test.mjs), run by this repo's own `npm test`) |
awaitcomment(number,'Releasing this request: an automated run claimed it but never delivered a pull request. The pipeline will pick it up again on its next pass.');
268
+
console.log(`create-extractor: released a stale claim on #${number}`);
269
+
}
270
+
271
+
constrequests=eligible(allRequests);
240
272
if(!requests.length){
241
-
console.log('create-extractor: no eligible request (the precondition\'s snapshot is stale) — nothing to do');
273
+
console.log('create-extractor: nothing eligible to act on this run');
242
274
return;
243
275
}
244
276
@@ -253,7 +285,7 @@ export async function main() {
awaithandToHuman(issue.number,'This request has no parseable event URL, so the pipeline could not act on it. Edit the issue to include the event page URL and remove the `extractor-blocked-needs-human` label to retry.');
288
+
awaithandToHuman(issue.number,'This request has no parseable event URL, so the pipeline could not act on it. Edit the issue to include the event page URL and remove the `needs-human` label to retry.');
257
289
continue;
258
290
}
259
291
target=issue;
@@ -267,7 +299,6 @@ export async function main() {
267
299
268
300
// Claim it before any expensive work, so the next hourly run's precondition sees
269
301
// it as in flight even if this run dies partway.
270
-
awaitensureLabel(CLAIMED_LABEL,'0E8A16','An automated extractor run is working on this request');
271
302
awaitaddLabel(target.number,CLAIMED_LABEL);
272
303
console.log(`create-extractor: #${target.number} → ${decision.host} (${decision.mode} mode, case ${decision.caseName})`);
0 commit comments