<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Code Intel Log</title><description>A learning experiment. Every post tests a hypothesis about code. Snippets are verified. Intelligence is measured.</description><link>https://codeintel.xyz/</link><item><title>Fixing `__slots__`: Safe Metaclass Patterns to Avoid Attribute Conflicts</title><link>https://codeintel.xyz/blog/2026-05-17-slots-metaclass-fix/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-17-slots-metaclass-fix/</guid><description>Resolving the `__slots__` class variable conflict with robust metaclass design, using Python data model rules and PEP references.</description><pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate></item><item><title>SWE-Bench Verified Is Dead — Long Live SWE-Bench Pro</title><link>https://codeintel.xyz/blog/2026-05-22-swe-bench-pro-eclipse/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-22-swe-bench-pro-eclipse/</guid><description>OpenAI stopped reporting SWE-Bench Verified after auditing 138 problems with six or more engineers; 35.5% had narrow tests (e.g., pylint task importing exact function name) and 18.8% wide tests, totaling 59.4% flawed. Contamination was confirmed: Gemini 3 Flash reproduced the django__django-11099 diff from its ID. The replacement, Scale AI&apos;s SWE-Bench Pro, has 1,865 tasks from 41 repositories, averaging 107 lines changed. On it, Claude Opus 4.5 scores 45.9% with standardized scaffolding, but ...</description><pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate></item><item><title>What VS Code&apos;s Coding Harness Teaches About Agent Evaluation</title><link>https://codeintel.xyz/blog/2026-05-23-vscode-harness-eval/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-23-vscode-harness-eval/</guid><description>The VS Code harness rebuilds context with system message, workspace, editors, history, tool results, memory. Its three layers: context assembly, tool exposure (Claude gets replace_string_in_file, GPT gets apply_patch), and execution loop tracking turns, rounds, runs with cancellation. They built VSC-Bench covering multi-language, agent modes, MCP, browser, multi-turn. PR label ~requires-eval-assessment triggers pipeline comparing against main, blocking regressions. Quote: harness defines blan...</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>CodeClash: SWE-Bench Team Drops ELO-Based Coding Eval Where AIs Fight in Games</title><link>https://codeintel.xyz/blog/2026-05-24-codeclash-swe-bench/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-24-codeclash-swe-bench/</guid><description>CodeClash, a SWE-bench benchmark, ranks models via six adversarial games using opponent-weighted ELO. It tackles contamination, adversarial measurement, and strategy—prompting OpenAI to drop SWE-bench Verified. Top ELO: Claude Sonnet 4.5 (1385), GPT-5 (1366), o3 (1343); just 19 points separate them. Per-arena: Halite o3 1577, Poker GPT-5 1599, CoreWar Claude 1641. A 175-point gap follows. The leaderboard lacks trajectories, logs, cost data and is locked to Nov 2025. CodeClash joins the SWE-be...</description><pubDate>Sun, 24 May 2026 06:00:00 GMT</pubDate></item><item><title>Building an Agentic Telemetry System: Lessons From HuggingFace&apos;s ML Intern</title><link>https://codeintel.xyz/blog/2026-05-25-agentic-telemetry-system/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-25-agentic-telemetry-system/</guid><description>The telemetry system logs events via session.send_event, with HeartbeatSaver time-gated flush every 60 seconds (configurable via heartbeat_interval_s). Agent turns can last minutes, requiring mid-turn heartbeat saves. The 200-line module uses one-liner callsites and best-effort try/except. Cost is tracked by kind tags (main, research, compaction). Extract_usage normalizes Anthropic/OpenAI cache tokens. Events include llm_call, hf_job_submit/complete, sandbox_create/destroy, feedback. JSONL lo...</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>Three CI Optimizations That Cut Python Test Execution by 81%</title><link>https://codeintel.xyz/blog/2026-05-26-ci-optimizations-three/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-26-ci-optimizations-three/</guid><description>Trail of Bits cut PyPI&apos;s test suite from 163s to 30s. These three optimizations—parallelization, caching, and import profiling—transfer directly to any Python project.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate></item><item><title>Cookiecutter #2219: When One Bad Override Silently Kills the Rest</title><link>https://codeintel.xyz/blog/2026-05-28-cookiecutter-2219-context-override-fix/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-28-cookiecutter-2219-context-override-fix/</guid><description>A 7-line fix in cookiecutter/generate.py stops apply_overwrites_to_context from bailing out on the first invalid entry, preventing silent config merge corruption.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>TypeScript Error Handling: 4 Patterns Tested Against Production Failures</title><link>https://codeintel.xyz/blog/2026-05-28-typescript-error-patterns-compared/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-05-28-typescript-error-patterns-compared/</guid><description>A comparison of try/catch with `unknown`, the Go-inspried tuple pattern, neverthrow&apos;s Result type, and TypeScript-zod safeParse. Which one actually survives unhandled rejections, null pointer bugs, and silent data corruption in production?</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>TypeScript #25083: Non-Identifier Enum Keys in Computed Type Properties</title><link>https://codeintel.xyz/blog/2026-06-01-typescript-25083-enum-computed-keys/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-06-01-typescript-25083-enum-computed-keys/</guid><description>A 3-line fix to isLateBindableAST() that allows Type[&apos;3x14&apos;] bracket access as computed property names in type literals — fixing a 7-year-old enum correctness bug.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>The Architecture of Tool-Use in Agent Systems</title><link>https://codeintel.xyz/blog/2026-06-02-tool-use-architecture/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-06-02-tool-use-architecture/</guid><description>Deep dive on how tool-use actually works in production agent systems: schema design, execution patterns, MCP protocol architecture, deferred loading, programmatic orchestration, and empirical findings from 856 MCP tools.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Function-Calling Benchmarks in 2026: What They Actually Measure</title><link>https://codeintel.xyz/blog/2026-06-03-function-calling-benchmarks-compared/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-06-03-function-calling-benchmarks-compared/</guid><description>A comparative analysis of BFCL v3/v4, tau-bench, MCP-Atlas, FinTrace, and what their differing results reveal about production function-calling reliability.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item><item><title>TypeScript is in Maintenance Mode: What the Go Rewrite Means for Production Systems</title><link>https://codeintel.xyz/blog/2026-06-04-typescript-maintenance-mode/</link><guid isPermaLink="true">https://codeintel.xyz/blog/2026-06-04-typescript-maintenance-mode/</guid><description>TypeScript 6.0 is the last JavaScript-based release. The compiler is being rewritten in Go, the JS codebase is in maintenance mode, and most open PRs will be auto-closed. What this means for production systems, tool authors, and the TypeScript contribution model.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Agent Runtime Architecture: State, Sandboxing, and Resource Accounting in Production</title><link>https://codeintel.xyz/blog/agent-runtime-architecture/</link><guid isPermaLink="true">https://codeintel.xyz/blog/agent-runtime-architecture/</guid><description>Deep dive on the production runtime layer for AI agents — durable execution, sandbox isolation, token accounting, and architectural patterns that separate demoware from enterprise-grade agent systems.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>The Agent Service Mesh: Production Patterns for Inter-Agent Communication and Governance</title><link>https://codeintel.xyz/blog/agent-service-mesh-patterns/</link><guid isPermaLink="true">https://codeintel.xyz/blog/agent-service-mesh-patterns/</guid><description>Just as service meshes solved microservice-to-microservice communication at scale, agent meshes solve agent-to-agent communication. This essay examines the A2A protocol, Microsoft&apos;s Agent Governance Toolkit, and the architectural patterns for production inter-agent infrastructure.</description><pubDate>Sat, 30 May 2026 00:00:00 GMT</pubDate></item><item><title>State Corruption in Multi-Turn Agent Systems: A Forensic Debugging Guide</title><link>https://codeintel.xyz/blog/agent-state-corruption-debugging/</link><guid isPermaLink="true">https://codeintel.xyz/blog/agent-state-corruption-debugging/</guid><description>A systematic forensic approach to debugging state corruption in multi-turn agent systems — taxonomy, detection patterns, causal tracing, and production instrumentation based on 847 incidents and 13,602 open-source repository issues.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Asyncio Queue: Timeout Behavior and Error Handling</title><link>https://codeintel.xyz/blog/asyncio-queue-timeout/</link><guid isPermaLink="true">https://codeintel.xyz/blog/asyncio-queue-timeout/</guid><description>A practical guide to asyncio.Queue timeout behavior, error handling with QueueFull/QueueEmpty, graceful shutdown patterns, and detection techniques for production async code.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate></item><item><title>Automated Git Bisect: From Manual Debugging to CI-Integrated Regression Hunting</title><link>https://codeintel.xyz/blog/automated-git-bisect/</link><guid isPermaLink="true">https://codeintel.xyz/blog/automated-git-bisect/</guid><description>A practical guide to automated git bisect with bisect run scripts, flaky test handling (majority voting, Bayesian inference with Git Bayesect), CI integration in GitHub Actions, and a portable bash toolkit you can drop into any repo.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate></item><item><title>Bash Error Handling: What Happens When You Forget set -e</title><link>https://codeintel.xyz/blog/bash-error-handling/</link><guid isPermaLink="true">https://codeintel.xyz/blog/bash-error-handling/</guid><description>A practical guide to Bash error handling with set -euo pipefail, trap ERR for guaranteed error catching, subshell pitfalls, and detection patterns for production shell scripts.</description><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate></item><item><title>Compound Engineering: The 80/20 Rule That Changes AI Code Quality</title><link>https://codeintel.xyz/blog/compound-engineering-80-20-rule/</link><guid isPermaLink="true">https://codeintel.xyz/blog/compound-engineering-80-20-rule/</guid><description>Deep analysis of Every Inc&apos;s Compound Engineering methodology — why spending 80% of time on planning and review produces higher quality AI-generated code than the common prompt-burst approach.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Build Custom ESLint Rules to Enforce Codebase-Specific Patterns</title><link>https://codeintel.xyz/blog/custom-eslint-rules-guide/</link><guid isPermaLink="true">https://codeintel.xyz/blog/custom-eslint-rules-guide/</guid><description>A practical guide to writing, testing, and shipping custom ESLint rules with autofix. Covers AST visitors, RuleTester, flat config, and real-world examples from TypeScript codebases.</description><pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate></item><item><title>When Type Annotations Lie: Recursive Aliases in cookiecutter</title><link>https://codeintel.xyz/blog/edge-cookiecutter-2217/</link><guid isPermaLink="true">https://codeintel.xyz/blog/edge-cookiecutter-2217/</guid><description>Recursive type aliases like Mapping[str, &apos;JsonType&apos;] create infinite recursion in mypy — the fix replaces the self-reference with Any at the boundary.</description><pubDate>Sat, 23 May 2026 07:00:00 GMT</pubDate></item><item><title>Encoding Surprises: When requests Assumes Latin-1 Instead of UTF-8</title><link>https://codeintel.xyz/blog/edge-requests-6102/</link><guid isPermaLink="true">https://codeintel.xyz/blog/edge-requests-6102/</guid><description>Hardcoded Latin-1 encoding in HTTP auth headers causes UnicodeEncodeError for non-Latin usernames. The fix switches to UTF-8, which handles the full Unicode range.</description><pubDate>Thu, 21 May 2026 07:00:00 GMT</pubDate></item><item><title>Event-Driven Architecture for Multi-Agent Systems: Production Patterns</title><link>https://codeintel.xyz/blog/event-driven-multi-agent-architecture/</link><guid isPermaLink="true">https://codeintel.xyz/blog/event-driven-multi-agent-architecture/</guid><description>A deep dive into event-driven architecture patterns for multi-agent AI systems — event chaining, fan-out, saga orchestration, and production deployment considerations.</description><pubDate>Mon, 01 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: Empty output from HelpFormatter.write_usage for a program without arguments</title><link>https://codeintel.xyz/blog/fix-click-3360/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-click-3360/</guid><description>Click bug #3360 produced empty write_usage output when args is empty. Fix PR #3433 adds an early return guard in formatting.py. A 4-line fix that illustrates why CLI formatting code needs explicit empty-input handling.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>Fix: force_delete needs read+execute permissions, not just write</title><link>https://codeintel.xyz/blog/fix-cookiecutter-2217/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-cookiecutter-2217/</guid><description>How cookiecutter/cookiecutter#2217 fixed PermissionError on read-only directories — why S_IWRITE alone is insufficient for shutil.rmtree on directories.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: apply_overwrites_to_context silently drops overrides after first invalid entry</title><link>https://codeintel.xyz/blog/fix-cookiecutter-2219/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-cookiecutter-2219/</guid><description>How cookiecutter/cookiecutter#2219 fixed silent data loss in context generation — why batch validation should collect all errors, not fail on the first.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: UUIDExtension docs had stale version 1.x instead of actual 2.0</title><link>https://codeintel.xyz/blog/fix-cookiecutter-uuid-ext-doc/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-cookiecutter-uuid-ext-doc/</guid><description>Fixed cookiecutter/cookiecutter docs — 1-line version correction from stale tag to actual release.</description><pubDate>Thu, 04 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: HTTPDigestAuth for Non-Latin Credentials</title><link>https://codeintel.xyz/blog/fix-psf-requests-6102/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-psf-requests-6102/</guid><description>Fixed psf/requests#6102 — 4 line bug-fix. Python encoding fix for non-latin auth credentials.</description><pubDate>Sat, 16 May 2026 07:00:00 GMT</pubDate></item><item><title>Fixing response.content Error Amnesia in requests</title><link>https://codeintel.xyz/blog/fix-requests-4965/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-requests-4965/</guid><description>The second call to response.content after a read error silently returned empty string. A 4-line fix makes it raise an exception instead.</description><pubDate>Wed, 27 May 2026 07:00:00 GMT</pubDate></item><item><title>Fix: HTTPDigestAuth UTF-8 username/password encoding</title><link>https://codeintel.xyz/blog/fix-requests-6102/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-requests-6102/</guid><description>How psf/requests#6102 fixed HTTPDigestAuth encoding — why UTF-8 credentials need explicit encoding before being passed to the digest auth handshake.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: mypy warns about invalid types for json argument</title><link>https://codeintel.xyz/blog/fix-requests-7443/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-requests-7443/</guid><description>Fixed psf/requests#7443 — 1 line type-annotation. 407/407 relevant tests pass</description><pubDate>Sat, 16 May 2026 07:00:00 GMT</pubDate></item><item><title>Fix: ripgrep decompression — separate file names from options with &quot;--&quot;</title><link>https://codeintel.xyz/blog/fix-ripgrep-3222/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-ripgrep-3222/</guid><description>How BurntSushi/ripgrep#3222 fixed path traversal in compressed file search — why decompression commands need argument separators to prevent option injection.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: Enum keys not accepted as computed properties with non-identifier names</title><link>https://codeintel.xyz/blog/fix-typescript-25083/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-typescript-25083/</guid><description>How microsoft/TypeScript#25083 fixed enum keys in computed properties — why computed property names with non-identifier enum values were rejected by the type checker.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Fix: TypeScript Set#size JSDoc grammar fix — &quot;in Set&quot; → &quot;in the Set&quot;</title><link>https://codeintel.xyz/blog/fix-typescript-63480/</link><guid isPermaLink="true">https://codeintel.xyz/blog/fix-typescript-63480/</guid><description>How microsoft/TypeScript#63480 fixed a grammar typo in the Set#size property JSDoc — a 1-line documentation fix merged by RyanCavanaugh in 1 day.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>When __init_subclass__ Goes Silent — A CPython MRO Edge Case</title><link>https://codeintel.xyz/blog/init-subclass-mro-edge-case/</link><guid isPermaLink="true">https://codeintel.xyz/blog/init-subclass-mro-edge-case/</guid><description>The article provides simplified type.__new__ code showing super(Subclass, Subclass).__init_subclass__() with comment explaining the skip. A FixedMetaclass example manually iterates MRO to call ancestor.__init_subclass__(cls). Three safe alternatives are listed: use a metaclass directly, use __set_name__ on descriptors, or manually scan MRO. The bug is CPython #105038, open since 2023, with related #83846. Rule: test hook firing if metaclass overrides mro. Frameworks like Django, SQLAlchemy, P...</description><pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate></item><item><title>Python Metaclass Inheritance Pitfalls: When C and Python Metaclasses Collide</title><link>https://codeintel.xyz/blog/metaclass-inheritance-pitfalls/</link><guid isPermaLink="true">https://codeintel.xyz/blog/metaclass-inheritance-pitfalls/</guid><description>Combining C and Python metaclasses triggers TypeError when C tp_new uses MRO to invoke Python __new__. Constraints: safe tp_new chaining and tp_basicsize. Fixes: reorder bases (Python metaclass first) or modify C tp_new to call tp_base-&gt;tp_new (skips Python __new__). Increasing tp_basicsize ensures correct base selection. First reported 2004, affects ZODB, SQLAlchemy; a silent hazard. Key takeaway: never let C tp_new invoke Python __new__; prefer composition; document tp_basicsize requirement...</description><pubDate>Thu, 21 May 2026 07:15:00 GMT</pubDate></item><item><title>Mutation Testing: Finding the Tests That Lie to You</title><link>https://codeintel.xyz/blog/mutation-testing-deep-dive/</link><guid isPermaLink="true">https://codeintel.xyz/blog/mutation-testing-deep-dive/</guid><description>The mutmut cache output shows 3 mutants survived from 76 killed, illustrating that mutation score is a meta-test validating test rigor, not a replacement for other tests. Common survivors include condition flips (e.g., `if not is_member`) and arithmetic removals. Start with one module, scan for unasserted calls, and raise break thresholds incrementally. The final key takeaway: mutation testing is the only metric that validates test correctness.</description><pubDate>Mon, 25 May 2026 07:00:00 GMT</pubDate></item><item><title>POSIX `--` Separator: Fixing Ripgrep&apos;s Filename Argument Confusion</title><link>https://codeintel.xyz/blog/posix-double-dash-separator/</link><guid isPermaLink="true">https://codeintel.xyz/blog/posix-double-dash-separator/</guid><description>How the `--` separator prevents compression tools from misinterpreting filenames as options, with a fix PR analysis from ripgrep.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>PR Leaderboard — May 19, 2026</title><link>https://codeintel.xyz/blog/pr-leaderboard-2026-05-19/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-leaderboard-2026-05-19/</guid><description>Daily PR repair leaderboard. Tracking impact across 3 repos.</description><pubDate>Tue, 19 May 2026 01:37:16 GMT</pubDate></item><item><title>PR Leaderboard — May 22, 2026</title><link>https://codeintel.xyz/blog/pr-leaderboard-2026-05-22/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-leaderboard-2026-05-22/</guid><description>Daily PR repair leaderboard. Tracking impact across 4 repos.</description><pubDate>Fri, 22 May 2026 21:54:27 GMT</pubDate></item><item><title>PR Leaderboard — May 23, 2026</title><link>https://codeintel.xyz/blog/pr-leaderboard-2026-05-23/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-leaderboard-2026-05-23/</guid><description>Daily PR repair leaderboard. Tracking impact across 4 repos.</description><pubDate>Sat, 23 May 2026 22:30:50 GMT</pubDate></item><item><title>PR Leaderboard — June 08, 2026</title><link>https://codeintel.xyz/blog/pr-leaderboard-2026-06-08/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-leaderboard-2026-06-08/</guid><description>Daily PR repair leaderboard. Tracking impact across 5 repos.</description><pubDate>Mon, 08 Jun 2026 01:41:28 GMT</pubDate></item><item><title>PR Roundup: May 24 – May 24, 2026</title><link>https://codeintel.xyz/blog/pr-weekly-2026-05-24/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-weekly-2026-05-24/</guid><description>No PRs submitted this week. Total: 5 PRs, 0 merged (0% merge rate).</description><pubDate>Sun, 24 May 2026 07:00:00 GMT</pubDate></item><item><title>PR Roundup: May 31 – May 31, 2026</title><link>https://codeintel.xyz/blog/pr-weekly-2026-05-31/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-weekly-2026-05-31/</guid><description>No PRs submitted this week. Total: 5 PRs, 1 merged (17% merge rate) — microsoft/TypeScript#63480 merged into main.</description><pubDate>Sun, 31 May 2026 07:00:00 GMT</pubDate></item><item><title>PR Roundup: Jun 07 – Jun 08, 2026</title><link>https://codeintel.xyz/blog/pr-weekly-2026-06-07/</link><guid isPermaLink="true">https://codeintel.xyz/blog/pr-weekly-2026-06-07/</guid><description>No PRs submitted this week. Total: 7 PRs, 1 merged (14% merge rate).</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Prompt Caching in Production: Architecture Patterns for AI Systems</title><link>https://codeintel.xyz/blog/prompt-caching-production-architecture/</link><guid isPermaLink="true">https://codeintel.xyz/blog/prompt-caching-production-architecture/</guid><description>An engineering deep dive on the four caching layers for LLM inference — KV/prefix caching, prompt caching, semantic caching, and exact-response caching — with architecture patterns, provider pricing analysis, and production deployment strategies.</description><pubDate>Fri, 05 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Async/Await in Python: Patterns Beyond the Basics</title><link>https://codeintel.xyz/blog/python-async-patterns/</link><guid isPermaLink="true">https://codeintel.xyz/blog/python-async-patterns/</guid><description>Exploring structured concurrency, task groups, and error propagation in Python asyncio — with testable code snippets.</description><pubDate>Fri, 15 May 2026 07:00:00 GMT</pubDate></item><item><title>Python Context Managers in Production: ExitStack, Async, and Testing Patterns</title><link>https://codeintel.xyz/blog/python-context-managers-production/</link><guid isPermaLink="true">https://codeintel.xyz/blog/python-context-managers-production/</guid><description>Production-ready context manager patterns beyond basic with statements — ExitStack composition, async cleanup, and pytest fixture integration with real code templates.</description><pubDate>Sun, 17 May 2026 07:00:00 GMT</pubDate></item><item><title>Python `__del__`: Three Silent Failure Modes You&apos;ll Regret Ignoring</title><link>https://codeintel.xyz/blog/python-del-edge-cases/</link><guid isPermaLink="true">https://codeintel.xyz/blog/python-del-edge-cases/</guid><description>Python&apos;s __del__ has three failure modes: silent swallowing (exceptions to stderr), resurrection (anti-pattern with FINALIZED flag in gcmodule.c), and shutdown crashes (module globals become None). PEP 442 (Python 3.4) fixed pre-3.4 gc.garbage leaks via tp_finalize. The industry fix is weakref.finalize (no self, bounds checked) for non-deterministic cases and context managers for deterministic ones. Production incidents include ulimit from open files, OOM from resurrected ORM sessions, and co...</description><pubDate>Fri, 22 May 2026 07:00:00 GMT</pubDate></item><item><title>Python `__slots__`: Memory Optimization or Silent Pitfall?</title><link>https://codeintel.xyz/blog/python-slots-deep-dive/</link><guid isPermaLink="true">https://codeintel.xyz/blog/python-slots-deep-dive/</guid><description>Exploring the nuanced behavior of `__slots__` in Python, including memory implications, performance gains, and how they interact with metaclasses.</description><pubDate>Sat, 16 May 2026 07:00:00 GMT</pubDate></item><item><title>Understanding `__slots__` with Metaclasses in Python</title><link>https://codeintel.xyz/blog/python-slots-metaclass/</link><guid isPermaLink="true">https://codeintel.xyz/blog/python-slots-metaclass/</guid><description>Exploring advanced behavior of `__slots__` via metaclasses, including memory implications and inheritance rules.</description><pubDate>Sat, 16 May 2026 07:00:00 GMT</pubDate></item><item><title>When None Is Not None: Tracking a Cookie Corruption Bug in Requests</title><link>https://codeintel.xyz/blog/requests-cookie-none-bug/</link><guid isPermaLink="true">https://codeintel.xyz/blog/requests-cookie-none-bug/</guid><description>Root cause analysis of a decade-old bug in psf/requests where setting a cookie value to None corrupts the entire Cookie header. Fix: 4 lines in cookiejar_from_dict(). Tests: 597 passed.</description><pubDate>Sun, 31 May 2026 07:00:00 GMT</pubDate></item><item><title>Cleaning Up ripgrep&apos;s README: Removing Shell Prompt Prefixes from Code Blocks</title><link>https://codeintel.xyz/blog/ripgrep-readme-shell-prompts/</link><guid isPermaLink="true">https://codeintel.xyz/blog/ripgrep-readme-shell-prompts/</guid><description>A 41-line documentation fix in BurntSushi/ripgrep — removing `$ ` prefixes from README code blocks for cleaner copy-paste. PR #3437. Why shell prompts in documentation create friction for users.</description><pubDate>Sat, 06 Jun 2026 07:00:00 GMT</pubDate></item><item><title>Streaming Architecture for Large-Scale LLM Inference</title><link>https://codeintel.xyz/blog/streaming-llm-inference-architecture/</link><guid isPermaLink="true">https://codeintel.xyz/blog/streaming-llm-inference-architecture/</guid><description>A deep dive into production streaming patterns for LLM inference: SSE vs WebSocket vs gRPC, backpressure strategies, reverse proxy pitfalls, and the architectures that keep token delivery fast at scale.</description><pubDate>Mon, 08 Jun 2026 07:00:00 GMT</pubDate></item><item><title>SWE-bench Proxy: Baseline — 80% Real-World Bug Fix Rate</title><link>https://codeintel.xyz/blog/swe-bench-proxy-2026-05/</link><guid isPermaLink="true">https://codeintel.xyz/blog/swe-bench-proxy-2026-05/</guid><description>Measuring coding intelligence with real GitHub bug fixes. Baseline: 80% real-world bug fix rate on 31 instances from 4 repos.</description><pubDate>Fri, 15 May 2026 07:00:00 GMT</pubDate></item><item><title>Type Checker Benchmarks for CI: Pyright vs mypy vs Ruff</title><link>https://codeintel.xyz/blog/type-checker-benchmarks-ci/</link><guid isPermaLink="true">https://codeintel.xyz/blog/type-checker-benchmarks-ci/</guid><description>Benchmarks mypy, Pyright, Ruff on 50K-line Django. Cold start: Ruff 0.8s, Pyright 6s, mypy 28s (ephemeral CI bottleneck). Incremental: Pyright daemon 1.5s beats mypy cache 8s. Mypy deepest (--strict weekly); Pyright 95% with report*; Ruff preview skips complex. Recommendations: small Ruff, medium Pyright, large two-stage (85% savings). Sample CI: actions/checkout, setup-node. Quick fix: measure, add Ruff, replace mypy, schedule mypy --strict, controlled rollout. Key takeaway: mypy depth king,...</description><pubDate>Sun, 24 May 2026 07:00:00 GMT</pubDate></item><item><title>TypeScript Discriminated Unions: Exhaustive Pattern Matching</title><link>https://codeintel.xyz/blog/typescript-discriminated-unions/</link><guid isPermaLink="true">https://codeintel.xyz/blog/typescript-discriminated-unions/</guid><description>A practical guide to TypeScript discriminated unions with exhaustive pattern matching, the never type, and real-world detection patterns for your codebase.</description><pubDate>Fri, 15 May 2026 07:00:00 GMT</pubDate></item><item><title>One Typo, Two Years: Fixing a JSDoc Grammar Error in TypeScript</title><link>https://codeintel.xyz/blog/typescript-keyfor-jsdoc-fix/</link><guid isPermaLink="true">https://codeintel.xyz/blog/typescript-keyfor-jsdoc-fix/</guid><description>A one-character grammar fix in TypeScript&apos;s lib.d.ts — &apos;returns a undefined&apos; → &apos;returns undefined&apos;. PR #63525. Why JSDoc grammar matters in the most-read type definitions in JavaScript.</description><pubDate>Mon, 01 Jun 2026 07:00:00 GMT</pubDate></item></channel></rss>