kit 3.2.0
Added
sandstream-kit-plugin-sentrux— architecture-decay findings. A read-only
scanner plugin (same shape as the Snyk / Wiz plugins) that ingests
sentrux check|gate --json— an architecture health score (0–10000 from
modularity / acyclicity / depth / equality / redundancy), the baseline gate,
and rule violations — and appends them to.kit-scan-results.jsonlso
kit check --securitycan gate on architectural regressions, an axis kit
didn't previously cover. Tolerant parser (field-name variants degrade
gracefully); a failed gate with no discrete violations still emits one finding
so it never passes silently. Deterministic, zero-LLM, nothing leaves; the
operator runs Sentrux in their env and opts the plugin in viakitPlugins.kit memory pal claim— atomic take for parallel agents. When several
agents share a PAL (a durable device + ephemeral cloud sessions), two could
both start the same open item.pal claim <id>flips it toclaimedvia an
UPDATE … WHERE status='open'guard, so exactly one agent wins the race
(✓ claimedvs a no-op) and the item drops out of everyone's open list;
claimed_byrecords the winner (defaults to this device).pal release <id>
returns an abandoned claim toopen. Deterministic, zero-LLM, local; schema
v6 (older rows have NULL claim fields — backward-compatible).kit memory learn— surface instructions you keep re-typing. Deterministically
mines the local store for user messages repeated 3+ times (verbatim after casing /
punctuation normalization), ranked by distinct sessions then count, with a
correctionflag for redirections ("no", "stop", "instead", "nej", "istället").
These recurring asks are candidates for a memory rule — record them with
kit memory shareor in a rules file (CLAUDE.md / AGENTS.md) instead of re-typing.
Zero-LLM, local, no ML — kit finds the pattern; you decide the rule.--json
supported. Idea from headroom'slearn(kit-research), done the kit way.
Fixed
kit memory searchno longer comes back empty for multi-term queries. A
query whose terms don't all co-occur in a single message used to match zero
rows (the FTS5 expression joined terms by implicit AND). It now falls back to
OR when the strict AND finds nothing, bm25-ranked so the message covering the
most terms ranks first — relevance instead of all-or-nothing. Single-term
lookups and exact multi-term matches are unchanged; still zero-LLM, local,
no new deps. (#164)
Full changelog: https://github.com/sandstream/kit/blob/v3.2.0/CHANGELOG.md
Verify this release:
git tag -v v3.2.0
npm audit signatures