Skip to content

Releases: erf1nd0r/aispekt

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 18 Jul 18:55

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 open SKILL.md standard 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 print shows 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

v0.2.2

Choose a tag to compare

@github-actions github-actions released this 17 Jul 19:18

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

Choose a tag to compare

@erf1nd0r erf1nd0r released this 17 Jul 16:42

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.