@groundnuty/macf-core 0.2.55 → 0.2.57
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/certs/ca.d.ts +15 -0
- package/dist/certs/ca.d.ts.map +1 -1
- package/dist/certs/ca.js +31 -1
- package/dist/certs/ca.js.map +1 -1
- package/dist/certs/index.d.ts +1 -1
- package/dist/certs/index.d.ts.map +1 -1
- package/dist/certs/index.js +1 -1
- package/dist/certs/index.js.map +1 -1
- 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 +109 -13
- package/dist/fleet-upgrade.d.ts.map +1 -1
- package/dist/fleet-upgrade.js +164 -14
- package/dist/fleet-upgrade.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/registry/github-client.d.ts.map +1 -1
- package/dist/registry/github-client.js +34 -10
- package/dist/registry/github-client.js.map +1 -1
- package/dist/trust-bundle.d.ts +88 -0
- package/dist/trust-bundle.d.ts.map +1 -0
- package/dist/trust-bundle.js +202 -0
- package/dist/trust-bundle.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/certs/ca.d.ts
CHANGED
|
@@ -100,4 +100,19 @@ export declare function isLikelyPemPrivateKey(text: string): boolean;
|
|
|
100
100
|
* Load CA cert and key from disk.
|
|
101
101
|
*/
|
|
102
102
|
export declare function loadCA(certPath: string, keyPath: string): CaKeyPair;
|
|
103
|
+
/**
|
|
104
|
+
* SHA-256 fingerprint (lowercase hex) of a PEM-encoded certificate's DER
|
|
105
|
+
* bytes. Deterministic + parse-free (no x509 library round-trip needed) —
|
|
106
|
+
* good enough to answer "is this the SAME CA cert" without asserting
|
|
107
|
+
* anything about the cert's structure.
|
|
108
|
+
*
|
|
109
|
+
* Purpose-built for macf#800 (DR-010 amendment / silent-fallback-hazards.md
|
|
110
|
+
* Instance 16): a CA rotation orphans out-of-band artifacts (e.g. the
|
|
111
|
+
* routing-client cert deployed as a GitHub Actions secret) that this tool
|
|
112
|
+
* cannot reach to re-sign. Recording this fingerprint at mint time and
|
|
113
|
+
* diffing it against the CURRENT CA's fingerprint later (`macf routing
|
|
114
|
+
* doctor`) detects the orphan without ever reading the write-only deployed
|
|
115
|
+
* secret itself.
|
|
116
|
+
*/
|
|
117
|
+
export declare function caCertFingerprint(certPem: string): string;
|
|
103
118
|
//# sourceMappingURL=ca.d.ts.map
|
package/dist/certs/ca.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ca.d.ts","sourceRoot":"","sources":["../../src/certs/ca.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,OAAQ,SAAQ,SAAS;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAsBD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CACzC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6CrB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB;AAMD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAoFrC;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAyBvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO3D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAYnE"}
|
|
1
|
+
{"version":3,"file":"ca.d.ts","sourceRoot":"","sources":["../../src/certs/ca.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,OAAQ,SAAQ,SAAS;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAsBD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CACzC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6CrB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB;AAMD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAoFrC;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAyBvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO3D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAYnE;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
package/dist/certs/ca.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createCipheriv, createDecipheriv, randomBytes, pbkdf2Sync, } from 'node:crypto';
|
|
1
|
+
import { createCipheriv, createDecipheriv, createHash, randomBytes, pbkdf2Sync, } from 'node:crypto';
|
|
2
2
|
import { readFileSync, writeFileSync, mkdirSync, chmodSync, existsSync } from 'node:fs';
|
|
3
3
|
import { dirname } from 'node:path';
|
|
4
4
|
import { x509, webcrypto, RSA_ALGORITHM, CA_CERT_VALIDITY_YEARS, } from './crypto-provider.js';
|
|
@@ -303,4 +303,34 @@ export function loadCA(certPath, keyPath) {
|
|
|
303
303
|
keyPem: readFileSync(keyPath, 'utf-8'),
|
|
304
304
|
};
|
|
305
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Strip PEM armor + whitespace and base64-decode to the raw DER bytes.
|
|
308
|
+
* Shared by {@link caCertFingerprint}; hashing the DER (not the PEM text)
|
|
309
|
+
* means cosmetic differences — line wrapping, trailing newline, CRLF vs
|
|
310
|
+
* LF — never produce a false fingerprint mismatch.
|
|
311
|
+
*/
|
|
312
|
+
function pemToDer(pem) {
|
|
313
|
+
const body = pem
|
|
314
|
+
.replace(/-----BEGIN CERTIFICATE-----/g, '')
|
|
315
|
+
.replace(/-----END CERTIFICATE-----/g, '')
|
|
316
|
+
.replace(/\s+/g, '');
|
|
317
|
+
return Buffer.from(body, 'base64');
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* SHA-256 fingerprint (lowercase hex) of a PEM-encoded certificate's DER
|
|
321
|
+
* bytes. Deterministic + parse-free (no x509 library round-trip needed) —
|
|
322
|
+
* good enough to answer "is this the SAME CA cert" without asserting
|
|
323
|
+
* anything about the cert's structure.
|
|
324
|
+
*
|
|
325
|
+
* Purpose-built for macf#800 (DR-010 amendment / silent-fallback-hazards.md
|
|
326
|
+
* Instance 16): a CA rotation orphans out-of-band artifacts (e.g. the
|
|
327
|
+
* routing-client cert deployed as a GitHub Actions secret) that this tool
|
|
328
|
+
* cannot reach to re-sign. Recording this fingerprint at mint time and
|
|
329
|
+
* diffing it against the CURRENT CA's fingerprint later (`macf routing
|
|
330
|
+
* doctor`) detects the orphan without ever reading the write-only deployed
|
|
331
|
+
* secret itself.
|
|
332
|
+
*/
|
|
333
|
+
export function caCertFingerprint(certPem) {
|
|
334
|
+
return createHash('sha256').update(pemToDer(certPem)).digest('hex');
|
|
335
|
+
}
|
|
306
336
|
//# sourceMappingURL=ca.js.map
|
package/dist/certs/ca.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ca.js","sourceRoot":"","sources":["../../src/certs/ca.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"ca.js","sourceRoot":"","sources":["../../src/certs/ca.ts"],"names":[],"mappings":"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"}
|
package/dist/certs/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createCA, backupCAKey, recoverCAKey, encryptCAKey, encryptCAKeyV1Legacy, decryptCAKey, loadCA, CaError } from './ca.js';
|
|
1
|
+
export { createCA, backupCAKey, recoverCAKey, encryptCAKey, encryptCAKeyV1Legacy, decryptCAKey, loadCA, caCertFingerprint, CaError } from './ca.js';
|
|
2
2
|
export type { CaKeyPair } from './ca.js';
|
|
3
3
|
export { generateAgentCert, generateClientCert, generateCSR, signCSR, importPrivateKey, AgentCertError } from './agent-cert.js';
|
|
4
4
|
export type { AgentCertResult } from './agent-cert.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/certs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/certs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACpJ,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChI,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/certs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createCA, backupCAKey, recoverCAKey, encryptCAKey, encryptCAKeyV1Legacy, decryptCAKey, loadCA, CaError } from './ca.js';
|
|
1
|
+
export { createCA, backupCAKey, recoverCAKey, encryptCAKey, encryptCAKeyV1Legacy, decryptCAKey, loadCA, caCertFingerprint, CaError } from './ca.js';
|
|
2
2
|
export { generateAgentCert, generateClientCert, generateCSR, signCSR, importPrivateKey, AgentCertError } from './agent-cert.js';
|
|
3
3
|
export { createChallenge, verifyAndConsumeChallenge, ChallengeError } from './challenge.js';
|
|
4
4
|
export { RSA_ALGORITHM, CA_CERT_VALIDITY_YEARS, AGENT_CERT_VALIDITY_YEARS } from './crypto-provider.js';
|
package/dist/certs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/certs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/certs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEpJ,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEhI,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/fleet-driver.d.ts
CHANGED
|
@@ -200,6 +200,26 @@ export interface FleetDriver {
|
|
|
200
200
|
* matching the returned string against the allowlist.
|
|
201
201
|
*/
|
|
202
202
|
readonly capturePane: (agent: string) => Promise<string | null>;
|
|
203
|
+
/**
|
|
204
|
+
* Read the agent's LAUNCH PIN — the channel-server version its currently
|
|
205
|
+
* MOUNTED plugin manifest pins (macf#899, driver-layer counterpart to
|
|
206
|
+
* `macf update`'s own post-write verification, macf#889/#896). Used by
|
|
207
|
+
* `rollFleet`'s halt-classifier to discriminate a CONFIRMED bad release
|
|
208
|
+
* (the launcher already asked for the target; the process is stuck
|
|
209
|
+
* anyway) from a STALE launch pin (the launcher never asked for the
|
|
210
|
+
* target at all — the release may be fine, only this workspace's launch
|
|
211
|
+
* config is stale). `null` means "could not determine" (undeterminable
|
|
212
|
+
* plugin mount, manifest absent/malformed, or no channel-server pin
|
|
213
|
+
* present) — NEVER treated as evidence for either cause; `rollFleet`
|
|
214
|
+
* reads `null` as honest-unknown. VM: resolves the agent's workspace +
|
|
215
|
+
* its MOUNTED plugin dir (`resolvePluginUpdateTarget`) and reads back the
|
|
216
|
+
* pin (`readPinnedChannelServerVersion`) — the SAME primitives `macf
|
|
217
|
+
* update`'s own result-invariant check uses, so the roll's diagnosis and
|
|
218
|
+
* the update's own verification can never disagree about what "the
|
|
219
|
+
* launch pin" means. Unknown agent → `null` (mirrors `currentBranch`'s
|
|
220
|
+
* unresolvable-agent handling).
|
|
221
|
+
*/
|
|
222
|
+
readonly readVersionPin: (agent: string) => Promise<string | null>;
|
|
203
223
|
/** Roll the agent's framework version. VM: `macf update` in its workspace. */
|
|
204
224
|
readonly upgrade: (agent: string) => Promise<void>;
|
|
205
225
|
/**
|
|
@@ -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;AAuSxC;;;;;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
|
@@ -47,23 +47,44 @@ export interface AgentUpgradePlan {
|
|
|
47
47
|
* auto-resolve commit) or a relaunch on the wrong
|
|
48
48
|
* branch either corrupts a feature branch or
|
|
49
49
|
* relaunches the agent stale on it.
|
|
50
|
-
* - `
|
|
50
|
+
* - `stale-pin-skipped` — (macf#899, NEW) verify-green did NOT confirm the
|
|
51
|
+
* target version, but the agent's own launch pin
|
|
52
|
+
* explains WHY without implicating the release:
|
|
53
|
+
* `reason: 'stale-pin'` (see `HaltReason`). Unlike
|
|
54
|
+
* `halted`, this is safe to continue past — the
|
|
55
|
+
* agent WAS mutated (upgrade + restart already
|
|
56
|
+
* ran) but its stale-old-pin state endangers no
|
|
57
|
+
* OTHER agent, so `rollFleet` skips it and moves
|
|
58
|
+
* on to the next agent in the SAME fleet.
|
|
59
|
+
* - `halted` — verify-green did NOT confirm the target version,
|
|
60
|
+
* and the cause is either a confirmed/unverifiable
|
|
61
|
+
* bad release or a genuinely unconfirmed relaunch;
|
|
51
62
|
* the roll STOPS here. `reason` distinguishes WHY
|
|
52
63
|
* (see `HaltReason`).
|
|
53
64
|
*
|
|
54
65
|
* The three pre-flight skip outcomes (`busy-skipped` / `config-dirty-skipped`
|
|
55
66
|
* / `branch-skipped`) are safe to continue past because the agent was NEVER
|
|
56
|
-
* mutated. `
|
|
57
|
-
*
|
|
58
|
-
*
|
|
67
|
+
* mutated. `stale-pin-skipped` (macf#899) IS safe to continue past DESPITE the
|
|
68
|
+
* agent having been mutated, because the specific cause (a stale LAUNCH pin)
|
|
69
|
+
* is a property of this one workspace's launch config, not of the release —
|
|
70
|
+
* see `HaltReason`'s `stale-pin` doc for the full reasoning. `halted` is
|
|
71
|
+
* always terminal because the agent WAS rolled and its post-restart state is
|
|
72
|
+
* either confirmed-bad, unverifiable, or unconfirmed — none of those three are
|
|
73
|
+
* safe to leave behind while moving on to the next agent (macf#722 Fix A,
|
|
74
|
+
* extended by macf#899).
|
|
59
75
|
*/
|
|
60
|
-
export type RollOutcome = 'upgraded' | 'busy-skipped' | 'config-dirty-skipped' | 'branch-skipped' | 'halted';
|
|
76
|
+
export type RollOutcome = 'upgraded' | 'busy-skipped' | 'config-dirty-skipped' | 'branch-skipped' | 'stale-pin-skipped' | 'halted';
|
|
61
77
|
/**
|
|
62
|
-
* WHY a roll
|
|
78
|
+
* WHY a roll's verify-green did not confirm the target version:
|
|
63
79
|
* - `bad-release` — verify-green confirmed the agent came back up
|
|
64
|
-
* REACHABLE at its OLD (pre-upgrade) version
|
|
65
|
-
*
|
|
66
|
-
*
|
|
80
|
+
* REACHABLE at its OLD (pre-upgrade) version, AND
|
|
81
|
+
* (macf#899) its own launch pin either already
|
|
82
|
+
* matches the target (a genuine crash-loop /
|
|
83
|
+
* stuck-old-process release) or could not be
|
|
84
|
+
* read at all (honest-unknown, treated
|
|
85
|
+
* conservatively — see `classifyHalt`). Terminal;
|
|
86
|
+
* `outcome: 'halted'` — stops this fleet's roll +
|
|
87
|
+
* later fleets.
|
|
67
88
|
* - `relaunch-unconfirmed` — past the full verify-green grace budget, the
|
|
68
89
|
* agent was never confirmed at the target version:
|
|
69
90
|
* down the whole time, unreachable, or reachable at
|
|
@@ -71,14 +92,32 @@ export type RollOutcome = 'upgraded' | 'busy-skipped' | 'config-dirty-skipped' |
|
|
|
71
92
|
* "Not yet green" cannot distinguish a slow-but-fine
|
|
72
93
|
* relaunch from a release that crashes on startup
|
|
73
94
|
* (which never shows the old version either), so
|
|
74
|
-
* this is deliberately NOT a continue.
|
|
95
|
+
* this is deliberately NOT a continue. Terminal;
|
|
96
|
+
* `outcome: 'halted'`. UNCHANGED by macf#899 — the
|
|
97
|
+
* pin-discrimination below only applies to the
|
|
98
|
+
* `bad-release` precondition (a POSITIVELY
|
|
99
|
+
* confirmed old-version match), never to this case.
|
|
100
|
+
* - `stale-pin` — (macf#899, NEW) verify-green confirmed the agent
|
|
101
|
+
* came back REACHABLE at its OLD version, but its
|
|
102
|
+
* own launch pin asks for a version OTHER than the
|
|
103
|
+
* target — the LAUNCHER never asked for the
|
|
104
|
+
* upgrade (a stale mounted-plugin pin, macf#889's
|
|
105
|
+
* exact failure shape), not a bad release. NOT
|
|
106
|
+
* terminal; `outcome: 'stale-pin-skipped'` —
|
|
107
|
+
* `rollFleet` skips this ONE agent and CONTINUES,
|
|
108
|
+
* because a stale launch pin on one workspace says
|
|
109
|
+
* nothing about the release quality and endangers
|
|
110
|
+
* no other agent.
|
|
75
111
|
*/
|
|
76
|
-
export type HaltReason = 'bad-release' | 'relaunch-unconfirmed';
|
|
112
|
+
export type HaltReason = 'bad-release' | 'relaunch-unconfirmed' | 'stale-pin';
|
|
77
113
|
/** The per-agent EXECUTE result. `detail` carries a human-readable summary. */
|
|
78
114
|
export interface AgentRollResult {
|
|
79
115
|
readonly agent: string;
|
|
80
116
|
readonly outcome: RollOutcome;
|
|
81
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Set when `outcome === 'halted'` OR `outcome === 'stale-pin-skipped'`
|
|
119
|
+
* (macf#899 added the latter) — see `HaltReason`.
|
|
120
|
+
*/
|
|
82
121
|
readonly reason?: HaltReason;
|
|
83
122
|
readonly detail?: string;
|
|
84
123
|
/**
|
|
@@ -189,7 +228,7 @@ export interface AgentRollResult {
|
|
|
189
228
|
* ALL consumers' behavior identically; no separate no-pathspec fix was needed
|
|
190
229
|
* at any call site.
|
|
191
230
|
*/
|
|
192
|
-
export declare const ROLL_TOUCHED_CONFIG_PATTERNS: readonly ["claude.sh", ".claude/rules/**", ".claude/scripts/**", ".claude/settings.json", ".claude/.macf/env._helpers", ".claude/.macf/env.identity", ".claude/.macf/env.github", ".claude/.macf/env.certs", ".claude/.macf/env.registry", ".claude/.macf/host-prelude.sh", "CLAUDE.md", "env.local.*"];
|
|
231
|
+
export declare const ROLL_TOUCHED_CONFIG_PATTERNS: readonly ["claude.sh", ".claude/rules/**", ".claude/scripts/**", ".claude/settings.json", ".claude/.macf/env._helpers", ".claude/.macf/env.identity", ".claude/.macf/env.github", ".claude/.macf/env.certs", ".claude/.macf/env.registry", ".claude/.macf/host-prelude.sh", ".mcp.json", "CLAUDE.md", "env.local.*"];
|
|
193
232
|
/** The result of rolling ONE fleet (the EXECUTE path). */
|
|
194
233
|
export interface FleetRollResult {
|
|
195
234
|
readonly results: readonly AgentRollResult[];
|
|
@@ -220,6 +259,14 @@ export interface FleetRollResult {
|
|
|
220
259
|
* macf#755's pre-flight branch-gate, the FIRST gate in the transaction.
|
|
221
260
|
*/
|
|
222
261
|
readonly branchSkipped: number;
|
|
262
|
+
/**
|
|
263
|
+
* Count of agents skipped because verify-green confirmed them REACHABLE
|
|
264
|
+
* at their OLD version AND their own launch pin explained why without
|
|
265
|
+
* implicating the release (`reason: 'stale-pin'`, macf#899) — POST-flight
|
|
266
|
+
* (the agent WAS mutated: upgrade + restart already ran), unlike the other
|
|
267
|
+
* skip counters above, but still safe to continue past — see `HaltReason`.
|
|
268
|
+
*/
|
|
269
|
+
readonly stalePinSkipped: number;
|
|
223
270
|
}
|
|
224
271
|
/** Progress events for CLI rendering (the RESULT objects are what tests assert on). */
|
|
225
272
|
export type UpgradeEvent = {
|
|
@@ -303,6 +350,35 @@ export type UpgradeEvent = {
|
|
|
303
350
|
readonly agent: string;
|
|
304
351
|
readonly reason: HaltReason;
|
|
305
352
|
readonly lastVersion: string | null;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* The POST-restart STALE-PIN skip (macf#899) — verify-green confirmed the
|
|
356
|
+
* agent came back reachable at its OLD version, but its own launch `pin`
|
|
357
|
+
* (read via `driver.readVersionPin`) asks for a version other than
|
|
358
|
+
* `target`, so `rollFleet` skips this agent (NOT a halt) and continues to
|
|
359
|
+
* the next one. Distinct from `halt`: the agent WAS mutated here too, but
|
|
360
|
+
* the cause doesn't implicate the release.
|
|
361
|
+
*/
|
|
362
|
+
| {
|
|
363
|
+
readonly kind: 'stale-pin-skip';
|
|
364
|
+
readonly agent: string;
|
|
365
|
+
readonly pin: string;
|
|
366
|
+
readonly target: string;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* DR-043 §D6 write-back (macf#907) — `deps.recordDeployedVersion` (the
|
|
370
|
+
* confirmed-green `fleet.lock` write) rejected. NON-FATAL: `outcome` for
|
|
371
|
+
* this agent is still `'upgraded'` (the roll's job — mutate + confirm
|
|
372
|
+
* green — already succeeded) and the roll CONTINUES to the next agent.
|
|
373
|
+
* Surfaced LOUD rather than swallowed (silent-fallback-hazards.md's whole
|
|
374
|
+
* point) so a broken control-repo write path doesn't silently leave
|
|
375
|
+
* `fleet.lock` stale forever.
|
|
376
|
+
*/
|
|
377
|
+
| {
|
|
378
|
+
readonly kind: 'lock-write-failed';
|
|
379
|
+
readonly agent: string;
|
|
380
|
+
readonly version: string;
|
|
381
|
+
readonly error: string;
|
|
306
382
|
};
|
|
307
383
|
/**
|
|
308
384
|
* Classify each discovered fleet member against the target version. PURE — no
|
|
@@ -349,6 +425,24 @@ export interface RollFleetDeps {
|
|
|
349
425
|
readonly now: () => number;
|
|
350
426
|
/** Optional progress sink for CLI rendering. */
|
|
351
427
|
readonly onEvent?: (ev: UpgradeEvent) => void;
|
|
428
|
+
/**
|
|
429
|
+
* DR-043 §D6 write-back (macf#907) — records `agent`'s CONFIRMED deployed
|
|
430
|
+
* version into `fleet.lock` (via `@groundnuty/macf` bootstrap's
|
|
431
|
+
* `fleet-lock.ts::composeFleetLock`/`writeFleetLock`, never a second
|
|
432
|
+
* writer). Called from EXACTLY ONE place below: the `green.ok === true`
|
|
433
|
+
* branch, i.e. `verifyGreen` positively confirmed `agent` is running
|
|
434
|
+
* `version` — the single moment this sequencer genuinely knows the
|
|
435
|
+
* deployed version (see this module's + `fleet.lock`'s docs on Amendment
|
|
436
|
+
* A's honest-unknown floor). Every other disposition (busy/config-dirty/
|
|
437
|
+
* branch-skipped, stale-pin-skipped, halted) must NEVER reach this — none
|
|
438
|
+
* of them is a positive confirmation. Optional (omitted ⇒ unchanged
|
|
439
|
+
* behavior, `deployed_version` stays unwritten) and best-effort: a
|
|
440
|
+
* rejected promise here is caught + surfaced via `onEvent`
|
|
441
|
+
* (`'lock-write-failed'`), never thrown — the agent IS upgraded regardless
|
|
442
|
+
* of whether this bookkeeping write lands, so a write failure must not
|
|
443
|
+
* retract the `'upgraded'` outcome or halt the roll.
|
|
444
|
+
*/
|
|
445
|
+
readonly recordDeployedVersion?: (agent: string, fleet: string, version: string) => Promise<void>;
|
|
352
446
|
}
|
|
353
447
|
/** Default total `--wait` budget for a busy agent to go idle (ms). */
|
|
354
448
|
export declare const DEFAULT_WAIT_TIMEOUT_MS = 300000;
|
|
@@ -450,6 +544,8 @@ export interface UpgradeFleetsDeps {
|
|
|
450
544
|
readonly sleep: (ms: number) => Promise<void>;
|
|
451
545
|
readonly now: () => number;
|
|
452
546
|
readonly onEvent?: (ev: UpgradeEvent) => void;
|
|
547
|
+
/** DR-043 §D6 write-back (macf#907) — threaded straight through to `rollFleet`'s `RollFleetDeps.recordDeployedVersion`; see that field's doc. */
|
|
548
|
+
readonly recordDeployedVersion?: (agent: string, fleet: string, version: string) => Promise<void>;
|
|
453
549
|
}
|
|
454
550
|
/** One fleet's slice of the run report. */
|
|
455
551
|
export interface FleetPlanReport {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-upgrade.d.ts","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE/E;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAEpE,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;AAED
|
|
1
|
+
{"version":3,"file":"fleet-upgrade.d.ts","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"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"}
|