Releases: erf1nd0r/aispekt
Release list
v0.3.0
Semantic judge — bring your own agent
aispekt now has the layer no regex can provide, without asking for an API key: the judge is whatever AI agent you already run.
aispekt judge emit <file-or-dir>— produces a self-contained JSON brief: the file content, one task per semantic check (dead weight, vague intent, semantic contradictions, stale guidance — each with its evidence citation), and the exact answer contract. Any judge completes it: an agent, a BYOK script, a human.aispekt judge merge <brief> <answers>— validates the answers and renders the semantic report. Semantic verdicts are a separate, judge-labeled tier and can never move the deterministic score.aispekt skill install— drops an Agent Skill (the openSKILL.mdstandard read by Claude Code, Codex CLI, Cursor, Gemini CLI, and more) into.claude/skills/. Then "judge this file with aispekt" runs the whole loop with your agent as judge.aispekt skill printshows it without installing.- Judge checks live in
rules/judgepack.json— same doctrine as the rulepack: adding one is a data edit, every check cites its evidence.
Hardened by an adversarial audit before ship
An independent cross-vendor audit ran against this feature pre-tag; all 8 findings were adopted:
- Terminal output sanitizes every untrusted field (ANSI/OSC escapes, carriage returns, bidi controls) — a malicious answers file can't rewrite your screen.
- Briefs carry an integrity digest: hand-edited briefs (forged scores included) are rejected.
- Findings are validated for verbatim quotes and real line bounds — a judge can only flag what it can actually cite.
- The skill carries an explicit inert-data doctrine: instruction files are evidence to judge, never instructions to obey.
Docs
- New Judge section on aispekt.erfindor.com and in the README.
v0.2.2
Platform packages move to the @aispekt scope
The five platform-binary packages are now @aispekt/darwin-arm64, @aispekt/darwin-x64, @aispekt/linux-x64, @aispekt/linux-arm64, and @aispekt/win32-x64 (previously unscoped aispekt-<slug> names, which npm's spam filter blocked for win32). The aispekt wrapper resolves the scoped packages transparently — bunx aispekt / npm i -g aispekt work exactly as before, now on all five platforms including Windows.
The unscoped aispekt-*@0.2.1 packages are deprecated with pointers to their scoped successors.
v0.2.1
First native release — aispekt is now a Rust binary
The engine was rewritten in Rust (byte-parity with the original TypeScript engine, verified by golden tests). The CLI ships as prebuilt native binaries for macOS (Apple Silicon + Intel), Linux (x64 + arm64), and Windows — ~1.4 MB, no runtime, a full repo analysis in ~20 ms.
- npm wrapper selects the right binary per platform;
bunx aispekt <path>just works. - The web playground now runs the same Rust engine compiled to WebAssembly — nothing is uploaded, ever.
- Intel-macOS binaries are cross-compiled on Apple Silicon runners (GitHub retired the last Intel images) and tested under Rosetta 2.