Skip to content

docs(blog): Zombie Panes and Lazy Reconnect#40

Merged
usirin merged 3 commits into
mainfrom
umut/blog-zombie-panes
Feb 16, 2026
Merged

docs(blog): Zombie Panes and Lazy Reconnect#40
usirin merged 3 commits into
mainfrom
umut/blog-zombie-panes

Conversation

@usirin

@usirin usirin commented Feb 16, 2026

Copy link
Copy Markdown
Member

Summary

🤖 Generated with Claude Code

usirin and others added 3 commits February 15, 2026 18:22
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude

claude Bot commented Feb 16, 2026

Copy link
Copy Markdown

Reviewed commit: 99a0429

Issues Found

🔴 Broken Image Reference

docs/blog/2026-02-15-zombie-panes-and-lazy-reconnect.md:14

![ctx](../images/ctx-banner.png)

The referenced image /home/runner/work/kampus/kampus/docs/images/ctx-banner.png does not exist. This will result in a broken image when the blog post is rendered.

Fix: Either create the missing image or remove the reference.


🔴 Incomplete TOML Update

zensical.toml

The PR adds blog post #10 but the zensical.toml file was not updated. The current file only lists blog posts 1-8 in the nav structure (lines 10-17), closing the Blog section at line 18.

The PR diff shows an attempt to add entries 9-10 and a Plans section:

+    { "9. The Great Deletion" = "blog/2026-02-15-the-great-deletion.md" },
+    { "10. Zombie Panes and Lazy Reconnect" = "blog/2026-02-15-zombie-panes-and-lazy-reconnect.md" },
+  ]},
+  { "Plans" = [
+    { "Session Resurrection" = "plans/2026-02-12-session-resurrection.md" },
+  ]}

However, this creates a mismatch with the actual state of the repo. Post #9 is referenced in blog/index.md but the corresponding blog file is not in this PR.

Fix: Update zensical.toml to properly include all blog entries. Verify whether post #9 and the Plans section should be in this PR or a different one.


Documentation Quality

The blog post itself is well-written with clear technical explanations. The lazy reconnection strategy (deriving connection state from this.terminals.has(ptyId) and keeping channels alive) is architecturally sound. The candid discussion of trade-offs (no retry limit, lost keystroke on failure) is appropriate for a build journal.


Summary

Two blocking issues:

  1. Missing image file - broken image in rendered docs
  2. TOML configuration mismatch - the navigation update is incomplete or includes references to files not in this PR

@claude

claude Bot commented Feb 16, 2026

Copy link
Copy Markdown

Reviewed commit: 00de631

Issues Found

🔴 Critical: Broken References

  1. Missing blog post Add story tagging feature to Library #9 (docs/blog/2026-02-15-the-great-deletion.md)

    • Referenced in index.md:123 and zensical.toml:18
    • Referenced multiple times in the new blog post (lines 176)
    • The post discusses "Post 9 deleted 1,284 lines..." but post Add story tagging feature to Library #9 doesn't exist in this PR
  2. Missing image (docs/images/ctx-banner.png)

    • Referenced on line 14 of the new blog post
    • Will cause broken image on the published page

⚠️ Content Inconsistencies

  1. Index title mismatch

    • Index header changed from "7+1 Part Build Journal" to just "A Build Journal"
    • This now includes posts 9 and 10, making the old numbering scheme obsolete
    • The change is fine, but note that the total is now 10+ posts, not 7+1
  2. Blog post ordering in zensical.toml

📝 Technical Content Notes

The blog post content itself (post #10) is well-written documentation. No code changes, so no bugs or security concerns. However:

  • Post describes reconnection logic without actual code in the PR
  • References "automated review" that caught paneSizes issues, but that review isn't visible
  • Claims about deleted code ("removed SessionExitMessage") can't be verified without seeing the implementation

Recommendation

Block merge until broken references are resolved:


Review powered by Claude Code

@claude

claude Bot commented Feb 16, 2026

Copy link
Copy Markdown

Reviewed commit: 08bb935

Critical Issue

Missing referenced blog post: The blog index and navigation reference post #9 "The Great Deletion" at blog/2026-02-15-the-great-deletion.md, but this file does not exist in the PR or repository.

Files affected:

  • docs/blog/index.md:123 - references the missing post
  • zensical.toml:18 - navigation entry for missing post

Impact: Broken links in both the blog index and site navigation. Users clicking these links will get 404 errors.

Fix required: Either:

  1. Remove references to post Add story tagging feature to Library #9 from both files, OR
  2. Include the missing blog post file in this PR

Documentation Issues

Inconsistent header in blog index: Changed from "A 7+1 Part Build Journal" to "A Build Journal" (line 1), but this was likely intentional given the open-ended nature of the series.

Missing Plans directory reference: zensical.toml:21-22 adds a "Plans" section referencing plans/2026-02-12-session-resurrection.md. Verify this file exists to avoid another broken link.

Content Review

The blog post content itself is well-written and documents the reconnection strategy clearly. No security, performance, or code quality issues in the markdown content.

Technical accuracy: The described lazy reconnect pattern (keeping channel mappings, deriving connection state, using keystrokes as reconnect triggers) is sound for the use case.

Known limitations documented: The post transparently acknowledges missing retry limits, lost keystrokes on failure, and lack of automated tests - good engineering practice.


Recommendation: Do not merge until the missing blog post issue is resolved.

@usirin usirin merged commit 99a9cd6 into main Feb 16, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant