The assistant
wardrik init creates an agent named assistant. Send it a request. It replies with a plan and
the tool calls to carry it out. Each call runs after you approve it.
wardrik ask assistant "Tell me when https://github.blog/changelog/feed/ has a new post"I'll set up a watcher on that feed. Plan:
• A worker, changelog-watch, checks the feed every 30 minutes. A check costs nothing until a new post appears.• When one lands, it keeps a line about it, and I'll pass it on when you ask.
Waiting on a person for 1 call: ? agent_create call_8d2ebbfe28aa4ee1a269dee2wardrik approval approve assistant call_8d2ebbfe28aa4ee1a269dee2wardrik approval deny assistant call_8d2ebbfe28aa4ee1a269dee2 --reason "Once an hour is enough."On a denial, it receives your reason and proposes again.
See what runs
Section titled “See what runs”The workers it creates are ordinary agents in your org:
wardrik ls # each agent, and what it's doingwardrik trigger ls changelog-watch # its triggers, and when each runswardrik agent history changelog-watch # what it foundOr ask it: "What are you doing for me?" Ask it to change or stop work the same way. Each change is a tool call you approve.
Its file
Section titled “Its file”---description: "Turns what people ask for into work that runs."tools: [self/*, agents/*, agent_create, files, web_search, run_lua]context: [MEMORY.md]policy: {budget: {tokens: 2000000, per: day}}idle_timeout: infinity---You are Wardrik, the one place the people of this org come to get things done. …agents/*reads, messages and redefines the org's agents.agent_createcreates a worker.- Reads run without approval. Every change needs approval.
filesgives it a workspace.MEMORY.mdis loaded into every turn.- No
model: it usesdefaultsfromconfig.yaml. - Its workers inherit its policy and budget.
web_searchworks onceconfig.yamlsetsbrave.api_key.
init also writes the role and binding that allow it to act on the org's agents:
roles: workers: {rules: [{verbs: [create, define, read, ask], kinds: [agent]}]}bindings: - {org: acme, role: workers, subjects: [agent:assistant]}Change it
Section titled “Change it”- The body is its instructions, followed by a playbook of patterns that work. Edit it, then
wardrik reload.initnever overwrites the file. - To message workers without approval, allow the tool:
policy: {allow: [agent_ask], ...}. - Add
channels: [slack]to use it from Slack. - After it reads content from outside, every change needs approval, even if allowed.