Skip to content

v5.30.0 — AgentOS Follow-ups: Streaming, Flag-Gated Contracts & Per-Agent Enforcement

Latest

Choose a tag to compare

@samibs samibs released this 17 Jul 09:45
· 2 commits to main since this release
dcf78bc

SkillFoundry v5.30.0 — AgentOS Follow-ups: Streaming, Flag-Gated Contracts & Per-Agent Enforcement

Released: 2026-07-17


What's in This Release

The three deliberate follow-ups flagged in v5.29.0 are now complete. All additive; bus
contract enforcement ships off by default.

Progress you can watch — per-story state streaming

The forge pipeline now creates the run state kernel up front and writes one slice per
story as it finishes, so .skillfoundry/runs/<id>/state/state.json reflects progress
mid-run rather than only at the end. Completed stories commit their metrics; a failed or
circuit-broken story marks its own slice FAILED with structured error_logs and flips
the run's build_status to FAILING — while sibling story slices keep going (per-slice
halt). Every state write is advisory: it can never break a run.

Opt-in handoff enforcement — flag-gated bus contracts

Agent-to-agent message validation is now wired into the runtime, gated by a new config
setting:

  • message_contracts = "off" — no enforcement (default)
  • "permissive" — validate registered contracts; unregistered handoffs pass through
  • "strict" — fail-closed: a handoff with no registered contract is rejected

The SF_BUS_CONTRACTS environment variable overrides the configured mode for staged
rollout. When enforcement is on, an invalid payload is dropped and logged — a downstream
agent never receives an upstream agent's narrative prose in place of structured data.

Every agent has a contract — per-agent output enforcement

Every registered agent is now mapped to a strict output contract through its archetype
(implementer / reviewer / operator / advisor) from a single source of truth — so a
reviewer must produce findings, an implementer a status, and so on. Two grounded per-agent
overrides ship on top: gate-keeper (a verdict: APPROVE / WARN / REJECT / BLOCK) and
tester (test metrics: status + tests run / failures / coverage).

A new validateAgentOutput() API validates structured agent output directly, and an
advisory runtime check in the agent execution path extracts structured output from a
completed agent result (a fenced ```json block or bare JSON) and validates it against the
agent's contract, logging any violation. This is the observe/warn stage of a graduated
rollout: it is flag-gated, prose results are never penalized, and it never blocks a run.

Compatibility

  • Fully backward-compatible and additive. Bus enforcement is off by default.
  • 33 new unit tests; the full AgentOS suite plus pipeline/bus/config regressions are green;
    tsc --noEmit clean. (Two pre-existing agent-prompt-loader test failures on main are
    unrelated to this release.)

Not yet done (deliberate later escalation)

  • Hard runtime enforcement — forcing agents to emit structured output and failing or
    rejecting an invalid structured result — remains a deliberate future step. This release
    ships the observe/warn stage of that rollout.