cyberuni/aced
v0.4.2
Agent Config Evaluation & Development. Spec, evaluate, and improve agent configurations: skills, AGENTS.md sections, subagent definitions, and commands.
cyber-aced
0.4.2
Patch Changes
- f017f7c: Resolve the contradictions a prompt audit found in the shipped skills. Eval results are read from the shared
.agents/aced/results/<target-slug>/directory everywhere, lowering a per-scenario threshold goes through the spec gate, name-only skills carry exactlyBy name only(theimprove-skillQ3 check accepts it).init-acedregistersarchitect-impl, the judge model defaults to the session's current model, thecyberplaceversion is resolved instead of pinned, and issue and ADR references are gone from the skill bodies. - a35b43d: Align the impl-judge with the plugin contract (it now also loads
gate-validation-governance), resolvesdd:automatontosdd:sdd-automaton, use onecyberlegion@<version>form, name thegherkin-clipin once, and drop history asides and repo-only references from agent and skill bodies.
0.4.1
Patch Changes
-
0c45202:
define-skillandimprove-skillnow agree on how a skill description is written: say what the skill does, then when it applies, with no fixed lead-in such as "Use this skill when", and stay within 1024 characters.- The
skill-designgovernance drops the rule that a description must contain "Use this skill when" or "When to use" and the 120-character cap. - Both skills read
skill-designandagent-tool-outputfrom a copy committed in the skill (after a.agents/governances/override) instead of the stalecyberplace@0.2.4CLI. define-skill's audit step runsimprove-skill's bundled validator in place ofcyberplace audit validate, a command that never existed.improve-skill's Q1 accepts a capability-first description with a "Use when" clause, warns on a fixed lead-in, and exempts "By name only".
- The
0.4.0
Minor Changes
- 97b02d2:
check-freshnessnow reads measured records. Runcheck-freshness --suite <suite> --arm <label>to find the newest record the bench engine wrote for that arm under.agents/aced/results/bench/<suite>/and compare itsevaluatedset with the working tree. A changedtasks.json, a changed or removed check, or a changedfilearm source readsstale; a record with nothing to compare readsabsent. It exits zero only forcurrent.
Patch Changes
- f15619c:
improve-skill's validate engine no longer flags a description of exactly"By name only"as too short. That description marks a by-name skill on its own (ADR-0031), so a visible by-name skill such asbenchpasses Q2 without padding its description or hiding the command. - a0f6c39:
improve-skill's validate engine no longer crashes withEISDIRwhen a skill'sscripts/holds a subfolder such asscripts/vendor/. It walks the subfolders, so the Q11 and E9 script checks also cover nested scripts.
0.3.0
Minor Changes
- a6e6233: Add the measured layer's engine and its
aced-benchbin.planprices a run of a suite's tasks without spending;run --consentruns them for real in throwaway git worktrees through a headless Claude Code;comparetells a real change from noise with permutation tests and a regression verdict. An arm can be a git ref, a package version, or one swapped file. Suites live under.agents/aced/bench/<suite>/, records under.agents/aced/results/bench/<suite>/. - 0bdbbd1: Add the
benchskill: measures a change with theaced-benchengine. It checks a measured run fits the question, shows the plan and its price, runs only on an explicit yes to that plan (never with no person present), and reports the verdict without calling an unclear result safe or a price change a regression. - bdb3c8b: Publish
cyber-acedto npm so theaced-benchbin reaches consumers: a CI job or tool can runnpx aced-benchwithout the ACED plugin installed. The bin ships compiled todist/aced-bench.js, because Node does not strip types from files undernode_modules.aced-bench help(or--help,-h) prints the usage and exits 0.
Patch Changes
- f4101cb:
aced-fitgains a second axis,measured: worth | not-worth, for the coming measured layer: whether real headless runs answer a question simulation cannot. It is declared underbench:ineval.mdand is opt-in, so aneval.mdwith nobench:key is not-worth and no existing subject changes classification.