-
v1.5.0 Stable
released this
2026-07-28 20:21:47 +00:00 | 0 commits to main since this releaseFour corrections to things Cadence said about itself, and one structural
change so there are fewer places left to say them.Added
- Self-verify asserts every preloaded agent contract resolves. A
skills:
entry naming a skill that does not exist is skipped by the host silently,
with only a debug-log warning, which leaves an agent running with no contract
at all - a failure that reads as an agent ignoring its instructions rather
than as a typo. The newagent-skillscheck fails loudly instead, and also
flags a resolved skill that setsdisable-model-invocation: true, which
cannot be preloaded and produces the same end state by a different route.
The tools lint now scans preloaded contracts as agent prose, so moving the
contracts out of the agent bodies did not silently empty its input.
Changed
- Each agent's contract is stored once, as a skill preloaded through the
skills:frontmatter field. The seven files inagents/are now
frontmatter plus a pointer, between 464 and 592 bytes each, down from as
much as 8786. Six contract skills hold the prose, one per role rather than
per file:cad-plan-checkerandcad-plan-checker-highshare one, which is
what that pair always claimed to be. They carryuser-invocable: false, so
they never appear in the slash-command menu. Behaviour is unchanged; five of
the six moved byte-identical. The exception is the plan-checker pair, whose
high variant carried real behaviour of its own - shipping behaviour in a file
whose only job is to name a rung is the failure this design exists to
prevent, so it moved into the shared contract as a<rung>section and both
files now state only which rung they are. cad-plan-checker-highno longer reads another agent file at runtime.
The@-include workaround is retired. The file itself stays, because it
exists to carryeffort: high- frozen in frontmatter, and named by string
inroute-table.json'sescalate_effort_variant- and retiring it needs a
rung ladder that does not exist yet.
Fixed
- The worktree fork point is selectable, and v1.4.0 said it was not.
seams.mdcalled it host-owned and NOT caller-controllable, and five other
surfaces restated that binding on the strength of it. The host's
worktree.baseRefsetting decides it:fresh(the default) forks from the
remote default branch,headforks from the local HEAD and carries the
integration branch's unpushed work - which is the documented use case for
isolating subagents on in-progress work. Thefreshdefault is the whole
cause of the phase-4 failure the false claim was written to explain. Every
surface now states the setting, the version it holds for (Claude Code= 2.1.208), and the nuance that inside a worktree
headis that
worktree's own HEAD. - /cad-execute no longer parallelizes into worktrees that lack its plans.
choose_pathruns a new read-only seam,cadence-core/bin/worktree-base.mjs,
which resolves the effectiveworktree.baseRefthrough the Claude Code
settings cascade; underfresh, unset, or an unreadable answer the phase
runs sequentially and names the fix./cad-configoffers to set"head"in
the project's or the user's settings file - offers, and never writes a
user's settings without being told to. The executor's<worktree_mode>
assertion stays either way: a setting the user can change back, and a
session CLI override no script can see, are not guarantees. - Per-trigger
effortno longer claims to apply where it cannot reach.
fire(trigger)resolved{gate, tier, effort}and consumedefforton the
cross-model arm only. Theclaude-subagentarm dispatches through a seam
whose surface is(agent_name, prompt, model?), so on a stock install the
configured value was read, resolved, and dropped with nothing said - every
trigger, every fire. Wiring it through is not available:effortis a
subagent definition field with no per-dispatch override on the Agent/Task
path, so varying it needs per-rung agent files. The key is scoped instead.
review-triggers.mdstates which fields reach which backend,
config.schema.jsonsays it at the point of setting, and a fire whose
configured effort differs fromcad-reviewer's frontmatter-pinnedhigh
now names the difference in one line rather than silently ignoring it.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Self-verify asserts every preloaded agent contract resolves. A