What you can do from the phone
What a paired phone shows, and the answers it can send. The page, the messages and photos, and what each telemetry tier lets through.
What the page shows #
A paired phone opens one page. The top band has the AutoDev name, a menu, and a word for the state of the run: working, starting, waiting, your turn, stopped or completed.
Under it is the feed. It is the panel's own feed, built from the same data, so the phone and the panel cannot disagree about what happened. What is waiting for you sits at the top: a gate shows the action it names, with Approve and Deny. The other things that Needs you lists, such as a notice a participant left or a task that is blocked, and your own last message fold into one line at the top, which opens with a tap, so the feed keeps the screen. A folded block holds the run's numbers. The page reloads itself every 10 seconds, keeps your place in the feed, and skips the reload while you have a draft or a photo chosen, a control focused or the tab hidden.
To hear about a run without opening the page, set notify.url: AutoDev then sends a message to your phone when a run finishes, stops on its own or needs you. Every config key covers it.
What you can send #
The page has these ways to answer:
- A message. The composer says
Message the thread…, and Send posts it as a message from you. It is queued and read at the next turn boundary, like a message typed in the panel. - A decision on a gate. When a participant has declared an irreversible action, the page shows the action with Approve and Deny.
- A photo. The
+beside the composer opens the camera or the album, and a photo can be pasted. A message carries up to 6 images. Each must be an image, and at most 8 MB. A message with a photo and no words is a normal message. - Pause or stop. Tap the state of the run in the top band for Pause after turn, which lets the turn in progress finish, and Stop now, which ends it. They are offered and greyed exactly as in the panel, and a pause waiting for its turn shows as
Pausing after this turn…. A message resumes a paused run. - New run. Once the run has stopped, the same menu has New run…. It opens a page that says what is archived and which files are emptied, and Archive and start over does it. While the run is going it is greyed, with the reason.
- Settings. The project menu has Settings, with the limits a run keeps and the gates it stops at:
maxIterations,maxSpendUsd,maxRuntimeMin,perCallBudgetUsd,maxWaitMin,waitRecheckMaxMin,maxAcceptChecks,maxTalkTurns,sessionCapPct,suspendOnCompletion,gateMode,gateAutoApproveandgateAutoDeny. Each has Save, and Reset to default when a config file sets it. An empty box takes the setting back to its default. A setting an environment variable overrides says so, because the change takes effect only once that variable is gone.
The page cannot change the team, the participants' CLI arguments, checkpoints, computer use or any secret. Those stay in the panel, and the server refuses them whatever a form sends.
To point at a file, type @ in the message. The page suggests paths from the project's file list as you type, and a mention is text: @ is also an ordinary character. A path the list is missing can still be typed out in full.
The menu lists the projects the workspace index knows, marks the one the server is showing, and switches it. It also has Disconnect this device.
What each tier lets through #
The panel starts the server on the full tier. autodev serve --tier can start it on another. A tier decides what leaves the machine, and it does not change which answers are accepted.
| Tier | What the page and the read routes carry |
|---|---|
status | Structure only. The feed and the Needs you list each become a single line that says how much is withheld, so there is no gate to answer, and the file list and the project menu are empty. Event messages are blank, and some events are left out. |
events | The conversation, the file list and the project menu, and the message of each event the server lists. |
full | Everything events carries, and events the server does not list. |
What the credentials can do #
The page offers the answers above and nothing else. A paired browser, though, can also post a command to the server directly, with the header X-AutoDev-Device: 1. The commands a web client can send are pause, resume, stop, approve_gate, deny_gate, ask and answer_notice. Killing a run and restoring a checkpoint are not among them. Settings and New run are forms of their own, and the server checks them again: a setting outside the limits and the gates is refused, and a new run is refused while a run is going.
Pairing a phone covers how the phone gets its cookie. The limits of the tunnel covers what protects these routes, and what does not.