Bindings
Sam says a binding includes both permissions and environment variables. A service’s configuration and permissions can be declared together before the application runs. Happy Path 116, 37:09 37:33¶
He also describes deriving least-privilege policies: permissions limited to the methods an application uses. Effect Office Hours 27, 58:16 59:23.¶
See Happy Path 1168 and Effect Office Hours 278.¶
Sources
- #116 Infrastructure as Effects with Sam Goodwin - YouTube. Sam Goodwin. Binding explanation; used for permissions and environment configuration. Accessed 2026-10-01.
- Alchemy, Infrastructure as Effects | Office Hours 27 🔥 - YouTube. Sam Goodwin. Policy derivation discussion; used for least privilege from application methods. Accessed 2026-10-01.
Last changed 2026-10-07 in e73c9d9. Source on GitHub. Change log.
Linked from
- Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
Bindings — Sam Goodwin describes bindings as the place where runtime permissions and configuration meet infrastructure.
- Agent rules for rat-stack (AGENTS.md). What you may change, which commands to run, and which changes need approval.
Classification reads Alchemy Plan values, including binding and task changes.
- Analytics. One event per HTTP request, stored unchanged for queries to select and interpret later.
A Worker binding, a declared connection to a resource, sends the event to an unstructured Cloudflare Pipelines stream.¶
- Auth. Email and password sign-in through Better Auth, with the signed-in person provided to each RPC call.
It calls the private LearnFeedbackAuth Worker through a Worker binding.
- Cartridges. A cartridge owns one job and brings the infrastructure its service needs.
Declare the bindings that give it access to its resources.¶
- Change log. What changed in the files served here, newest first.
Bindings — edited: feat(learn): teach the next twenty cards with plain lines, diagrams and snippets
- Effect + Alchemy peer patterns. Source-grounded patterns from repos on nearby Effect and Alchemy pins.
The browser calls a same-origin TanStack /rpc route, which forwards to a private BACKEND service binding; the backend has no public Workers URL.
- Effect Office Hours 27: Alchemy, infrastructure as effects. Sam Goodwin presents Alchemy as a system built with Effect for planning, testing, and deploying infrastructure.
He explains bindings as application capabilities that can inform least-privilege policies, which limit permissions to the application methods in use.
- Feature flags. Typed feature flags with owners, removal dates, and stable subject rollouts.
Adding live flags declares one KV namespace and updates its Worker bindings.¶
- Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
- Infrastructure as effects. Sam Goodwin relates application operations to infrastructure requirements in one typed program.
Sam describes bindings as permissions and environment variables together at 37:09.
- Learn mode presents concepts at useful depths. An agent presents source-derived concepts during real work and keeps learning events in a private local log.
On adds Better Auth table migrations and the Worker bindings that use them.¶
- learn-alchemy. Learn how Alchemy 2 turns an Effect program into a planned Cloudflare deployment.
One program declares resources, bindings, deployment state, and the Worker that uses them.¶
- Lint and type escape ledger (debt.md). A source-linked count of repo-owned lint and type escapes.
- Oxlint rule limits. How the current lint rules draw their syntax boundaries.
- Purpose and boundaries of rat-stack (VISION.md). What this starter is for and what a useful copy should keep.
Alchemy puts infrastructure on the compiler rung: remove a binding and the code that uses it stops compiling.
- Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.
Bindings — Sam Goodwin describes bindings as the place where runtime permissions and configuration meet infrastructure.
- Sam Goodwin on Alchemy. Sam Goodwin explains Alchemy's Effect model, plans, bindings, and cloud-library idea.
He explains how bindings connect runtime needs to infrastructure.
- Schema projections: 2026-09-18 history. Historical Effect rc.115 proposal and implementation receipts from 2026-09-18; use the one-capability-every-surface lore page for the current pattern.
Link context
The MCP or OpenAPI schema becomes a typed TypeScript API with doc comments; the model writes TS against it; it runs in an isolated Worker with no network, only bindings.
- Source change history (log.md). The generated change log as Markdown.
Bindings — edited: feat(learn): teach the next twenty cards with plain lines, diagrams and snippets
- Trace operations where they mean something. Name useful operations, add safe context, and distinguish creating a span from delivering it to a backend.
- uncomplect. Find responsibilities that a rat-stack design combines, separate them into capabilities, cartridges, machines, features, and clients, and enforce that separation through types and checks. 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".
- Worker init runs twice. Alchemy Worker initialization runs in deploy and runtime contexts, so resource declarations need a boundary.
ts sets the runtime flag and provides only runtime bindings.
Unlinked mentions (6)
- Cartridges → Sam describes test or development Layers for infrastructure and a type error when code still requires a removed binding.
- Effect + Alchemy peer patterns → The vendor Layer should own its schema, migration path, role, and Hyperdrive binding.
- learn-alchemy → Binding is a typed runtime value attached to a Worker.
- Oxlint rule limits → ts: importIdentity, isEffectCall, expressionForVariable, variableBinding, and watchEffectActors’ per-binding Program:exit check.
- Purpose and boundaries of rat-stack (VISION.md) → ts deploys nothing, and removing a binding is a type error.
- uncomplect → Look for a database or queue declared separately from the Layer that consumes its binding.¶