v2.8.0 — Governed Autonomous Runs
AgentJoJoy can now govern unattended agent runs: a SmartWorker running on a
schedule (or kicked off and left alone) operates under an owner-approved Loop
Contract — with every rule in this release validated live on a real project
before shipping.
Added
- Loop Contracts (
AgentJoJoy/agent-smartworkers/loop-contract.template.md) —
run a SmartWorker unattended under a contract: machine-checkable definition of
done, work tiers (Run-to-Done / Deliver-to-Gate / never-autonomous), strict
write scope, budget & pacing caps, cross-run no-progress rule, and escalation.
The owner approves the envelope once; no human sits in the loop. Activation
requires mechanically enforced gates proven by a live blocking pre-flight.
AgentJoJoy ships no scheduler — your runtime's native cron executes; the
contract governs. - Hermes Agent runtime binding (
AgentJoJoy/agent-hooks/runtime-bindings/hermes.md) —
how to enforce gates on Hermes: plugin vs shell-hook vs gateway-hook surfaces,
the activation chains that fail open and silently, decision mapping, and
live-observed caveats.
Changed
- Sharper positioning — AgentJoJoy is the context and governance layer
between the language model and the execution runtime; it does not reason and
does not execute. - "A task instruction is not approval" — closed a live-observed gap where an
agent treated task wording ("fix it, then commit") as the approval itself; the
show-the-exact-command-and-wait step always applies. - Root namespace handoff now covers
CHANGELOG.md/LICENSE— after
onboarding they move underAgentJoJoy/, leaving the workspace root to your
project.
Fixed
- Packaged files no longer carry a UTF-8 BOM — some runtimes block context
files containing invisible unicode (observed live:AGENTS.mdsilently not
loading on Hermes). A new packaging check fails any release that ships a BOM. - Rule-consistency fixes:
CLAUDE.mdCritical Rules reference, SPEC-4.5 vs
milestone-commit carve-out, engagement-mode checkbox citation.
Validated before adoption
Every behavior in this release was proven on a live downstream workspace first:
two full autonomous runs (a research worker and a test worker driving a real
headless backtest), an owner curation gate between them, and a mechanical git
gate verified by a live blocking pre-flight — including an honestly-reported
losing run ("Rejected for promotion").
Upgrading
Use the AI-driven upgrade flow in the README (point your agent at the canonical
upgrade prompt); your trackers, decisions, and custom skills are preserved.
Full changelog: CHANGELOG.md ·
Compare: v2.7.0...v2.8.0