PicoClaw
PicoClaw adds a forward-progress guard after fenced code could hang message splitting
PicoClaw’s open fix falls back to a bounded raw split when an oversized code-fence header would otherwise reconstruct an equal or larger remainder forever. The patch adds ordinary, boundary and multibyte regressions, plus a live agent smoke.
sipeed/picoclaw PR #3295 is the inspected primary source: “fix(channels): prevent SplitMessage hang on oversized fence headers.” PR #3295 addresses a shared channel splitter case where an opening fenced-code info string is longer than the channel limit. The normal close-and-reopen algorithm can choose a split point inside that header, prepend the complete header to the remaining tail, and restart from zero without consuming body content. The proposed fallback performs a bounded raw split when reconstruction cannot make progress. The linked reproducer uses a 500-character fence header and a 400-character channel limit, matching IRC-scale constraints. The author reports package tests, race-enabled SplitMessage tests, and a live PicoClaw agent smoke with DeepSeek V4 Flash. Separate PR #3297 moves remote sender metadata out of system instructions and defaults remote execution off, while PR #3299 adds a native Exa search provider.
The facts
- sipeed/picoclaw PR #3295 was created 2026-07-26T03:00:46Z and updated 2026-07-26T08:57:27Z; state is open. - sipeed/picoclaw returned 29729 GitHub stars, 60 open issues, default branch main, and last push 2026-07-23T18:29:33Z. - Latest tagged-release baseline checked: nightly published 2026-07-02T01:26:53Z. - PR #3295 addresses a shared channel splitter case where an opening fenced-code info string is longer than the channel limit. - The normal close-and-reopen algorithm can choose a split point inside that header, prepend the complete header to the remaining tail, and restart from zero without consuming body content. - The proposed fallback performs a bounded raw split when reconstruction cannot make progress. - The linked reproducer uses a 500-character fence header and a 400-character channel limit, matching IRC-scale constraints. - The author reports package tests, race-enabled SplitMessage tests, and a live PicoClaw agent smoke with DeepSeek V4 Flash.
What changed
PR #3295 addresses a shared channel splitter case where an opening fenced-code info string is longer than the channel limit. The normal close-and-reopen algorithm can choose a split point inside that header, prepend the complete header to the remaining tail, and restart from zero without consuming body content. The proposed fallback performs a bounded raw split when reconstruction cannot make progress. The linked reproducer uses a 500-character fence header and a 400-character channel limit, matching IRC-scale constraints. The author reports package tests, race-enabled SplitMessage tests, and a live PicoClaw agent smoke with DeepSeek V4 Flash. Separate PR #3297 moves remote sender metadata out of system instructions and defaults remote execution off, while PR #3299 adds a native Exa search provider. The primary record was inspected with its timestamps, state, body, and adjacent project records. ClawCharts supplied the assignment list; it does not establish the claim.
Why it matters
Text framing code is protocol code. A single model-generated fence label should not monopolize a channel worker forever, and preserving Markdown is subordinate to guaranteed progress. The useful invariant is simple enough to test generatively: each iteration must consume input and every chunk must stay bounded. The operational test is whether persisted state, visible control, and runtime behavior agree at the handoff where authority changes.
Current
The fix was open and mostly AI-generated with human verification declared. PicoClaw’s latest stable tag was v0.3.1; no inspected release contains the patch. The original issue URL was historically used as prior supporting evidence, so this edition uses the distinct implementation PR as its primary source rather than relabeling the report as new. Repository metadata, current issues and pull requests, release baseline, Hacker News discovery, and the rendered ranking row were checked. Weak search residue and historically used source spines were not promoted.
Evidence
The primary URL is https://github.com/sipeed/picoclaw/pull/3295. Supporting links are inspected current project records that establish implementation, adjacent direction, or boundary conditions. Dates, reproductions, test totals, and deployment observations remain attributed to their authors unless this brief explicitly says they were independently rerun.
Source boundary
Open work is described as open, closed work as closed, and operator reports as reports. Closure can reflect a documentation decision or triage outcome; it is not silently translated into a shipped code fix. Ranking explains why the project was scanned; it does not prove correctness, adoption, or package behavior.
Operator take
Add property tests over Unicode, malformed fences, zero or tiny limits, and adversarial headers. Monitor per-message split duration and cancel boundedly; a parser that promises pretty chunks must still return. Preserve a before-state receipt and verify the narrowest invariant where state changes. Do not broaden permissions or delete state merely because the visible symptom is inconvenient.
Caveat
Public project records are mutable. Source state was captured at publication time, and later revisions may change status, scope, or evidence. No source here authorizes automatic mutation of a reader’s deployment.
Source inspected; source state, environment, and release boundary remain explicit.