@groundnuty/macf-core 0.2.50 → 0.2.52
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/fleet-driver.d.ts +20 -0
- package/dist/fleet-driver.d.ts.map +1 -1
- package/dist/fleet-driver.js.map +1 -1
- package/dist/fleet-upgrade.d.ts +58 -13
- package/dist/fleet-upgrade.d.ts.map +1 -1
- package/dist/fleet-upgrade.js +57 -11
- package/dist/fleet-upgrade.js.map +1 -1
- package/package.json +1 -1
package/dist/fleet-driver.d.ts
CHANGED
|
@@ -170,6 +170,26 @@ export interface FleetDriver {
|
|
|
170
170
|
* never throws on "nothing to commit").
|
|
171
171
|
*/
|
|
172
172
|
readonly autoResolveCanonical: (agent: string, files: readonly string[]) => Promise<void>;
|
|
173
|
+
/**
|
|
174
|
+
* The agent's CURRENT git branch (`git branch --show-current` semantics) —
|
|
175
|
+
* macf#755's canonical-branch guard. `null` on detached HEAD (empty
|
|
176
|
+
* `--show-current` output), no branch, or an unresolvable agent — ALL
|
|
177
|
+
* treated identically as non-canonical by `rollFleet`'s branch-gate (a
|
|
178
|
+
* detached HEAD is never a safe mutate+relaunch target). VM: `git branch
|
|
179
|
+
* --show-current` in the agent's resolved workspace.
|
|
180
|
+
*/
|
|
181
|
+
readonly currentBranch: (agent: string) => Promise<string | null>;
|
|
182
|
+
/**
|
|
183
|
+
* The agent's configured CANONICAL branch (macf#755) — resolved via
|
|
184
|
+
* `resolveCanonicalBranch` (macf's `config.ts`): the `MACF_CANONICAL_BRANCH`
|
|
185
|
+
* env override, else the agent's own `macf-agent.json` `canonicalBranch`
|
|
186
|
+
* field, else the default `'main'`. Used alongside `currentBranch` by
|
|
187
|
+
* `rollFleet`'s pre-flight branch-gate — the FIRST gate (cheapest + most
|
|
188
|
+
* fundamental: branch-correctness precedes config-correctness). An
|
|
189
|
+
* unresolvable agent still resolves (env override or default) — never
|
|
190
|
+
* throws.
|
|
191
|
+
*/
|
|
192
|
+
readonly canonicalBranch: (agent: string) => Promise<string>;
|
|
173
193
|
/**
|
|
174
194
|
* Read the agent's current pane content for stall-signature matching
|
|
175
195
|
* (`macf fleet resume`, DR-037 / macf#686). VM: a single `tmux capture-pane`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-driver.d.ts","sourceRoot":"","sources":["../src/fleet-driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fleet-driver.d.ts","sourceRoot":"","sources":["../src/fleet-driver.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet-driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-driver.js","sourceRoot":"","sources":["../src/fleet-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fleet-driver.js","sourceRoot":"","sources":["../src/fleet-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAkRxC;;;;;GAKG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF"}
|
package/dist/fleet-upgrade.d.ts
CHANGED
|
@@ -39,17 +39,25 @@ export interface AgentUpgradePlan {
|
|
|
39
39
|
* OBJECTS with the specific file list + an
|
|
40
40
|
* agent-directed message (macf#725 — replaces
|
|
41
41
|
* macf#722 Fix B's silent skip).
|
|
42
|
+
* - `branch-skipped` — branch-gated (macf#755): the agent's workspace
|
|
43
|
+
* is not on its canonical branch (or is on a
|
|
44
|
+
* detached HEAD / unresolvable branch), BEFORE any
|
|
45
|
+
* mutation; NOT a failure, CONTINUES. The roll
|
|
46
|
+
* OBJECTS — a mutation (macf update / an
|
|
47
|
+
* auto-resolve commit) or a relaunch on the wrong
|
|
48
|
+
* branch either corrupts a feature branch or
|
|
49
|
+
* relaunches the agent stale on it.
|
|
42
50
|
* - `halted` — verify-green did NOT confirm the target version;
|
|
43
51
|
* the roll STOPS here. `reason` distinguishes WHY
|
|
44
52
|
* (see `HaltReason`).
|
|
45
53
|
*
|
|
46
|
-
* The
|
|
47
|
-
* are safe to continue past because the agent was NEVER
|
|
48
|
-
* always terminal because the agent WAS rolled and its
|
|
49
|
-
* either confirmed-bad or unconfirmed — neither is safe
|
|
50
|
-
* moving on to the next agent (macf#722 Fix A).
|
|
54
|
+
* The three pre-flight skip outcomes (`busy-skipped` / `config-dirty-skipped`
|
|
55
|
+
* / `branch-skipped`) are safe to continue past because the agent was NEVER
|
|
56
|
+
* mutated. `halted` is always terminal because the agent WAS rolled and its
|
|
57
|
+
* post-restart state is either confirmed-bad or unconfirmed — neither is safe
|
|
58
|
+
* to leave behind while moving on to the next agent (macf#722 Fix A).
|
|
51
59
|
*/
|
|
52
|
-
export type RollOutcome = 'upgraded' | 'busy-skipped' | 'config-dirty-skipped' | 'halted';
|
|
60
|
+
export type RollOutcome = 'upgraded' | 'busy-skipped' | 'config-dirty-skipped' | 'branch-skipped' | 'halted';
|
|
53
61
|
/**
|
|
54
62
|
* WHY a roll halted (only meaningful when `outcome === 'halted'`):
|
|
55
63
|
* - `bad-release` — verify-green confirmed the agent came back up
|
|
@@ -206,6 +214,12 @@ export interface FleetRollResult {
|
|
|
206
214
|
* `autoResolvedFiles` for the file-level detail.
|
|
207
215
|
*/
|
|
208
216
|
readonly configAutoResolved: number;
|
|
217
|
+
/**
|
|
218
|
+
* Count of agents skipped because their workspace was NOT on its
|
|
219
|
+
* canonical branch (or was on a detached HEAD / unresolvable branch) —
|
|
220
|
+
* macf#755's pre-flight branch-gate, the FIRST gate in the transaction.
|
|
221
|
+
*/
|
|
222
|
+
readonly branchSkipped: number;
|
|
209
223
|
}
|
|
210
224
|
/** Progress events for CLI rendering (the RESULT objects are what tests assert on). */
|
|
211
225
|
export type UpgradeEvent = {
|
|
@@ -223,6 +237,19 @@ export type UpgradeEvent = {
|
|
|
223
237
|
readonly from: string | null;
|
|
224
238
|
readonly to: string;
|
|
225
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* The pre-flight BRANCH-GATE OBJECT (macf#755) — the FIRST gate, fired
|
|
242
|
+
* BEFORE the config-dirty tiering / auto-resolve / busy-gate even run for
|
|
243
|
+
* this agent. `current` is the agent's actual branch (`null` on detached
|
|
244
|
+
* HEAD / an unresolvable branch); `canonical` is the resolved expected
|
|
245
|
+
* branch. Fired INSTEAD of any mutation — nothing was touched.
|
|
246
|
+
*/
|
|
247
|
+
| {
|
|
248
|
+
readonly kind: 'branch-skip';
|
|
249
|
+
readonly agent: string;
|
|
250
|
+
readonly current: string | null;
|
|
251
|
+
readonly canonical: string;
|
|
252
|
+
}
|
|
226
253
|
/**
|
|
227
254
|
* The pre-flight AUTO-RESOLVE (DR-040 Decision 3 / macf#698 R1) — `files`
|
|
228
255
|
* were dirty but their content already equalled canonical, so they were
|
|
@@ -344,18 +371,36 @@ export declare function buildConfigDirtyMessage(agent: string, files: readonly s
|
|
|
344
371
|
* agent to commit them, not merely review them.
|
|
345
372
|
*/
|
|
346
373
|
export declare function buildModifiedFilesMessage(agent: string, files: readonly string[]): string;
|
|
374
|
+
/**
|
|
375
|
+
* Build the agent-directed OBJECT message for the branch-gate pre-flight skip
|
|
376
|
+
* (macf#755). Pure — exported for CLI-rendering reuse / tests.
|
|
377
|
+
*/
|
|
378
|
+
export declare function buildBranchSkipMessage(agent: string, current: string | null, canonical: string): string;
|
|
347
379
|
/**
|
|
348
380
|
* Roll ONE fleet: for every `behind` plan (in order) run the PRE-FLIGHT gates
|
|
349
|
-
* (config-dirty tier-first, then busy) → upgrade →
|
|
350
|
-
* cycle, HALTING the roll on the first agent whose
|
|
351
|
-
* confirmed-green. Non-`behind` plans are ignored
|
|
352
|
-
* Pre-flight-gated agents are skipped + reported and NEVER a
|
|
353
|
-
* never mutated, so continuing is always safe) —
|
|
354
|
-
*
|
|
355
|
-
*
|
|
381
|
+
* (branch-gate FIRST, then config-dirty tier-first, then busy) → upgrade →
|
|
382
|
+
* restart → verify-green cycle, HALTING the roll on the first agent whose
|
|
383
|
+
* post-restart state isn't confirmed-green. Non-`behind` plans are ignored
|
|
384
|
+
* (planned skips). Pre-flight-gated agents are skipped + reported and NEVER a
|
|
385
|
+
* halt (they were never mutated, so continuing is always safe) — the
|
|
386
|
+
* branch-gate runs first (cheapest + most fundamental: branch-correctness
|
|
387
|
+
* precedes config-correctness — a mutation on the wrong branch is unsafe
|
|
388
|
+
* regardless of that branch's config-dirty state), then config-dirty (checked
|
|
389
|
+
* before busy because a busy-but-clean agent may still become idle later via
|
|
390
|
+
* `--wait`, whereas a dirty (genuine-delta) agent is skip-only regardless).
|
|
356
391
|
* With `wait`, a busy agent is re-polled for idle first. The verb order +
|
|
357
392
|
* HALT semantics mirror `fleet/upgrade.sh`'s `roll_one`.
|
|
358
393
|
*
|
|
394
|
+
* **Branch-gate (macf#755).** Before any other gate: resolve the agent's
|
|
395
|
+
* CURRENT branch (`deps.driver.currentBranch`) and its CANONICAL branch
|
|
396
|
+
* (`deps.driver.canonicalBranch`). Detached HEAD / an unresolvable branch
|
|
397
|
+
* (`currentBranch` returns `null`) is ALWAYS treated as non-canonical — never
|
|
398
|
+
* a safe mutate+relaunch target. A mismatch OBJECTS (`branch-skipped`) and
|
|
399
|
+
* skips the agent entirely — no `classifyDirtyConfig`, no `isBusy`, no
|
|
400
|
+
* `upgrade`/`restart`, no maintenance-lock activity. `--force` bypasses this
|
|
401
|
+
* gate exactly like it bypasses the config-dirty gate (same flag, same
|
|
402
|
+
* "I know what I'm doing" escape hatch).
|
|
403
|
+
*
|
|
359
404
|
* **Transactional + OBJECT-with-message revision (macf#725).** The pre-flight
|
|
360
405
|
* config-dirty gate is the ONLY decision point that inspects PRE-upgrade
|
|
361
406
|
* state: clean (or explicitly `--force`-bypassed) ⇒ the roll enters the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-upgrade.d.ts","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fleet-upgrade.d.ts","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet-upgrade.js
CHANGED
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* logic lives in macf-core; the per-runtime driver bodies live in `packages/macf`
|
|
8
8
|
* or a future K8s package). It NEVER touches `/proc`, tmux, `capture-pane`, or
|
|
9
9
|
* kubectl — it drives entirely off the injected `FleetDriver` verbs
|
|
10
|
-
* (`probe`/`discoverWorkspaces`/`isBusy`/`listDirtyConfig`/`
|
|
11
|
-
* `listModifiedFiles`/`acquireLock
|
|
10
|
+
* (`probe`/`discoverWorkspaces`/`isBusy`/`listDirtyConfig`/`currentBranch`/
|
|
11
|
+
* `canonicalBranch`/`upgrade`/`restart`/`listModifiedFiles`/`acquireLock`/
|
|
12
|
+
* `startHeartbeat`/`releaseLock`) plus an
|
|
12
13
|
* injected `verifyGreen` runner, so the SAME sequencer rolls a VM tmux fleet, a
|
|
13
14
|
* macOS host, and a far-future K8s deployment by swapping only the driver.
|
|
14
15
|
*
|
|
@@ -17,6 +18,11 @@
|
|
|
17
18
|
* probe() + discoverWorkspaces()
|
|
18
19
|
* → for each member whose RUNNING version < target (compareSemver):
|
|
19
20
|
* PRE-FLIGHT gate (BEFORE any mutation — never touches the agent):
|
|
21
|
+
* branch-gate (macf#755, FIRST — cheapest + most fundamental:
|
|
22
|
+
* driver.currentBranch != driver.canonicalBranch (or detached
|
|
23
|
+
* HEAD / unresolvable, i.e. `null`) ⇒ OBJECT: SKIP+REPORT, unless
|
|
24
|
+
* `--force` — a mutation or relaunch on the wrong branch either
|
|
25
|
+
* corrupts a feature branch or relaunches the agent stale on it)
|
|
20
26
|
* config-dirty-gate (driver.listDirtyConfig → non-empty ⇒ OBJECT:
|
|
21
27
|
* SKIP+REPORT the list of uncommitted files + an agent-directed
|
|
22
28
|
* message to inspect-and-commit-or-delete-or-gitignore-then-retry,
|
|
@@ -284,18 +290,43 @@ export function buildModifiedFilesMessage(agent, files) {
|
|
|
284
290
|
`${files.join(', ')}. Review with \`git diff\` and commit them (so the next ` +
|
|
285
291
|
`upgrade's pre-flight doesn't re-flag them as uncommitted) or act as needed.`);
|
|
286
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* Build the agent-directed OBJECT message for the branch-gate pre-flight skip
|
|
295
|
+
* (macf#755). Pure — exported for CLI-rendering reuse / tests.
|
|
296
|
+
*/
|
|
297
|
+
export function buildBranchSkipMessage(agent, current, canonical) {
|
|
298
|
+
const branchDesc = current === null ? 'a detached HEAD (or an unresolvable branch)' : `branch \`${current}\``;
|
|
299
|
+
return (`Fleet upgrade skipped ${agent} — on ${branchDesc}, expected \`${canonical}\`. ` +
|
|
300
|
+
`A mutation (macf update / an auto-resolve commit) or a relaunch would land on the ` +
|
|
301
|
+
`wrong branch. Switch the workspace to \`${canonical}\` (or set canonicalBranch / ` +
|
|
302
|
+
`MACF_CANONICAL_BRANCH if this is a legitimate fork), then re-run the upgrade, or ` +
|
|
303
|
+
`pass --force to bypass.`);
|
|
304
|
+
}
|
|
287
305
|
/**
|
|
288
306
|
* Roll ONE fleet: for every `behind` plan (in order) run the PRE-FLIGHT gates
|
|
289
|
-
* (config-dirty tier-first, then busy) → upgrade →
|
|
290
|
-
* cycle, HALTING the roll on the first agent whose
|
|
291
|
-
* confirmed-green. Non-`behind` plans are ignored
|
|
292
|
-
* Pre-flight-gated agents are skipped + reported and NEVER a
|
|
293
|
-
* never mutated, so continuing is always safe) —
|
|
294
|
-
*
|
|
295
|
-
*
|
|
307
|
+
* (branch-gate FIRST, then config-dirty tier-first, then busy) → upgrade →
|
|
308
|
+
* restart → verify-green cycle, HALTING the roll on the first agent whose
|
|
309
|
+
* post-restart state isn't confirmed-green. Non-`behind` plans are ignored
|
|
310
|
+
* (planned skips). Pre-flight-gated agents are skipped + reported and NEVER a
|
|
311
|
+
* halt (they were never mutated, so continuing is always safe) — the
|
|
312
|
+
* branch-gate runs first (cheapest + most fundamental: branch-correctness
|
|
313
|
+
* precedes config-correctness — a mutation on the wrong branch is unsafe
|
|
314
|
+
* regardless of that branch's config-dirty state), then config-dirty (checked
|
|
315
|
+
* before busy because a busy-but-clean agent may still become idle later via
|
|
316
|
+
* `--wait`, whereas a dirty (genuine-delta) agent is skip-only regardless).
|
|
296
317
|
* With `wait`, a busy agent is re-polled for idle first. The verb order +
|
|
297
318
|
* HALT semantics mirror `fleet/upgrade.sh`'s `roll_one`.
|
|
298
319
|
*
|
|
320
|
+
* **Branch-gate (macf#755).** Before any other gate: resolve the agent's
|
|
321
|
+
* CURRENT branch (`deps.driver.currentBranch`) and its CANONICAL branch
|
|
322
|
+
* (`deps.driver.canonicalBranch`). Detached HEAD / an unresolvable branch
|
|
323
|
+
* (`currentBranch` returns `null`) is ALWAYS treated as non-canonical — never
|
|
324
|
+
* a safe mutate+relaunch target. A mismatch OBJECTS (`branch-skipped`) and
|
|
325
|
+
* skips the agent entirely — no `classifyDirtyConfig`, no `isBusy`, no
|
|
326
|
+
* `upgrade`/`restart`, no maintenance-lock activity. `--force` bypasses this
|
|
327
|
+
* gate exactly like it bypasses the config-dirty gate (same flag, same
|
|
328
|
+
* "I know what I'm doing" escape hatch).
|
|
329
|
+
*
|
|
299
330
|
* **Transactional + OBJECT-with-message revision (macf#725).** The pre-flight
|
|
300
331
|
* config-dirty gate is the ONLY decision point that inspects PRE-upgrade
|
|
301
332
|
* state: clean (or explicitly `--force`-bypassed) ⇒ the roll enters the
|
|
@@ -331,10 +362,25 @@ export async function rollFleet(plans, opts, deps) {
|
|
|
331
362
|
let busySkipped = 0;
|
|
332
363
|
let configDirtySkipped = 0;
|
|
333
364
|
let configAutoResolved = 0;
|
|
365
|
+
let branchSkipped = 0;
|
|
334
366
|
for (const plan of plans) {
|
|
335
367
|
if (plan.disposition !== 'behind')
|
|
336
368
|
continue;
|
|
337
369
|
const agent = plan.agent;
|
|
370
|
+
// PRE-FLIGHT branch-gate (macf#755) — the FIRST gate, before config-dirty
|
|
371
|
+
// or busy. Detached HEAD / unresolvable (`current === null`) is ALWAYS
|
|
372
|
+
// non-canonical.
|
|
373
|
+
if (!opts.force) {
|
|
374
|
+
const canonical = await deps.driver.canonicalBranch(agent);
|
|
375
|
+
const current = await deps.driver.currentBranch(agent);
|
|
376
|
+
if (current === null || current !== canonical) {
|
|
377
|
+
branchSkipped += 1;
|
|
378
|
+
const message = buildBranchSkipMessage(agent, current, canonical);
|
|
379
|
+
results.push({ agent, outcome: 'branch-skipped', detail: message });
|
|
380
|
+
deps.onEvent?.({ kind: 'branch-skip', agent, current, canonical });
|
|
381
|
+
continue;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
338
384
|
// PRE-FLIGHT config-dirty gate — tier-first (DR-040 Decision 3 /
|
|
339
385
|
// macf#698 R1). By-design inter-roll STEADY-STATE (macf#725): a clean
|
|
340
386
|
// roll LEAVES `macf update`'s regeneration uncommitted (so the relaunched
|
|
@@ -445,9 +491,9 @@ export async function rollFleet(plans, opts, deps) {
|
|
|
445
491
|
// (MAINT_LOCK_TTL), giving the operator a bounded grace window to
|
|
446
492
|
// inspect the halted roll before the watchdog resumes automatic action.
|
|
447
493
|
stopHeartbeat();
|
|
448
|
-
return { results, halted: true, upgraded, busySkipped, configDirtySkipped, configAutoResolved };
|
|
494
|
+
return { results, halted: true, upgraded, busySkipped, configDirtySkipped, configAutoResolved, branchSkipped };
|
|
449
495
|
}
|
|
450
|
-
return { results, halted: false, upgraded, busySkipped, configDirtySkipped, configAutoResolved };
|
|
496
|
+
return { results, halted: false, upgraded, busySkipped, configDirtySkipped, configAutoResolved, branchSkipped };
|
|
451
497
|
}
|
|
452
498
|
/**
|
|
453
499
|
* Orchestrate a rolling upgrade across the ORDERED `fleets` (PROJECT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-upgrade.js","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fleet-upgrade.js","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@groundnuty/macf-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.52",
|
|
4
4
|
"description": "Shared internals consumed by the MACF CLI and channel-server packages. Not intended for direct external use — will be marked deprecated-internal on first npm publish per DR-022 Amendment A.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|