Skip to content

v1.4.1 — Bugfix patch on top of v1.4.0 (no new features)

Choose a tag to compare

@RaNDoM6913 RaNDoM6913 released this 14 May 02:37

🩹 Bugfix patch — no new features

All v1.4.0 features remain intact and available. This release closes
20 defects across 7 review passes (internal audit + Codex CLI gpt-5.5

  • four follow-up sweeps + a real-world cross-project sync scenario), so
    a fresh git clone … && bash setup.sh, --codex setup, and SessionStart
    auto-update all actually deliver what the README promised.

Install method: the npm registry publish is deferred. For now use:

git clone https://github.com/RaNDoM6913/claude-code-superkit
cd claude-code-superkit
bash setup.sh

npx claude-code-superkit will work once the package is published to npm.

v1.4.0 features (still here, just verified to actually ship):

  • 🧠 3 cross-CLI specialist rolesminimal-change-engineer, reality-checker, codebase-onboarding-engineer
  • 🎯 GAN harness package (packages/gan/) — three-agent adversarial verification loop
  • 🤖 Intake classifier hook — scoring + optional gpt-5.5-nano LLM fallback
  • 🛡️ GateGuard hooks — require Grep/Read before edits
  • 🔍 silent-failure-hunter expanded with 6-category taxonomy
  • 🎨 behavioral-nudge-engine agent for retention/habit loops
  • 📚 TGApp / production skills bundle (Telegram, Supabase, Drizzle, ru-text, Postgres, Redis)
  • 🔒 Codex default.rules DSL — approval policy for Codex CLI
  • 🐹 Go references +5 — di-frameworks, gqlgen, module-management, stay-updated, standard-stdlib-now

🩹 Bugfixes in v1.4.1

Install / packaging (BLOCKER level for fresh installs)

  • 📦 package.json files[] now includes packages/gan/npm pack previously shipped 0 GAN files
  • 🐍 lib/installer.js copies .py hooksintake-classifier.py was silently dropped, settings.json then referenced a missing file on every UserPromptSubmit
  • 📜 lib/codex.js copies default.rules to .codex/rules/ — README claimed it, install didn't deliver it
  • superkit-counts-verify.sh no longer under-counts (missed .py + packages/gan/ + extras/*/agent.md); GitHub About description updated to match actual counts
  • 🛠️ bin/superkit-counts-verify.sh convenience wrapper — contributors and AI reviewers reach for bin/ first (where bin/cli.js, bin/inject-tokens.js, bin/measure-tokens.js live). Thin wrapper forwards stdin and exit code to the canonical hook in packages/core/hooks/. Synthesises an empty git-commit payload when invoked interactively so manual runs actually exercise the check.
  • 🔧 Install docs use bash setup.sh — every npx claude-code-superkit invocation in README, INSTALL guides, chapter docs, and bin/cli.js --help rewritten to git clone … && bash setup.sh (npm publish is deferred)

Auto-update hook (caught by real-world cross-project scenario)

  • 🔄 Install drift detectionsuperkit-update.sh compared only git rev-parse HEAD vs @{u} in the source clone. If a user manually pulled the clone (or another project synced first), LOCAL == REMOTE returned true → exit 0. Install stayed at 1.3.10 even though source was 1.4.1. Fix: cheap version-string compare (install .superkit-meta vs source VERSION) runs FIRST, independent of git ref check.
  • 🐍 .py hooks now sync on update too — update path used .sh-only glob. intake-classifier.py would never reach existing installs via auto-update. Mirrored the installer fix.
  • 📂 Skill auxiliary files (scripts/, references/) now sync — update copied only SKILL.md. Skills with supporting files would be missing them after update even though fresh install copied them.
  • 🔧 chmod +x on .py hooks in update path.

Codex approval rules (MAJOR — was safety theater)

  • 🛡️ Force-push bypass closedpattern=["git","push","--force"] was bypassed by git push origin main --force (argv position 4). Now git push lands at prompt.
  • 🔌 curl | bash honesty — pipes aren't visible to the rule engine; misleading "forbidden" rule replaced with prompt on curl/wget/bash -c/sh -c
  • 🚨 Added ruleskubectl drain, terraform destroy, terraform apply now prompt
  • 📜 History-rewriting toolsgit filter-repo, git filter-branch, git rebase -i, git rebase --root, git update-ref -d, git reflog expire all set to prompt
  • 🔍 psql -c / mysql -e matching fixed — inline SQL arrives as a single argv token ("DROP TABLE x"), so prefix_rule(["psql","-c","DROP"]) never matched. Replaced with broader ["psql","-c"]prompt so user sees the full SQL. Same for psql --command, psql -f, psql --file, mysql -e, mysql --execute.

Documentation drift

  • 📋 Codex AGENTS.md skills list refreshed (4 new core roles + 6 TGApp skills + 3 GAN skills)
  • 🔢 README hook/rule totals — 42 shipped + 2 internal hooks and 19 shipped + 1 internal rules (was stale 28 + 16 stack and 8 + 12 stack)
  • README Codex arithmetic82 skills (...) + 3 GAN mirrors in packages/gan/skills/ (no more 82 + 3 = 85 ambiguity)
  • 🏷️ GitHub About updated: hooks 28 → 42, rules 10 → 19
  • 📖 CLAUDE.md Self-Audit Rule lists both canonical hook path and bin/ wrapper

Content defects

  • 🟢 test/codex.test.js red on mainsilent-failure-hunter/SKILL.md had a banned /review reference. Replaced.
  • 🛠️ drizzle-orm-expert example — used const users = await db.query.users.findMany({ where: eq(users.role, 'user') }) which shadowed the imported users table. Renamed result + switched to modern RQB callback.
  • 🎯 silent-failure-hunter tokens — declared 1280, actual ≈2218. Updated for honesty.

GateGuard hooks reliability

  • ⚛️ Atomic state writesecho > \$FILE could interleave under concurrent invocation. Now writes to \${STATE_FILE}.\$\$.\$now then mv -f.
  • Clock-skew protection — future-timestamp last_facts no longer pretends facts are fresh forever.
  • 🤫 Strict mode noise reduced — read-only whitelist expanded: sed -n, awk, nl, tree, git grep, git stash list, git reflog, node --version, stat, realpath, readlink, basename, dirname, cut, sort, uniq, locate, more, id.

📊 Verified after fixes

  • npm test: 28/28 pass ✅
  • packages/core/hooks/superkit-counts-verify.sh: exit 0 ✅
  • bash bin/superkit-counts-verify.sh: exit 0 ✅
  • Real file counts == documented counts
  • npm pack ships: GAN package (9 files), intake-classifier.py (14.3 kB), default.rules (20.0 kB) ✅

📥 Install

```bash
git clone https://github.com/RaNDoM6913/claude-code-superkit
cd claude-code-superkit
bash setup.sh
```

Full diff: v1.4.0...v1.4.1