Download Latest Version v0.4.5 source code.zip (11.6 MB) Google Add to Preferred Sources
Home / v0.4.3
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-09-06 4.2 kB
v0.4.3 source code.tar.gz 2026-09-06 11.1 MB
v0.4.3 source code.zip 2026-09-06 11.6 MB
Totals: 3 Items   22.7 MB 0

A campaign can now ask you for what only you can provide, and continue from where it stopped.

Added

The inbox. When an implementation session hits something no engineering removes — an API key that is not in .env, access to a private bucket, a file that exists only on your machine — it proves the blocker, files a request through a new request_from_user tool, and the campaign pauses: stopped_reason: waiting_for_user, the session's working tree committed and pushed to its branch, the checkpoint marking the node suspended, kapso watch showing WAITING ON YOU. Nothing polls and nothing runs in the background. You read the requests with kapso inbox and answer with kapso inbox reply <id> "note"; the reply resumes the campaign in your terminal and continues the very session that asked, through the coding agent's own resume (claude -p --resume, codex exec resume), so its context is intact. The session verifies for itself; a wrong value draws a second request that quotes your previous reply; "not available" is an instruction, and no later session asks for that key again. Replies are notes, never values: a credential goes where the request's fix row says, and a reply shaped like a token is refused unless you add --yes.

  • kapso inbox [CAMPAIGN] and kapso inbox reply [CAMPAIGN] [ID] [NOTE]; outside a campaign directory, kapso inbox lists every campaign waiting on you through a registry file.
  • Config block inbox under defaults: enabled (true; the benchmark modes ship it off), stop_grace_seconds (120), registry. A mode with node_expansion_value above 1 runs with the inbox off.
  • Python: solution.requests, Kapso.inbox(campaign), Kapso.inbox_ideas(campaign), Kapso.reply(campaign, id, note); a campaign started with an iteration_evaluator callback is resumed from your script with resume=True.
  • Ideation is told not to design around a gap only a person can fill; the implementation prompt gets the same rule, plus: prove the blocker before asking, ask for everything in one call, never print a secret's value, and a credential location the repository's own docs name is not a "search".
  • A file you drop into the campaign's kapso_datasets/ after launch now reaches the next session; before, only files committed at setup did.

Verified live on both CLIs (Claude Code 2.1.260, Codex 0.144.1): stop and resume, the grace kill and a kill with no grace at all, two needs answered in two replies, a wrong value drawing a second request, a deleted transcript failing loud, Kapso killed mid-continuation and resumed. A bait suite of twelve traps (keys under other names, loadable .env files, config files, missing packages, typos, transient rate limits, optional integrations, and four real blockers) ran once per fixture per CLI: no false request on sound fixtures with the shipped prompts, every real blocker asked for on Claude and 4 of 5 on Codex. Findings and rows: docs/plans/evolve-inbox-findings.md.

Fixed

  • Codex implementation lanes crashed before the session started when the mode set no implementation_timeout and the campaign had no time budget (TypeError: float() argument … NoneType); pre-existing since the codex lane shipped, never hit because every benchmark sets the timeout. None now means the adapter's default deadline.
  • A failed Claude CLI exit reported no reason; the last stderr lines now ride in the error.
  • The campaign repository ignores its own inbox and launch records, as it already ignored the checkpoint.

Documentation

  • New page: the inbox, linked from the Evolve overview, execution flow, MCP gates, coding agents, orchestrator, quickstart and landing pages; the CLI, configuration and API references cover the new surface.
  • The docs are now built for coding agents as well as people: a docs MCP server and Markdown endpoints, a project line and inline related links on every page, a context7.json, and a GEO check in CI that fails a page opening with a heading, lacking an internal link, or using a banned word.

Full changelog: https://github.com/Leeroo-AI/kapso/compare/v0.4.2...v0.4.3

Source: README.md, updated 2026-09-06