{"slug": "ototo-2-8-5", "title": "Otōto 2.8.5", "summary": "Otōto 2.8.5 adds experimental Routines, letting users describe a repeated job once in a markdown file and have Otōto's small model run it with read-only tools via `ototo routine list`, `ototo routine run <name> [input]`, and `ototo routine new <name>`. The release's install.sh places five example routines in `~/.config/ototo/routines/` — covering CI jobs, dependencies, HTTP endpoints, configuration, and a file's Jira ticket number and summary — and never overwrites a file of the same name, while Claude Code and OpenCode only get a `routine` tool when `routines = true` is set in `config.toml`. The update also aligns Otōto's telemetry with OpenTelemetry naming (`mcp.server.operation.duration`, `gen_ai.client.token.usage`) and standard `OTEL_RESOURCE_ATTRIBUTES` and `service.namespace`, and makes `ototo update` keep what it unpacked so install.sh's \"Undo all\" path still works.", "body_md": "- **Routines (experimental).** A job you do again and again, described once in a markdown file, done by Otōto's small model with its read-only tools:`ototo routine list` ,`ototo routine run <name> [input]` ,`ototo routine new <name>` . install.sh puts five examples in`~/.config/ototo/routines/` (the CI jobs, the dependencies, the HTTP endpoints, the configuration, and a file's ticket number and summary for Jira), never over a file of the same name. Claude Code and OpenCode get a`routine` tool only with`routines = true` in`config.toml` ; until then nothing changes for them.`routines/README.md` shows how to use them and write your own.\n- **Reporting that fits beside our other products,** when you send Otōto's counts to a collector:`service.namespace` , the standard`OTEL_RESOURCE_ATTRIBUTES` read as well as`otlp_attributes` , and OpenTelemetry's own names for tool calls (`mcp.server.operation.duration` ) and small-model tokens (`gen_ai.client.token.usage` ) beside Otōto's. Otōto's own metrics are unchanged.\n- **`ototo update` keeps what it unpacked,** so the \"Undo all\" path install.sh prints at the end still works.", "url": "https://wpnews.pro/news/ototo-2-8-5", "canonical_source": "https://ototo.dev/changelog#v2.8.5", "published_at": "2026-09-29 20:20:56+00:00", "updated_at": "2026-10-05 22:18:25.860341+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["Otōto", "Claude Code", "OpenCode", "Jira", "OpenTelemetry"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ototo-2-8-5", "markdown": "https://wpnews.pro/news/ototo-2-8-5.md", "text": "https://wpnews.pro/news/ototo-2-8-5.txt", "jsonld": "https://wpnews.pro/news/ototo-2-8-5.jsonld"}}