@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
package/scripts/fleet-tick.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// The reconcile tick. run-team's
|
|
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
|
|
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
|
|
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;
|
package/scripts/review-core.mjs
CHANGED
|
@@ -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" &&
|
|
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
|