Skip to content

Glossary

Short forms of the terms in CONTEXT.md. When a line here and CONTEXT.md disagree, CONTEXT.md wins.

Term Meaning
house plugin @house-rules/rules in packages/rules. Owns every checked rule and preset.
house rules The rules the plugin checks.
preset A config the plugin hands down: the TypeScript, Biome, and ESLint configs, and layout().
the stack The template: a pnpm workspace with the plugin wired in.
thin config A root config that extends a preset and adds only project values.
project value A setting only one project knows, such as the @hosti/ scope.
prose rules Rules no tool checks. The README lists them, and a reviewer reads for them.
wiring tests Tests in tests/ that prove the thin configs and the fence are hooked up.
fence Exact pins, pnpm check, pnpm test, the git hook, and the harness hooks that block --no-verify.
law AGENTS.md.
vision VISION.md. Each project made from the template writes its own.
agent sources Shallow clones of dependency source in .agent_sources/, for agents to read.
Term Meaning
workspace package Any folder under apps/ or packages/ with its own package.json.
app A workspace package under apps/. Holds delivery, server, and use-case code. Nothing imports it.
package A workspace package under packages/. Holds one module.
module Behavior with one interface and a private implementation.
seam Where a module’s interface sits. For a package, its public entry.
public entry src/index.ts, the only path a package’s exports names.
depth Useful behavior per amount of interface a caller must learn.
service A module’s interface: a Context.Service class whose methods return Effects.
expected error A Schema.TaggedError class in the Effect error channel.
layer An Effect Layer that provides a service. Not a delivery, server, or use-case folder.
migrations A module’s .sql files in packages/<name>/migrations/.
owning package The package whose migration creates a table.
Term Meaning
port, slot A service tag that says what a caller needs.
layer adapter A Layer that fills a slot, such as Bookings.fromRecords.
delivery adapter Delivery code that lets one kind of caller reach the use-cases.
cartridge One job plus its infrastructure, pushed in with one Layer.provide line.
pull-out test Delete a cartridge’s package and its line; does the rest still build and pass?
Term Meaning
capability One named action an app offers: a contract plus one handler.
contract Name, description, input, output and failure schemas, flags, permission, approval.
surface What an outside caller reaches: an MCP tool, an RPC, an HTTP endpoint. Built from a contract.
Actor The user a call acts for.
Viewer The Effect service that holds the Actor for one request.
permission A resource:action string, such as bookings:read, or "public".
Grant The slot that answers whether the caller holds a permission at all. Fails with Forbidden.
app role A fact about the caller with no object, such as admin. Feeds the Grant.
Approval The slot that asks a human whether they mean this call. Fails with ApprovalDenied.
relation How the caller stands to one object, such as owner or shared.
policy Maps each relation to the permissions it carries.
tool One MCP action: name, description, input schema, annotations, handler.
tool catalogue The list of tools in one app’s delivery layer.
resource server Checks OAuth tokens another server issued. A remote MCP server is one.