amsd-pipeline 1.35.0 → 1.37.0

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.
Files changed (2) hide show
  1. package/install.sh +29 -0
  2. package/package.json +1 -1
package/install.sh CHANGED
@@ -234,6 +234,27 @@ if [ -n "$DEST" ]; then
234
234
  snapshot_operator_config "$DEST" "$INSTALLER_DIR/operator-config-paths.json" "$_OPCFG_TMP"
235
235
  fi
236
236
 
237
+ # AND WHAT A RUN GENERATED — the same mechanism, a SEPARATE list and a SEPARATE snapshot dir.
238
+ #
239
+ # Live 2026-09-05: an update to a paused install replaced the mint's own outputs with whatever
240
+ # the ref's history held. The roster came back holding 'checkout-form-engineer' while the PRD
241
+ # still named the minted 'checkout-forms-engineer', and the resume died — "roster derivation
242
+ # FAILED — refusing to continue with agents that have no identity". 1h10m and $8.89 of mint,
243
+ # unrecoverable: no copy of the minted profile survived anywhere on disk.
244
+ #
245
+ # NOT run-state-paths.json's tar --exclude, deliberately: every one of these paths is TRACKED,
246
+ # so excluding it would leave a FRESH install without it. Snapshot/extract/restore lets a first
247
+ # install (and a project a later ref newly adds) receive them while an existing run keeps its own.
248
+ #
249
+ # Its own temp directory: sharing one with the operator-config snapshot would have the second
250
+ # snapshot overwrite the first.
251
+ _GENSTATE_TMP=""
252
+ if [ -f "$INSTALLER_DIR/generated-run-state-paths.json" ]; then
253
+ . "$INSTALLER_DIR/lib/preserve-operator-config.sh"
254
+ _GENSTATE_TMP="$(mktemp -d)"
255
+ snapshot_operator_config "$DEST" "$INSTALLER_DIR/generated-run-state-paths.json" "$_GENSTATE_TMP"
256
+ fi
257
+
237
258
  # The ${arr[@]+"${arr[@]}"} form, not bare "${arr[@]}": bash <4.4 (macOS ships 3.2 by default,
238
259
  # GPLv3 licensing) throws "unbound variable" under `set -u` expanding an empty array the plain
239
260
  # way. This form is safe on every bash this installer might run under.
@@ -241,6 +262,7 @@ if [ -n "$DEST" ]; then
241
262
  | tar -x -C "$DEST" "${_RUN_STATE_EXCLUDES[@]+"${_RUN_STATE_EXCLUDES[@]}"}"; then
242
263
  _bad "packaging '$_PKG_REF' into $DEST failed"
243
264
  [ -n "$_OPCFG_TMP" ] && rm -rf "$_OPCFG_TMP"
265
+ [ -n "$_GENSTATE_TMP" ] && rm -rf "$_GENSTATE_TMP"
244
266
  exit 1
245
267
  fi
246
268
 
@@ -248,6 +270,13 @@ if [ -n "$DEST" ]; then
248
270
  restore_operator_config "$DEST" "$_OPCFG_TMP"
249
271
  rm -rf "$_OPCFG_TMP"
250
272
  fi
273
+ # RESTORED AFTER the operator config, and cleaned up on its own: the two snapshots are
274
+ # independent, and tying either one's cleanup to the other's presence leaks a temp directory
275
+ # whenever only one list is configured.
276
+ if [ -n "$_GENSTATE_TMP" ]; then
277
+ restore_operator_config "$DEST" "$_GENSTATE_TMP"
278
+ rm -rf "$_GENSTATE_TMP"
279
+ fi
251
280
  # THE EXCLUDES ABOVE MEAN TAR NEVER CREATES THESE PATHS, FRESH INSTALL INCLUDED — see
252
281
  # run_state_ensure_dirs in lib/preserve-run-state.sh for why that is a real defect (root-owned
253
282
  # orchestrations/logs, confirmed live 2026-09-04) and not just "nothing to restore yet". Created
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amsd-pipeline",
3
- "version": "1.35.0",
3
+ "version": "1.37.0",
4
4
  "description": "Installer for the amsd-pipeline orchestration stack. Clones, packages and provisions the full stack with one command — no separate git clone step.",
5
5
  "bin": {
6
6
  "amsd-pipeline": "bin/amsd-pipeline.js"