-
Cadence 1.2.0 Stable
released this
2026-07-23 03:44:57 +00:00 | 227 commits to main since this releaseThe judgment-sharpening cycle, dogfooded on Cadence itself. It repairs the
cross-model review seam so a second opinion actually fires instead of silently
no-opping, sharpens how the planner splits work and how context decides which
decisions are worth remembering, adds an on-demand way to stress-test one
load-bearing decision, and grows the cross-model roster with DeepSeek.Cross-model review, repaired
- The run-as-script guard now compares realpaths on both sides, so
review-provider.mjsno longer no-ops when the plugin is installed through a
symlink - cross-modelreview/consult/detect-modelsreach the real
provider instead of degrading to the subagent unnoticed. A symlink regression
test invokes the script through a link and asserts a non-empty JSON line. - An empty or unusable provider result surfaces one line in the caller
before falling back toclaude-subagent, rather than degrading silently.
Sharper planning and context
cad-plannercarries a standing separation-of-concerns nudge - a
heuristic, not a hard rule - that prefers small single-purpose tasks over a
shared core and splits responsibilities that differ on trigger, size,
lifecycle, failure-resume, freshness, or ownership. It applies to every plan
with no per-phase restatement and never forces a split that does not earn
itself.cad-contextmarks a decision durable only when it passes a three-part
filter (hard-to-reverse, surprising-without-context, and the result of a
real trade-off). Durable decisions are written under a## Durable decisions
heading and resurface via recall; the phase-local rest stay under
## Decisions. LegacyCONTEXT.mdfiles with only## Decisionsstill
resurface unchanged - no retrofitting.
Decision review
/cad-decision-review <path>runs an on-demand refute-then-adjudicate
pass over one load-bearing decision (aCONTEXT.mdline or aPROJECT.mdKey
Decisions row) through the existing review subsystem.cad-reviewer- and a
cross-model provider when one is configured - refutes the decision; the main
model grounds each objection against Context7 (library/API claims) and the
real codebase, then rules itsurvives | partial | refutedwith a concrete
amendment list. It never auto-fires and reports its cost qualitatively. New
review.decision_review.{tier,effort}config governs the model.
DeepSeek cross-model provider
- DeepSeek is a third cross-model review provider, via its own Chat
Completions adapter (not an OpenAI Responses base-URL swap). Because DeepSeek
has no server-sidejson_schema, the adapter usesjson_objectmode with the
finding schema injected into the prompt and the shared validate-on-return
guard, so a schema-ignoring response degrades to a structuredbad-shape
rather than bad data.reasoning_effortmaps the effort dial and keys resolve
viaDEEPSEEK_API_KEY, never logged. Selectable throughreview.reviewers
andreview.providers.deepseek.tiers.*.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The run-as-script guard now compares realpaths on both sides, so