<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pantograph.git/libpanto-lua, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://code.tjp.lol/pantograph.git/atom?h=main</id>
<link rel='self' href='https://code.tjp.lol/pantograph.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/'/>
<updated>2026-07-07T18:15:28Z</updated>
<entry>
<title>Move libpanto projects to libpantograph dependency</title>
<updated>2026-07-07T18:15:28Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-07-07T17:29:23Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=621d7fee0ace729f8d44126032d2c6e13f72ee7f'/>
<id>urn:sha1:621d7fee0ace729f8d44126032d2c6e13f72ee7f</id>
<content type='text'>
Remove the in-repo libpanto sources and binding projects from pantograph.
Consume libpantograph through the Zig package URL at
code.tjp.lol/libpantograph.git, including the Lua module artifact used by
CLI extensions.
</content>
</entry>
<entry>
<title>segfault fix</title>
<updated>2026-07-03T19:24:31Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-07-03T19:01:25Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=3ad5d90d0de2bfca6ef17b10202df070e660e3c3'/>
<id>urn:sha1:3ad5d90d0de2bfca6ef17b10202df070e660e3c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>support pending submissions on an Agent object</title>
<updated>2026-07-03T19:14:44Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-07-03T19:01:25Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=51bbb62ce5d82c460c75adfc03813e84ce5183d3'/>
<id>urn:sha1:51bbb62ce5d82c460c75adfc03813e84ce5183d3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stage and apply event-field overrides at tool lifecycle boundaries</title>
<updated>2026-07-03T18:10:09Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-07-02T16:29:53Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=c4d7f70ff831cfcdad0f2a6224f9a14f86905de6'/>
<id>urn:sha1:c4d7f70ff831cfcdad0f2a6224f9a14f86905de6</id>
<content type='text'>
Stage writable event-field overrides by tool call id so they can be applied at the correct point in the turn lifecycle. Capture input overrides from tool_call_complete, capture output overrides from tool_result, and clear staged overrides defensively at turn start and shutdown.

Also honor user_message text overrides when starting a turn, add the helper that applies staged overrides to the agent at dispatch boundaries, and cover the behavior with tests for staged input/output overrides.
</content>
</entry>
<entry>
<title>libpanto fixes</title>
<updated>2026-06-19T20:55:35Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-06-19T20:53:03Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=81ddb61dcfcc9bc85585f262bf303e1a9da507b0'/>
<id>urn:sha1:81ddb61dcfcc9bc85585f262bf303e1a9da507b0</id>
<content type='text'>
- ensuring stream.next() sequences are interruptible
- Agent.run() takes any user message, not just chat text
</content>
</entry>
<entry>
<title>display fixes: markdown rendering, tool-specific components</title>
<updated>2026-06-16T17:17:14Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-06-16T04:11:53Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=f8c6d45755acb5abf9ac68931268b7945da0fae0'/>
<id>urn:sha1:f8c6d45755acb5abf9ac68931268b7945da0fae0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fuzzy selectors for models and reasoning levels</title>
<updated>2026-06-12T17:06:18Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-06-12T16:38:28Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=7343898524f9f692620f4cb276f56cfde30f6269'/>
<id>urn:sha1:7343898524f9f692620f4cb276f56cfde30f6269</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libpanto API fixes</title>
<updated>2026-06-11T15:23:28Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-06-11T15:08:42Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=e2477f7d2d2a4eab870a2bd61534cfd146907915'/>
<id>urn:sha1:e2477f7d2d2a4eab870a2bd61534cfd146907915</id>
<content type='text'>
- FSJSONLStore: don't require `cwd`, instead panto CLI provides it in
  the session metadata
- Lua: expose the `SessionStore` interface and the `FSJSONLStore` and
  `NullStore` implementations
- C: use idiomatic `const char *` for incoming strings
- C: expose the `FSJSONLStore` and `NullStore` implementations
</content>
</entry>
<entry>
<title>Add addUserText helper; update all call sites</title>
<updated>2026-06-10T18:17:27Z</updated>
<author>
<name>t</name>
<email>t@tjp.lol</email>
</author>
<published>2026-06-10T16:06:07Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/pantograph.git/commit/?id=bb85e867bc938138f29fb45230169af1ba60761c'/>
<id>urn:sha1:bb85e867bc938138f29fb45230169af1ba60761c</id>
<content type='text'>
Conversation.addUserMessage now takes a []ContentBlock (symmetric with
addAssistantMessage). Introduce a thin addUserText wrapper in agent.zig
for the plain-text case and update every call site in agent.zig and
anthropic_messages_json.zig accordingly.
</content>
</entry>
</feed>
