@feigi/fleet-ctl 3.82.6 → 3.82.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feigi/fleet-ctl",
3
- "version": "3.82.6",
3
+ "version": "3.82.8",
4
4
  "description": "Agent fleet: run-team controller, merge bot, PR reviewer, and the ticket pipeline they share",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- // The reconcile tick. run-team's Phase 3 is an event loop, and implementer
2
+ // The reconcile tick. run-team's wake table is an event loop, and implementer
3
3
  // refill was wired as an EDGE — "a member finished → refill its slot". That
4
4
  // edge dies the moment live implementers reach 0, because 0 implementers emit
5
5
  // no completion event, and "free capacity + a non-empty pool" is a LEVEL
@@ -131,7 +131,7 @@ const field = (c) => FIELD[c] ?? c;
131
131
  // member's stem is derived from its name and so repeats across sessions.
132
132
  const key = (r) => `${r.session}\0${r.agent}`;
133
133
 
134
- // Replace-by-key, not append. This is what makes a phase-3 re-run and a full
134
+ // Replace-by-key, not append. This is what makes a close-out re-run and a full
135
135
  // regeneration both safe, and it is the reason no backfill-only code path is
136
136
  // needed: the idempotency backfill wants is the idempotency a re-run wants.
137
137
  export function mergeRows(existing, incoming) {
@@ -196,7 +196,7 @@ if (isCLI(import.meta.url)) {
196
196
  // fileIdx is -1 when --file is absent, which makes fileIdx + 1 equal 0 — the
197
197
  // FIRST positional argument, not a real index into argv. Without the
198
198
  // fileIdx < 0 guard this filters out the session dir itself, and the bare
199
- // form (the one the spec, the backfill loop and run-team's phase-3
199
+ // form (the one the spec, the backfill loop and run-team's close-out scrape
200
200
  // instruction all use) always exits 2. `--scratch`'s value is skipped the
201
201
  // same way.
202
202
  const valueOf = (idx) => (i) => idx >= 0 && i === idx + 1;
@@ -1021,7 +1021,7 @@ export async function runReview(host, args) {
1021
1021
  SNAPTREE=$(git -C "$SNAP" rev-parse 'HEAD^{tree}' 2>/dev/null); SRCTREE=$(git -C ${worktree} rev-parse 'HEAD^{tree}')
1022
1022
  { [ -d "$SNAP/.git" ] && [ -n "$SNAPTREE" ] && [ "$SNAPTREE" = "$SRCTREE" ]; } && echo SNAPSHOT_TREE_MATCH || echo SNAPSHOT_TREE_MISMATCH="snapshot $SNAPTREE vs commit $SRCTREE"
1023
1023
  INSTALL=$(~/.fleet/bin/fleet-run derive-testcmd.sh ${worktree} install) && echo SNAPSHOT_INSTALL_STEP="$INSTALL" || { INSTALL=; echo SNAPSHOT_INSTALL_UNREAD; }
1024
- [ -z "$INSTALL" ] || { ( cd "$SNAP" && unset CI && sh -c "$INSTALL" ) >"$RUN/install.log" 2>&1; echo SNAPSHOT_INSTALL_EXIT=$?; }
1024
+ [ -z "$INSTALL" ] || { ( cd "$SNAP" && env -u CI sh -c "$INSTALL" ) >"$RUN/install.log" 2>&1; echo SNAPSHOT_INSTALL_EXIT=$?; }
1025
1025
  if [ -d "$SNAP/.git" ] && git -C "$SNAP" status --porcelain --untracked-files=all >"$RUN/status.txt"; then head -n 20 "$RUN/status.txt" | sed 's/^/SNAPSHOT_UNTRACKED=/'; echo SNAPSHOT_UNTRACKED_COUNT=$(wc -l <"$RUN/status.txt" | tr -d ' '); else echo SNAPSHOT_STATUS_FAILED; fi
1026
1026
 
1027
1027
  The Install step can take minutes: run the block as ONE blocking foreground