Skip to content

v1.1.0 — /kimi:pursue autonomous goal mode (experimental)

Choose a tag to compare

@linxule linxule released this 03 Jun 22:57
· 8 commits to main since this release

First post-GA feature release. Adds an autonomous mode and the parser support it needs, built on the kimi-code 0.7–0.9 compatibility audit's feature track.

New: /kimi:pursue — autonomous goal mode (experimental)

Hand Kimi an objective and it works toward it across multiple continuation turns (kimi-code 0.8.0+ headless goal mode), instead of the single turn /kimi:rescue runs.

  • Same safety boundary as rescue, on every turn. Runs write-capable under the PreToolUse hook + workspace allowlist (KIMI_PLUGIN_CC_CMD=rescue); the hook is policy index 0 and fires on every continuation turn. Refuses without the hook. Cannot mutate git state.
  • Bounded. A mandatory --budget wall-clock ceiling (default 45m) is the hard bound — headless goal mode sets no token/turn budget. --turns is a soft, prompt-injected hint.
  • Prototype limits: foreground-only (--background deferred); no --resume yet (goal mode's goalId is distinct from the resume sessionId — captured/surfaced, resume deferred); requires kimi-code ≥ 0.8.0.
  • Exit outcomes complete / blocked / paused are terminal statuses, not errors.
/kimi:pursue --budget 30m "make the failing checkout test pass"

Safety: the load-bearing test

A new real-binary smoke runs real headless goal mode under a read-only label and asserts zero files land across the entire multi-turn run — a hook miss on any continuation turn would land one. Validated GREEN against kimi-code 0.9.0: the goal retried writes relentlessly across many turns for the full budget, and the hook denied every one. Reviewed APPROVE (no write-/hook-bypass). Loop detection (#364) is documented as a complementary autonomy guardrail.

Note: the goal-mode smoke is opt-in (KIMI_PLUGIN_CC_SMOKE=1), not yet a per-push CI gate (shares the OAuth-secret blocker). /kimi:pursue is shipped experimental accordingly.

Also

  • goal.summary stream-json parser hardening — the role-less goal-mode summary record is now recognized on a dedicated out-of-band channel (CliClientResult.goalSummary); the StreamJsonRecord union is unchanged. Unit + integration tested.
  • Carries forward the kimi-code 0.7/0.8/0.9 compat certification from v1.0.5.

bun run check green (412 pass / 0 fail; real-binary smokes opt-in).