Topic

Interfaces

Where people and programs meet a system, and what the interface has to promise.

All technical writing

2026

  1. What a component compiler owns when the server can’t run JavaScript

    Compiling JSX-shaped templates to plain Rust, and dividing scoping, type checks, escaping and navigation among the compiler, rustc and the runtime.

    PlatformsInterfacesSecurity

  2. Counting input tokens when the answering provider can change

    Why one usage field means different things across model providers, and how to normalize token counts without hiding missing or contradictory data.

    Agent systemsPlatformsInterfaces

  3. Counting the ways an internal note can reach a customer

    A helpdesk enforces note privacy through one caller-specific projection across counts, previews, search and exports, and narrows what customer-bound drafts can use.

    SecurityInterfaces

  4. Following a streaming transcript without fighting the reader

    A follow controller for agent transcripts that keeps reader intent as explicit state, separate from scroll geometry, and the cases that shaped it over two months.

    InterfacesAgent systems

  5. Keeping the real workspace beside the conversation

    Giving a browser workspace stable panel identity, separate lifetimes for layout and shell, and the agent’s real files and terminal instead of a plausible substitute.

    InterfacesAgent systemsSecurity

  6. Letting an agent edit the canvas

    A canvas prototype where an agent and a person edit the same typed document, with selection-aware snapshots, canvas operations, and aliases for objects just created.

    InterfacesAgent systems

  7. Merge or refuse? Choosing a conflict model for text, cards and drafts

    A test for when concurrent writes should merge and when they should be refused, applied to a text CRDT, a task board and fenced draft publishing.

    Agent systemsInterfacesPlatforms

  8. Mutations a form can’t express: merges, legal moves and stale edits

    A CRM merge, legal issue transitions and stale-edit fences: treating changes as named server operations, with history in the write and a readable state after a crash.

    PlatformsInterfaces

  9. Putting a Rust server behind somebody else’s Next.js storefront

    Porting Next.js Commerce onto a Rust platform with no server JavaScript: generated contracts, runtime adapters, and what the frontend assumed about its server.

    PlatformsInterfaces

  10. Shutdown can only stop what it can find

    A sandbox coordinator fix that puts bootstrapping instances within reach of shutdown, and an API that says when it stopped waiting without knowing the outcome.

    PlatformsInterfaces

  11. Stock transfers and booking holds: what changes when a claim can expire

    Why a warehouse transfer fits in one compare-and-swap, why a calendar hold can lapse with no write at all, and why a durable seat claim is the one that can leak.

    PlatformsInterfaces

  12. Testing the promises an API actually makes

    How to test what a multi-service JSON-RPC API promises: coverage from its advertised methods, hostile payloads, concurrent writes and literal replay checks.

    SelectedInterfacesSecurityVerification

  13. Two ways a tool description goes stale

    Why a discovered tool definition is not permission to call it: re-checking catalog, policy and capability at call time, and deriving every format from one source.

    SelectedAgent systemsSecurityInterfacesEvaluation

  14. Voice shouldn’t have its own idea of the task

    Building voice as one more client of existing thread operations, with guards for steering races, ambiguous references and a spoken “yes” that names nothing.

    InterfacesAgent systemsSecurity

  15. What “clean locally” is allowed to mean

    How a local platform emulator reproduces leases, retries and denied egress, and says where its verdict stops at the moment a check comes back clean.

    PlatformsVerificationInterfaces

  16. What “completed” means in an AI gateway

    Why an AI gateway held back the terminal event until stored responses had landed, and what that release path did and did not promise about usage accounting.

    PlatformsInterfacesVerification

  17. What should be identical in a five-language agent SDK

    Which parts of a multi-language SDK must match exactly, such as errors, identity and event order, how shared fixtures enforce them, and what each language keeps.

    SelectedAgent systemsInterfacesVerification

  18. What survives when you replace the client

    Replacing a browser client on a shared TypeScript package and adding a native Rust client on the protocol alone: what each reused, and where scrolling and login cut across.

    InterfacesAgent systemsSecurity

  19. What TanStack Start actually asks of its server

    Porting TanStack Start to a Rust host shows how much of its server contract lives behind fetch: Nitro’s rules, cache behavior and the things a port must refuse.

    PlatformsInterfacesOpen source

  20. When a usage dashboard is entitled to show zero

    Treating usage replies as evidence: a browser parser that refuses inconsistent numbers, and display states that separate an observed zero from unavailable, stale or partial.

    InterfacesPlatformsVerification

  21. Whose request is this? Delegated identity between services

    Keeping the calling service separate from the user behind it: absent, invalid and verified identity, binding claims to the resource, and what replay memory needs.

    SelectedSecurityInterfaces