Skip to content
View OsmnvAslan's full-sized avatar

Block or report OsmnvAslan

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
OsmnvAslan/README.md

Aslan Osmanov

Backend engineer. Python, mostly. I care about the parts of a system that fail quietly: message delivery, caches, retries, the second request that does not look like the first.

What I build

  • promptcachelint · explains why an LLM prompt cache missed. Diffs consecutive requests and names the block, the offset and the bytes that broke the prefix, for Anthropic and OpenAI. Zero dependencies. pip install promptcachelint
  • txoutbox · transactional outbox relay for asyncio. Bring your own table and your own broker; the core has no dependencies and ships contract tests for adapters. pip install txoutbox
  • batch-creative · product photos plus one reference image in, a consistent series of social posts out. Image-to-image generation with failover, streamed over SSE, persisted in SQLite. Next.js.

How I work

  • Contracts first, then code. Small typed interfaces, adapters behind Protocols, a contract test suite that any adapter has to pass.
  • Precision over promises. If a tool reports a number, the README says whether it is measured or estimated.
  • Reviews are input. Every finding gets reproduced, then fixed or explicitly declined with a reason.

Elsewhere

PyPI: promptcachelint · txoutbox
Mail: osmnvaslan@gmail.com

Pinned Loading

  1. batch-creative batch-creative Public

    Product photos + one reference image → a consistent series of social posts. Next.js, Gemini image-to-image, SSE, SQLite.

    TypeScript

  2. promptcachelint promptcachelint Public

    Explain why your LLM prompt cache missed: prefix diffs, silent invalidators and hit-rate accounting for Anthropic and OpenAI.

    Python

  3. txoutbox txoutbox Public

    Storage-agnostic Transactional Outbox relay for asyncio: bring your own table, bring your own broker

    Python