<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rulesets/working/triage-telegram-segfault-rootcause/note-0721-correction.org, branch main</title>
<subtitle>Claude Code skills, rules, and language bundles
</subtitle>
<id>https://git.cjennings.net/rulesets/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/rulesets/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/'/>
<updated>2026-07-28T23:50:27+00:00</updated>
<entry>
<title>chore: remove the completed telegram working dirs</title>
<updated>2026-07-28T23:50:27+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-28T23:50:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=614e3b1dc664c913788a591c74f25701bad1a62e'/>
<id>urn:sha1:614e3b1dc664c913788a591c74f25701bad1a62e</id>
<content type='text'>
Both dirs are finished-task artifacts now that the merge and the liveness check have landed. Every file is already in git history via b19d420 and bff0138. Deleting the working copies loses nothing, and a copy under assets/ would only duplicate what git holds. Nothing links to either dir.
</content>
</entry>
<entry>
<title>fix(triage): pass the TL object to loadChats, not a bare symbol</title>
<updated>2026-07-28T19:07:05+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-28T19:07:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/rulesets/commit/?id=bff01385a17fd8435f202d70362db13a139774d6'/>
<id>urn:sha1:bff01385a17fd8435f202d70362db13a139774d6</id>
<content type='text'>
Step 1 called (telega--loadChats 'main). That's a raw TL wrapper, so it drops its argument into the request as :chat_list untouched. The symbol went out on the wire as main, and the C parser aborts on any value it can't start. Every telegram sweep has been killing telega-server. Both call sites now pass '(:@type "chatListMain"), which is what telega's own callers use.

I merged this with the down-is-launch fix parked since 2026-07-24 rather than applying either alone. The parked file still carried the bad call, and its new prose cited the segfault gotcha as the reason docker mode is mandatory. That's the same gotcha this rewrites to say the deaths were our own bad argument. Shipping them in sequence would have left the file arguing against itself, so I reconciled the prose in both places and kept the docker requirement on its own evidence.

The gotcha keeps two caveats. A crash with no triage verb running needs its own investigation. And a short chat list is a real short list, because 19 was the true account size measured at both ends, not a scan truncated by this bug.
</content>
</entry>
</feed>
