Skip to content

v4.1.8

Choose a tag to compare

@mickume mickume released this 07 Jul 08:03

What's New

Audit-review convergence detection (#682)

The audit-review retry loop now detects when the coder cannot fix a class of finding and short-circuits instead of burning budget. Three changes:

  • Default retries reduced from 2 to 1 — the second retry almost never fixes what the first didn't
  • Convergence detection — if ≥70% of injected findings persist after a retry, further retries are skipped
  • Retry history surfaced to the reviewer — the reviewer sees which findings the coder tried and failed to fix, enabling informed severity decisions

Gate archetype for checkpoint task groups (#680)

Task groups with kind: checkpoint now use the lightweight "gate" archetype (30 turns, no thinking) instead of a full coder session (300 turns, adaptive thinking). Saves ~$3-7 per checkpoint group. The kind field is now propagated from afspec's TaskGroup model through TaskGroupDef into the graph builder.

Output effort level per archetype (#686)

Added effort (low/medium/high/xhigh/max) as a per-archetype config knob, mapped to the Claude API's output_config.effort. Per-archetype defaults: coder=xhigh, reviewer=high, verifier=high, curator=medium, gate=low, maintainer=medium. Configurable via [archetypes.overrides.<name>] in config.toml.

Deprecated thinking config removed (#683)

Removed thinking_mode="enabled", budget_tokens, and the unused ThinkingConfig class. These caused 400 errors on Opus 4.7+ and Sonnet 5. resolve_thinking() now returns {"type": "adaptive"} or None.

Other

  • feat: add af-prd skill for iterative PRD authoring