Lifecycle
A deviation moves through a Linear-style lifecycle. Every transition is recorded with a short reason, so nothing changes status silently.If you’ve connected Slack, Glassray posts each deviation to your channel - by default only once a deviation is Confirmed, so you’re not pinged for candidates that are still being investigated. You can lower that threshold to be notified as soon as a deviation is Suspected, so you can confirm or dismiss it right from the card.
Finding more examples
While a deviation is Suspected, Glassray is still building the case - scanning your recent trace history for more instances so you can see how often it really happens. Once it recurs in enough examples, Glassray promotes it to Confirmed automatically; until then it stays Suspected. You can also kick off this search yourself from the deviation.Short IDs
Every deviation has a short ID, like DEV-142, shown next to its title and on each card in the list. In Slack and Ask Glassray you can just say “DEV-142” and Glassray looks it up. Over the MCP server,get_deviation, link_pull_request and unlink_pull_request accept it; the other deviation tools take the deviation’s dev_… id, which get_deviation returns. IDs are unique across your organization and never reused.
The fix
Once a deviation is Confirmed, you can ask Glassray for a fix: click Propose fix on the deviation page, or Generate fix on its Slack card. Confirming alone doesn’t generate one.A fix your coding agent can apply
The fix is a markdown instruction document written for your coding agent (or you): what goes wrong, the change to make - usually a prompt, tool-description or logic change - what to verify, and acceptance criteria. Copy it into Claude Code, Cursor or any coding agent, which makes the change in your repo.
DEV-142) and the branch to create - for example glassray-dev-142-client-quote-isnt-the-clients-words. You can also grab the branch name from the Copy branch name button next to the deviation’s title.
Pull requests
When a pull request’s branch name, title or description containsglassray-dev-142, Glassray links it to DEV-142 automatically and posts one comment on the PR pointing back to the deviation. The deviation page’s Pull requests panel lists every linked PR with its live state - open, draft, merged or closed - and you can attach or remove one by hand. See GitHub.
Linking or merging a PR doesn’t change the deviation’s status. Mark it Done yourself once you’re happy the fix holds.
Where deviations come from
Most deviations come from Glassray’s own scan against your spec. But you can also surface them from outside the loop:From feedback
A negative signal pinned to a trace is actioned - Glassray sorts that trace into a flow and creates or appends to a deviation.
From Slack
Describe a misbehavior to the Glassray bot and it can log a deviation from the conversation and scan for more instances.