Frontend and full-stack engineer working on AI agents: how they get context, how their changes get verified, and how people work with them in the browser.
Building
- delivery-verifier:
dv provechecks regression tests against old and new commits in separate Git worktrees, with pytest, unittest, Node and Vitest 3.2/4.1 support and a GitHub Action for pull requests. v0.4.0, proven on a real merged fix in Arize Phoenix, listed in awesome-mutation-testing - OwnContext: self-hosted personal context for AI clients over MCP (preview)
Merged upstream: AI agent UIs and SDKs
- assistant-ui (13): runtime adapters for the AI SDK, AG-UI, LangChain, LangGraph, Google ADK, OpenCode and Pi keep what the agent produced: uploaded filenames, files and artifacts in tool results, images and files returned by Google ADK tools, documents cited by AI SDK streams, tool state metadata, provider metadata and file handles, stable part identities; LangGraph shows OpenAI reasoning once
- Arize Phoenix (9): LLM tracing and evals clients decode Anthropic and AI SDK tool inputs, keep
strictresponse schemas,extra_body, Anthropic system instructions, fields besideanyOfschemas, evaluatormetadata, failed task span status and JSON-string span filters; the dataset view refreshes its example count - Effect (10):
@effect/aireplays Anthropic web fetch and code execution results as server tool results, accepts web fetch documents without citations and code execution containers without skills, sends OpenAI shell tool results in the expected shape, acceptsnullservice_tierandtool_callsfrom OpenAI-compatible servers and ignores empty streamed content deltas from OpenRouter;Stream.groupAdjacentByemits buffered groups before an upstream failure;DateTimerounding keeps the offset inside a repeated DST hour;Iterable.unfoldandfilterMapWhilestay exhausted - AnythingLLM (6): agents keep images after prompt-based tool calls and reject failed Responses API streams; compressed chat history keeps images and provider formatting; KoboldCPP agents honour max response tokens; GitHub re-sync encodes file paths
- Vercel AI SDK (3): provider adapters accept what providers actually send: Cohere documents as base64 or data URLs and
nulltool arguments while streaming, inline text files in OpenAI-compatible requests - Context7:
resolve-library-idkeeps the teamspace filter notice when a filtered library search finds nothing, so the agent sees why the list is empty
Merged upstream: frontend and tooling
- knip (14): new Lingui, kysely-codegen and PurgeCSS plugins; Babel and Stylelint configs are followed through
extends; Babel, CSpell, SVGR, Relay, SWC, Storybook, Eleventy and npm-package-json-lint plugins read every config location and format their tools support - React Hook Form (4) and resolvers (4):
triggerkeeps nested field-array root errors and touches nested fields withshouldTouch; a Controller reads the currentshouldUnregisteron unmount; empty-string checkbox options; the io-ts and Effect resolvers honourraw; TypeBox and fluentvalidation-ts error paths - TanStack Virtual (3): Svelte and Vue adapters keep options and callbacks across updates and detach observers when the scroll element goes away
- Rollup (3): keep line terminators in module ids; debug ID comments count toward chunk hashes, so a cached chunk is never served under a new build's file name; dynamic chunks of
indexfiles are named after their directory instead of a row ofindex-<hash>.js - SvelteKit: use the UTF-8 byte length when reading inline assets
- Solid: sync array length when reconciling server-side stores
- Lexical: round-trip link titles and destinations through Markdown
- Mantine (4): color functions keep zero alpha in
hslaand parse four-digit#RGBA; leading-decimal values such as.5remstay CSS lengths instead of theme sizes;use-hashkeeps its state in sync with the URL - Starlight (2): the sidebar autogenerates from the docs root; localized sites keep a directory named
constructorin fallback pages, the language picker and alternate links - UnoCSS: preset-wind4 containment utilities
- Earlier: Ant Design (test suite migration to Testing Library), screenshot-to-code (stop button, live code editing, image-comparison debugging), LlamaIndexTS
Writing: clean99.github.io