Elyra 0.9.25: Your Agent Joins the Team — Timesheet and All
Every integration so far made the agent better at code. This one makes it better at being a colleague. 0.9.25 connects Elyra to Félagi — the project portal where people and agents share one board — so the agent reads the issue, checks the runbook, does the work, logs its hours, and hands the thread on.
Every integration we've shipped so far made the agent better at code. This one makes it better at being a colleague. Version 0.9.25 connects Elyra to Félagi — the project portal where people and agents share one board — and the result is an agent that reads the issue, checks the team's runbook, does the work, logs its hours, and hands the thread to the next teammate. Plus: the Laravel skills learned everything from the June framework releases.
Why this release
There's a category of work that never shows up in a diff: finding out what ACM-231 actually says, remembering how long you spent on it, writing the comment that explains what happened, updating the status so the board tells the truth. Individually trivial. Collectively, it's the friction that makes time tracking die after a fortnight and boards drift out of sync with reality — because all of it lives in a browser tab, and you live in your editor.
Félagi's own docs name the problem precisely: "the tool already open on somebody's desk should be able to read an issue and log an afternoon without a second window." Elyra is that tool. Now it has the connection.
And there's a second, quieter reason this integration matters more than most. Félagi models people and agents with the same shape — an assignee is { type: "user" | "agent", id, name }, and machine time is time. It's a portal built for the world Elyra lives in. Connecting the two wasn't bolting a tracker onto an agent; it was introducing two systems that already agree about what a teammate is.
How it works
Install, then paste the token block Félagi hands you (Settings → API tokens) into your .env:
elyra install npm:@elyracode/felagi
FELAGI_URL=https://felagi.example.com
FELAGI_TOKEN=fat_...
The token acts as you, in one workspace, and can be read-only. Thirteen tools and three commands arrive. Here's the shape of a day with them.
The morning
/felagi
You: Thomas (owner) — Acme Industries (ACM)
Your plate:
- ACM-231: Rate limit the export endpoint [bug/in_progress/high]
- ACM-240: Cycle report totals drift [bug/todo/medium]
No timer is running.
Pick one, and let the agent do the ceremony:
> Start on ACM-231: start the timer and move it to in progress.
felagi_timer start → Timer started on ACM-231.
felagi_update_issue → ACM-231 [bug/in_progress/high] → Thomas
The part that changes behavior: the knowledge base
This is the feature we'd argue matters most, and it's the one Félagi's API docs call out themselves: "Skills are what an agent is given; the knowledge base is what it can look up."
> Before you touch the export code — check if the team has
documented anything about rate limiting.
felagi_articles q="rate limiting"
- API conventions (01k9abc…)
"All public endpoints use the throttle middleware with…"
felagi_articles article_id=01k9abc…
Reading: the team standardizes on named limiters in
AppServiceProvider, 429s must include Retry-After…
An agent that reads the team's runbook before it starts is an agent that follows the team's conventions — not the internet's. The Elyra skill that ships with this package instructs the agent to do exactly this before conventions-sensitive work, unprompted.
The afternoon
Work happens (that part you've seen in the last twenty releases). Then:
> Done. Stop the clock, tell the thread what happened, put it in review.
felagi_timer stop → logged 142m on ACM-231.
felagi_comment → "Named limiter added per the API conventions
article; export throttled at 30/min with Retry-After."
felagi_update_issue → ACM-231 [bug/in_review/high]
Or the terse version, for hours you forgot on Monday:
/felagi-log ACM-231 2h30m traced the redirect loop
Durations are written the way a person says them — 2h 30m, 1d, 90m — and spent_on says Monday when the work was Monday. Requiring minutes, as Félagi's docs put it, would be a tool somebody stops using on the third day.
Handing work to a teammate — who happens to be a machine
Félagi workspaces have their own agents on the board. Elyra can hand them work two ways:
> Assign the flaky-test issue to Freya.
felagi_update_issue ACM-244 assignee_type=agent assignee_id=4
→ run queued
> Actually, comment instead so she has context:
felagi_comment ACM-244 "@Freya the build is failing on main
after the queue change — have a look at the retry config first."
The mention leaves a sentence explaining why — which the receiving agent then reads. One agent briefing another, through the same board the humans use. That's the whole Félagi thesis, and now Elyra participates in it natively.
The semantics we refused to blur
Félagi's API is opinionated in ways we made sure survive the integration, because they're right:
Time has provenance.
timeris measured,manualis remembered,agent_runis machine time. When Elyra sums entries, it says when a total mixes sources — a mixed total is a guess wearing a suit.Hours are always yours. There is no way to log time against a colleague, and the tools won't pretend otherwise.
One clock per person. Starting a second timer stops and logs the first — and Elyra tells you what got banked, because banking time silently against the wrong task would be worse than an error.
"Nothing is running" is an answer, not an error. Little things like this are why the integration feels calm instead of brittle.
Also in 0.9.25
The Laravel skills went to school. The June 2026 framework releases landed, and our skills now teach the agent to reach for the new APIs instead of the old workarounds: Bus::bulk() over dispatch-in-a-loop, whenFilledEnum() over the tryFrom-and-guard dance, route metadata, non-retryable exceptions, queue attributes on traits — plus a firm warning that the new php artisan dev is long-running and belongs to you, not the agent. The Laravel AI skill picked up MCP tools in agents, Bedrock's S3Document, and OpenAI ZDR support; the SILT skill knows the latest Inertia fixes.
The model registry keeps moving: gpt-5.6-luna, Thinking Machines' Inkling, glm-5.2-highspeed, Qwen 3.7-flash/3.8-max — and claude-opus-5 now reachable through GitHub Copilot, if that's where your subscription lives.
Get it
npm install -g @elyracode/coding-agent@latest
elyra install npm:@elyracode/felagi
Make a token, paste the block, and try the morning:
/felagi
The board stays true, the hours log themselves, and the runbook gets read before the code gets written. That's not an agent with a plugin — that's a teammate with good habits.
Full details in the changelog.