# Glossary

- A clean playground → rat-stack is a place to do real work with pieces that stay easy to add and remove. → /lore/a-clean-playground
- A Layer as constructor → Sam Goodwin compares an Effect Layer that builds a service to a constructor. → /lore/layer-constructor-pattern
- adapter → Ports name the application's jobs; adapters connect them to the outside world. → /lore/hexagonal-architecture
- add-a-capability → Learn how one contract and its handler become a command, HTTP route, MCP tool, browser RPC, and sandbox call. → /skills/add-a-capability
- add-a-lifecycle-machine → Learn how XState owns a lifecycle while Effect owns its work, errors, and services. → /skills/add-a-lifecycle-machine
- agent-friendly framework → The fence makes the safe path enforceable and makes bypasses fail loudly. → /lore/the-fence
- agents explore, tests remember → Let agent users explore scenarios; turn a good bug reproduction into a repeatable test. → /lore/agents-explore-tests-remember
- AI Engineer World's Fair 2026: Software has changed → Theo Browne argues that stronger models call for wider software work and extensible products. → /lore/aiewf-2026-everything-we-knew-about-software-has-changed-theo-browne
- Alchemy and the next generation of infrastructure as code → Sam Goodwin describes Alchemy's stateful TypeScript model for infrastructure resources. → /lore/devtools-fm-sam-goodwin-alchemy-next-gen-iac
- ambient cloud → Sam Goodwin describes a cloud experience where credentials and accounts become available through one interface. → /lore/ambient-cloud
- An MCP your users want → Rhys Sullivan's practical guide gives rat-stack a checklist for useful MCP tools. → /lore/an-mcp-your-users-want
- Analytics → One event per HTTP request, stored unchanged in an Iceberg table on R2 and shaped at query time. → /systems/analytics
- anti-money → Sam Goodwin frames Alchemy as reducing SaaS products to libraries and shifting value elsewhere. → /lore/anti-money
- Auth → Email and password sign-in through Better Auth, with the signed-in person provided to each RPC call. → /systems/auth
- Better Auth → Email and password sign-in through Better Auth, with the signed-in person provided to each RPC call. → /systems/auth
- binding → Sam Goodwin describes bindings as the place where runtime permissions and configuration meet infrastructure. → /lore/bindings
- bindings → Sam Goodwin describes bindings as the place where runtime permissions and configuration meet infrastructure. → /lore/bindings
- brainmaxxing → Lauren Tan (poteto) publishes skills in several repos: brainmaxxing for memory and skill improvement, noodle for skill-based orchestration, how for explaining a codebase, and a verification-skill example. → /lore/lauren-tan-skills
- Capabilities → Domain behaviors on generated surfaces share one schema-typed contract and one handler. → /systems/capabilities
- Capability → Binds one contract to its server-side handler with `implement`. → /systems/capabilities
- capability contract → Domain behaviors on generated surfaces share one schema-typed contract and one handler. → /systems/capabilities
- capability projection → A schema-typed contract and one handler feed every interface rat-stack keeps. → /lore/one-capability-every-surface
- capability registry → Domain behaviors on generated surfaces share one schema-typed contract and one handler. → /systems/capabilities
- capture first → Store events without rejecting them for an evolving event shape, then decide their shape when you query. → /lore/capture-first
- Capture first, shape later → Store events without rejecting them for an evolving event shape, then decide their shape when you query. → /lore/capture-first
- Cartridge → One Layer with its own infrastructure; it must pass the cartridge test in `VISION.md`. → /lore/cartridges
- cartridge test → A cartridge owns one job and brings the infrastructure its service needs. → /lore/cartridges
- cartridges → A cartridge owns one job and brings the infrastructure its service needs. → /lore/cartridges
- CascadiaJS 2026: It's time to rethink everything → Theo Browne compares how cloud infrastructure and coding agents changed the cost of experimentation. → /lore/cascadiajs-2026-its-time-to-rethink-everything-theo-browne
- Cause & Effect 10: Software engineering in the age of AI → John De Goes, Michael Arnaldi, and Johannes Schickling discuss engineering judgment as code gets cheaper. → /lore/cause-and-effect-10-software-engineering-age-of-ai-de-goes
- Chris Tate → Chris Tate shares public experiments in generative UI and fast model judgments. → /lore/chris-tate
- clean playground → rat-stack is a place to do real work with pieces that stay easy to add and remove. → /lore/a-clean-playground
- Client → Own AtomRpc queries, named commands, and the local replica. → /skills/uncomplect
- cloud as a library → Sam Goodwin argues that cloud services can be consumed as libraries inside an application. → /lore/cloud-as-a-library
- cloud becomes a library → Sam Goodwin argues that cloud services can be consumed as libraries inside an application. → /lore/cloud-as-a-library
- comments are banned → Code comments are banned because names, types, tests, and boundaries should carry the meaning. → /lore/no-comments
- context and requirements → Effect requirements make a computation's needed services visible in its type. → /lore/context-and-requirements
- Contract → Shared name, schemas, failure, annotations, and approval setting. → /systems/capabilities
- Database → A run log behind one service, stored in Cloudflare D1 or in Postgres through Hyperdrive, chosen by one vendor value. → /systems/database
- database vendor → A run log behind one service, stored in Cloudflare D1 or in Postgres through Hyperdrive, chosen by one vendor value. → /systems/database
- David K → David Khourshid teaches state machines with XState and argues for model-based and property-based testing. → /lore/david-khourshid
- David Khourshid → David Khourshid teaches state machines with XState and argues for model-based and property-based testing. → /lore/david-khourshid
- debt ledger → The lint rules, compiler diagnostics, hooks, and gate that make a bad shortcut fail instead of asking an agent to avoid it. → /systems/fence
- Devtools → Development-only capabilities inspect calls and lifecycle transitions without entering production bundles. → /systems/devtools
- devtools system → Development-only capabilities inspect calls and lifecycle transitions without entering production bundles. → /systems/devtools
- DHH on Omarchy and the agent OS → David Heinemeier Hansson reflects on agency, agents, and building with language. → /lore/0xsero-dhh-omarchy-the-agent-os
- Distilled → Sam Goodwin describes Effect-native provider SDKs and typed errors under the Distilled name. → /lore/distilled
- double opt-in → The visitor gets one confirmation email and is counted only after using its link. → /lore/double-opt-in
- Effect basics → Effect keeps success values, expected failures, and required services in one computation model. → /lore/effect-basics
- Effect computation → Effect keeps success values, expected failures, and required services in one computation model. → /lore/effect-basics
- Effect Days 2024: The origin story → Michael Arnaldi traces Effect to a TypeScript team's needs for tests, dependencies, and resource safety. → /lore/effect-days-2024-origin-story-michael-arnaldi
- Effect Days 2025: Building Effect 4 → Michael Arnaldi presents Effect 4 as a redesign shaped by production feedback. → /lore/effect-days-2025-building-effect-4-michael-arnaldi
- Effect design lineage → Michael Arnaldi describes Effect's path from fintech needs through ZIO influence and TypeScript iterations. → /lore/effect-design-lineage
- Effect error model → Michael Arnaldi distinguishes typed failures a program handles from defects it lets escape. → /lore/error-model
- Effect Meetup SF 2023: Why Effect? → Michael Arnaldi introduces Effect as a shared runtime for production TypeScript concerns. → /lore/effect-meetup-sf-2023-why-effect-michael-arnaldi
- Effect Office Hours 26: Community projects and Alchemy → The hosts discuss Alchemy Effect's typed resource requirements, plans, and deployment stages. → /lore/effect-office-hours-26-community-projects-alchemy
- Effect Office Hours 27: Alchemy, infrastructure as effects → Sam Goodwin presents Alchemy as an Effect-native system for planning, testing, and deploying infrastructure. → /lore/effect-office-hours-27-alchemy-infrastructure-as-effects
- Effect requirements → Effect requirements make a computation's needed services visible in its type. → /lore/context-and-requirements
- Effect: Production-Grade TypeScript → Michael Arnaldi presents Effect as a set of shared primitives for production TypeScript. → /lore/cityjs-effect-production-grade-typescript-michael-arnaldi
- Effect's design lineage → Michael Arnaldi describes Effect's path from fintech needs through ZIO influence and TypeScript iterations. → /lore/effect-design-lineage
- Effect's origin story → Michael Arnaldi describes Effect's path from fintech needs through ZIO influence and TypeScript iterations. → /lore/effect-design-lineage
- email confirmation → The visitor gets one confirmation email and is counted only after using its link. → /lore/double-opt-in
- events_raw → One event per HTTP request, stored unchanged in an Iceberg table on R2 and shaped at query time. → /systems/analytics
- Feature → Thin route and view that read client atoms. → /skills/uncomplect
- fence → The fence makes the safe path enforceable and makes bypasses fail loudly. → /lore/the-fence
- find-peers → Refresh public peers, exact stack versions, and usefulness tiers every week or two and after each shared-line bump. Study source before adopting patterns. → /skills/find-peers
- floor and ceiling → Theo Browne argues that a model's ordinary reliability matters more than its peak on long agent runs. → /lore/floor-and-ceiling
- gardener → Keep rat-stack current and clean. Bump the bleeding-edge pins, learn from repos on the same versions, and turn every bad pattern into a lint rule before cleaning it up. → /skills/gardener
- grill-with-docs → Matt Pocock's skills repo packages the agent skills he says he uses every day, built to be small, adaptable, and composable. → /lore/matt-pocock-skills
- grilling session → Matt Pocock's skills repo packages the agent skills he says he uses every day, built to be small, adaptable, and composable. → /lore/matt-pocock-skills
- Happy Path 116: Infrastructure as effects → Sam Goodwin connects Effect requirements, infrastructure policies, and runtime behavior. → /lore/happy-path-116-infrastructure-as-effects-sam-goodwin
- Happy Path 81: TypeScript and effects → Michael Arnaldi describes Effect's TypeScript design and its typed outputs, errors, and requirements. → /lore/happy-path-81-typescript-and-effects-michael-arnaldi
- HATEOAS → Links in a representation tell its reader what to do next; rat-stack applies that idea to agent surfaces. → /lore/hateoas
- hexagonal architecture → Ports name the application's jobs; adapters connect them to the outside world. → /lore/hexagonal-architecture
- hosted agent front door → Discovery documents, HTTP, MCP, A2A, and bounded code mode expose the public reference to agents. → /systems/agent-front-door
- house rule → rat-stack is a place to do real work with pieces that stay easy to add and remove. → /lore/a-clean-playground
- hypermedia as the engine of application state → Links in a representation tell its reader what to do next; rat-stack applies that idea to agent surfaces. → /lore/hateoas
- infrastructure as effects → Sam Goodwin relates application operations to infrastructure requirements in one typed program. → /lore/infrastructure-as-effects
- infrastructure plan → Sam Goodwin describes Alchemy's plan outputs as a way to inspect infrastructure before deployment. → /lore/plan-model
- initialization runs twice → Alchemy Worker initialization runs in deploy and runtime contexts, so resource declarations need a boundary. → /lore/init-runs-twice
- interest signup → Browser signup starts email confirmation; delivery stays behind job-shaped ports outside core. → /systems/interest
- keep-or-cut → Learn which pieces depend on each other, then keep only the ones your project needs. → /skills/keep-or-cut
- Lauren Tan → Lauren Tan describes verification and agent-oriented architecture in her public talk about Dune. → /lore/lauren-tan
- Lauren Tan: Dune, trust, and agent skills → Lauren Tan describes verification, a trust ladder, and an agent-oriented application framework. → /lore/poteto-lauren-tan-2500-prs-dune
- Lauren Tan's skills → Lauren Tan (poteto) publishes skills in several repos: brainmaxxing for memory and skill improvement, noodle for skill-based orchestration, how for explaining a codebase, and a verification-skill example. → /lore/lauren-tan-skills
- Layer → Sam Goodwin compares an Effect Layer that builds a service to a constructor. → /lore/layer-constructor-pattern
- layer as constructor → Sam Goodwin compares an Effect Layer that builds a service to a constructor. → /lore/layer-constructor-pattern
- Layer constructor → Sam Goodwin compares an Effect Layer that builds a service to a constructor. → /lore/layer-constructor-pattern
- learn-alchemy → Learn how Alchemy 2 turns an Effect program into a planned Cloudflare deployment. → /skills/learn-alchemy
- learn-rat-stack → See how Effect, XState, TypeScript, Alchemy, and four agent interfaces fit together. → /skills/learn-rat-stack
- lifecycle machine → XState owns finite lifecycle states while declared Effect actors own side effects. → /lore/lifecycles-are-machines
- lifecycles are machines → XState owns finite lifecycle states while declared Effect actors own side effects. → /lore/lifecycles-are-machines
- Machine → Own one finite domain lifecycle. → /lore/lifecycles-are-machines
- Matt Pocock → Matt Pocock's skills repo packages the agent skills he says he uses every day, built to be small, adaptable, and composable. → /lore/matt-pocock-skills
- Matt Pocock's skills → Matt Pocock's skills repo packages the agent skills he says he uses every day, built to be small, adaptable, and composable. → /lore/matt-pocock-skills
- MBT → Describe what a system should do as a small model, generate action sequences, and check the real system against the model. → /lore/model-based-testing
- MCP your users want → Rhys Sullivan's practical guide gives rat-stack a checklist for useful MCP tools. → /lore/an-mcp-your-users-want
- Michael Arnaldi → Michael Arnaldi develops Effect and explains its TypeScript design in public talks. → /lore/michael-arnaldi
- model floor → Theo Browne argues that a model's ordinary reliability matters more than its peak on long agent runs. → /lore/floor-and-ceiling
- model-based testing → Describe what a system should do as a small model, generate action sequences, and check the real system against the model. → /lore/model-based-testing
- no comments → Code comments are banned because names, types, tests, and boundaries should carry the meaning. → /lore/no-comments
- noodle → Lauren Tan (poteto) publishes skills in several repos: brainmaxxing for memory and skill improvement, noodle for skill-based orchestration, how for explaining a codebase, and a verification-skill example. → /lore/lauren-tan-skills
- one capability, every surface → A schema-typed contract and one handler feed every interface rat-stack keeps. → /lore/one-capability-every-surface
- PBT → State a rule that must hold for every input, then let a generator hunt for the smallest input that breaks it. → /lore/property-based-testing
- plan model → Sam Goodwin describes Alchemy's plan outputs as a way to inspect infrastructure before deployment. → /lore/plan-model
- port → Ports name the application's jobs; adapters connect them to the outside world. → /lore/hexagonal-architecture
- ports and adapters → Ports name the application's jobs; adapters connect them to the outside world. → /lore/hexagonal-architecture
- pre-commit gate → The lint rules, compiler diagnostics, hooks, and gate that make a bad shortcut fail instead of asking an agent to avoid it. → /systems/fence
- product breadth → Theo Browne asks developers to cover more product breadth instead of adding depth in one narrow area. → /lore/think-wider
- production-grade software → Michael Arnaldi defines production-grade software through reliability, observability, testability, and maintainability. → /lore/production-grade-typescript
- production-grade TypeScript → Michael Arnaldi defines production-grade software through reliability, observability, testability, and maintainability. → /lore/production-grade-typescript
- Projection → Expose implemented capabilities on one runtime surface. → /lore/one-capability-every-surface
- property test → State a rule that must hold for every input, then let a generator hunt for the smallest input that breaks it. → /lore/property-based-testing
- property tests → State a rule that must hold for every input, then let a generator hunt for the smallest input that breaks it. → /lore/property-based-testing
- property-based testing → State a rule that must hold for every input, then let a generator hunt for the smallest input that breaks it. → /lore/property-based-testing
- read the source → Michael Arnaldi says agents should inspect a library's current source instead of trusting stale model knowledge. → /lore/agent-source-first-workflow
- request analytics → One event per HTTP request, stored unchanged in an Iceberg table on R2 and shaped at query time. → /systems/analytics
- run log → A run log behind one service, stored in Cloudflare D1 or in Postgres through Hyperdrive, chosen by one vendor value. → /systems/database
- Sam Goodwin → Sam Goodwin presents Alchemy as infrastructure built from Effect programs and typed requirements. → /lore/sam-goodwin
- Sam Goodwin on Alchemy → Sam Goodwin explains Alchemy's Effect model, plans, bindings, and cloud-library idea. → /lore/devtools-fm-sam-goodwin-alchemy
- shape later → Store events without rejecting them for an evolving event shape, then decide their shape when you query. → /lore/capture-first
- signed-in person → Email and password sign-in through Better Auth, with the signed-in person provided to each RPC call. → /systems/auth
- source-first workflow → Michael Arnaldi says agents should inspect a library's current source instead of trusting stale model knowledge. → /lore/agent-source-first-workflow
- tautological tests → A test earns its place by covering behavior the existing suite does not prove. → /lore/tests-that-earn-their-place
- test model → Describe what a system should do as a small model, generate action sequences, and check the real system against the model. → /lore/model-based-testing
- tests that earn their place → A test earns its place by covering behavior the existing suite does not prove. → /lore/tests-that-earn-their-place
- The error model → Michael Arnaldi distinguishes typed failures a program handles from defects it lets escape. → /lore/error-model
- the fence → The fence makes the safe path enforceable and makes bypasses fail loudly. → /lore/the-fence
- The plan model → Sam Goodwin describes Alchemy's plan outputs as a way to inspect infrastructure before deployment. → /lore/plan-model
- Theo Browne → Theo Browne discusses broader software work and model reliability in public talks. → /lore/theo-browne
- Theo Browne: Please stop using stupid models → Theo Browne argues that model reliability matters more as agent work gets wider and longer. → /lore/theo-please-stop-using-stupid-models
- think wider → Theo Browne asks developers to cover more product breadth instead of adding depth in one narrow area. → /lore/think-wider
- trust ladder → The fence makes the safe path enforceable and makes bypasses fail loudly. → /lore/the-fence
- typed failures → Michael Arnaldi distinguishes typed failures a program handles from defects it lets escape. → /lore/error-model
- uncomplect → Find what a rat-stack design braids together, separate it into capabilities, cartridges, machines, features, and clients, and fence the separation so the next change cannot braid it again. Use when asked to simplify, review, or replace a design, "what would Rich Hickey do", "optimize for deletion", or "define this error out of existence". → /skills/uncomplect
- useful MCP tools → Rhys Sullivan's practical guide gives rat-stack a checklist for useful MCP tools. → /lore/an-mcp-your-users-want
- verification skill → Lauren Tan (poteto) publishes skills in several repos: brainmaxxing for memory and skill improvement, noodle for skill-based orchestration, how for explaining a codebase, and a verification-skill example. → /lore/lauren-tan-skills
- Vibe engineering Effect apps → Michael Arnaldi shows how source, tests, and diagnostics can guide agents working with Effect. → /lore/ai-engineer-vibe-engineering-effect-apps-michael-arnaldi
- Visakan Veerasamy → Visakan Veerasamy writes about building a social graph of friendly, ambitious nerds. → /lore/visakan-veerasamy
- Why JavaScript is broken: Effect and TypeScript → Michael Arnaldi argues that production JavaScript needs one composable model for errors, dependencies, and cleanup. → /lore/why-javascript-is-broken-effect-michael-arnaldi
- Why TypeScript is a good fit for Scala developers → John De Goes and Michael Arnaldi discuss carrying functional programming ideas into TypeScript. → /lore/ziverge-de-goes-arnaldi-typescript-for-scala-devs
- Worker init runs twice → Alchemy Worker initialization runs in deploy and runtime contexts, so resource declarations need a boundary. → /lore/init-runs-twice
