Release notes
What changed in this release, exactly as the release ships it.
On this page
Release notes are published in English with every release.
1.0.0
Major Changes
-
Rename the whole product to ariadnev (short alias
av) and cut 1.0.0.Every identifier moves: the binary and package name, the
ARIADNEV_*env prefix, theav:/av-skill and agent namespaces, the~/.ariadnevand.ariadnev/state directories, the~/.cache/ariadnevcache, the.claude/hooks/av/hook directory, theariadnev@Xrelease tag grammar, theariadnev-{os}-{arch}asset names, and the base URL, nowariadnev.com. A CI gate (check-brand-drift.mjs) fails the build if an old identifier reappears outside an explicit historical-record allowlist.Breaking — installs made before the rename are not adopted. Files written under the old name into
.claude/,.codex/, and.cursor/, plus~/.vcskill/and~/.cache/vcskill/, are not recognized and will not be removed byariadnev uninstall. Delete them by hand; a freshariadnev installwrites a clean tree beside them.Two readers stay backward compatible, because both touch data that already exists on the user's disk:
- An AGENTS.md managed block written with the old markers is replaced rather than duplicated, and is still stripped on uninstall.
- A schema-1 receipt is still readable, so doctor and uninstall keep working against it.
The release pipeline resolves a previous stable release across the rename, so 1.0.0 correctly sees the last pre-rename release as its predecessor instead of reporting no history at all.
-
The kit is now the full upstream corpus, and the CLI grew the surfaces it needs.
Content. 101 ported skills beside the two this repo owns, 16 agents under their upstream names, 10 rules, 14 hooks across 8 events, and a statusline. Ported artifacts are marked as such and judged by validity rather than by this project's authoring style — see ADR 0008.
Configuration.
~/.ariadnev/config.jsonand a project file, with a permission split: a project may set workspace-shaped keys, never the ones that protect the user (privacy blocking, trust, script execution policy, notification destinations, per-hook switches).ariadnev config prefs resolveshows what took effect and what was rejected; a configured destination prints as<redacted>.New commands.
plan use|show,kit install-path|refresh,mcp list|show|add|remove|verify(verify starts each server and checks the MCP initialize handshake),adapters regenerate. Commands added from here on use one exit-code table;doctorand the other pre-existing commands keep theirs, because CI gates on them.Fixes. Uninstall hashed files as utf8, so every binary looked user-modified and was preserved — a full uninstall left 55 fonts and images behind. Hooks resolved their shared library and the provider config dir by hard-coded relative paths that are wrong in this layout, which silently disabled the scout guard. Hook bindings now install in a declared order rather than alphabetically.
Breaking. Agents are renamed to their upstream names (
av-reviewer→code-reviewer,av-developer→fullstack-developer,av-explore→explore, and so on). State from before the rename is not migrated; seedocs/migration-from-the-old-name.md.
Minor Changes
-
Skill Python environments are now real: declared, locked, and installable.
Every skill that ships Python states what it needs. The 17 that import only the standard library say so; the five that do not —
cti-expert,design,document-skills,excalidraw,mcp-builder— carry a pinned, hash-verifiedariadnev-lock.jsongenerated once byscripts/generate-skill-lock.tsand replayed byariadnev skill installwith--require-hashes --no-deps.ariadnev skill verifyreportsokfor all 22, and--deepimports the packages in a child process.Locks are universal. One file covers every platform and interpreter, carrying PEP 508 markers. This is not a refinement:
mcpresolvespywin32 ; sys_platform == 'win32', and a lock that drops the marker asks pip for a Windows-only distribution on macOS, which fails and takes the whole environment with it. The same evaluator decides what pip installs and whatverifyrequires, so a marker-excluded package is not reported missing.Fixes found by running it:
--deepderived import names by replacing hyphens with underscores, which is wrong forpython-docx(docx),pillow(PIL) andscikit-learn(sklearn). Module names now come from each package'sRECORD.- A
requirements.txtundertests/was read as a runtime declaration, sodatabaseswas reported as needing an environment formongomock— a mock library no script imports. The directory a file sits in now says what it is. - The thorough check required every path in
RECORD, including the.pycfiles Python discards and regenerates, so an interpreter upgrade would have reported every package as corrupt. ariadnev skill installanswered "no runtime dependencies — nothing to install" for a skill that plainly had some but no lock. It now names the generator.- The deep-import timeout was 30s, which a first import of numpy, scipy and scikit-learn exceeds on a cold install and clears in under 3s afterwards. It bounds a hang, so it is now 120s.
ariadnev skill installreports the size of what it built and warns past 400 MB per environment;verifyreports the total and warns past 1.5 GB. All five together are 659 MB. -
35acc7d: CLI "xịn" program — a branded terminal UI plus six capability upgrades (brainstorm → plan → 4-reviewer red-team → TDD build):
- Branded terminal UI +
avshort alias. Output is colored/branded on a TTY and plain when piped/CI/NO_COLOR, cohesive with the ariadnev.com landing page (coral wordmark,✓/skip/◆glyphs).contractrenders a terminal matrix grid on a TTY. The installer links a guardedavalias (never clobbers an existingav;ARIADNEV_ALIAS=offto skip). ariadnev doctorscored audit. A 0–100 health bar, per-check tri-state (pass/skip/warning/fail), and an exact remediation command per finding. The score is informational only — the exit-code contract is unchanged.- Credential sanitizer +
SECURITY.md. GitHub/OpenAI token shapes, URL userinfo, and secret-shaped env values are redacted from all output at a single boundary (empty/short values never shred output). ariadnev eval. Cost-tiered skill-quality gate: tier-1 static (free, always)- tier-3 LLM judge when
ARIADNEV_EVAL_CMDis set.
- tier-3 LLM judge when
contract --jsonmachine envelope (protocol_version,capabilities[], schema range; legacyversionpreserved) + CI now runs the.mjs/.cjstest suites.ariadnev query. A local, append-only JSONL history (~/.ariadnev/history.jsonl) of installs, doctor runs, and updates; recording is best-effort and allowlist-scrubbed (no free-form/secret data persisted).- Anonymous, opt-out telemetry facility (
ariadnev telemetry status) — stateless, categorical-only, and off by default (nothing is transmitted until an endpoint is configured). Opt out withARIADNEV_TELEMETRY_DISABLED=1/DO_NOT_TRACK=1.
- Branded terminal UI +
Patch Changes
- 335399f: Publish a deterministic public docs bundle with matching manifest/schema sidecars and release checksums. Retain independently attested candidate artifacts, and hold drafts for protected immutable/latest finalization.