forked from bchanot/claude
feat(effort): session default high, env-var warning, live effort in statusline
This commit is contained in:
@@ -107,6 +107,12 @@ fi
|
|||||||
REPO_DIR="${_repo_dir:-}"
|
REPO_DIR="${_repo_dir:-}"
|
||||||
unset _claude_real _repo_dir
|
unset _claude_real _repo_dir
|
||||||
|
|
||||||
|
# Effort tiering (BDR-NEXT): this env var beats every skill/agent `effort:` pin.
|
||||||
|
EFFORT_WARN=""
|
||||||
|
if [ -n "${CLAUDE_CODE_EFFORT_LEVEL:-}" ]; then
|
||||||
|
EFFORT_WARN="⚠️ CLAUDE_CODE_EFFORT_LEVEL=${CLAUDE_CODE_EFFORT_LEVEL} set: skill/agent effort pins ignored"
|
||||||
|
fi
|
||||||
|
|
||||||
# Detect plan and set passive token budget
|
# Detect plan and set passive token budget
|
||||||
PLAN=$(detect_plan 2>/dev/null || echo "pro")
|
PLAN=$(detect_plan 2>/dev/null || echo "pro")
|
||||||
case "$PLAN" in
|
case "$PLAN" in
|
||||||
@@ -253,5 +259,6 @@ unset _remote_ver REPO_DIR
|
|||||||
echo "│ 💡 /plugin-check before starting a new project │"
|
echo "│ 💡 /plugin-check before starting a new project │"
|
||||||
echo "│ 🩺 make doctor full diagnostic │"
|
echo "│ 🩺 make doctor full diagnostic │"
|
||||||
echo "└───────────────────────────────────────────────────┘"
|
echo "└───────────────────────────────────────────────────┘"
|
||||||
|
[ -n "$EFFORT_WARN" ] && printf '%s\n' "$EFFORT_WARN"
|
||||||
echo ""
|
echo ""
|
||||||
unset TOKEN_WARN
|
unset TOKEN_WARN
|
||||||
|
|||||||
+6
-5
@@ -33,13 +33,14 @@ if [ -z "$PROFILE" ] || [ "$PROFILE" = "none" ]; then
|
|||||||
PROFILE="$DEFAULT_PROFILE"
|
PROFILE="$DEFAULT_PROFILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Effort level from settings.json (.effortLevel — set by /effort or manual edit).
|
# Effort level: the live value when the harness exports it (skill/agent
|
||||||
# settings.json is the source-of-truth, symlinked into ~/.claude/settings.json.
|
# `effort:` shifts included, BDR-NEXT), else the persisted settings.json key
|
||||||
EFFORT="?"
|
# (.effortLevel — set by /effort or manual edit; symlinked into ~/.claude).
|
||||||
if [ -f "$REPO/settings.json" ]; then
|
EFFORT="${CLAUDE_EFFORT:-}"
|
||||||
|
if [ -z "$EFFORT" ] && [ -f "$REPO/settings.json" ]; then
|
||||||
EFFORT=$(jq -r '.effortLevel // "?"' "$REPO/settings.json" 2>/dev/null)
|
EFFORT=$(jq -r '.effortLevel // "?"' "$REPO/settings.json" 2>/dev/null)
|
||||||
[ -z "$EFFORT" ] && EFFORT="?"
|
|
||||||
fi
|
fi
|
||||||
|
[ -z "$EFFORT" ] && EFFORT="?"
|
||||||
|
|
||||||
# Session duration (from total_duration_ms)
|
# Session duration (from total_duration_ms)
|
||||||
DURATION_MS=$(echo "$INPUT" | jq -r \
|
DURATION_MS=$(echo "$INPUT" | jq -r \
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ printf -- '---\nname: bad\neffort: turbo\n---\n' > "$FIX/bad.md"
|
|||||||
# ── 1) session default (spec D1)
|
# ── 1) session default (spec D1)
|
||||||
has "settings.json" '"effortLevel": "high"'
|
has "settings.json" '"effortLevel": "high"'
|
||||||
|
|
||||||
|
# ── 2) hooks: env-var warning + live effort in the statusline (spec D1, D5)
|
||||||
|
has "hooks/session-start.sh" 'CLAUDE_CODE_EFFORT_LEVEL'
|
||||||
|
has "hooks/statusline.sh" 'CLAUDE_EFFORT'
|
||||||
|
|
||||||
# ── summary (later tasks insert their locks ABOVE this line)
|
# ── summary (later tasks insert their locks ABOVE this line)
|
||||||
printf 'effort-routing census: %d pass, %d fail\n' "$pass" "$fail"
|
printf 'effort-routing census: %d pass, %d fail\n' "$pass" "$fail"
|
||||||
[ "$fail" -eq 0 ]
|
[ "$fail" -eq 0 ]
|
||||||
|
|||||||
+1
-1
@@ -444,7 +444,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"feedbackDrafts": "off",
|
"feedbackDrafts": "off",
|
||||||
"effortLevel": "xhigh",
|
"effortLevel": "high",
|
||||||
"remoteControlAtStartup": true,
|
"remoteControlAtStartup": true,
|
||||||
"inputNeededNotifEnabled": true,
|
"inputNeededNotifEnabled": true,
|
||||||
"skipAutoPermissionPrompt": true,
|
"skipAutoPermissionPrompt": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user