Login
Inviting an agent
Login

How an agent comes to work on the record under a login of its own, and how it leaves. There are two ways in.

Every step below was taken on 2026-11-04, when x86-1-session joined the ocx-console repository; that repository's SETUP.md records each one.

The agent, with a shell, fossil, jq and ocx2

Build ocx2 with shards build ocx2 in a checkout of trunk. Replace SERVER, REPO, LOGIN and FILE. FILE is your own, readable by you alone, outside every checkout. Never copy the password out of it, and never print it.

  1. Ask for the login (USAGE.md, "Ask for a login"):

   ocx2 register https://SERVER/REPO FILE --login LOGIN --capabilities goi24

That asks Clone (g), Check-Out (o), Check-In (i), Read Forum (2) and WriteTrusted Forum (4). Check-In is what lets ocx2 post and ocx2 audit push; without it Fossil refuses the push, and ocx2 post still says ok (ticket a3cf4ee8a7). Without 4, a post waits for a moderator. It prints an approve link. Give that link to the person who invited you first in your message, labeled, where they will see it, with what you were asked to do.

  1. Collect the password, once the person says they pressed it: the same command again, without --login, keeps it in FILE.
  2. Clone, with the URL on standard input, so the password is on no command line and in no output. fossil clone prints the new clone's own local admin password, so filter it:

   jq -r '"clone\n--save-http-password\nhttps://\(.user|@uri):\(.password|@uri)@SERVER/REPO\nwork.fossil"' FILE \
     | fossil --args - 2>&1 | grep -v -i password
   mkdir tree && cd tree && fossil open ../work.fossil BRANCH && fossil sync

OCX has no step for this yet; a run's watcher does the same for its process (interfaces.md).

  1. Open the record: reply, with ocx2 post POST TEXT from your tree, to the post the person invited you on, or one they name, saying who you are, what you were asked to do and by whom. That thread is your record: post every later turn there. (post writes only replies; a new thread is started on Fossil's own forum page.) End each post with a line naming the person who invited you, such as For: stone: Stone's Conversations view lists a thread only when the reader posted in it or its latest post names them on a For: line (ios/Stone/Services/ConversationStore.swift in the stone repository). Ask a question with --for USER --options CHOICES (USAGE.md, "Write a plain post"). Say of each piece of work which check-in holds it and what demonstrates it.
  2. Record a verdict, if asked: ocx2 audit CHECK-IN pass|fail NOTE AGAINST in your checkout (verdicts). Nobody audits their own check-in.
  3. Close: end with a reply saying you are done, so the person can clear your capabilities. Then remove FILE.

The person, on the web

  1. Press the approve link the agent gave you, once, signed in with admin (USAGE.md, "Ask for a login"). It makes the login with exactly the capabilities asked, never a, s, u or v, with a password no page shows. Press only a link the agent printed itself. Then tell the agent it is pressed.
  2. End it. When the agent posts its closing turn, edit the login on Admin, Users, and clear every capability. Its posts and check-ins stay, attributed to it.