instar 1.3.592 → 1.3.594
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +14 -13
- package/dist/commands/server.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts +10 -0
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +83 -12
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/selfQuotaState.d.ts +48 -0
- package/dist/core/selfQuotaState.d.ts.map +1 -0
- package/dist/core/selfQuotaState.js +49 -0
- package/dist/core/selfQuotaState.js.map +1 -0
- package/dist/core/types.d.ts +15 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/GreenPrAutoMerger.d.ts +90 -5
- package/dist/monitoring/GreenPrAutoMerger.d.ts.map +1 -1
- package/dist/monitoring/GreenPrAutoMerger.js +269 -6
- package/dist/monitoring/GreenPrAutoMerger.js.map +1 -1
- package/dist/monitoring/MergeRunner.d.ts +21 -0
- package/dist/monitoring/MergeRunner.d.ts.map +1 -1
- package/dist/monitoring/MergeRunner.js +33 -5
- package/dist/monitoring/MergeRunner.js.map +1 -1
- package/dist/monitoring/greenPrAutomergeWiring.d.ts +7 -0
- package/dist/monitoring/greenPrAutomergeWiring.d.ts.map +1 -1
- package/dist/monitoring/greenPrAutomergeWiring.js +44 -2
- package/dist/monitoring/greenPrAutomergeWiring.js.map +1 -1
- package/dist/monitoring/greenPrLogic.d.ts +39 -1
- package/dist/monitoring/greenPrLogic.d.ts.map +1 -1
- package/dist/monitoring/greenPrLogic.js +33 -1
- package/dist/monitoring/greenPrLogic.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +29 -4
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/scripts/safe-merge.mjs +27 -1
- package/src/data/builtin-manifest.json +63 -63
- package/upgrades/1.3.593.md +28 -0
- package/upgrades/1.3.594.md +35 -0
- package/upgrades/side-effects/mergerunner-auto-arm-handoff-parity-track.md +60 -0
- package/upgrades/side-effects/mergerunner-auto-arm-handoff.md +48 -0
- package/upgrades/side-effects/placement-llm-circuit-aware-quota.md +50 -0
|
@@ -26,10 +26,27 @@ export interface MergeAttempt {
|
|
|
26
26
|
}
|
|
27
27
|
/** The classified result of a merge attempt (from the MergeRunner). */
|
|
28
28
|
export interface MergeRunResult {
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* safe-merge's classified result slug, e.g. merged / armed / refused:* /
|
|
31
|
+
* error:* / already-merged / closed. `armed` (mergerunner-auto-arm-handoff)
|
|
32
|
+
* is terminal-success-PENDING: GitHub native auto-merge is armed and now
|
|
33
|
+
* owns the merge — confirmed later by the reconciliation tick, NOT here.
|
|
34
|
+
*/
|
|
30
35
|
outcome: string;
|
|
31
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* True only when an INDEPENDENT gh pr view confirmed MERGED (B10). ALWAYS
|
|
38
|
+
* false for `armed` BY DESIGN — the merge has not landed at arm time, so an
|
|
39
|
+
* independent confirm at arm time is meaningless. `confirmedMerged:false` is
|
|
40
|
+
* CORRECT and EXPECTED for `armed`, NOT a B10 violation (the B10 rewrite line
|
|
41
|
+
* in act() is gated on outcome === 'merged' and MUST NOT touch `armed`).
|
|
42
|
+
*/
|
|
32
43
|
confirmedMerged: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* For an `armed` outcome: the head sha GitHub auto-merge was armed against
|
|
46
|
+
* (the `--match-head-commit` we passed). Carried so the episode stamps
|
|
47
|
+
* `armedHead` and reconciliation can compare it to the PR's final head.
|
|
48
|
+
*/
|
|
49
|
+
armedHead?: string;
|
|
33
50
|
/** Set when the watcher hard-killed the child at the deadline. */
|
|
34
51
|
deadlineKilled?: boolean;
|
|
35
52
|
}
|
|
@@ -64,10 +81,30 @@ export interface GreenPrAutoMergerDeps {
|
|
|
64
81
|
listOpenPrs(): Promise<PrSummary[]>;
|
|
65
82
|
/** Did this PR's diff touch protected paths? Enumerated to exhaustion. */
|
|
66
83
|
protectedPaths(pr: PrSummary): Promise<ProtectedPathsVerdict>;
|
|
67
|
-
/**
|
|
68
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Re-fetch hold-relevant + state fields immediately before acting AND for the
|
|
86
|
+
* armed-episode reconciliation read. null → vanished. Widened
|
|
87
|
+
* (mergerunner-auto-arm-handoff Blocker 4): also returns `mergeCommitOid` (the
|
|
88
|
+
* squashed base commit on a MERGED read — informational for the audit line,
|
|
89
|
+
* NOT the head-pin comparison operand) and `autoMergeRequest` (present ⇔
|
|
90
|
+
* GitHub auto-merge armed; `expectedHeadOid` is the PR's FINAL head GitHub
|
|
91
|
+
* will merge — the head-pin comparison operand when present).
|
|
92
|
+
*/
|
|
93
|
+
refetchPr(pr: number): Promise<(Pick<PrSummary, 'title' | 'labels' | 'isDraft' | 'headRefOid'> & {
|
|
69
94
|
state: string;
|
|
70
|
-
|
|
95
|
+
mergeCommitOid?: string | null;
|
|
96
|
+
autoMergeRequest?: {
|
|
97
|
+
enabledAt?: string | null;
|
|
98
|
+
expectedHeadOid?: string | null;
|
|
99
|
+
} | null;
|
|
100
|
+
}) | null>;
|
|
101
|
+
/**
|
|
102
|
+
* Disarm GitHub native auto-merge on a PR (`gh pr merge <pr> --disable-auto`).
|
|
103
|
+
* Returns a per-PR CONFIRMED-disabled boolean. The operator-authorized reach
|
|
104
|
+
* of the documented kill switch (rollback / pause / pool-disarm / per-PR HOLD
|
|
105
|
+
* on an armed episode — mergerunner-auto-arm-handoff Blocker 3). Idempotent.
|
|
106
|
+
*/
|
|
107
|
+
disarmArmedEpisodes(pr: number): Promise<boolean>;
|
|
71
108
|
/** gh api user login (async, never blocks boot). null → unresolved. */
|
|
72
109
|
resolveGhLogin(): Promise<string | null>;
|
|
73
110
|
/**
|
|
@@ -142,6 +179,21 @@ export interface GreenPrAutoMergerConfig {
|
|
|
142
179
|
agentNamespace: string;
|
|
143
180
|
repo: string;
|
|
144
181
|
backoffBaseMs?: number;
|
|
182
|
+
/**
|
|
183
|
+
* mergerunner-auto-arm-handoff. `auto` (default) arms GitHub native
|
|
184
|
+
* auto-merge and confirms on a later reconciliation tick; `admin` is the
|
|
185
|
+
* legacy synchronous poll+merge. The rollback lever + the escape hatch for a
|
|
186
|
+
* repo without native auto-merge.
|
|
187
|
+
*/
|
|
188
|
+
mergeStrategy?: 'auto' | 'admin';
|
|
189
|
+
/** ms an armed episode may stay OPEN before transitioning to armed-overdue (24h). */
|
|
190
|
+
armedConfirmCeilingMs?: number;
|
|
191
|
+
/** deduped re-raise cadence for an armed-overdue episode (24h). */
|
|
192
|
+
armedOverdueReraiseMs?: number;
|
|
193
|
+
/** the `--auto` spawn deadline (60s) — threaded into MergeRunnerConfig. */
|
|
194
|
+
armTimeoutMs?: number;
|
|
195
|
+
/** K-consecutive-unconfirmed-arms-on-same-head threshold before the Blocker-D line. */
|
|
196
|
+
unconfirmedArmCeiling?: number;
|
|
145
197
|
}
|
|
146
198
|
export declare function freshState(): GreenPrState;
|
|
147
199
|
export declare class GreenPrAutoMerger extends EventEmitter {
|
|
@@ -179,6 +231,39 @@ export declare class GreenPrAutoMerger extends EventEmitter {
|
|
|
179
231
|
private gather;
|
|
180
232
|
private act;
|
|
181
233
|
private recordOutcome;
|
|
234
|
+
/**
|
|
235
|
+
* The top-of-acting-tick reconciliation: confirm the eventual GitHub merge of
|
|
236
|
+
* each armed episode one tick after arming (the B10 truth, moved off the
|
|
237
|
+
* synchronous arm). READ-ONLY — never calls `gh pr merge`; the disarm reach is
|
|
238
|
+
* the SEPARATE in-route call (Blocker 3a). Resolves each `armedAt` episode:
|
|
239
|
+
* MERGED → reap (head-pin verified) · CLOSED → reap (closed-by-other)
|
|
240
|
+
* OPEN+armed → steady state (leave) · OPEN+disarmed/head-moved → clear + re-evaluate
|
|
241
|
+
* >ceiling → armed-overdue (keep reconciling + deduped re-raise) · read-fail → fail-open
|
|
242
|
+
*/
|
|
243
|
+
private reconcileArmed;
|
|
244
|
+
/**
|
|
245
|
+
* Transition an armed episode to `armed-overdue` past armedConfirmCeilingMs and
|
|
246
|
+
* re-raise a byte-stable deduped attention line on the armedOverdueReraiseMs
|
|
247
|
+
* cadence (Blocker 5). Never clears armedAt — the loop stays open.
|
|
248
|
+
*/
|
|
249
|
+
private maybeMarkOverdue;
|
|
250
|
+
/**
|
|
251
|
+
* Enumerate every `armedAt` episode and `gh pr merge <pr> --disable-auto` it.
|
|
252
|
+
* Called IN-LINE from the rollback / pool-disarm route handlers (NOT the
|
|
253
|
+
* latch-gated tick — the latch the operator just set is the very thing that
|
|
254
|
+
* stops the tick reaching this code). LEASE-INDEPENDENT (like applyHold); the
|
|
255
|
+
* operator's kill switch must reach the armed merges from wherever the route
|
|
256
|
+
* is served, and `--disable-auto` is idempotent/safe from any holder.
|
|
257
|
+
*
|
|
258
|
+
* Honest failure (Blocker 3b): on a CONFIRMED disable, clear armedAt/armedHead
|
|
259
|
+
* and add to the disarmed-confirmed set; on a FAILED disable, LEAVE armedAt set
|
|
260
|
+
* (reconciliation keeps watching it) and add to a DISTINCT disarm-FAILED set.
|
|
261
|
+
* The two outcomes are NEVER collapsed into one attention line.
|
|
262
|
+
*/
|
|
263
|
+
disarmAllArmed(reason: string): Promise<{
|
|
264
|
+
disarmed: number[];
|
|
265
|
+
failed: number[];
|
|
266
|
+
}>;
|
|
182
267
|
private identityOk;
|
|
183
268
|
private warmupReap;
|
|
184
269
|
private refreshAggregate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GreenPrAutoMerger.d.ts","sourceRoot":"","sources":["../../src/monitoring/GreenPrAutoMerger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,eAAe,EAYrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B
|
|
1
|
+
{"version":3,"file":"GreenPrAutoMerger.d.ts","sourceRoot":"","sources":["../../src/monitoring/GreenPrAutoMerger.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,11 @@ const DEFAULTS = {
|
|
|
34
34
|
holdReleaseTicks: 2,
|
|
35
35
|
staleHoldDays: 7,
|
|
36
36
|
backoffBaseMs: 30_000,
|
|
37
|
+
mergeStrategy: 'auto',
|
|
38
|
+
armedConfirmCeilingMs: 86_400_000,
|
|
39
|
+
armedOverdueReraiseMs: 86_400_000,
|
|
40
|
+
armTimeoutMs: 60_000,
|
|
41
|
+
unconfirmedArmCeiling: 3,
|
|
37
42
|
};
|
|
38
43
|
export function freshState() {
|
|
39
44
|
return {
|
|
@@ -63,7 +68,12 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
63
68
|
repo: cfg.repo,
|
|
64
69
|
expectedGhLogin: cfg.expectedGhLogin ?? '',
|
|
65
70
|
};
|
|
66
|
-
|
|
71
|
+
// B24 invariant scope (mergerunner-auto-arm-handoff §armTimeoutMs): on the
|
|
72
|
+
// auto path the busy-skip budget is checked against the SHORT armTimeoutMs
|
|
73
|
+
// (a hung arm trips in minutes, not ~26 min); the admin path keeps the
|
|
74
|
+
// 25-min mergeTimeoutMs invariant verbatim.
|
|
75
|
+
const invTimeoutMs = this.cfg.mergeStrategy === 'admin' ? this.cfg.mergeTimeoutMs : this.cfg.armTimeoutMs;
|
|
76
|
+
const inv = validateTimeoutInvariant(this.cfg.busySkipBreakerThreshold, this.cfg.tickIntervalMs, invTimeoutMs, this.cfg.mergeKillGraceMs);
|
|
67
77
|
this.invariantOk = inv.ok;
|
|
68
78
|
this.invariantReason = inv.reason;
|
|
69
79
|
}
|
|
@@ -102,6 +112,34 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
102
112
|
if (!applied)
|
|
103
113
|
return { ok: false, status: 502, detail: 'gh failed to apply the hold marker', pr };
|
|
104
114
|
this.deps.audit({ kind: 'green-pr-automerge', event: 'hold-applied', pr });
|
|
115
|
+
// The HOLD-label/title path does NOT stop GitHub native auto-merge (GitHub
|
|
116
|
+
// gates on checks/mergeability, not title/labels — mergerunner-auto-arm-
|
|
117
|
+
// handoff Blocker 3). If this PR is armed, ALSO --disable-auto it; the
|
|
118
|
+
// marker only blocks a LATER re-arm. Honest non-2xx on a disable failure.
|
|
119
|
+
const state = this.deps.loadState();
|
|
120
|
+
const ep = state.episodes[pr];
|
|
121
|
+
if (ep && ep.armedAt != null) {
|
|
122
|
+
let disabled = false;
|
|
123
|
+
try {
|
|
124
|
+
disabled = await this.deps.disarmArmedEpisodes(pr);
|
|
125
|
+
}
|
|
126
|
+
catch { /* @silent-fallback-ok: green-pr-automerge fail-safe — a disable error is honest; never claim the hold stopped the merge */
|
|
127
|
+
disabled = false;
|
|
128
|
+
}
|
|
129
|
+
if (disabled) {
|
|
130
|
+
delete ep.armedAt;
|
|
131
|
+
delete ep.armedHead;
|
|
132
|
+
delete ep.overdue;
|
|
133
|
+
delete ep.overdueSurfacedAt;
|
|
134
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'disarmed', pr, reason: 'hold' });
|
|
135
|
+
this.deps.saveState(state);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'disarm-failed', pr, reason: 'hold' });
|
|
139
|
+
this.deps.saveState(state);
|
|
140
|
+
return { ok: false, status: 502, detail: 'hold marker applied but could not disable the in-flight auto-merge — PR may still merge; disable it on GitHub directly', pr };
|
|
141
|
+
}
|
|
142
|
+
}
|
|
105
143
|
return { ok: true, pr };
|
|
106
144
|
}
|
|
107
145
|
catch (e) { /* @silent-fallback-ok: green-pr-automerge fail-safe — skip/refuse, never over-merge; safe-merge is the act-time authority */
|
|
@@ -138,6 +176,13 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
138
176
|
this.deps.saveState(state);
|
|
139
177
|
return { acted: false, reason: 'breaker-open' };
|
|
140
178
|
}
|
|
179
|
+
// Armed-episode reconciliation (mergerunner-auto-arm-handoff): the top-of-
|
|
180
|
+
// acting-tick step. READ-ONLY accounting — confirms an eventual GitHub merge
|
|
181
|
+
// one tick later (the B10 truth, just moved off the synchronous arm). Below
|
|
182
|
+
// the disabled: early-return (so it never runs under a live disarm latch —
|
|
183
|
+
// which is exactly why the disarm reach lives in the route, not here), above
|
|
184
|
+
// gather(). Fail-open on any read error; never feeds the breaker.
|
|
185
|
+
await this.reconcileArmed(state);
|
|
141
186
|
// Warm-up (R10): the first tick of a new lease tenure is OBSERVE-ONLY.
|
|
142
187
|
const epoch = safeNum(() => this.deps.leaseEpoch());
|
|
143
188
|
const isWarmup = state.lastActingEpoch !== epoch;
|
|
@@ -192,6 +237,19 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
192
237
|
const snapshotEntries = [];
|
|
193
238
|
const nowMs = this.deps.now();
|
|
194
239
|
for (const pr of prs) {
|
|
240
|
+
// Skip an already-armed PR (mergerunner-auto-arm-handoff Blocker 2 — re-arm
|
|
241
|
+
// thrash). An armed PR is GitHub's and never re-enters the act path; it
|
|
242
|
+
// re-enters ONLY after reconciliation clears armedAt. The GitHub-side
|
|
243
|
+
// autoMergeArmed flag (cheap-pass, from the widened PrSummary) is the belt
|
|
244
|
+
// that catches a lease move where the local episode is stale/absent
|
|
245
|
+
// (Blocker 4). It is still surfaced in the Layer-2 snapshot so status sees it.
|
|
246
|
+
const localArmed = state.episodes[pr.number]?.armedAt != null;
|
|
247
|
+
const githubArmed = pr.autoMergeArmed === true;
|
|
248
|
+
if (localArmed || githubArmed) {
|
|
249
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'skipped:already-armed', pr: pr.number, source: localArmed ? 'local-episode' : 'github' });
|
|
250
|
+
snapshotEntries.push({ pr: pr.number, headRefName: pr.headRefName, headRefOid: pr.headRefOid, kind: 'mergeable' });
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
195
253
|
const verdict = classifyCandidate(pr, this.cfg.agentNamespace);
|
|
196
254
|
// Hold-release debounce (R3): a PR that WAS held resumes only after the
|
|
197
255
|
// marker is absent for holdReleaseTicks AND tickIntervalMs elapsed.
|
|
@@ -275,6 +333,19 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
275
333
|
this.deps.audit({ kind: 'green-pr-automerge', event: 'skipped:held-on-refetch', pr: target.number });
|
|
276
334
|
return false;
|
|
277
335
|
}
|
|
336
|
+
// Authoritative pre-arm gate (mergerunner-auto-arm-handoff Blocker 4 — defense
|
|
337
|
+
// in depth): if the cheap-pass autoMergeArmed was stale-false but the live
|
|
338
|
+
// refetchPr shows auto-merge already armed, REFUSE to re-arm right before
|
|
339
|
+
// spawning. Synthesize the local episode so reconciliation tracks the merge.
|
|
340
|
+
if (live.autoMergeRequest) {
|
|
341
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'skipped:already-armed-on-refetch', pr: target.number });
|
|
342
|
+
const ep = state.episodes[target.number] ?? { pr: target.number, headRefOid: target.headRefOid, attempts: 0, rearmEpisodes: 0, state: 'active' };
|
|
343
|
+
ep.armedAt = ep.armedAt ?? this.deps.now();
|
|
344
|
+
ep.armedHead = ep.armedHead ?? (live.autoMergeRequest.expectedHeadOid ?? live.headRefOid);
|
|
345
|
+
ep.lastOutcome = 'armed';
|
|
346
|
+
state.episodes[target.number] = ep;
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
278
349
|
if (live.headRefOid !== target.headRefOid) {
|
|
279
350
|
this.deps.audit({ kind: 'green-pr-automerge', event: 'skipped:head-moved', pr: target.number });
|
|
280
351
|
return false;
|
|
@@ -295,14 +366,39 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
295
366
|
if (result.deadlineKilled) {
|
|
296
367
|
state.breaker = feedBreaker(state.breaker, 'deadline-kill', this.deps.now(), this.breakerCfg());
|
|
297
368
|
}
|
|
298
|
-
// B10: classify "merged" ONLY on independent confirmation.
|
|
369
|
+
// B10: classify "merged" ONLY on independent confirmation. This rewrite is
|
|
370
|
+
// gated on outcome === 'merged' and MUST NOT touch 'armed' — an `armed`
|
|
371
|
+
// result carries confirmedMerged:false BY DESIGN (the merge has not landed
|
|
372
|
+
// at arm time; the independent confirm happens ONE TICK LATER in
|
|
373
|
+
// reconcileArmed). Generalizing this to a merged-MIRROR form
|
|
374
|
+
// ((merged || armed) && !confirmedMerged → error) would rewrite every
|
|
375
|
+
// legitimate armed into an error and give up on a PR GitHub genuinely armed
|
|
376
|
+
// — the exact inverse of intent. Do NOT do that (mergerunner-auto-arm-
|
|
377
|
+
// handoff Blocker B).
|
|
299
378
|
const outcome = result.outcome === 'merged' && !result.confirmedMerged ? 'error:merge-unconfirmed' : result.outcome;
|
|
300
|
-
this.recordOutcome(state, target, outcome);
|
|
301
|
-
|
|
379
|
+
this.recordOutcome(state, target, outcome, result.armedHead);
|
|
380
|
+
// `act()` returns "did the watcher perform a real, intended terminal action"
|
|
381
|
+
// — NOT "did the PR merge." Both `merged` (immediate) and `armed`
|
|
382
|
+
// (terminal-success-pending; GitHub now owns the merge, the slot is freed,
|
|
383
|
+
// the episode is stamped armedAt) are real terminal actions → acted:true.
|
|
384
|
+
return outcome === 'merged' || outcome === 'armed';
|
|
302
385
|
}
|
|
303
|
-
recordOutcome(state, target, outcome) {
|
|
386
|
+
recordOutcome(state, target, outcome, armedHead) {
|
|
387
|
+
// auto-merge-unavailable (repo setting OFF) — terminal-non-ladder. A
|
|
388
|
+
// PERMANENT condition; do NOT burn maxAttempts over three pointless ticks
|
|
389
|
+
// and do NOT silently flip to --admin (signal, not authority). Record the
|
|
390
|
+
// refusal + raise ONE attention line; the operator chooses.
|
|
391
|
+
if (outcome === 'refused:auto-arm-unavailable') {
|
|
392
|
+
const ep = state.episodes[target.number] ?? { pr: target.number, headRefOid: target.headRefOid, attempts: 0, rearmEpisodes: 0, state: 'active' };
|
|
393
|
+
ep.lastOutcome = outcome;
|
|
394
|
+
ep.lastAttemptAt = this.deps.now();
|
|
395
|
+
state.episodes[target.number] = ep;
|
|
396
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'auto-merge-unavailable', pr: target.number });
|
|
397
|
+
void this.refreshAggregate(state, [`PR #${target.number} is green but I could not arm auto-merge — "Allow auto-merge" is disabled on the repo. Enable it, or set mergeStrategy:'admin'.`]);
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
304
400
|
const ep = state.episodes[target.number] ?? { pr: target.number, headRefOid: target.headRefOid, attempts: 0, rearmEpisodes: 0, state: 'active' };
|
|
305
|
-
const folded = applyOutcome(ep, outcome, this.deps.now(), this.ladderCfg());
|
|
401
|
+
const folded = applyOutcome(ep, outcome, this.deps.now(), this.ladderCfg(), { armedHead: armedHead ?? target.headRefOid });
|
|
306
402
|
state.episodes[target.number] = folded.ep;
|
|
307
403
|
if (folded.feedsBreaker) {
|
|
308
404
|
// Per-PR ladder failures do NOT feed the global breaker directly (that is
|
|
@@ -313,6 +409,19 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
313
409
|
// Reap the episode on success.
|
|
314
410
|
delete state.episodes[target.number];
|
|
315
411
|
}
|
|
412
|
+
else if (outcome === 'armed') {
|
|
413
|
+
// GitHub now owns the merge — the episode stays armed; reconciliation
|
|
414
|
+
// confirms the eventual merge. No attention, no reap.
|
|
415
|
+
}
|
|
416
|
+
else if (outcome === 'error:auto-arm-unconfirmed' || outcome === 'error:auto-confirm-unreadable') {
|
|
417
|
+
// Non-ladder retry (Blocker D). The head-keyed unconfirmedArmAttempts
|
|
418
|
+
// counter advanced in applyOutcome; surface ONE deduped attention line at
|
|
419
|
+
// the ceiling (signal, not authority — never blocks the next attempt).
|
|
420
|
+
const ctr = folded.ep.unconfirmedArmAttempts;
|
|
421
|
+
if (ctr && ctr.count >= this.cfg.unconfirmedArmCeiling) {
|
|
422
|
+
void this.refreshAggregate(state, [`Armed PR #${target.number} but cannot confirm it stuck (${ctr.count} attempts) — check GitHub auto-merge state for #${target.number}`]);
|
|
423
|
+
}
|
|
424
|
+
}
|
|
316
425
|
else if (folded.ep.state === 'gave-up' && outcome !== 'merged-by-other' && outcome !== 'closed-by-other') {
|
|
317
426
|
void this.refreshAggregate(state, [`PR #${target.number} could not be auto-merged after ${folded.ep.attempts} attempts (${outcome}) — needs a look`]);
|
|
318
427
|
}
|
|
@@ -320,6 +429,160 @@ export class GreenPrAutoMerger extends EventEmitter {
|
|
|
320
429
|
void this.refreshAggregate(state, [`PR #${target.number} was closed without merging — discarded work`]);
|
|
321
430
|
}
|
|
322
431
|
}
|
|
432
|
+
// ---- armed-episode reconciliation (mergerunner-auto-arm-handoff) ---------
|
|
433
|
+
/**
|
|
434
|
+
* The top-of-acting-tick reconciliation: confirm the eventual GitHub merge of
|
|
435
|
+
* each armed episode one tick after arming (the B10 truth, moved off the
|
|
436
|
+
* synchronous arm). READ-ONLY — never calls `gh pr merge`; the disarm reach is
|
|
437
|
+
* the SEPARATE in-route call (Blocker 3a). Resolves each `armedAt` episode:
|
|
438
|
+
* MERGED → reap (head-pin verified) · CLOSED → reap (closed-by-other)
|
|
439
|
+
* OPEN+armed → steady state (leave) · OPEN+disarmed/head-moved → clear + re-evaluate
|
|
440
|
+
* >ceiling → armed-overdue (keep reconciling + deduped re-raise) · read-fail → fail-open
|
|
441
|
+
*/
|
|
442
|
+
async reconcileArmed(state) {
|
|
443
|
+
const armed = Object.values(state.episodes).filter((e) => e.armedAt != null);
|
|
444
|
+
for (const ep of armed) {
|
|
445
|
+
let live;
|
|
446
|
+
try {
|
|
447
|
+
live = await this.deps.refetchPr(ep.pr);
|
|
448
|
+
}
|
|
449
|
+
catch { /* @silent-fallback-ok: green-pr-automerge fail-safe — fail-open on a reconciliation read error; never give up on a real in-flight merge */
|
|
450
|
+
live = undefined;
|
|
451
|
+
}
|
|
452
|
+
// UNKNOWN / read-failure → fail-open: leave armed, NO ladder, NO breaker,
|
|
453
|
+
// retry next tick. We never give up on a real in-flight merge.
|
|
454
|
+
if (!live || live.state === 'UNKNOWN') {
|
|
455
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'armed-reconcile-read-failed', pr: ep.pr });
|
|
456
|
+
this.maybeMarkOverdue(state, ep);
|
|
457
|
+
continue;
|
|
458
|
+
}
|
|
459
|
+
if (live.state === 'MERGED') {
|
|
460
|
+
// The PR's FINAL HEAD (autoMergeRequest.expectedHeadOid else headRefOid)
|
|
461
|
+
// is the comparison operand — NEVER mergeCommitOid (the squash base
|
|
462
|
+
// commit never equals the head; comparing it would false-fire on EVERY
|
|
463
|
+
// clean squash merge).
|
|
464
|
+
const finalHead = live.autoMergeRequest?.expectedHeadOid ?? live.headRefOid;
|
|
465
|
+
if (finalHead && ep.armedHead && finalHead === ep.armedHead) {
|
|
466
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'merged', pr: ep.pr, head: finalHead, viaArmed: true });
|
|
467
|
+
}
|
|
468
|
+
else {
|
|
469
|
+
// Merged at a head we did NOT arm — post-hoc detection of the residual
|
|
470
|
+
// race. Audit + ONE attention line, but STILL reap (the merge happened).
|
|
471
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'merged-at-unexpected-head', pr: ep.pr, armedHead: ep.armedHead ?? null, finalHead: finalHead ?? null, mergeCommitOid: live.mergeCommitOid ?? null });
|
|
472
|
+
void this.refreshAggregate(state, [`PR #${ep.pr} auto-merged at a head I did not arm — review the merged commit`]);
|
|
473
|
+
}
|
|
474
|
+
delete state.episodes[ep.pr];
|
|
475
|
+
continue;
|
|
476
|
+
}
|
|
477
|
+
if (live.state === 'CLOSED') {
|
|
478
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'closed-by-other', pr: ep.pr, viaArmed: true });
|
|
479
|
+
delete state.episodes[ep.pr];
|
|
480
|
+
void this.refreshAggregate(state, [`PR #${ep.pr} was closed without merging — discarded work`]);
|
|
481
|
+
continue;
|
|
482
|
+
}
|
|
483
|
+
// Still OPEN.
|
|
484
|
+
const stillArmed = !!live.autoMergeRequest;
|
|
485
|
+
const headMoved = ep.armedHead != null && live.headRefOid !== ep.armedHead;
|
|
486
|
+
if (!stillArmed || headMoved) {
|
|
487
|
+
// A force-push disarmed it, a maintainer turned it off, or the head moved
|
|
488
|
+
// past armedHead → clear armedAt/armedHead and let the candidate path
|
|
489
|
+
// re-evaluate and (if still eligible) re-arm. A new head is a genuine new
|
|
490
|
+
// attempt, bounded by the existing maybeRearm ladder.
|
|
491
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'armed-cleared', pr: ep.pr, reason: !stillArmed ? 'disarmed' : 'head-moved' });
|
|
492
|
+
const fresh = state.episodes[ep.pr];
|
|
493
|
+
if (fresh) {
|
|
494
|
+
delete fresh.armedAt;
|
|
495
|
+
delete fresh.armedHead;
|
|
496
|
+
delete fresh.overdue;
|
|
497
|
+
delete fresh.overdueSurfacedAt;
|
|
498
|
+
}
|
|
499
|
+
continue;
|
|
500
|
+
}
|
|
501
|
+
// Steady state while CI runs — no ladder advance, no breaker feed. Leave
|
|
502
|
+
// the armed episode; surface armed-overdue past the ceiling (Close the Loop).
|
|
503
|
+
this.maybeMarkOverdue(state, ep);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
/**
|
|
507
|
+
* Transition an armed episode to `armed-overdue` past armedConfirmCeilingMs and
|
|
508
|
+
* re-raise a byte-stable deduped attention line on the armedOverdueReraiseMs
|
|
509
|
+
* cadence (Blocker 5). Never clears armedAt — the loop stays open.
|
|
510
|
+
*/
|
|
511
|
+
maybeMarkOverdue(state, ep) {
|
|
512
|
+
if (ep.armedAt == null)
|
|
513
|
+
return;
|
|
514
|
+
const now = this.deps.now();
|
|
515
|
+
const overdue = now - ep.armedAt >= this.cfg.armedConfirmCeilingMs;
|
|
516
|
+
if (!overdue)
|
|
517
|
+
return;
|
|
518
|
+
const live = state.episodes[ep.pr];
|
|
519
|
+
if (!live)
|
|
520
|
+
return;
|
|
521
|
+
const dueToReraise = live.overdueSurfacedAt == null || (now - live.overdueSurfacedAt) >= this.cfg.armedOverdueReraiseMs;
|
|
522
|
+
if (!dueToReraise)
|
|
523
|
+
return;
|
|
524
|
+
live.overdue = true;
|
|
525
|
+
live.overdueSurfacedAt = now;
|
|
526
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'armed-overdue', pr: ep.pr });
|
|
527
|
+
// Byte-stable text so P17 attention-coalescing dedupes it instead of flooding.
|
|
528
|
+
void this.refreshAggregate(state, [`PR #${ep.pr} has had auto-merge armed >24h and still hasn't merged — CI may be stuck or red; needs a look`]);
|
|
529
|
+
}
|
|
530
|
+
// ---- disarm reach — operator kill-switch (Blocker 3) --------------------
|
|
531
|
+
/**
|
|
532
|
+
* Enumerate every `armedAt` episode and `gh pr merge <pr> --disable-auto` it.
|
|
533
|
+
* Called IN-LINE from the rollback / pool-disarm route handlers (NOT the
|
|
534
|
+
* latch-gated tick — the latch the operator just set is the very thing that
|
|
535
|
+
* stops the tick reaching this code). LEASE-INDEPENDENT (like applyHold); the
|
|
536
|
+
* operator's kill switch must reach the armed merges from wherever the route
|
|
537
|
+
* is served, and `--disable-auto` is idempotent/safe from any holder.
|
|
538
|
+
*
|
|
539
|
+
* Honest failure (Blocker 3b): on a CONFIRMED disable, clear armedAt/armedHead
|
|
540
|
+
* and add to the disarmed-confirmed set; on a FAILED disable, LEAVE armedAt set
|
|
541
|
+
* (reconciliation keeps watching it) and add to a DISTINCT disarm-FAILED set.
|
|
542
|
+
* The two outcomes are NEVER collapsed into one attention line.
|
|
543
|
+
*/
|
|
544
|
+
async disarmAllArmed(reason) {
|
|
545
|
+
const state = this.deps.loadState();
|
|
546
|
+
const armed = Object.values(state.episodes).filter((e) => e.armedAt != null).map((e) => e.pr);
|
|
547
|
+
const disarmed = [];
|
|
548
|
+
const failed = [];
|
|
549
|
+
for (const pr of armed) {
|
|
550
|
+
let ok = false;
|
|
551
|
+
try {
|
|
552
|
+
ok = await this.deps.disarmArmedEpisodes(pr);
|
|
553
|
+
}
|
|
554
|
+
catch { /* @silent-fallback-ok: green-pr-automerge fail-safe — a disable error is an honest FAILED disarm, never a silent strand */
|
|
555
|
+
ok = false;
|
|
556
|
+
}
|
|
557
|
+
const ep = state.episodes[pr];
|
|
558
|
+
if (ok) {
|
|
559
|
+
if (ep) {
|
|
560
|
+
delete ep.armedAt;
|
|
561
|
+
delete ep.armedHead;
|
|
562
|
+
delete ep.overdue;
|
|
563
|
+
delete ep.overdueSurfacedAt;
|
|
564
|
+
}
|
|
565
|
+
disarmed.push(pr);
|
|
566
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'disarmed', pr, reason });
|
|
567
|
+
}
|
|
568
|
+
else {
|
|
569
|
+
// Leave armedAt set so reconciliation keeps watching it.
|
|
570
|
+
failed.push(pr);
|
|
571
|
+
this.deps.audit({ kind: 'green-pr-automerge', event: 'disarm-failed', pr, reason });
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
const lines = [];
|
|
575
|
+
if (disarmed.length > 0) {
|
|
576
|
+
lines.push(`Disarmed auto-merge on PR ${disarmed.map((p) => `#${p}`).join(', ')} per ${reason} — they will NOT merge until re-armed`);
|
|
577
|
+
}
|
|
578
|
+
for (const pr of failed) {
|
|
579
|
+
lines.push(`Could NOT disable auto-merge on PR #${pr} — disable it on GitHub directly; it may still merge`);
|
|
580
|
+
}
|
|
581
|
+
if (lines.length > 0)
|
|
582
|
+
await this.refreshAggregate(state, lines);
|
|
583
|
+
this.deps.saveState(state);
|
|
584
|
+
return { disarmed, failed };
|
|
585
|
+
}
|
|
323
586
|
// ---- identity (R4) ------------------------------------------------------
|
|
324
587
|
async identityOk(state) {
|
|
325
588
|
if (!this.cfg.expectedGhLogin)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GreenPrAutoMerger.js","sourceRoot":"","sources":["../../src/monitoring/GreenPrAutoMerger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GreenPrAutoMerger.js","sourceRoot":"","sources":["../../src/monitoring/GreenPrAutoMerger.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,18 @@ export interface MergeRunnerConfig {
|
|
|
66
66
|
mergeTimeoutMs: number;
|
|
67
67
|
mergeKillGraceMs: number;
|
|
68
68
|
expectedContractVersion: number;
|
|
69
|
+
/**
|
|
70
|
+
* Merge strategy (mergerunner-auto-arm-handoff). `auto` (default) arms GitHub
|
|
71
|
+
* native auto-merge via `safe-merge … --auto` and returns in seconds; `admin`
|
|
72
|
+
* is the legacy synchronous poll+merge via `--admin`. Absent → 'auto'.
|
|
73
|
+
*/
|
|
74
|
+
mergeStrategy?: 'auto' | 'admin';
|
|
75
|
+
/**
|
|
76
|
+
* The `--auto` spawn deadline (default ~60s). Arming is a single API call, so
|
|
77
|
+
* the 25-min `mergeTimeoutMs` is vestigial on the auto path — a hung arm
|
|
78
|
+
* should trip in minutes, not ~26 min. The admin path keeps `mergeTimeoutMs`.
|
|
79
|
+
*/
|
|
80
|
+
armTimeoutMs?: number;
|
|
69
81
|
/** node executable (default process.execPath). */
|
|
70
82
|
nodePath?: string;
|
|
71
83
|
}
|
|
@@ -101,6 +113,15 @@ export declare class DefaultMergeRunner implements MergeRunner {
|
|
|
101
113
|
/** Pinned per-attempt: the probed script's hash + path. */
|
|
102
114
|
private pinnedHash;
|
|
103
115
|
constructor(cfg: MergeRunnerConfig, deps: MergeRunnerDeps);
|
|
116
|
+
/**
|
|
117
|
+
* The resolved merge strategy the runner will spawn with (mergerunner-auto-arm-
|
|
118
|
+
* handoff M2). Read-only — exposed so the wiring-integrity test can prove the
|
|
119
|
+
* config survived `config → GreenPrAutoMergerConfig → buildGreenPrDeps →
|
|
120
|
+
* MergeRunnerConfig` and the runner is no longer hardcoded to `--admin`.
|
|
121
|
+
*/
|
|
122
|
+
get resolvedStrategy(): 'auto' | 'admin';
|
|
123
|
+
/** The resolved `--auto` spawn deadline (M2 wiring-integrity surface). */
|
|
124
|
+
get resolvedArmTimeoutMs(): number;
|
|
104
125
|
probeContract(): Promise<{
|
|
105
126
|
ok: boolean;
|
|
106
127
|
version?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MergeRunner.d.ts","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAExF,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,yEAAyE;IACzE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,yFAAyF;IACzF,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,uDAAuD;IACvD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,2DAA2D;IAC3D,OAAO,CAAC,UAAU,CAAuB;gBAE7B,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"MergeRunner.d.ts","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"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"}
|