Skip to content
Oak Dev-inter edited this page Apr 23, 2026 · 1 revision

v0.9.2 — Gravity Pattern

Released: 2026-04-23 Theme: Two-tier knowledge system with a canonical name and explicit sync primitives.

TL;DR

Kasidit now has a formal way to share knowledge between projects. Every user prompt is logged. /kasi-init bootstraps a new project end-to-end. Four new commands manage the knowledge flow between a global hub and per-project local stores.

What's new

1. Gravity Pattern

A formalized two-tier knowledge layout. The pattern has been in use implicitly since v0.1.0 (per-project .kasidit/ directory) and v0.3.0 (CHECKLISTS/ and PATTERNS.md at the skill level), but this release names it, gives it explicit sync commands, and documents the rules.

Two halves:

  • Centerlite (~/.claude/skills/kasidit/center/) — the mass. Global. Shared across every project. Lightweight: patterns, checklists, knowledge snippets, user rules, mission history, and prompt logs. User scope — no repo, no server, no upload.
  • Dcenterlite (<project>/.kasidit/) — the orbit. Project-local. Full fidelity. Authoritative for the project. Contains the full INDEX / RELATIONS / MEMORY / PATTERNS / DESIGN_SYSTEM / MISSION files plus CHECKLISTS copies, knowledge snippets, and Claude Design prototypes.

Sync rules:

Direction Mechanism Automatic?
read (local → hub fallback) resolve file locally first; if missing, look in center/; copy down if matched yes
write always to .kasidit/, never to center/ yes
promote (dcenter → center) /kasi-promote <type> <name> no — always user-confirmed
pull (center → dcenter) /kasi-pull <type> <name> no — always user-confirmed
sync audit /kasi-sync (read-only) on invocation
prompt log (prompt → center) UserPromptSubmit hook → center/logs/*.jsonl yes, at user scope

The point of naming it: the discipline is now explicit. No auto-promotion of noise into the hub. No silent overwrite on pull. The hub stays small and stable; each project stays customizable.

2. /kasi-init — project bootstrap

One command sets up everything for a new repo:

/kasi-scaffold  →  /kasi-pull (stack defaults from Centerlite)  →
/kasi-docs  →  .kasidit/MISSION.md seed  →  optional /kasi-review  →
register SessionStart hook in .claude/settings.local.json  →  CLAUDE.md pointer

Skip flags: skip docs, skip review, no auto-invoke, dry-run.

Haiku note: the light review step is skipped unless the user insists; Haiku needs checklists scaffold has not finished producing.

3. Four Gravity commands

  • /kasi-promote <type> <name> — lift pattern / checklist / knowledge / rule / mission from .kasidit/ into ~/.claude/skills/kasidit/center/.
  • /kasi-pull <type> <name> — fetch from center/ into .kasidit/. Diffs before overwrite; local wins by default.
  • /kasi-sync — audit drift both ways. Prints up-to-date / local ahead / center ahead / conflict / local only / center only per item with per-item suggested command. Does not mutate.
  • /kasi-wiki-sync — push docs/wiki/*.md into github.com/kasidit-wansudon/kasidit.wiki.git. Dry-run default; apply required to push. Manual only — not wired to commit hooks.

3b. Multi-Agent Mode (/kasi-multi + sudo)

/kasi-multi [N] [mission]         # explicit, default N=6
sudo <mission>                    # shorthand: /kasi-multi 6 <mission>
sudo <N> <mission>                # with custom N

Fan out mission across N parallel specialists. Each gets isolated context + dispatch brief. Main synthesizes.

  • sudo = fan-out + skip clarifying Qs + narrate assumptions. Not a permission escalation.
  • Haiku tier caps at N=4 (synthesis collapses).
  • Destructive ops still require user confirmation.

Builds on the Master Orchestrator Rule from v0.9.1: the master still does not execute work; fan-out is the "how" of parallel dispatch.

4. Global prompt log

A UserPromptSubmit hook captures every user prompt to ~/.claude/skills/kasidit/center/logs/YYYY-MM-DD.jsonl. Records include timestamp, session id, cwd, line count, char count, trimmed flag, and the prompt itself.

Trim rule: prompts longer than 200 lines are replaced with first 40 + '\n\n... [trimmed N lines] ...\n\n' + last 20. This keeps reconstructable intent without exploding log size on long pastes.

Privacy:

  • User scope. Local filesystem. No network calls.
  • Never commit center/logs/ to any repo. /kasi-init adds this to .gitignore automatically.
  • Opt out by removing the UserPromptSubmit block from ~/.claude/settings.json.

Hook implementation:

  • ~/.claude/hooks/kasidit-log.sh — bash wrapper; sets LOG_DIR, invokes python.
  • ~/.claude/hooks/kasidit-log.py — parses JSON from stdin, trims, appends JSONL.

5. Default allow-list expansion

~/.claude/settings.json gains Kasidit-scoped permission entries so kasi-* missions run with fewer prompts:

  • Bash(bash /Users/.../kasidit-*:*) — log hook and other kasidit hooks
  • Read(.../kasidit/**) — skill knowledge
  • Read(.../plugins/marketplaces/kasidit/**) — plugin files
  • Read(.kasidit/**), Write(.kasidit/**) — project local store (any project)
  • Write(.../kasidit/center/logs/**) — log path
  • Bash(grep:*), Bash(rg:*), Bash(find:*)
  • Bash(git log:*), Bash(git status:*), Bash(git diff:*), Bash(git blame:*), Bash(git show:*)
  • Bash(php -v), Bash(node -v), Bash(python3 --version)
  • Bash(composer show:*), Bash(npm ls:*), Bash(pip show:*)

6. Wiki source tree

docs/wiki/ — the page you are reading, plus per-version history and core concept pages. /kasi-wiki-sync pushes these to kasidit.wiki.git when you say apply.

What changed vs v0.9.1

  • New pattern — Gravity, with a dedicated SKILL.md section.
  • 5 new commands/kasi-init, /kasi-promote, /kasi-pull, /kasi-sync, /kasi-wiki-sync.
  • New hookUserPromptSubmit for prompt logging.
  • New settings — expanded allow-list.
  • Path change — logs migrated from ~/.claude/skills/kasidit/logs/ to ~/.claude/skills/kasidit/center/logs/. Old path kept as symlink for backward compat.
  • /kasi-init now calls /kasi-pull all-for <stack> during scaffold if Centerlite has stack-matched defaults.

Breaking changes

None. All prior .kasidit/ directories continue to work. New storage is additive (Centerlite), new commands are optional.

Migration

From v0.9.1 → v0.9.2:

  1. Re-enable the plugin from the marketplace (/plugin marketplace update kasidit) or pull the main branch of the clone.
  2. Install the log hook (copy plugins/kasidit/hooks/kasidit-log.sh + .py to ~/.claude/hooks/, chmod +x).
  3. Register the hook in ~/.claude/settings.json:
    "UserPromptSubmit": [
      {
        "hooks": [
          { "type": "command", "command": "bash /Users/<you>/.claude/hooks/kasidit-log.sh" }
        ]
      }
    ]
  4. Create Centerlite dir: mkdir -p ~/.claude/skills/kasidit/center/{logs,checklists,knowledge} — or let the first /kasi-init or /kasi-promote create it for you.
  5. Run /kasi-init in an existing project to wire auto-invoke + pull stack defaults. Safe on existing .kasidit/ — confirms before overwriting anything.

See plugins/kasidit/hooks/README.md in the repo for the detailed install recipe.

Known limitations

  • Auto-scan aggregation (e.g. "pattern seen in 3 projects → suggest promote") is deferred to post-v0.9.2. The surface is deliberately kept manual this release so usage patterns can be observed before automating.
  • /kasi-wiki-sync requires a separate clone of kasidit.wiki.git. GitHub auth is user-managed; plugin does not set credentials.
  • Trim threshold in the log hook is hardcoded at 200 / 40 / 20. Edit kasidit-log.py to change.

Why this release matters

Gravity is the foundation for every future Kasidit improvement. Without a named, disciplined way to share knowledge across projects, every project re-derives the same patterns — wasteful for Opus, broken for Haiku. v0.9.2 gives Haiku a pre-built scaffold and Opus a canonical cite path. The pattern was already there; naming it made it usable.

See also

Kasidit

Core

Version History

Concepts

Commands

Agents

Deprecated v0.10 (stubs → audit-specialist --focus=..., removed in v0.11)

Clone this wiki locally