diff --git a/scripts/keisei-pet-update.sh b/scripts/keisei-pet-update.sh index d7cb9c3..8f9765a 100644 --- a/scripts/keisei-pet-update.sh +++ b/scripts/keisei-pet-update.sh @@ -31,24 +31,67 @@ now=$(date +%s) # ── language emoji map (agent emojis live in the renderer keisei-pet.sh) ───── _lang_emoji() { case "$1" in - rs) echo "🦀" ;; - py) echo "🐍" ;; - go) echo "🐹" ;; - ts|tsx) echo "📘" ;; - js|jsx|mjs|cjs) echo "🟨" ;; - swift) echo "🦅" ;; - c|h|cc|cpp|cxx|hpp|hh) echo "⚙️" ;; - java|kt) echo "☕" ;; - rb) echo "💎" ;; - sh|bash|zsh) echo "🐚" ;; - md|mdx) echo "📝" ;; - toml|json|yaml|yml|ini|cfg|conf) echo "🧾" ;; - html|htm) echo "🌐" ;; - css|scss|sass) echo "🎨" ;; - sql) echo "🗄️" ;; - lua) echo "🌙" ;; - php) echo "🐘" ;; - *) echo "📄" ;; + rs) echo "🦀" ;; + py|pyi|pyw|ipynb) echo "🐍" ;; + go) echo "🐹" ;; + ts|tsx|mts|cts) echo "📘" ;; + js|jsx|mjs|cjs) echo "🟨" ;; + swift) echo "🦅" ;; + c|h) echo "🔧" ;; + cc|cpp|cxx|hpp|hh|hxx) echo "➕" ;; + java) echo "☕" ;; + kt|kts) echo "🟪" ;; + rb|erb|gemspec) echo "💎" ;; + sh|bash|zsh|fish) echo "🐚" ;; + md|mdx|markdown) echo "📝" ;; + toml|ini|cfg|conf|properties) echo "🧾" ;; + json|jsonc|json5) echo "📐" ;; + yaml|yml) echo "📋" ;; + html|htm|xhtml) echo "🌐" ;; + css|scss|sass|less) echo "🎨" ;; + sql) echo "🗄️" ;; + lua) echo "🌙" ;; + php) echo "🐘" ;; + zig) echo "⚡" ;; + dart) echo "🎯" ;; + scala|sc) echo "🔺" ;; + clj|cljs|cljc|edn) echo "🍃" ;; + ex|exs|eex|heex) echo "💧" ;; + erl|hrl) echo "📡" ;; + hs|lhs) echo "🎓" ;; + ml|mli|ocaml) echo "🐫" ;; + nim) echo "👑" ;; + cr) echo "🔮" ;; + r|rmd) echo "📊" ;; + jl) echo "🔢" ;; + v|vsh) echo "🅥" ;; + vala) echo "🏛️" ;; + groovy|gradle) echo "🍀" ;; + dockerfile) echo "🐳" ;; + mk|makefile|cmake) echo "🔨" ;; + proto) echo "🔌" ;; + graphql|gql) echo "◈" ;; + vue) echo "💚" ;; + svelte) echo "🧡" ;; + astro) echo "🚀" ;; + tf|tfvars|hcl) echo "🌍" ;; + pl|pm|perl) echo "🐪" ;; + ps1|psm1) echo "🔵" ;; + nix) echo "❄️" ;; + wasm|wat) echo "🕸️" ;; + xml) echo "📰" ;; + svg) echo "🖼️" ;; + csv|tsv) echo "📊" ;; + pdf) echo "📕" ;; + lock) echo "🔒" ;; + env) echo "🔑" ;; + txt|text) echo "📄" ;; + asm|s) echo "🛠️" ;; + f|f90|f95|fortran) echo "🧮" ;; + cs) echo "🟩" ;; + fs|fsx) echo "🔷" ;; + el|lisp|scm) echo "λ" ;; + *) echo "📄" ;; esac } diff --git a/scripts/keisei-pet.sh b/scripts/keisei-pet.sh index 7a8a603..b73ba1f 100644 --- a/scripts/keisei-pet.sh +++ b/scripts/keisei-pet.sh @@ -27,12 +27,42 @@ dim=$'\033[2m'; reset=$'\033[0m' _agent_emoji() { case "$1" in - *researcher*) echo "🔬";; *architect*) echo "🏗️";; *critic*) echo "🔪";; - *security*) echo "🛡️";; *validator*) echo "✅";; *cost*) echo "💰";; - *modal*) echo "☁️";; *fal*) echo "🎨";; *ml-implementer*|*ml_implementer*) echo "🧠";; - *ml-researcher*|*ml_researcher*) echo "📚";; *infra*) echo "🔧";; *implementer*) echo "⚙️";; - *patent*) echo "📜";; Explore|*explore*) echo "🔭";; Plan|*plan*) echo "📐";; - *) echo "🤖";; + # ── project specialists (match before generic families) ── + *cartoon*) echo "🎬" ;; + *cloudsync*) echo "🔄" ;; + *vortex*) echo "🌀" ;; + *recruiter*) echo "🧑‍💼" ;; + *leadgen*) echo "🎯" ;; + *surf*) echo "🏄" ;; + *neuralcloak*) echo "🕶️" ;; + *openclaw*) echo "🦞" ;; + *keit0*|*keisense*) echo "🖐️" ;; + *wave*) echo "🌊" ;; + *cortex*) echo "🧬" ;; + *keimd*) echo "🕸️" ;; + *keisei-os*|*keiseios*) echo "🧩" ;; + *sa-specialist*|*sa_specialist*) echo "🏝️" ;; + # ── kit agent families ── + *researcher*) echo "🔬" ;; + *architect*) echo "🏗️" ;; + *critic*) echo "🔪" ;; + *security*) echo "🛡️" ;; + *validator*) echo "✅" ;; + *cost*) echo "💰" ;; + *modal*) echo "☁️" ;; + *fal*) echo "🎨" ;; + *ml-implementer*|*ml_implementer*) echo "🧠" ;; + *ml-researcher*|*ml_researcher*) echo "📚" ;; + *infra*) echo "🔧" ;; + *implementer*) echo "⚙️" ;; + *patent*) echo "📜" ;; + *frontend*) echo "🎨" ;; + *debug*) echo "🐞" ;; + *guide*) echo "📖" ;; + Explore|*explore*) echo "🔭" ;; + Plan|*plan*) echo "📐" ;; + *general*) echo "🤖" ;; + *) echo "🤖" ;; esac } _elapsed() { @@ -111,6 +141,11 @@ esac stats="" [ "${rust_today:-0}" -gt 0 ] 2>/dev/null && stats+=" 🦀${rust_today}" [ "${patents_today:-0}" -gt 0 ] 2>/dev/null && stats+=" 📜${patents_today}" +# recent errors — from the kit's error-spike-detector rolling window (SSoT) +errn=0 +EWIN="${HOME}/.claude/memory/error-window.txt" +[ -f "$EWIN" ] && errn="$(awk '$2==1' "$EWIN" 2>/dev/null | wc -l | tr -d ' ')" +[ "${errn:-0}" -gt 0 ] 2>/dev/null && stats+=" $(printf '\033[31m')❌${errn}${reset}" [ "${violations:-0}" -gt 0 ] 2>/dev/null && stats+=" ⚠${violations}" proj="${PWD##*/}"; [ -z "$proj" ] && proj="~"