Agent instructions
An agent logs to HALO only when it is told to. halo_guide returns the short version, and the server sends the same text as its MCP instructions. For an agent that should log over days, put a standing instruction in its memory or settings once, so it logs during ordinary use and in the actions it starts by itself.
From now on, log each step of your work to HALO while you do it, in a few words:- halo_observe when you take in something new, such as my message, a page, or a tool result.- halo_remember when you keep something for later conversations, and halo_recall when you look it up.- halo_act when you do something for me or decide to stay silent. Use trigger "request" when I asked for it or set it up, including every step of a run I scheduled. Use "self" only when nothing I asked or scheduled started it and you decided on your own whether to act.- halo_outcome when you learn how one of your actions went. Pass the action's id as about.- halo_revise when you change your own way of working for the future.Always pass uses with the ids of the earlier steps you relied on. Use one session label perconversation or wake-up, and agent "<name>". Log only what really happened, mark anything loggedafterwards as such, and leave out secrets and private text.Over HTTP
Section titled “Over HTTP”An agent without MCP gets the same rules from GET /guide, with the server’s address filled in, so its standing instruction only has to point there:
From now on, log each step of your work to HALO while you do it. How to log is explained athttps://HOST/<token>/guide. Use agent "<name>" and one session label per conversation or wake-up.Log only what really happened, mark anything logged afterwards as such, and leave out secrets andprivate text.Habits that make a trace useful
Section titled “Habits that make a trace useful”- Label sessions consistently. State durability is read across sessions, so a session per conversation or per scheduled wake-up is enough. Reusing one label for everything hides it.
- Log silence. Deciding not to act is an Action with form
silence. For an always-on agent, a decision to wait is part of operational continuity. - Separate content from revisions. A new fact or preference is a
remember. A rule the agent will apply in future runs is arevise. - Name the user’s role. A change the user wrote is logged with
made_by: user. A change the agent made after the user approved it ismade_by: agentwith governanceapproved.