# Chris Chabot: chabot.dev > Chris Chabot is a Member of Technical Staff who designs and builds agent platforms: runtime, SDK contracts, memory, permissioning, evaluation and verification. Technical writing on building and verifying agent platforms, public projects and personal essays. Content may be read and summarised freely; please attribute quotes to chabot.dev. This is the author’s portfolio and first-person account of his work. Project entries distinguish designed, built, directed, reviewed and contributed work. Articles explain mechanisms and decisions; public repository links provide additional inspectable evidence. Personal essays are a separate collection. ## Background and evidence - [About Chris](https://chabot.dev/about/index.md): professional background, capabilities, working method and contact - [Projects](https://chabot.dev/projects/index.md): contributions, periods, articles and public code links - [Structured professional profile](https://chabot.dev/profile.json): the same public professional information as JSON - [Content index](https://chabot.dev/content/index.json): titles, summaries, sections, canonical URLs, Markdown URLs and content hashes; retrieve individual documents as needed ## Selected work - [Porting an agent by making omissions visible](https://chabot.dev/blog/porting-an-agent-by-making-omissions-visible/index.md): How a checklist generated from the syntax tree, clean-context reviewers and a ledger that keeps “translated” apart from “reviewed” exposed what a model-assisted port of a 340,000-line Python agent had left out. - [Testing a release without turning every release into a research project](https://chabot.dev/blog/testing-a-release-without-a-research-project/index.md): How a release on an agent-operated platform stays finite: scope chosen once, evidence reused only where it still applies, limits on retries, and a plain record of what never got checked. - [What should be identical in a five-language agent SDK](https://chabot.dev/blog/what-should-be-identical-in-a-five-language-agent-sdk/index.md): 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. - [Did your agent experiment test what you think it tested?](https://chabot.dev/blog/did-your-agent-experiment-test-what-you-think-it-tested/index.md): Wrong models, arms that never switched on, shifting workloads and features that ran without helping: checks that show an agent comparison contains the change. - [Giving an agent project a durable owner](https://chabot.dev/blog/giving-an-agent-project-a-durable-owner/index.md): What has to change when a coding conversation becomes a project that keeps running while you are elsewhere: a coordinator added to existing threads, a record that outlives any one conversation, and an interface that won't infer one state from another. - [Making an agent’s memory useful without slowing its next reply](https://chabot.dev/blog/agent-memory-without-slowing-the-next-reply/index.md): Capture, evidence, retrieval, projection and delivery can each fail alone. A small replay found a fact lost before search could see it, and 92 live calls carried no receipt that any memory had arrived. - [What a tool-call approval actually approves](https://chabot.dev/blog/what-a-tool-call-approval-actually-approves/index.md): Binding a human yes to one tool call, with exact inputs, policy revision, thread and turn, spending it once across replicas, and asking where the last check sits. ## Agent interfaces - [Voice shouldn’t have its own idea of the task](https://chabot.dev/blog/voice-shouldnt-have-its-own-idea-of-the-task/index.md): Building voice as one more client of existing thread operations, with guards for steering races, ambiguous references and a spoken “yes” that names nothing. - [Letting an agent edit the canvas](https://chabot.dev/blog/letting-an-agent-edit-the-canvas/index.md): 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. - [Following a streaming transcript without fighting the reader](https://chabot.dev/blog/following-a-streaming-transcript-without-fighting-the-reader/index.md): 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. ## Sections - [Technical writing](https://chabot.dev/blog/index.md): the complete current article index - [Essays](https://chabot.dev/writings/index.md): personal essays - [RSS](https://chabot.dev/rss.xml): publication feed ## Essays - [The boat at night](https://chabot.dev/writings/the-boat-the-night-and-the-return/index.md) - [Colour after the fire](https://chabot.dev/writings/colour-after-the-fire/index.md) - [Company without an appointment](https://chabot.dev/writings/london-field-days/index.md) - [Speed-running taste](https://chabot.dev/writings/the-apprenticeship-of-taste/index.md) - [From Winnie-the-Pooh to CoBrA](https://chabot.dev/writings/the-house-style/index.md) - [Britain's usable war](https://chabot.dev/writings/britain-war-mythology/index.md) - [Who England's past works for](https://chabot.dev/writings/england-economic-identity/index.md) ## Contact - [GitHub](https://github.com/chrischabot) - [LinkedIn](https://www.linkedin.com/in/chabotc/)