Skip to content

v0.3.0

Latest

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