Changelog

All notable changes to godotz.ai are documented here. godotz.ai follows Semantic Versioning. Format based on Keep a Changelog.


[v15.10.1] — 2026-06-07

Patch release. Focused on stability fixes discovered during v15.10.0 fleet rollout.

Fixed

  • LiteLLM Proxy: Budget enforcement now correctly resets at midnight UTC on budget_duration: "1d" schedules. Previously, a timezone offset caused budgets to reset 1–2 hours late on non-UTC nodes.
  • beads CLI: bd done epic with --force no longer raises a foreign-key constraint error when dependent tasks are in blocked state.
  • omp-notify: Fixed a race condition where concurrent hook invocations could write duplicate entries to the notification log. Writes are now serialized via a file lock (/tmp/omp-notify.lock).
  • Agent runtime: context.strategy: summarize now correctly handles tool-result messages that exceed max_tokens. Previously these were silently dropped; they are now chunked before summarization.
  • swarm.yaml: The routing.max_loops field was ignored when critic_threshold was unset. Both fields now default independently.

Changed

  • omp-notify --dry-run now prints the full ntfy POST body (previously only the URL was shown).
  • Log timestamps switched from local time to ISO 8601 UTC for consistency with fleet-wide log aggregation.

Dependencies

  • Bumped litellm from 1.41.2 to 1.42.0 (upstream changelog: faster streaming, z.ai header fix).
  • Bumped beads from 0.9.3 to 0.9.4 (see beads CHANGELOG for details).

[v15.10.0] — 2026-06-04

Initial public release of the v15.10 series. This release stabilizes the full L0–L6 stack and ships the first production-ready fleet harness.

Added

L0 — Substrate

  • Nix flake-based node provisioning with omp-bootstrap script. Reproducible from zero to running agent in under 10 minutes.
  • Tailscale mesh auto-configuration via omp tailscale init. Nodes join the omp-fleet tailnet automatically on first boot.
  • System health heartbeat: nodes emit node.heartbeat events every 60 seconds to the ntfy fleet topic.

L1 — Transport

  • NATS JetStream integration for durable agent-to-agent messaging. Supports at-least-once delivery with consumer ACKs.
  • omp bus publish and omp bus subscribe CLI wrappers for manual NATS interaction.

L2 — Model Gateway

  • LiteLLM Proxy deployment with z.ai and Anthropic provider support. See LiteLLM Proxy API.
  • Virtual key management: omp keys create, omp keys list, omp keys revoke.
  • Per-team budget enforcement with ntfy alerts at configurable thresholds.
  • EMA-based model health tracking: automatic fallback when a model’s success rate drops below 0.85.

L3 — Orchestration

  • Temporal workflow engine integration. Swarms run as durable Temporal workflows — crash-safe, resumable.
  • swarm.yaml schema v1. Define multi-agent swarms declaratively. See godotz.ai Agent Config.
  • omp swarm run <swarm.yaml> to launch, omp swarm status, omp swarm cancel.

L4 — Agent Runtime

  • config.yml, presets.yml, and models.yml configuration system. See godotz.ai Agent Config.
  • Sliding-window, truncation, and summarization context strategies.
  • Agent roles: orchestrator, executor, reviewer, critic.

L5 — Task Tracking

  • beads v0.9.3 bundled. Full bd CLI: init, epic, task, show, done, hooks. See beads CLI.
  • taskdog daemon: watches for stale in_progress tasks (idle > 10 min) and emits task.blocked events.

L6 — Memory

  • Mnemopi session memory: per-agent short-term context with configurable TTL.
  • persist_facts: true propagates durable facts to long-term store across sessions.
  • graphify knowledge graph integration: agents can query the project graph via omp graph query.

Notifications

  • omp-notify script with ntfy and HTTP webhook delivery. See Webhooks & Events.
  • Fleet event taxonomy (25 event types) with severity levels.
  • ntfy mobile push configured automatically when notifications.ntfy.enabled: true.

Known Issues

  • Temporal UI dashboard requires manual port-forward (kubectl port-forward) in single-node deployments. A convenience wrapper (omp temporal ui) is planned for v15.10.2.
  • context.strategy: summarize incurs an extra model call per summarization pass. Cost impact: approximately +8% on long sessions.
  • Fleet nodes behind symmetric NAT require a Tailscale relay; direct connections not yet supported in that configuration.

Migration from v15.9.x

  1. Update the Nix flake: nix flake update && omp-bootstrap apply
  2. Rename agent.yamlconfig.yml (schema is compatible; only the filename changed)
  3. Move virtual keys to the new omp keys store: omp keys migrate --from ~/.omp/keys.json
  4. Re-register beads hooks: bd hooks schema changed — run bd hooks migrate

Full migration guide: Upgrading to v15.10


Versioning Policy

godotz.ai uses a vMAJOR.MINOR.PATCH scheme:

SegmentIncrements when
MAJORBreaking changes to config schema, CLI, or API
MINORNew features, backward-compatible
PATCHBug fixes, dependency bumps, doc corrections

Pre-release builds are tagged v15.10.2-rc.1. Nix flake tracks stable (latest patch) or main (HEAD).