Releases: mostlydev/clawdapus
v0.4.3
Changelog
- 361be4c Merge pull request #89 from mostlydev/feat/cllama-model-policy-enforcement
- 5628e74 docs(update): restore hourly claw update guidance
- 98d264b Merge origin/master into feat/cllama-model-policy-enforcement
- 0f79c54 test(spike): use local cllama and native picoclaw
- 26c754d feat(cllama): add xai seed support and spike coverage
- 4a030f2 feat(cllama): compile and document model policy
- e019d0a docs(agents-md): note goreleaser and claw update already exist
- 5ab003d chore(cli): reduce update check interval to 1h during active development
- b30d4fc feat(cli): add claw update subcommand
- c7d30da feat(cli): daily update check + README update instructions (#88)
- d6e730b feat(cli): add daily update check and README update instructions
- 96d9319 docs(readme): document x-claw placeholder variables
- d2bf8d9 fix(pod): support REPO_ROOT in surface placeholders
- 3e25809 chore: drop accidental build/ binaries from remote
- e61e047 chore: ignore build/ output directory
- 5052140 docs: formalize cross-runner memory portability
- 32f0502 docs: formalize cross-runner memory portability
v0.4.2
Changelog
- dee4354 docs(adr): update ADR-017 with Dockerfile-label inspection section
- fb41b82 feat(history): add portable history importer and update trading-desk example feeds
- dfc7d98 feat(inspect): support descriptor discovery from Dockerfile labels
- 902646e fix(openclaw): harden mention regex and workspace permissions
- 86a6cc4 fix(claw-api): shorten injected fleet alerts window
- 670e81d docs(plan): add persistent portable memory design
- 7acbe75 fix(claw-wall): return background context on quiet turns
- 5fe42a9 fix(runtime): persist agent memory and harden openclaw
- 56d33a0 docs(adr): ADR-018 session history and memory retention — two surfaces, two owners
- 07fea5f test(spike): assert session history per agent and across runtime teardowns
- e3461a4 chore(cllama): update submodule — session history error logging and close
- 4895db7 docs(agents): add session history gotcha bullet; update cllama submodule
- 182b1db docs(cllama): add reported_cost_usd to session history schema
- d93e592 chore(cllama): update submodule — README session history docs
- 4c05cee docs(cllama): document session history mount and CLAW_SESSION_HISTORY_DIR
- e8e864c fix(compose_up): restore ensureInfraImages doc comment placement
- 9883380 feat(compose_up): create persistent session history dir for cllama
- f10e517 fix(compose): assert env var value in session history test
- 60f7e01 feat(compose): mount session history into cllama service
- c7e0241 chore(cllama): update submodule — session history recorder, proxy wiring, env var
v0.4.1
What's new
All agent runtimes now enforce private thinking + explicit send_message delivery — agent reasoning never reaches Discord automatically.
Communication tools contract
- Hermes:
HERMES_TOOL_ONLY_MODEinjected by driver; runtime patches suppress text auto-routing;HERMES_TOOL_PROGRESS_MODE=offsilences tool echo messages - OpenClaw: already enforced natively (no change needed; removed a spurious config key that caused startup failure)
- NullClaw, MicroClaw, NanoClaw, NanoBot, PicoClaw:
discord-responder.shnow passes asend_messagetool to the LLM; only posts to Discord when the tool is called
All stub runtime AGENTS.md files updated to document the tool-only contract.
Spike test
TestSpikeRollCall now always rebuilds stub base images (which embed discord-responder.sh) so script changes are picked up on every run. 7/7 runtimes pass end-to-end: LLM calls send_message → Discord message posted, cllama telemetry confirmed.
v0.4.0
Hermes runtime — tool-only mode
Hermes agents now communicate exclusively via explicit send_message tool calls when Discord handles are configured. Text responses are suppressed at the gateway layer.
What changed
dockerfiles/hermes-base/ — real Hermes runtime build (replaces the rollcall stub)
patch-hermes-runtime.pyapplies compatibility fixes at image build time:- Disables
members/voice_statesDiscord intents - Makes slash-command sync non-blocking with a 20s timeout
- Suppresses reply-mention pings (
replied_user=False) to prevent mention loops in multi-agent pods HERMES_TOOL_ONLY_MODE: suppresses auto-routing of bare text responsestool_choice=requiredon first LLM turn forces the model to call a tool; reverts to auto after the first tool use
- Disables
claw up auto-builds hermes:latest — same ensureInfraImages pattern as cllama. No manual pre-build needed.
Hermes driver — HERMES_TOOL_ONLY_MODE=1 injected automatically when Discord handles are present. DISCORD_ALLOW_BOTS and HERMES_TOOL_PROGRESS_MODE added to env passthrough.
Set HERMES_TOOL_PROGRESS_MODE=off in hm-roll to silence tool-call echo messages in Discord.
CLAWDAPUS.md — adds a ## Communication Tools section with private-thinking policy whenever handles are configured.
cllama submodule → v0.2.3 — unpriced request tracking, reported cost passthrough, timezone context injection.
clawdash — surfaces unpriced_requests from the cllama cost API with an amber warning in the fleet page.
cllama context metadata — timezone field resolved from service TZ env var (falls back to UTC).
v0.3.6
What's new
v2ProviderState.Source: Addssourcefield tov2ProviderStateincompose_up.go— previouslysource: runtimewas silently stripped on everyclaw upre-run. Now survives round-trips.- Warning on seed overwrite:
mergeProviderSeedslogs a warning when a cllama-env seed provider overwrites a runtime-added provider. mergeProviderSeeds: Writes.claw-auth/providers.jsonv2 with key state preservation; runtime keys surviveclaw up.loadOrGenerateUIToken: PersistsCLLAMA_UI_TOKENto.claw-auth/ui-token.- Alert fields:
alert_webhooksandalert_mentionsparsed from pod-levelx-claw. - cllama submodule: Updated to v0.2.2.
v0.3.5
What's New
ADR-017: Pod Defaults, Service Self-Description & Unified CLAWDAPUS.md
The big one. claw.describe service descriptors, pod-level defaults with spread expansion, feed registry, and unified per-agent CLAWDAPUS.md generation. See docs/decisions/017-pod-defaults-and-service-self-description.md.
Master Claw API Access
- Master claw services get
CLAW_API_TOKENinjected automatically for direct API calls - Feed auth flows through bearer tokens in
feeds.json
claw compose Passthrough
- New
claw compose <subcommand> [args...]passes through todocker compose -f compose.generated.yml - Lifecycle commands (
ps,logs,health,compose) now refuse to run ifclaw-pod.ymlis newer thancompose.generated.yml— runclaw upto regenerate
Hermes Driver
- Default SOUL.md overrides runner identity with contracted agent identity
- Agent names titlecased in SOUL.md
CLAW_API_URLandCLAW_API_TOKENadded to env passthrough for master claw
Audit & Alerts
- Feed fetch events surfaced with
feed_nameandfeed_urlfields - Configurable alert thresholds for error rate, cost, feeds, and interventions (
CLAW_ALERT_*env vars) /fleet/alertsendpoint wired in claw-api
Site
- Documentation site at clawdapus.dev with full guide, reference, manifesto, and changelog
- OG social cards, favicons, and complete meta tags
v0.3.4
What's Changed
Features
-
cllama feed injection (ADR-013 Milestone 2) — The cllama proxy now supports runtime feed injection into LLM requests. Feeds defined in agent context manifests are fetched, cached with TTL, and injected as system message content before forwarding to the upstream provider. Both OpenAI (
messages[]) and Anthropic (top-levelsystem) formats are supported.New cllama internals:
internal/feeds/manifest.go— feed manifest parsing from agent contextinternal/feeds/fetcher.go— HTTP fetcher with TTL-based cachinginternal/feeds/inject.go— system message injection for OpenAI and Anthropic formatsinternal/agentctx/— extended withContextDirand service auth loadinginternal/proxy/handler.go— feed injection wired into proxy pipeline viaWithFeedsoptioninternal/logging/logger.go— cost tracking improvements
-
Updated AGENTS.md with cross-driver operational gotchas discovered during v0.3.1–v0.3.3 hardening:
- Cross-driver fix patterns (all 7 drivers share common issues)
0o777runtime directory permissions for container uid portabilitymention_onlyrequirement for Discord in all drivers- Explicit
HOMEenv var in all drivers - Multi-arch cllama build command
- Healthcheck passthrough and
Service.Composeparser behavior
Infrastructure
- Multi-arch cllama image —
ghcr.io/mostlydev/cllama:v0.3.4published for bothlinux/amd64andlinux/arm64.
Test Coverage
- Full test suite for all new feed injection modules (fetcher, inject, manifest)
- Proxy handler tests covering feed injection in both OpenAI and Anthropic paths
- Agent context tests for service auth loading
- All existing tests continue to pass
v0.3.3
What's Changed
Features
-
Auto-resolve base images for all drivers — Every driver now implements
BaseImageProvider. Whenclaw buildencounters a missingFROMimage, it auto-builds it from the driver's embedded Dockerfile recipe. No more manualdocker buildordocker pullfor base images beforeclaw buildworks. Each recipe follows the upstream's preferred packaging path:- hermes: Go binary from GitHub release tarball
- nanobot: Python wheel from PyPI via pip
- picoclaw: Alias for upstream
docker.io/sipeed/picoclaw:latest - nullclaw: Alias for upstream
ghcr.io/nullclaw/nullclaw:latest - microclaw: Node.js package from npm
- nanoclaw: Claude Agent SDK orchestrator wrapper (source build)
- openclaw: Already existed — unchanged
-
Hermes first-class scaffold support —
claw initandclaw agent addnow accepthermesas a claw type. Scaffold validation uses a sharedscaffoldClawTypeslist instead of duplicated strings. OpenRouter provider config fix for Hermes driver.
Documentation
- README fully updated for v0.3.2+ — status badge, phase table (added Phase 4.9: peer handles, mention safety, healthcheck passthrough), examples table (added rollcall), documentation index (added ADRs 011–016), Fleet Visibility section updated from Planned to Design.
- Plan doc:
docs/plans/2026-03-21-base-image-provider-all-drivers.md— per-driver Dockerfile recipes and rationale. - Plan doc:
docs/plans/2026-03-20-hermes-first-class-support.md— Hermes scaffold and config integration.
Driver Matrix
All 7 drivers now support:
BaseImageProviderauto-build (new)claw init/claw agent addscaffolding (hermes added)- Explicit
HOMEin container env mention_onlyfor Discord channels0o777runtime directory permissions- Peer handle emission in
CLAWDAPUS.md - User-defined healthcheck passthrough from
claw-pod.yml
Full Changelog
c5bfcfbcmd: add hermes support and fix openrouter config08ecf5bdocs: update README for v0.3.235520d6feat: auto-resolve base images for all drivers
v0.3.2
What's Changed
- docs: Added step-by-step Discord bot setup guide to the quickstart — covers creating the application, getting the bot token, enabling Message Content Intent, inviting with correct permissions, and finding bot/guild IDs.
- infra:
ghcr.io/mostlydev/cllama:latestis now multi-arch (linux/amd64 + linux/arm64).
v0.3.1
What's Changed
Bug Fixes
- All drivers: Runtime directories now use
0o777so container users can write regardless of uid mismatch (#70) - All drivers: Set
mention_only(or equivalent) for Discord channels to prevent response loops in multi-agent pods (#66) - All drivers: Explicitly set
HOMEin container env to match config mount paths (#65) - Peer Handles:
GenerateClawdapusMDnow emits a Peer Handles section so agents can discover sibling IDs (#67) - picoclaw: HOME mismatch, missing mention_only, and peer handles in CLAWDAPUS.md
Features
- Healthcheck passthrough: User-defined
healthcheck:inclaw-pod.ymlnow takes precedence over driver defaults (#69) - Fleet governance: ADRs 012–016 for fleet governance vertical slice and canonical social identity
- Spike tests: Hardened rollcall identity and proxy checks; validated forced cllama proxy routing for all 7 drivers