Skip to content

v0.2.0a9 — a project's second agent works

Latest

Choose a tag to compare

@yfxiao16 yfxiao16 released this 02 Sep 03:41
· 24 commits to main since this release

Follow-up to 0.2.0a8. All of it was found by running a real multi-agent
app against a console that already held other agents' books — the
configuration nobody tests on a fresh install.

Added

An agent's first run puts its book in the cloud. Nothing pushed
before: the cloud checkout only ever pulls, and the one push an app tends
to own fires on a 404 — which stops happening the moment the project
holds any sibling's book. So a project's second agent onward ran on
rules the console had never seen, and every screen built to show what
governs an agent had nothing to show.

When the checkout does not carry the agent you named and ./sponsio.yaml
does, that book now goes up. Scope is narrow on purpose:

  • only that agent's block, so a sibling's book is never rewritten from
    a stale local file
  • as a draft — nothing an agent pulls changes until a human publishes
  • once, not per run: the next checkout carries it, and a
    content-identical push is a server-side no-op anyway
  • SPONSIO_NO_AUTO_PUSH=1 turns it off
  • a failed upload prints the manual command and never stops the run

Fixed

A broken ./sponsio.yaml says so. The fallback swallowed the load
error, so a typo surfaced as "no ./sponsio.yaml defines it" — sending
the user to look for a file sitting in the working directory defining
exactly that agent. Both error paths now quote the parse failure.

Changed

docs/reference/config-yaml.md names all five places the mode comes
from, and which one wins.
Two consequences that were written down
nowhere a user reads:

  • a contract's own mode: beats the mode your code passes, so a rule
    armed in the console stops calls inside a run started with
    mode="observe" — a dry run that is not one
  • @sponsio/sdk reads runtime.mode only, so a file that sets
    defaults.mode governs the Python runtime and not the TypeScript one

Every install line passes --pre. Without it pip resolves to
0.1.1, the last stable — a build that predates the cloud console, the
evidence lane and the current CLI.


pip install --pre --upgrade sponsio

Full Changelog: v0.2.0a8...v0.2.0a9