docs(plan): close the confirmation-pass findings on the higgsfield plan
This commit is contained in:
@@ -45,9 +45,12 @@ higgsfield_sync_skills() {
|
||||
local dest="$1/skills-external" stage count=0
|
||||
mkdir -p "$dest" || return 1
|
||||
stage="$(mktemp -d "$dest/.higgsfield-stage.XXXXXX")" || return 1
|
||||
# No credential prompt: a private or deleted upstream must fail, not hang.
|
||||
if GIT_TERMINAL_PROMPT=0 git clone --quiet --depth 1 \
|
||||
"$HIGGSFIELD_SKILLS_URL" "$stage/src" >/dev/null 2>&1; then
|
||||
# No credential prompt of any kind: a private or deleted upstream must
|
||||
# fail at once, not wait on a terminal, an askpass program (an editor's
|
||||
# terminal exports one) or a credential helper.
|
||||
if GIT_TERMINAL_PROMPT=0 GIT_ASKPASS='' SSH_ASKPASS='' \
|
||||
git -c credential.helper= -c core.askPass= clone --quiet --depth 1 \
|
||||
"$HIGGSFIELD_SKILLS_URL" "$stage/src" </dev/null >/dev/null 2>&1; then
|
||||
count="$(_higgsfield_adopt "$stage/src" "$dest")"
|
||||
fi
|
||||
rm -rf "${stage:?}"
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
--- a/lib/tests/higgsfield.test.sh
|
||||
+++ b/lib/tests/higgsfield.test.sh
|
||||
@@ -336,5 +336,16 @@
|
||||
@@ -336,5 +336,19 @@
|
||||
"$(yn test "$(count install-plugins.sh '[ -t 0 ]')" -ge 3)" yes
|
||||
verdict INSTALL_WIRING
|
||||
|
||||
+# update-all.sh: refresh before the 21st block and before the pins re-apply,
|
||||
+# and the updated CLI is proven by the probe.
|
||||
+# and the updated CLI is proven by the probe, after the npm call.
|
||||
+# shellcheck disable=SC2016 # a literal to grep for, not an expansion
|
||||
+NPM_UP='npm install -g "$HF_PKG"'
|
||||
+sync_ln="$(ln_last update-all.sh 'higgsfield_sync_skills')"
|
||||
+expect before-21st "$(yn test "$sync_ln" -lt \
|
||||
+ "$(ln_first update-all.sh '7.4. Update the 21st.dev')")" yes
|
||||
+expect before-pins "$(yn test "$sync_ln" -lt \
|
||||
+ "$(ln_last update-all.sh "$PINS")")" yes
|
||||
+expect probe-after-npm \
|
||||
+ "$(yn test "$(count update-all.sh 'if higgsfield_cli_ok')" -ge 1)" yes
|
||||
+expect probe-after-npm "$(yn test \
|
||||
+ "$(ln_first update-all.sh 'higgsfield_cli_ok')" -gt \
|
||||
+ "$(ln_last update-all.sh "$NPM_UP")")" yes
|
||||
+verdict UPDATE_WIRING
|
||||
+
|
||||
# ── tally ───────────────────────────────────────────────────
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/update-all.sh
|
||||
+++ b/update-all.sh
|
||||
@@ -465,6 +465,45 @@
|
||||
@@ -465,6 +465,48 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -28,13 +28,16 @@
|
||||
+ HF_PKG="@higgsfield/cli@latest"
|
||||
+ [ -n "$HF_VER" ] && [ "$HF_VER" != "latest" ] \
|
||||
+ && HF_PKG="@higgsfield/cli@${HF_VER}"
|
||||
+ npm install -g "$HF_PKG" 2>/dev/null || true
|
||||
+ # The probe, not npm's exit status: an update that skips the package's
|
||||
+ # postinstall script leaves the shim on PATH with no binary behind it.
|
||||
+ if higgsfield_cli_ok; then
|
||||
+ HF_NPM_OK=true
|
||||
+ npm install -g "$HF_PKG" 2>/dev/null || HF_NPM_OK=false
|
||||
+ # The probe first, then npm's status: an update that skips the package's
|
||||
+ # postinstall script exits 0 and leaves the shim with no binary behind it.
|
||||
+ if ! higgsfield_cli_ok; then
|
||||
+ warn "Higgsfield CLI does not answer after the update — run: npm install -g --allow-scripts=@higgsfield/cli @higgsfield/cli"
|
||||
+ elif [ "$HF_NPM_OK" = true ]; then
|
||||
+ ok "Higgsfield CLI updated (${HF_VER:-latest})"
|
||||
+ else
|
||||
+ warn "Higgsfield CLI does not answer after the update — run: npm install -g --allow-scripts=@higgsfield/cli @higgsfield/cli"
|
||||
+ warn "Higgsfield CLI update failed — existing binary kept"
|
||||
+ fi
|
||||
+ if HF_N=$(higgsfield_sync_skills "$REPO"); then
|
||||
+ ok "Higgsfield skill pack refreshed ($HF_N skills)"
|
||||
|
||||
@@ -9,14 +9,15 @@
|
||||
|
||||
echo ""
|
||||
echo "═══ claude-config doctor (v${VERSION}) ═══"
|
||||
@@ -246,6 +248,22 @@
|
||||
@@ -246,6 +248,23 @@
|
||||
info "Graphifyy not installed (optional — codebase knowledge graph: pipx install graphifyy)"
|
||||
fi
|
||||
|
||||
+# Higgsfield is optional and off by default: info level, never a warning.
|
||||
+# The probe, not `command -v`: the npm shim can outlive its binary.
|
||||
+if higgsfield_cli_ok; then
|
||||
+ HF_VERSION="$(higgsfield version 2>/dev/null | awk 'NR==1 {print $2}')"
|
||||
+ HF_VERSION="$(higgsfield version </dev/null 2>/dev/null \
|
||||
+ | awk 'NR==1 {print $2}' || true)"
|
||||
+ pass "Higgsfield CLI installed (${HF_VERSION:-version unknown})"
|
||||
+ if higgsfield_signed_in; then
|
||||
+ pass "Higgsfield session active"
|
||||
|
||||
Reference in New Issue
Block a user