Techlist.io - Korean Tech Blog Curator

meta2 min readCurated summary

Labyrinth 1.1: Making End-to-End Encrypted Backups Even More Reliable

Meta is rolling out Labyrinth 1.1, an updated encrypted storage protocol for Messenger. Its main improvement is more reliable end-to-end encrypted backups: messages can be backed up as they are sent, even when the recipient’s device is offline. This helps preserve message history after device loss, replacement, or long periods without signing in, while keeping messages unreadable to Meta and other parties. ## Labyrinth 1.1’s Backup Improvements - The new sub-protocol sends messages to the recipient’s encrypted backup immediately rather than waiting for their device to reconnect. - This addresses limitations in Messenger’s current encrypted backup process. - Backups remain protected by end-to-end encryption, so only the users involved in the conversation can access the message contents. ## How Message Encryption Works - Each message is wrapped with a message encryption key. - The sender places that key directly into the recipient’s encrypted backup. - The design is compared to putting a sealed envelope into a locked box that only the recipient can open. - Meta cannot read the stored messages or their encryption keys. ## Rollout and Results - Labyrinth 1.1 is being broadly rolled out across Messenger. - Meta reports that more messages are being backed up successfully. - More users are also restoring their complete message history when switching devices. The updated “Labyrinth Encrypted Message Storage Protocol” white paper provides the detailed technical specification.

Read original(opens in new tab)
github1 min readCurated summary

GitHub for Beginners: Getting started with OSS contributions

Kedasha is a Developer Advocate at GitHub who shares her software development experience with the broader developer community. She is passionate about helping others learn about the technology industry and can be found online at **@itsthatladydev**. ### Professional Role - Works as a Developer Advocate at GitHub. - Shares lessons and insights with developers. ### Interests and Community Work - Enjoys helping people learn about the tech industry. - Draws on her experience as a software developer when supporting the community. Kedasha’s work centers on education, mentorship, and sharing practical knowledge with developers.

Read original(opens in new tab)
stripe3 min readCurated summary

Five vertical SaaS insights from Sessions 2026

Vertical SaaS platforms are responding to AI pressure by becoming more deeply embedded in customers’ operations rather than relying on software features alone. Payments, lending, compliance, and other financial or operational services create stronger retention and revenue opportunities, while AI products help platforms remain competitive at the software layer. The post concludes that platforms should monetize AI experimentally and prepare to support emerging agentic commerce. ## Expanding Beyond Software - AI makes software features easier to replicate, but vertical platforms retain an advantage through deep industry knowledge and workflow integration. - Embedded payments connect platforms to transaction processing, revenue tracking, and cash-flow management. - Median payments adoption increased from 27% in 2024 to 40% in 2025, while top Stripe platforms exceed 80%. - Successful companies make payments a company-wide priority: - Include payments in sales demos and compensation plans. - Set goals beyond Gross Payment Volume, including company-wide ARR. - Reinforce adoption through onboarding and customer success. - Embedded payments can generate approximately $4,200 in incremental ARR per adopting customer. - Platforms offering embedded financial products experience 11% lower annual churn, while multiproduct platforms grow revenue 49% faster than software-only peers. ## Building Operational and Financial Moats - Payments can lead to additional services such as capital, banking, cards, payroll, and bill payment. - TheCut’s Stripe Capital program generated $788,000 in accepted financing from 167 barbers within 24 hours. - Financial products help businesses purchase equipment, manage seasonal slowdowns, and fund marketing. - Operational services can also create defensibility: - Moxie embeds compliance tools to help medspas maintain licenses. - Slice negotiates wholesale pizza-box pricing for restaurants. - These specialized services are difficult for a new AI-native competitor to reproduce immediately. ## Developing Vertical AI Products - Most surveyed SaaS platforms—87%—see AI more as an opportunity than a threat. - Platforms are adding industry-specific AI tools, including: - Toast IQ, which identifies local food trends for restaurants. - Quipli, which generates leads from newly filed equipment-rental permits. - Clio’s assistant, which drafts legal documents, summarizes files, and surfaces client insights. - AI is positioned as a way to automate repetitive work while using the platform’s existing customer and industry context. ## Experimenting with AI Pricing - Eighty-six percent of SaaS platforms with AI features charge for them. - Pricing models include: - Bundling AI into existing subscriptions. - Premium tiers. - Stand-alone usage-based or outcome-based pricing. - Since 44% of platforms expect to change their AI pricing within a year, companies should test willingness to pay before committing to a model. - Charging separately can help determine whether AI delivers meaningful customer value. ## Preparing for Agentic Commerce - AI agents are expected to influence product discovery, purchasing decisions, and checkout. - Platforms are preparing with agent-readable catalogs and headless checkout APIs. - This infrastructure is intended to support a projected $5 trillion agentic-commerce opportunity. - Retail platforms still face foundational challenges, particularly inconsistent or poorly structured product data optimized for human shoppers. Vertical SaaS companies should combine AI innovation with deeper operational integration. The strongest long-term strategy is to offer industry-specific automation while using payments, financial services, and specialized workflows to become indispensable to customers.

Read original(opens in new tab)
discord2 min readCurated summary

Nitro Now Comes with Xbox Game Pass and New Benefits. Welcome to Nitro Rewards.

Discord is expanding Nitro from a Discord-focused subscription into a broader gaming membership. Its new Nitro Rewards program includes Xbox Game Pass at no extra cost, discounts on gaming hardware, and expanded opportunities to earn Orbs. The company plans to add more gaming-related partners and benefits over time. ## Nitro Rewards for Gamers - Nitro Rewards launches around Nitro’s 10th anniversary. - The program provides ongoing benefits from gaming, hardware, content, and service partners. - Benefits are rolling out to Nitro members in eligible regions over the coming weeks. ## Xbox Game Pass Included - Nitro now includes a starter edition of Xbox Game Pass without increasing the subscription price. - Members receive: - Access to more than 50 PC and console games. - 10 hours of cloud gaming. - Titles such as *Fallout 4*, *Stardew Valley*, *DayZ*, *Deep Rock Galactic*, *Overcooked 2*, and *Grounded*. - The game library will receive periodic additions. - Members can access the benefit through Nitro Home. ## Gaming Hardware Discounts Nitro members receive rotating discounts from major gaming brands: - Up to 30% off Logitech G products. - 15% off SteelSeries products. - 20% off KontrolFreek products. - Discounts apply to items such as mice, headsets, keyboards, and controllers. ## More Ways to Earn Orbs - Nitro members now receive 250 Orbs every month simply for maintaining their membership. - An Orbs Multiplier increases the number of Orbs earned from completed Quests. - Members can spend Orbs on items in Discord’s Shop. ## Nitro’s Broader Direction Discord says existing Nitro features—including custom profiles, HD streaming, and larger uploads—remain available and will continue expanding. The company’s longer-term goal is to make Nitro a central membership for gamers, extending its value beyond Discord through additional partnerships and rewards. Members should check Nitro Home for the new benefits; availability may depend on region and rollout timing.

Read original(opens in new tab)
gitlab4 min readCurated summary

GitLab Act 2

GitLab is restructuring its organization and strategy to prepare for an agent-driven software industry. It expects AI agents to dramatically increase software production, making scalable infrastructure, orchestration, context, and governance more important than traditional developer tooling. The company is reducing geographic footprint and management layers while reorganizing R&D around smaller, autonomous teams, reaffirming its FY27 guidance pending final restructuring costs. ## Organizational Restructuring - GitLab is conducting the process openly, including a voluntary separation window. - The new organizational shape is expected to be finalized by June 1 where possible; local legal processes may extend timelines. - Planned operational changes include: - Reducing the number of countries with small GitLab teams by up to 30%, while relying on partners in affected markets. - Removing up to three management layers in some functions. - Reorganizing R&D into approximately 60 smaller teams with end-to-end ownership. - Automating internal reviews, approvals, and handoffs with AI agents, then adjusting roles accordingly. - The restructuring and strategic shift are related but independently justified. - GitLab will disclose the restructuring’s final scope and financial impact during its June 2 earnings call. ## Software Development in the Agentic Era - Software will increasingly be produced by machines under human direction. - Agents will plan, code, review, deploy, and repair software. - Engineers will remain responsible for architecture, customer understanding, judgment, and difficult tradeoffs. - Lower software-production costs are expected to expand demand for software and increase the value of developer platforms. - Deep engineering skills—such as system design, distributed systems, failure analysis, and integrating new capabilities safely—will become more important and scarce. - GitLab points to its Duo Agent Platform, released in January, as an initial investment in this future. ## Infrastructure for Machine-Scale Development - Agents can create merge requests, trigger pipelines, and push commits at volumes far beyond human teams. - Git and existing development platforms were not designed for this level of activity. - GitLab plans to: - Reengineer Git for machine-scale workloads. - Replace parts of its monolithic architecture with API-first, composable services. - Provide agent-specific APIs so agents can interact as first-class platform users. - The company argues that reliability, performance, and scalability at this level will become a major source of platform value. ## Orchestration Across the Software Lifecycle - Enterprises need more than individual agents that generate code or open merge requests; they need software that reaches production and delivers business value. - GitLab’s orchestration layer is intended to coordinate agents across the lifecycle by: - Assigning work and managing state. - Passing context between tasks. - Resolving conflicts. - Enforcing policies and guardrails. - Keeping humans involved where judgment is required. - CI/CD is being reconsidered as part of this shift, with orchestration serving as the runtime for validating and safely deploying machine-rate changes. ## Context as a Competitive Advantage - Code generation capabilities are increasingly similar across developer-tool vendors. - GitLab believes its advantage lies in the connected context accumulated across planning, code, review, security, deployment, and operations. - It plans to make this data model a first-class, API-accessible service. - More contextual information should allow agents to use fewer tokens and produce better results. ## Governance Built Into the Platform - As agents perform more work, enterprises need strong control over identity, permissions, policies, auditing, and data location. - GitLab intends to make governance core infrastructure rather than an add-on product. - Every agent, pipeline, and merge request should operate through platform services that can: - Control who or what may perform an action. - Record what happened and why. - Protect sensitive code and data. - Support flexible deployment models. ## One Platform, Three Modes - GitLab notes that most business software cannot realistically be rewritten for the agentic era. - Its platform strategy is therefore intended to support existing codebases alongside newer development models. - The provided text ends before explaining the three modes in detail. GitLab’s overall recommendation to itself is to reshape both its organization and platform around machine-scale software development, while preserving human control over architecture, judgment, and governance.

Read original(opens in new tab)
discord2 min readCurated summary

How to Use Nitro: A Beginner’s Guide to Discord’s Premium Subscription

Discord Nitro is Discord’s premium membership, adding customization, communication, streaming, and gaming benefits. It comes in two tiers: Nitro Basic for core extras and standard Nitro for advanced features such as HD streaming, Server Boosts, and Xbox Game Pass benefits. Users can subscribe, redeem Orbs, receive trials or gifts, and should verify gift links to avoid scams. ## Nitro and Nitro Basic - Both tiers include: - Custom emojis and stickers across Discord - Custom video backgrounds - A profile badge that changes with membership duration - Standard Nitro additionally offers: - Animated avatars and profile banners - HD streaming - Two Server Boosts - An Orbs boost for completed Quests - Eligible Xbox Game Pass benefits, including access to over 50 games and 10 hours of cloud gaming monthly - Gaming hardware discounts ## Pricing and Subscription - US pricing at the time of writing: - Nitro: $9.99 monthly or $99.99 annually - Nitro Basic: $2.99 monthly or $29.99 annually - Prices vary by region and can be checked in **User Settings > Nitro**. - Subscriptions are available on desktop, web, and mobile. ## Trying Nitro for Free - Discord Orbs earned through Quests can be exchanged for Nitro. - 1,400 Orbs provide three days of Nitro. - Nitro members can share two-week trials with up to three eligible friends. ## Redeeming and Stacking Gifts - Gifted Nitro can be accepted directly in the Discord app. - Gifts received while subscribed become credit and extend the membership after the current billing period. - Orbs-based Nitro credit can also be added to an existing membership, but trials cannot be stacked. - Gifts for a different tier may not apply until the user switches plans. ## Avoiding Nitro Scams - Genuine Nitro gifts use the exact URL `https://discord.gift/`. - For safety, users should paste gift links into **User Settings > Gift Inventory > Redeem Codes** rather than clicking suspicious links. - Nitro should be purchased or gifted through Discord’s own settings whenever possible. ## Nitro Classic - Nitro Classic has been retired and replaced by Nitro Basic. - Existing Nitro Classic subscribers can keep their plans while their memberships remain active. Nitro Basic is the lower-cost option for customization features, while standard Nitro is more suitable for users who want improved streaming, boosts, and gaming-related benefits. Always manage subscriptions and redeem gifts through Discord’s official interface.

Read original(opens in new tab)
netflix4 min readCurated summary

Scaling ArchUnit with Nebula ArchRules

Netflix’s Nebula ArchRules extends ArchUnit so architectural and API-lifecycle rules can be shared across thousands of Gradle repositories. Unlike AST-based tools, ArchUnit analyzes compiled JVM bytecode, supports multiple JVM languages, and offers a type-safe Java API for authoring and testing rules. The approach helps identify unsafe API usage, technical debt, and deviations from Netflix’s preferred development practices at fleet scale. ## The API Lifecycle Problem - Netflix operates tens of thousands of Java repositories in a polyrepo environment. - A library incident involving a backwards-incompatible change highlighted the difficulty of deciding when deprecated APIs can safely be removed. - Netflix introduced lifecycle annotations: - `@Deprecated` for APIs scheduled for removal - `@Public` for APIs intended for downstream use - `@Experimental` for APIs that may change - Unannotated APIs are treated as internal - The remaining challenge was identifying downstream projects that use internal, experimental, or deprecated APIs incorrectly. - The same tooling could support large migrations, such as major Spring Boot upgrades. ## Why ArchUnit - ArchUnit is an open-source library commonly used within JUnit suites to enforce architectural rules. - It is built on ASM and analyzes compiled JVM bytecode rather than source syntax. - Its main strengths are: - Cross-language JVM support for Java, Kotlin, Scala, and other JVM languages - A fluent builder API for readable rule definitions - A lower-level API for complex custom analysis - Access to class relationships, dependencies, and call sites through its class graph - Standard ArchUnit is primarily designed for one repository, so Netflix created Nebula ArchRules to distribute rules across many Gradle projects. ## Bytecode Analysis vs. AST Analysis - AST-based tools such as PMD inspect source-code structure and can be sensitive to language-specific syntax and syntactic sugar. - Supporting multiple JVM languages may require separate rules for each language. - ASM analyzes the bytecode that will actually execute, regardless of how the source was written. - This makes rules more consistent across Java, Kotlin, Scala, and other JVM languages. ## Rule Authoring - Tools such as PMD and SpotBugs are generally optimized for built-in rules or third-party plugins rather than custom rule development. - PMD custom rules may require difficult-to-maintain XPath expressions and separate tooling for testing. - ArchUnit rules are written as type-safe, fluent Java code. - Rules can be unit tested directly by passing them class references, without running a separate analysis process. - ArchUnit’s class graph provides contextual information about dependencies and call relationships, enabling more sophisticated checks. ## ArchRules Libraries - The Nebula ArchRules Library Plugin adds an `archRules` source set to a Gradle project. - A class implementing `ArchRulesService` exposes a `Map<String, ArchRule>`: - The map key names the rule. - The `ArchRule` defines the constraint using ArchUnit’s API. - Rule code and its dependencies are kept separate from the application’s main code. - Gradle publishes the rules in a separate JAR using the `arch-rules` classifier and an `arch-rules` usage attribute. - Downstream projects must use Gradle Module Metadata to resolve the rules variant. ## Standalone and Bundled Rule Libraries - Standalone rule libraries contain only `archRules` code. - They are useful for: - Enforcing rules around APIs the organization does not own - Checking usage of Java or open-source libraries - Applying generic rules, such as prohibiting use of deprecated APIs - Bundled rule libraries contain both normal library code and rules specific to how that library should be used. - Netflix maintains open-source standalone rule libraries as examples and reusable building blocks. Nebula ArchRules turns ArchUnit from a repository-local testing library into a reusable organization-wide policy mechanism. Teams can publish rules as Gradle artifacts and apply them consistently across JVM projects, making API governance, dependency policies, and architectural standards easier to enforce at scale.

Read original(opens in new tab)
discord3 min readCurated summary

How Discord Automates ScyllaDB Clusters at Scale

Discord’s Persistence Infrastructure team replaced fragile, manually sequenced scripts with the Scylla Control Plane (SCP), a framework for safely automating large-scale database operations. The effort was driven by the difficulty of creating shadow clusters and managing hundreds of ScyllaDB nodes with a seven-person team. SCP emphasizes resumability, safety checks, configurable parallelism, and incremental development. ## The Scale of Discord’s Database Operations - Discord operates Elasticsearch, Postgres, and ScyllaDB infrastructure across dozens of clusters and hundreds of nodes. - ScyllaDB stores critical data, including messages, channels, servers, and much of Discord’s user data. - Routine work includes: - Rolling restarts after configuration changes - Cluster expansion as traffic grows - Operating-system upgrades without downtime - Creating test clusters for validating ScyllaDB releases - These operations require careful sequencing and continuous validation rather than simple, fire-and-forget automation. ## From Scripts to the Scylla Control Plane - Discord initially accumulated Python, Bash, and other scripts incrementally. - The scripts were useful but fragile and dependent on institutional knowledge. - As operational demands grew, Discord created the Scylla Control Plane, or SCP, to provide a more structured automation system. ## Shadow Clusters for Safer Upgrades - Shadow clusters are temporary, full replicas of production that receive the same reads and writes as live traffic. - They allow Discord to detect upgrade problems under realistic load before changing production. - Building one manually requires: - Provisioning and configuring nodes - Joining nodes to the cluster - Validating replication - Establishing dual-write pipelines - Eventually tearing the environment down - Repeating this process across every ScyllaDB cluster made automation essential, especially for testing operating-system, hardware, and ScyllaDB version changes. ## Lessons from the Previous Automation Discord identified three major weaknesses in its old scripts: - **Unsafe:** Scripts could be run against the wrong nodes or in the wrong order, often without precondition checks. - **Unrecoverable:** A failure late in a multi-step process required restarting from the beginning. - **Difficult to extend:** New operations often required copying and modifying existing scripts instead of composing reusable components. SCP was designed around four goals: - Provide an extensible task framework that hides orchestration complexity. - Support configurable parallelism, including constraints such as avoiding simultaneous work in different availability zones. - Make safety the default through preconditions, retries, and persisted state. - Deliver functionality incrementally and refine it through real-world use. ## SCP’s Task-Based Architecture - SCP is organized around **tasks, workflows, and jobs**. - A task represents one unit of work, such as draining a node, checking repair status, or running cleanup. - **Node tasks** operate on individual nodes. - **Cluster tasks** coordinate operations across an entire cluster and may run node tasks across many nodes. - SCP also uses **conditions**, which pause execution until a required state is reached. - Conditions poll ScyllaDB APIs or Prometheus metrics. - They either succeed when the criterion is met or fail after a timeout. - For example, after restarting a node, SCP can wait for compactions to settle before continuing. - This avoids unreliable fixed-duration sleeps and reduces the risk of creating cascading pressure during rolling operations. ## Practical Recommendation For large-scale database operations, automation should be built as a reusable, stateful orchestration framework rather than a collection of scripts. Explicit preconditions, observable conditions, retries, controlled parallelism, and resumable state make complex infrastructure changes safer and more repeatable.

Read original(opens in new tab)
discord2 min readCurated summary

Stock Up in the New Rust Shop! Enjoy a Discord-Only 20% Sale on Most Items until 5/21

Discord has launched a Rust Shop that lets players purchase and gift official Rust cosmetics directly through Discord. The integration is available through the Discord Shop and official Rust server, with purchases delivered to linked Rust inventories. Nearly all official Rust skins released before 2026 are 20% off exclusively on Discord through May 21, 2026. ## Rust Shop Launch - Players can buy official Rust decor, cosmetic sets, and item skins through: - The Discord Shop’s “Game Shops” section - The new “Game Shop” area in the official Rust Discord server - This is the first time Rust supports gifting official skins. - The launch discount applies to nearly every officially made Rust skin released before 2026. ## Purchasing Rust Items - The Rust Shop is currently available only on Discord’s desktop and web apps. - Purchases are delivered directly to the player’s Rust inventory. - Players with already-linked Rust and Discord accounts can use the shop immediately. - Unlinked accounts can be connected after checkout in a few steps. ## Gifting Through Discord Wishlists - Users can view a friend’s Discord Wishlist to see which Rust items they want. - Items can be gifted from: - A friend’s Wishlist - Direct messages using the gift icon - The Rust Shop - Rust item links shared in chat - While watching someone stream Rust - The feature makes it easier to choose appropriate cosmetics without guessing. Take advantage of the Discord-exclusive 20% discount before it ends on May 21, while purchasing or gifting Rust items through the desktop or web versions of Discord.

Read original(opens in new tab)
github4 min readCurated summary

Improving token efficiency in GitHub Agentic Workflows

GitHub’s Agentic Workflows can quietly accumulate substantial token costs because they run automatically in CI. GitHub improved efficiency by instrumenting token usage, auditing workflows, pruning unused MCP tools, and replacing many MCP data-fetching calls with deterministic GitHub CLI commands. Early results show that reducing context and removing unnecessary LLM reasoning can save thousands of tokens per run, though measuring true efficiency requires accounting for model choice and workload quality. ## Logging Token Usage - GitHub runs hundreds of agentic workflows against real GitHub Actions limits. - Different agent frameworks produced incompatible usage logs, so GitHub used its API proxy to normalize data across Claude CLI, Copilot CLI, and Codex CLI. - Each workflow now emits a `token-usage.jsonl` artifact containing: - Input, output, cache-read, and cache-write tokens - Model and provider - Timestamps - One record per API call - These records make it possible to compare historical runs and identify recurring sources of waste. ## Automated Auditing and Optimization - A daily **Token Usage Auditor** aggregates recent usage by workflow and reports: - Significant increases in token consumption - The most expensive workflows - Anomalous runs, such as a workflow taking 18 LLM turns instead of its usual four - A daily **Token Optimizer** examines flagged workflows, their source YAML, and recent logs. - It creates GitHub Issues with concrete inefficiencies and recommended fixes. - The auditing workflows also consume tokens, creating a feedback loop in which their own costs are monitored. ## Removing Unused MCP Tools - MCP tool names and JSON schemas are typically included in every stateless LLM request. - A GitHub MCP server with roughly 40 tools can add 10–15 KB of schema to every turn. - If a workflow uses only two tools, the other 38 create repeated overhead without adding value. - GitHub compares configured tools with actual tool calls and recommends removing unused registrations. - In smoke tests, pruning tools reduced each call’s context by 8–12 KB and saved several thousand tokens per run without changing behavior. ## Replacing MCP Calls with GitHub CLI - GitHub found larger savings by replacing MCP calls for predictable data retrieval—such as pull request diffs, file contents, and review comments—with `gh` commands. - MCP calls require an additional reasoning cycle: the model chooses a tool, constructs arguments, and processes the response. - Commands such as `gh pr diff` make deterministic API requests without involving the LLM in the retrieval step. Two migration patterns were used: - **Pre-agentic downloads** - Workflow setup steps run `gh` commands before the agent starts. - Results such as diffs and changed-file lists are saved to workspace files. - The agent reads the files directly, eliminating MCP round trips. - **In-agent CLI proxy substitution** - When data must be selected dynamically, the agent runs commands such as `gh pr view --json`. - A transparent proxy routes CLI requests to GitHub’s API without exposing credentials. - This preserves the zero-secrets security model while avoiding MCP overhead. ## Measuring Efficiency - Lower token counts do not necessarily mean better workflows; a workflow may simply be doing less work. - Model selection also affects cost. Claude Haiku and Sonnet may use similar numbers of tokens, but Haiku is substantially cheaper. - GitHub therefore uses an **Effective Tokens (ET)** metric that weights usage by token type and model cost: ```text ET = m × (1.0 × I + 0.1 × C + 4.0 × O) ``` - `m` represents the model multiplier: Haiku `0.25×`, Sonnet `1.0×`, and Opus `5.0×`. - `I` is newly processed input, `C` is cache-read tokens, and `O` is output tokens. - Output tokens receive greater weight because they are typically the most expensive component. GitHub’s experience suggests that agentic workflow authors should measure usage continuously, remove tools that workflows do not actually use, and move routine API retrieval outside the LLM reasoning loop wherever possible.

Read original(opens in new tab)
cloudflare3 min readCurated summary

Building For The Future

Cloudflare announced plans to eliminate more than 1,100 jobs as it restructures for an “agentic AI era.” The company says the decision reflects a fundamental redesign of internal processes, teams, and roles—not individual performance or a conventional cost-cutting exercise. Leaders argue that acting decisively now will reduce prolonged uncertainty and create a faster, more innovative organization. ## Restructuring Around Agentic AI - Cloudflare’s internal AI usage has increased by more than 600% in three months. - Employees across engineering, HR, finance, marketing, and other departments run thousands of AI-agent sessions daily. - Because Cloudflare uses AI extensively itself, leadership says the company must redesign how work is organized to capture its benefits. - The restructuring covers internal processes, teams, and roles across the company. ## A Company-Wide Workforce Reduction - More than 1,100 employees globally will leave Cloudflare. - The company emphasizes that departures are not judgments about employees’ talent or performance. - Founders Matthew Prince and Michelle Zatlyn are communicating the decision directly rather than routing notices through managers. - Every employee is receiving an email explaining how the changes affect them. ## Severance and Treatment of Departing Employees - Departing employees will receive the equivalent of their full base salary through the end of 2026. - U.S. healthcare support will continue through the end of 2026. - Equity will continue vesting through August 15. - Employees who had not reached their one-year vesting cliffs will receive prorated vesting through August. - Cloudflare frames these benefits as an effort to treat departing employees with empathy and exceed typical industry standards. ## Why Cloudflare Chose Decisive Action - Leadership argues that smaller, repeated layoffs or a prolonged reorganization would create continuing emotional uncertainty. - Completing the changes at once is intended to provide clarity to departing employees and stability for those who remain. - Cloudflare believes its original cloud-native structure helped it surpass older companies with slower systems and processes. - As the company has grown, it says it must avoid relying on organizational structures that worked in the past. ## Looking Ahead - Cloudflare expects the reshaped organization to operate more quickly and innovate more effectively. - The founders planned to discuss the announcement during the company’s earnings call and an all-hands meeting. - They presented the restructuring as necessary to continue advancing Cloudflare’s mission of building a better Internet. The practical conclusion is that Cloudflare is making a large, one-time organizational reset to align its workforce with AI-driven operations, while offering unusually extensive severance intended to reduce the disruption for affected employees.

Read original(opens in new tab)
github4 min readCurated summary

Agent pull requests are everywhere. Here&#8217;s how to review them.

Agent-generated pull requests are increasing rapidly, while human review capacity remains limited. Although these changes often look clean and pass CI, research suggests they can introduce more redundancy and technical debt—and reviewers may be more likely to approve them. The solution is not to review more slowly, but to focus human judgment on risks agents are least equipped to recognize. ## The Scale of Agent-Generated Pull Requests - GitHub Copilot code review has processed more than 60 million reviews and grown tenfold in under a year. - More than 20% of GitHub code reviews now involve an agent. - Developers can launch many agent sessions simultaneously, causing pull-request volume to grow faster than human review capacity. - Reviewers therefore need a deliberate method for identifying high-impact issues. ## Understanding the Agent’s Limitations - Coding agents are productive and literal, but lack: - Incident history - Team-specific edge-case knowledge - Operational constraints not documented in the repository - Agents can produce code that appears complete while quietly embedding incorrect assumptions. - Human reviewers provide the context and judgment that automated tools cannot fully replicate. ## CI Gaming Agents may weaken CI when their changes fail, for example by removing tests, skipping linting, or adding commands such as `|| true`. Reviewers should verify: - Coverage thresholds were not reduced. - Tests were not removed, renamed, or skipped. - Workflows still run for forks and pull requests. - CI steps were not placed behind new restrictive conditions. Any such change requires explicit justification before approval. ## Blindness to Existing Code Reuse Agents may copy patterns from nearby code without discovering equivalent utilities elsewhere in the repository. Warning signs include: - Duplicate helper or utility functions - Reimplemented validation logic - New middleware duplicating shared modules - “Almost identical” helpers with different names Reviewers should search for existing implementations and require consolidation rather than merely commenting on duplication. For larger agent pull requests, requiring justification for new utilities can prevent redundant code from becoming future “prior art.” ## Hallucinated Correctness The most dangerous agent errors are not obvious API or syntax failures. They are changes that compile, pass tests, and still behave incorrectly under conditions such as: - Pagination boundaries - Missing permission checks - Validation edge cases - Race conditions at scale Reviewers should trace a critical path from input to output, checking empty, zero, and maximum values, external input validation, permissions on every branch, and unusual conditionals. A claimed bug fix should include a test that fails before the change; otherwise, the fix or the agent’s understanding may be incomplete. ## Agentic Ghosting and Oversized Pull Requests Large, poorly structured agent pull requests are more likely to become abandoned or misaligned. Before conducting an in-depth review, check: - Whether the agent has responded usefully in earlier review rounds - Whether the pull request includes a clear implementation plan - Whether the changes can be divided into smaller, scoped units If no plan exists, request a breakdown or a clear explanation of each component before spending time on detailed comments. ## Untrusted Input in Agent Workflows Workflows that send pull-request bodies, issue content, or commit messages to an LLM can create prompt-injection risks—especially when model output is later executed with `GITHUB_TOKEN` permissions. Reviewers should block workflows that: - Interpolate untrusted content into prompts without sanitization - Grant write access when read-only permissions are sufficient - Execute model output as shell commands without validation - Expose secrets to agent steps or logs Safer designs should use least-privilege permissions such as `permissions: read-all`, sanitize and quote untrusted content, separate analysis from execution, and require human approval before actions affecting production. Agent pull requests should not automatically receive either extra trust or blanket suspicion. Reviewers should focus on CI integrity, reuse, behavior under edge cases, reviewability, and workflow security—the areas where contextual human judgment adds the most value.

Read original(opens in new tab)
cloudflare3 min readCurated summary

How Cloudflare responded to the “Copy Fail” Linux vulnerability

Cloudflare assessed the “Copy Fail” Linux privilege-escalation vulnerability (CVE-2026-31431) immediately after its disclosure on April 29, 2026. Its existing kernel update process meant the relevant fixes were already deployed across most infrastructure, while behavioral detections could identify exploitation attempts within minutes. Cloudflare reported no environmental impact, customer data exposure, or service disruption. ## Cloudflare’s Linux Kernel Update Process - Cloudflare runs custom Linux kernels based on community Long-Term Support releases across datacenters in 330 cities. - Automated jobs build updated kernels approximately weekly from upstream security and stability fixes. - New builds are tested in staging before global deployment. - The Edge Reboot Release pipeline rolls updates through edge infrastructure on a four-week cycle. - Control-plane systems generally use the newest kernel, with reboots scheduled based on workload requirements. - By the time vulnerabilities are publicly disclosed, fixes are typically already present in stable LTS releases and deployed by Cloudflare. - At disclosure, most systems used Linux 6.12 LTS, while some were transitioning to 6.18 LTS. ## How Copy Fail Worked - The vulnerability affected the Linux kernel’s `AF_ALG` interface, which lets unprivileged processes access cryptographic operations through the `algif_aead` module. - Attackers could combine: - `sendmsg()` or `splice()` to submit data - `recvmsg()` to execute the cryptographic operation - Page-cache references to redirect writes into files - An older in-place optimization allowed the AEAD implementation to write beyond the intended output boundary. - The `authencesn` wrapper performed a controllable four-byte out-of-bounds write. - By using `splice()`, an attacker could target pages belonging to any readable file and control: - The file being modified - The write offset - The four bytes written ## Privilege Escalation Through `/usr/bin/su` - The public exploit targeted `/usr/bin/su`, a setuid-root binary commonly present on Linux systems. - The attacker populated the binary’s contents in the page cache and connected those cached pages to a crypto scatterlist. - Shellcode was supplied through AAD bytes in `sendmsg()`. - `splice()` parameters controlled the target offset in the binary. - Although `recvmsg()` returned `-EBADMSG`, the out-of-bounds write had already modified the shared page cache. - Executing `/usr/bin/su` then loaded the modified cached pages, causing the injected code to run with root privileges. ## Upstream Fix and Cloudflare’s Response - The upstream fix, commit `a664bf3d603d`, reverted the 2017 in-place optimization responsible for the flaw. - After disclosure, Cloudflare’s security and kernel engineering teams worked in parallel to: - Identify vulnerable kernel versions - Assess infrastructure exposure - Review the exploit technique - Validate behavioral detections - Existing monitoring could detect the exploit pattern within minutes. - Cloudflare concluded that its infrastructure was not impacted and that no customer data or services were affected. Cloudflare’s experience demonstrates the value of maintaining patched LTS kernels, automating frequent kernel builds and staged rollouts, and combining preventative patching with behavioral exploit detection.

Read original(opens in new tab)
line3 min readCurated summary

ODW #5: Building a RAG System with a Vector DB and Agent Skills

The workshop demonstrated how a lightweight RAG system can make large collections of technical documentation easier for developers and AI agents to use. Using ChromaDB, Swift Evolution proposals were indexed locally and exposed to Claude Code through MCP. Agent skills then simplified searches by teaching the agent which collection, metadata, and query practices to use. The approach improves document discovery and can support code generation and review. ## Why RAG Is Needed - Large application teams maintain extensive documentation and architectural guidelines. - Developers often spend significant time searching for information about: - Introducing dependencies - Resolving build errors - Following architectural rules - Asking experts can solve problems, but consumes time for both the questioner and the responder. - RAG provides AI agents with structured, searchable knowledge so they can answer questions more accurately using internal documents. ## Building a RAG System with ChromaDB - The workshop used ChromaDB, an open-source local vector database with Python and JavaScript client libraries. - Swift Evolution proposals served as the sample dataset: - Approximately 500 Markdown documents - Consistent structure and proposal IDs such as `SE-0400` - Metadata including implementation status and authors - Participants indexed the documents locally and connected the database to Claude Code through an MCP tool. - This allowed the coding agent to retrieve and reference Swift language proposals during conversations. ## Improving Search with Agent Skills - MCP exposes the available database tools, but the agent still needs to know: - Which collection contains the relevant data - Which metadata fields are useful - How to formulate effective queries - A dedicated `searching-swift-evolution` skill encoded this knowledge, including: - The `swift-evolution` collection name - Proposal ID formats such as `SE-0255` and `ST-0001` - Metadata such as `Status` and `Authors` - A recommendation to query in English - With the skill, users could issue simple requests such as “Investigate SE-0500” without explaining the database structure or MCP workflow. - The workshop also covered skill mechanics, authoring best practices, and practical skill development. - Participants later indexed their own Markdown documents, created search skills, and learned how to deploy the database to LY Corporation’s internal Flava cloud for sharing. ## Potential Applications - Natural-language document search can make internal technical knowledge significantly more accessible. - Coding agents can retrieve relevant documentation automatically before: - Generating code - Reviewing code - Checking compliance with architectural or implementation guidelines - Combining RAG with agent skills or Claude Code sub-agents can embed organizational knowledge directly into development workflows. ## Workshop Design and Results - The online workshop used demonstrations by instructors and mock participants. - More than 1,000 people attended. - Its structure balanced lectures and hands-on exercises: - Lectures explained the core concepts concisely. - Practical demonstrations showed how to apply the system to real work documents. - This balance helped participants understand both the underlying ideas and their practical use. Overall, the workshop showed that a local vector database plus MCP and well-designed agent skills can provide a simple, effective foundation for searchable engineering knowledge and AI-assisted development.

Read original(opens in new tab)
gitlab3 min readCurated summary

Consolidate your GitLab stack with Gitaly on Kubernetes

Gitaly on Kubernetes is now generally available with GitLab 18.11, allowing teams to run their entire GitLab stack in Kubernetes instead of maintaining Gitaly on separate virtual machines. GitLab addressed Kubernetes-specific challenges involving cgroup isolation, pod restarts, and request reliability. The result is a more unified deployment model, though full high availability still depends on Gitaly Cluster support for Kubernetes. ### Challenges of Running Gitaly on Kubernetes - Git operations can consume unpredictable amounts of memory. - Gitaly isolates individual Git processes in dedicated cgroups so an out-of-memory failure does not bring down the main Gitaly process. - Kubernetes deployments required special handling because containerd traditionally restricted cgroupfs writes to privileged containers. - GitLab solved this by using an init container to mount `/sys/fs/cgroup` and make it writable. ### Handling Pod Restarts - Virtual-machine deployments can upgrade Gitaly in place and reload gracefully while preserving the socket. - Kubernetes StatefulSet replacements cause pods to stop and restart abruptly during upgrades, node drains, or configuration changes. - This could cause downtime, particularly for Gitaly Sharded deployments without built-in high availability. - GitLab made Gitaly client retries configurable, allowing clients such as Rails to retry requests until Gitaly becomes available again. - Users may experience slightly higher latency during restarts, but requests generally succeed without visible downtime. ### Benchmark Results and High Availability - GitLab tested common Git operations against VM-based and Kubernetes-based Gitaly installations during upgrades. - Success rates were nearly identical in both environments despite Kubernetes abruptly terminating pods and closing sockets. - Achieving complete success across every operation still requires Gitaly Cluster with Praefect. - Praefect does not yet support Kubernetes, but Kubernetes support is being developed. ### Benefits for GitLab Deployments - Teams with hybrid infrastructure can move Gitaly from virtual machines into their existing Kubernetes cluster. - This removes the need to maintain and monitor a separate VM fleet. - Organizations adopting GitLab on Kubernetes can use a fully Kubernetes-native deployment through the official Helm chart. - Gitaly can run as part of a complete GitLab installation or as an external component. ### Installation - The recommended deployment method is the GitLab Helm chart. - Users should review the Gitaly on Kubernetes documentation before installation. - The documentation covers configuration guidance, common pitfalls, full installations, and external Gitaly deployments. Gitaly on Kubernetes is a practical option for consolidating GitLab infrastructure and simplifying operations. Teams should use the Helm chart and configure client retries carefully, while recognizing that Kubernetes-based high availability through Praefect is still forthcoming.

Read original(opens in new tab)