You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(automation): three AI lines per tool action — autonomous, AI drafts and a person sends, never touches — and a four-move automation setup #18430
Part of #18237. Design: Refined UI mockups AutomationSetup (new), ProcessCanvas, ProcessCanvasTable, Roles, Handbook (chapter "The three lines for AI"). Related: #17463 (three approval policies, one enforced), #18390.
Owner rule (2026-10-12)
AI has three lines, and they apply to every tool and procedure:
Autonomous: AI does it alone, then reports.
AI drafts, a person sends: a person reviews, edits and sends; it waits in Approvals.
AI never touches: only people act.
A line that is not set counts as line 2 until the owner role decides. Agents never change a line; changing one goes through Approvals.
Lines are set per action of a tool, not per tool. Example for a CRM connector and company email:
read and draft: allowed
send: needs approval
delete: blocked
Setting up an automation is four moves
Connect: tools and connectors; credentials go to Company secrets.
Set the line: per tool action.
Give the job: plain-language job → a workflow of processes performed by a role.
Wire the trigger: web form, email received, schedule, webhook, work item status, file added to folder.
Owner example: when a lead comes in from the web form, check the address, add it to the CRM, draft a reply with a booking link, and write a one-page brief. Sending the reply waits for a person.
Acceptance criteria
Every tool action, process and meta skill carries a line. A process's effective line is the strictest of its own line and the lines of the tool actions it uses, and the UI states why.
Line 2 actions create an Approvals item and do nothing until a person approves; line 3 actions are refused for agents at the execution layer, not only hidden in the UI.
Unset lines behave as line 2.
Changing a line creates an approval request.
Four-move setup flow:
If an action the job needs is blocked, Turn on is disabled with the reason.
Strictest-wins makes a process that only reads through a tool inherit the tool's strictest action. Should the effective line come only from the actions the process actually uses? The mockup follows the per-action rule.
Owner decisions (2026-10-12) on the two questions raised by PR #18453:
Unset lines: an unset action that changes something (send, write, delete, as the tool-effect catalogue classifies it) counts as line 2 and waits for a person. An unset READ-ONLY action runs. A line that is set explicitly applies to any action, reads included.
SLM relaxation: relaxing an approval category in the SLM only permits. An AI action runs on its own only when the company has ALSO set that action to line 1, so both must agree.
A line-2 ACTION (for example "send this email") may be approved by the person who asked for it; that is what "a person sends" means. The approval is bound to the exact calls shown.
A LINE CHANGE (for example making "send" autonomous) needs a DIFFERENT owner or admin of the company: four eyes. A company with a single owner or admin may self-approve, and the audit log flags it as a self-approval.
Owner decision (2026-10-12), users with no company: a chat or terminal user who belongs to no company (for example a single-user local install) gets a personal scope. Unset actions that change something are line 2, so the AI drafts and the user approves their own action. Reads run. The user can set lines in their personal scope. Nothing is refused merely for lacking a company.
Activity
mrveiss commentedon Oct 12, 2026
Owner decisions (2026-10-12) on the two questions raised by PR #18453:
mrveiss commentedon Oct 12, 2026
Owner decision (2026-10-12), who approves:
fix(automation): bind approvals to the shown calls, scope lines by th…
mrveiss commentedon Oct 12, 2026
Owner decision (2026-10-12), users with no company: a chat or terminal user who belongs to no company (for example a single-user local install) gets a personal scope. Unset actions that change something are line 2, so the AI drafts and the user approves their own action. Reads run. The user can set lines in their personal scope. Nothing is refused merely for lacking a company.
feat(automation): personal AI lines for a user with no company, and s…
fix(automation): only the server may propose a line change, and compa…
fix(approvals): resubmit may not rewrite a reviewed proposal, and onl…