AI judging › Tune it
Customise the AI judge's rubric
The rubric is the questions the AI judge asks about each session. Add your own, try them on a real session, then save them for sessions judged after that.
On this page
What it is for
The default rubric asks generic questions, such as "Did they get it done?". Add questions for your product's own moments. For example:
- Did the admin send an invite after opening the team page?
- Did they start a plan change, and how did it end?
The answers appear in the Insights tab of the replay player. Answers with a weight change the order of sessions on Watch.
How it works
The judge does not watch the recording. It reads a text version of the session. Judgments explains the process.
| Group in the editor | Answer |
|---|---|
| Verdicts: one answer from a list | One of 2–30 options |
| Scales: an ordered set of levels | One of 2–7 levels, lowest first |
| Signals: yes or no | How likely yes is |
| Moments: did something happen, and where (up to 5) | Whether it happened, and at which event |
- A Role connects a question to a place in the product. Keep a question with the Worth watching role on. Watch shows thumbs only for that question.
- Watch score % gives a signal or scale a weight. Keep the total of all weights near 100%, as in the default.
Edit the rubric
You need the owner or admin role. Members and viewers see the page read-only. See Roles and permissions.
- Open Settings → Projects → your project → Insights. The header shows Default rubric or Customised.
- Click + Add verdict, + Add scale, + Add signal or + Add moment.
- Fill in Label and Question, or the two moment fields.
- Fill in the answers. See Fill in answers, role and weight, below.
- To test the draft, use Try it: pick a Session, then click Run. Each run is a real, paid judgment.
- Click Save. To drop your edits, click Discard.
If you try to leave the tab before you save, a bar asks "You have unsaved changes in Insights. Leave without saving?" Click Stay to keep your edits, or Leave to discard them. If you reload or close the browser tab, your browser asks instead.
Write questions the judge can answer
If the session cannot answer a question, the judge still guesses. The guess shows as a number that looks like a measurement. So ask only what the session can answer, one thing per question, about what happened. If you ask about a cause, name the evidence.
Good wording cannot fix bad evidence. If every screen reaches Sequential under the same name, good questions still get confident wrong answers.
What happens to past sessions
- After a new wording, opening an earlier session in Insights judges it again. This uses the daily on-demand allowance. Insights can then disagree with Watch.
- If you move the Intent, Outcome or Friction role to another question, Watch rows for sessions judged earlier keep the old question's answer.
Watch also shows this mark, even if nobody edited the rubric, when the shipped default that your project uses gets new wording or the judge gets a newer version.
A new wording restarts the counts on the Calibration tab for every question. Make related rewordings in one save. See Which edits apply when, below.
What it needs
- Custom events named for your moments, such as
invite_sent. See Send custom events. - Named clicks and pages. A click needs element text or an element id, and a page needs a URL or screen name. Otherwise they reach the judge unnamed.
- At least 3 meaningful events per session. Sequential does not judge shorter sessions.
- Error capture for questions that name the error counts, from DevTools in replays. Without it, the counts are absent, not zero.
- Background judging, which is on by default for each project. Owners and admins turn it off or on here, under Insights, with Judge new sessions automatically. Your Sequential server must also allow it.
If Watch says that background judging is off, your rubric is still saved. Sequential judges no session in the background until background judging is on again.
Limits
- One rubric per project. You cannot copy a rubric to another project or share one across an organisation.
- Up to 24 questions, and up to 5 moments.
- At least one question must stay on.
- Try it: up to 10 runs a minute per person, within its own daily allowance, on up to 20 sessions from the last 7 days.
- The editor does not list or restore earlier versions.
- Sequential drops a custom-event property before judging if a whole part of its key is a personal-looking word, such as
nameoraccount. - The judge reads at most 255 events per session. In a longer session, it drops plain clicks first, then custom events.
- Sequential cuts event names to 60 characters, and the properties of an event to 80 characters in total.
- Any saved change, even to a weight, makes the rubric customised. A customised rubric does not get improvements to the shipped default.
- The judge reads an option's saved key, and a relabel does not change it. To change what an option means, add a new option.
The default rubric
The default rubric has no questions about your product's own moments. It asks generic questions about a session:
- What did the user come to do?
- Did they get it done?
- How much friction did they hit?
- Did an error stop them?
- Is the session worth watching?
Another example of a question about your product's own moments:
- Did the user reach the bulk-upload step?
Fill in answers, role and weight
Sequential asks your questions of every session it judges after you save.
| Group | What you write |
|---|---|
| Verdicts | Question, plus a label and criteria per option |
| Scales | Question, plus a label and criteria per level |
| Signals | Question, plus optional Yes when and No when |
| Moments | Is there such a moment? and Which event is it? |
- For a verdict or scale, rename the two placeholder answers.
- Give each answer a one-line criterion.
- To add more answers, click + option or + level.
- For a signal or moment, open Criteria (optional).
- Fill in Yes when and No when.
- If needed, choose a Role. See Roles and what they drive, below.
- On a signal or scale, set Watch score %, or leave it empty. See How the Watch score is calculated, below.
The judge reads only some parts of a question. The other parts control how Sequential shows and ranks the answers. See What the judge reads, below. For the other editor controls, see Other controls in the editor, below.
What the judge reads
The text version of a session contains:
- Labelled events: pages, clicks, form submits, errors, rage and dead clicks, and your custom events.
- A few session facts, such as duration and device.
- Error counts, when Sequential captured them.
From each question, the judge reads the question text, the criteria, each option's key and each level's label. If an option has no criteria, Sequential sends its label.
These parts never reach the judge: question labels, Summary wording (optional), roles, Watch score % and question order. They only decide how Sequential shows and ranks the answers.
Roles and what they drive
Each role fits one kind of question. Only one question can hold each role.
| Role | Kind | What it drives |
|---|---|---|
| Intent | Verdict | The first summary sentence in Insights, and the intent on Watch rows |
| Outcome | Verdict | An Insights summary sentence, and the outcome on Watch rows |
| Friction | Scale | An Insights summary sentence, and the friction meter on Watch rows |
| Worth watching | Signal | The badge on the player's Insights tab, and the thumbs on Watch rows |
| Struggle | Moment | The heat lane on the replay timeline. Also where the Friction sentence places the struggle when friction is high. This needs a Friction question. |
| Goal | Moment | Nothing extra. Every moment shows as a key moment under its label, with or without a role. |
| Drop-off | Moment | Where the Outcome sentence says the user left. This needs an Outcome question. |
A question without a role still appears in the Insights tab when it has something to show for that session. Sequential leaves out a signal the judge rated unlikely, or a moment it did not find. It does not show them as a no. So if a question is missing there, the judge gave it a low answer. The judge did not skip it.
The editor warns when no enabled question holds Intent, Outcome, Worth watching or Struggle.
The Worth watching question is the only question that Watch rows show thumbs-up and thumbs-down for. Those thumbs are the evidence that Feedback and calibration works from. The editor warning for Worth watching mentions only the badge, but the thumbs need the question too.
How the Watch score is calculated
Signals and scales can have a weight. The Watch score of a session is the total of its weighted answers. Watch sorts sessions by it.
The answer is a signal's chance of yes, or how far up a scale the session sits. For each weighted answer, Sequential multiplies the answer by its weight. Then it adds the results.
The default weights are:
| Question | Weight |
|---|---|
| Worth watching | 45% |
| Friction | 25% |
| Hit an error | 15% |
| Product bug | 15% |
Your project's weights are in the Watch score % field of each card. Ask uses the Watch score to choose which sessions to search first.
Sequential does not rescale the weights. The badges on Watch, such as Watch now (Review now for a session whose recording you cannot play now), use fixed cut-offs. A total above 100% puts too many sessions in the top badge. A total well below 100% can put the top badge out of reach for every session.
Other controls in the editor
| To | Use |
|---|---|
| Stop asking a question but keep it | Its on/off switch |
| Move a question in its group | ↑ and ↓ |
| Remove a question | × |
Before you save, the footer counts the changes. For example: "Unsaved changes · 1 reworded, 1 added — applies to sessions judged from now on".
Summary wording
On Intent, Outcome and Friction questions, Summary wording (optional) sets what each answer says in the summary. On other questions it has no effect.
- Intent: the wording finishes a sentence that the product starts, such as "An identified user arrived on /pricing and …". Write a verb phrase, such as "came to upgrade".
- Outcome and Friction: the wording starts the sentence.
Keys, headers and save conflicts
- The keys are hidden at first. Turn on Show keys to see the key under each question's label and beside each option. The key follows the label until you save. After that, the key stays fixed.
- When the rubric is customised, the header shows Customised followed by the version number, who saved it and when.
- If someone else saved after you opened the page, Save fails. The footer says who changed the rubric and when.
- Reload shows their version and drops your unsaved edits.
Proposals from an agent
From 12 October 2026, an agent can propose a change to the questions. Nothing changes until an owner or admin applies the proposal.
- Give the agent the scope
insights:propose. It works only withsessions:explore. On the Access tokens tab, the box is "Propose changes to the Insights questions (a person applies them)". No preset ticks it. For claude.ai, tick "Propose changes to the Insights questions; a person in your team applies them (a write)" on the consent page. It is off at first. - The agent reads the questions with
get_rubric. Then it callspropose_rubricwith the whole new set of questions and the version that it read. It can also propose to go back to a version of the history, and it can ask for a test on one session. - The proposal shows on the Insights tab as Proposed change to the questions, with "Proposed by an agent · token <name>".
- An owner or admin clicks Apply or Reject. Apply saves the proposal as a new version: "Applied as version N." The history then says "Proposed by token <name>, applied by <person>". Other members see "An owner or admin can apply it."
What the card shows:
- Adds, Removes and Judged differently from now on: the questions that change.
- Also renames past verdicts: sessions that are already judged show the new label or weight at once.
- New or changed text, written by an agent: each text that the agent wrote. A name that Sequential removed shows as [person].
- The result of the test on one session, if the agent asked for one, and the agent's note.
Sequential checks a proposal as the editor checks a save. It also checks each new or changed text. It refuses links, email addresses, handles, secrets and text that reads as an instruction to an AI, and it replaces the name of a person with [person]. The agent's note takes the same checks, except the check for an instruction to an AI: only people read the note.
Proposal limits
- A proposal ends after 14 days, or when someone changes the questions after the agent read them. Then Apply says "The questions changed since. Ask your agent again."
- A new proposal from the same agent replaces its open proposal.
- With unsaved edits in the editor, Apply waits: "Save or discard your edits first."
- Each project gets at most 5 proposals a UTC day, from agents and members together, and at most 10 tests on a session. Each test spends from the Try it allowance.
- If Sequential refuses the texts of one agent 3 times in a UTC day, that agent cannot propose again until the next day.
- If Sequential cannot check the texts, it refuses the proposal and the agent can try later.
- On the Agents page, a connection that can propose says "Can propose Insights question changes".
Versions and reset
Each save that changes something makes a new version. The Audit log records who changed the rubric, when, and how many questions changed. From 12 October 2026, the History card lists the last 20 versions, newest first, for example "Version 7 · 2 hours ago · Ana". The name is the person who saved. A version that Sequential support saved says "Sequential support". A version that came from an agent's proposal says "Proposed by token <name>, applied by <person>".
Owners and admins see Restore version N on each earlier version. It asks "Save version N's questions as a new version?" Restore saves the questions of that version as a new version. The history keeps both versions, and Sequential does not judge any session again. The new version says "restored version N".
- With unsaved edits, the restore waits: "Save or discard your edits before you restore."
- If someone changed the questions after you loaded them: "The questions changed since you loaded them. Reload the page, then restore again."
Reset to default appears when the rubric is customised. Any saved change makes the rubric customised, even a label or a Watch score %. The reset asks you to confirm. It drops any unsaved edits and counts as a new version.
A customised rubric is a snapshot. When the shipped default improves, projects on the default get the new wording. Customised projects keep their wording until they reset.
Try it sessions, allowance and limits
Try it judges your unsaved draft on one recent session. Sequential saves nothing. Try it shows the result in the same form as the Insights tab of the player. Each run uses a daily allowance of its own.
- The Session list shows up to 20 sessions from the last 7 days, newest first. Each has at least 3 events.
- The list checks only the newest 1,000 sessions. If the range has more, and fewer than 20 of the 1,000 have 3 events, the list says "Older sessions are not in this list."
- Try it reads the session's stored events, as background judging does.
- Its daily allowance is separate from the allowances of background judging and Ask.
- The footer of each run shows how long it took, for example "1.2 s".
- When the allowance is used up, you see "Today’s judgment budget is used up" with the reset time.
- If Sequential cannot read the allowance, Try it does not run and spends nothing. You see "Preview failed" and "Can't test the rubric right now. Try again shortly.", with Retry. Try again after about 30 seconds.
- Each person can run up to 10 previews a minute.
- Run is off, with a reason beside it, when Try it cannot run: "Insights aren't set up on this server" when the server has no AI key, or "Fix the questions first" when the draft has an error.
Three tests for a question
The judge answers every question it gets.
- Answerable from the session. The judge sees labelled events, a few session facts and error counts. The session does not contain an answer to "Did they read the documentation carefully?".
- One thing per question. "Did they hit an error and give up?" asks about two facts. No single answer fits both. The default rubric asks them separately, as Hit an error and Outcome.
- About what happened, not a feeling. "Was the user frustrated?" asks for a feeling. "Did they click the same control repeatedly?" asks for something that happened.
If a question asks about a cause, name the evidence for it. Give each option a one-line criterion. Add a "none of these" option to each verdict. See Example: name the evidence, below.
Which edits apply when
| Edit | Applies to |
|---|---|
| Question text, criteria, options, levels, turning a question on or off, adding or removing a question | Sessions judged from now on |
| Question labels, Summary wording (optional), Watch score %, question order | Immediately, also for sessions already judged under the current wording. Watch marks nothing. |
Some edits change what the judge reads. Sequential treats each of these as a new wording of the whole rubric. See Roles, scores and calibration after a change, below.
Example: name the evidence
The first shipped Hit an error question read: "Judging from events, does a software error stop the user from completing an action?"
On a session with rage clicks and no error data, the judge gave a clearly high chance of yes. It reasoned from behaviour to a cause it could not see.
The current wording adds "and the session's error counts (js_errors, failed_requests, console_errors; absent when not measured)". With that wording, the judge answers the same session with can't tell. A session with nothing to suggest an error stays a clear no.
Option keys and added text
- The judge reads an option's key too. A saved key stays the same when you relabel the option. To change what an option means, add a new option. Do not rename the old one.
- If a question does not mention
eventsorsessionin backticks, Sequential adds "Judge fromevents." to its end. So a question that names only the error counts ends by pointing the judge at the events. - If you name
eventsyourself, as the default wording does, Sequential adds nothing.
Roles, scores and calibration after a change
Roles. Roles apply immediately in the Insights tab, but not on Watch. A Watch row stores its Intent, Outcome and Friction answers when Sequential judges the session. If you give one of these roles to a different question, only sessions judged after the save show the new question's answer on Watch. Earlier rows keep the old question's answer, sometimes under a raw key or the wrong level name.
Rewording. Renaming a level counts as rewording, because the judge reads that label. The same applies to an option that has no criteria.
Watch score. A Watch score % change re-ranks every judged session, older ones included. A question added later adds nothing to the score of sessions judged before it existed.
Calibration. The Calibration tab, next to Insights, counts each wording separately. See Feedback and calibration. A new wording covers the whole rubric, so rewording one question restarts the counts of every question.
Insights tab. The Insights tab of the player always uses the current rubric. After a new wording, if you open an earlier session there, Sequential judges it again on demand. That uses the project's separate daily on-demand allowance. The tab can then disagree with the Watch row. See Session insights.
What a click, page or property needs
- Send custom events named for what your questions ask about, such as
invite_sentorplan_change_started. Put the fact your question needs in the event name. - For questions that name the error counts, you need error capture.
- Sequential drops a custom-event property before judging if a whole part of its key is a personal-looking word, such as
nameoraccount.
See What the judge drops or cuts, below.
What the judge drops or cuts
- The judge reads at most 255 events per session. In a longer session, the judge drops plain clicks first. Then it drops custom events, before any other event.
- Sequential cuts event names to 60 characters. It cuts the properties of an event to 80 characters in total.
- A property is dropped when a whole part of its key is a personal-looking word: email, name, user, account, address, phone, card, token and similar. This includes ordinary keys such as
plan_name,step_nameoraccount_type. Use the event name, or a key that avoids those words. - A click reaches the judge unnamed if it has neither element text nor an element id.
- A page reaches the judge unnamed if it has no URL or screen name.