Boards Are Now Projects – and Runners Learn from Code Reviews
Some changes are small and technical. This one isn't. Boards are now called Projects, runners get a full analytics dashboard, and the default pipeline can now self-correct. On top of that, agents now learn from PR review comments -- across the entire organization.
Boards → Projects
The name "Board" was always a crutch. What happens in Spedy is project work -- not pushing cards around a Kanban board. From now on, it's Projects everywhere: in the navigation, URLs (/projects instead of /boards), settings, and webhook events.
What changes:
- Navigation: The sidebar entry is now "Projects"
- URLs:
/boards/...becomes/projects/...(old URLs redirect) - Roles: Board Admin → Project Admin, Board Member → Project Member, Board Viewer → Project Viewer
- Settings: "Runner Teams" in org settings are now called "Agents", the board-level runner config is now "Build & Validate"
- Webhook events:
board.created→project.created,board.updated→project.updated,boardId→projectId
Nothing changes functionally. All existing configurations, roles, and integrations remain intact.
Runner Analytics Dashboard
Until now, answering "How well are my agents performing?" was hard. Now there's an answer: the new Analytics Dashboard under Settings → Runners → Analytics.
What You See
- Overview cards: Total jobs, success rate, total cost, token consumption, average duration
- Stage performance: How long each pipeline stage takes, token usage per stage, quality gate pass rates
- Model usage: Token consumption broken down by model (Opus, Sonnet, Haiku)
- Daily trends: Bar chart showing job volume over time
You can filter by 7, 30, or 90 days. Data updates automatically on every completed job -- no manual tracking required.
Why It Matters
If you run multiple agent teams, you need numbers. Which team has the highest success rate? Which stage burns the most tokens? Where does a faster model pay off, and where is a cheaper one sufficient? The dashboard gives you the foundation for these decisions.
Self-Healing Pipeline
The default pipeline now has three stages instead of two: Planner → Implement → Review. The new Review stage (Sonnet 4.6) checks code for correctness, security, and quality -- and fixes issues it finds directly.
Validation Commands
You can now configure validation commands per pipeline stage. These are shell commands that run automatically after a coding stage -- for example, npm run lint, npm test, or cargo build.
If a command fails, the agent retries the stage and fixes the issue. The maximum number of retries is configurable (0-10).
The setup now also displays the working directory (/workspace/{repoName}) for each repository, so you know where your commands execute.
Dangerous Commands Are Blocked
Validation commands are sanitized server-side. Shell injection patterns (semicolons, pipes, backticks, redirects) are automatically rejected. Only safe single commands are allowed.
Agents Learn from PR Reviews
When a reviewer clicks "Changes Requested" on a PR and the runner reworks it, something new happens: every review comment is stored as a knowledge entry -- with file path, diff context, and reviewer comment.
These entries are available organization-wide. If a reviewer corrects a convention on Project A, agents on Project B know about it next time. Evergreen entries with high confidence (>= 0.7) are shared automatically.
This isn't a feature you need to enable. It happens automatically whenever PR reviews are triggered.
Honestly
This is one of those changes where we're curious how it plays out in practice. The idea is compelling: a genuine feedback loop where every code review improves the next generation of agent runs. But whether learned conventions fit every context remains to be seen. We're watching closely.
New Team Presets: Review Team & Full-Stack Team
Alongside the existing "Code Runner" and "Board Agent" presets, there are now two new options:
- Review Team: Two AI reviewers (Security + Quality) work in parallel, a Review Lead synthesizes and verifies
- Full-Stack Team: Backend and frontend agents work in parallel, an Integration Validator checks the collaboration
Both presets are available as one-click options when creating a new team. The configured agents with roles, models, and dependencies are displayed directly in the team settings.
Recent Runs on Dashboard
The "Active Runners" dashboard section now shows not just running jobs, but also the last 5 completed runs. You see status, ticket, cost, branch, and relative time. A click opens the ticket side panel on the Runs tab.
This saves the detour through the Jobs list when you want a quick look at what just finished.
Tickets Back to Backlog
Previously, moving out of the backlog was a one-way street. Now you can move tickets back to the Backlog status -- for example, when requirements changed or a ticket wasn't ready after all. The status transition logic now explicitly allows the return path.
Smarter Follow-ups
When an agent creates a follow-up job on an already merged or closed PR, Spedy detects this automatically. Instead of updating the old branch, it creates a fresh branch from main and opens a new PR. Follow-up jobs are also correctly grouped under the same root run -- even when session lookup fails.
Security
As with every update, we've hardened tenant isolation under the hood:
- Member updates now check for soft-deleted records
- Wiki access additionally filters by organization
- Runner ticket lookups validate organization membership
Not features you see. But necessary for a product teams rely on daily.
Summary
| Change | What it means |
|---|---|
| Boards → Projects | Consistent naming everywhere |
| Analytics dashboard | Runner performance at a glance |
| 3-stage pipeline | Plan → Implement → Review as default |
| Validation commands | Automatic tests after coding stages |
| PR review learning | Agents learn from reviewer feedback |
| Team presets | Review Team & Full-Stack Team as quick starts |
| Recent runs on dashboard | Completed jobs directly visible |
| Tickets to backlog | Return path now allowed |
| Smart follow-ups | Merged PRs detected, fresh branch created |