<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kaagum/kaakaa/tools.scm, branch main</title>
<subtitle>Tiny, security-focused AI agent in Guile</subtitle>
<id>http://git.systemreboot.net/kaagum/atom?h=main</id>
<link rel='self' href='http://git.systemreboot.net/kaagum/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/'/>
<updated>2026-04-12T17:09:49+00:00</updated>
<entry>
<title>Rename project to kaagum.</title>
<updated>2026-04-12T17:09:49+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-12T17:09:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=fe32909d58a59407350043851970cb3004ad351e'/>
<id>urn:sha1:fe32909d58a59407350043851970cb3004ad351e</id>
<content type='text'>
kaakaa reminds too many Europeans of shit. 😅
</content>
</entry>
<entry>
<title>Raise &amp;tool-call-parse-failure when required arguments are missing.</title>
<updated>2026-04-12T03:18:39+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-12T03:18:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=968c5f2c9df53139729aa5356ad5a802d1c88f37'/>
<id>urn:sha1:968c5f2c9df53139729aa5356ad5a802d1c88f37</id>
<content type='text'>
spec-&gt;tool-call promises to raise &amp;tool-call-parse-failure, not
&amp;tool-call-failure.
</content>
</entry>
<entry>
<title>Let tool kinds be constants, rather than functions.</title>
<updated>2026-04-12T03:11:35+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-12T03:10:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=be1495966157c20bce6c248ce3858baf9960e335'/>
<id>urn:sha1:be1495966157c20bce6c248ce3858baf9960e335</id>
<content type='text'>
It makes little sense for a tool kind to be a function of the tool
call arguments.
</content>
</entry>
<entry>
<title>Make tool parameters optional by default.</title>
<updated>2026-04-12T02:52:20+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-12T02:52:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=62ee3ba4fd36781fa478c7f900f5bbb981244a0b'/>
<id>urn:sha1:62ee3ba4fd36781fa478c7f900f5bbb981244a0b</id>
<content type='text'>
It's more likely a tool will have one or two required parameters
followed by many optional parameters.
</content>
</entry>
<entry>
<title>Implement persistent tool permissions.</title>
<updated>2026-04-09T23:28:00+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-09T23:21:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=e984da1514b95c7e5d655166666b23ff98749239'/>
<id>urn:sha1:e984da1514b95c7e5d655166666b23ff98749239</id>
<content type='text'>
We store a list of allowed and rejected tools in the session state,
and pass it on to spec-&gt;tool-call so it can set an appropriate tool
call status.

Then, request permission from the client only if the tool call hasn't
been pre-approved or pre-rejected.
</content>
</entry>
<entry>
<title>Document pending-approval tool call status.</title>
<updated>2026-04-09T23:24:20+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-09T21:56:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=35fc06704b815eceae9de3ea4caa490c00662248'/>
<id>urn:sha1:35fc06704b815eceae9de3ea4caa490c00662248</id>
<content type='text'>
pending-approval was missed out earlier in a documentation bug.
</content>
</entry>
<entry>
<title>Sanitize arguments in spec-&gt;tool-call.</title>
<updated>2026-04-09T00:18:01+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-08T23:40:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=d57a26657ac4e3926df296950cafaa76091a7078'/>
<id>urn:sha1:d57a26657ac4e3926df296950cafaa76091a7078</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Check for tool existence in spec-&gt;tool-call.</title>
<updated>2026-04-08T23:50:49+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-08T23:13:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=4d2d0df1295d3baf8737916dcc4cb268855d4772'/>
<id>urn:sha1:4d2d0df1295d3baf8737916dcc4cb268855d4772</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Parse tool call arguments early.</title>
<updated>2026-04-08T22:53:03+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-08T22:26:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=90a4d6cb32fd363d1c4fa97cbdd15365b1540db4'/>
<id>urn:sha1:90a4d6cb32fd363d1c4fa97cbdd15365b1540db4</id>
<content type='text'>
Parse tool call arguments in spec-&gt;tool-call and raise an exception on
failure.
</content>
</entry>
<entry>
<title>Raise &amp;tool-call-parse-failure from spec-&gt;tool-call.</title>
<updated>2026-04-08T22:52:58+00:00</updated>
<author>
<name>Arun Isaac</name>
</author>
<published>2026-04-08T19:47:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.systemreboot.net/kaagum/commit/?id=fbb9fd3f749b79e905c25b4d24b3d7e44369636f'/>
<id>urn:sha1:fbb9fd3f749b79e905c25b4d24b3d7e44369636f</id>
<content type='text'>
</content>
</entry>
</feed>
