# Stackra > Stackra — the @stackra/* packages, apps and services, and how to work in the monorepo. - [Introduction](https://docs.stackra.figentra.com/index.md): What Stackra is and how this repository is organised. - [Roadmap](https://docs.stackra.figentra.com/roadmap.md): The master delivery plan: phases, waves, the critical path, blocking decisions, spikes and milestones. - [Quickstart](https://docs.stackra.figentra.com/quickstart.md): From a clean machine to a running console and docs site. - [Development](https://docs.stackra.figentra.com/development.md): From a clean clone to a green pnpm verify, and the commands you use every day. - [Repository structure](https://docs.stackra.figentra.com/guides/structure.md): Top-level layout and what belongs where. - [Package categories](https://docs.stackra.figentra.com/guides/packages.md): packages//: one level of category, packages flat inside it. - [Tooling presets](https://docs.stackra.figentra.com/guides/tooling.md): The four config packages every member extends. - [Commits and releases](https://docs.stackra.figentra.com/guides/workflow.md): Git hooks, conventional commits, changesets and secret scanning. - [Definition of done](https://docs.stackra.figentra.com/guides/definition-of-done.md): What must be true before a change is done, each line tied to the check that enforces it. - [Scaffolding](https://docs.stackra.figentra.com/guides/scaffolding.md): Create a member with pnpm new, what the templates replace, and how to move code with a script instead of by hand. - [Constitution](https://docs.stackra.figentra.com/constitution/index.md): The laws every contributor and agent follows. Laws outrank ADRs, and every law names the check that enforces it. - [Boundaries](https://docs.stackra.figentra.com/constitution/boundaries.md): Tiers, dependency direction, the placement test, service ownership, and the rule that shared packages hold factories rather than values. - [Secrets](https://docs.stackra.figentra.com/constitution/secrets.md): Two kinds of secret, two mechanisms, never a third. A human or the secret-manager inbox flow sets every value, and nobody reads one. - [HTTP and events](https://docs.stackra.figentra.com/constitution/http-and-events.md): One endpoint per operation, authentication by default, verbs by idempotency, cursor lists, prefixed ids, idempotency keys and versioned events. - [Security](https://docs.stackra.figentra.com/constitution/security.md): One authenticated principal per request, server-side authorization, audit, data classification and supply-chain controls. - [Tenancy](https://docs.stackra.figentra.com/constitution/tenancy.md): Two-layer tenant isolation, where the tenant context comes from, the isolation tests every tenant-owned table needs, and the rules for the scope tree. - [Delegation](https://docs.stackra.figentra.com/constitution/delegation.md): Claude decides, executors get self-contained briefs, git writes stay with the dispatcher, and review is by gates. - [Architecture decisions](https://docs.stackra.figentra.com/adr/index.md): Why the repository looks the way it does. - [0001 — Monorepo layout, catalogs and tooling](https://docs.stackra.figentra.com/adr/0001-monorepo-layout.md): Accepted · 2026-10-19 - [0002 — Documentation on Mintlify](https://docs.stackra.figentra.com/adr/0002-docs-on-mintlify.md): Accepted · 2026-10-19 - [0003 — Tier dependency direction](https://docs.stackra.figentra.com/adr/0003-tier-dependency-direction.md): Accepted · 2026-10-19 - [0004 — Package archetypes and layers](https://docs.stackra.figentra.com/adr/0004-package-archetypes-and-layers.md): Superseded by 0126 · 2026-10-19 - [0005 — DI container and legacy decorators](https://docs.stackra.figentra.com/adr/0005-di-container-and-legacy-decorators.md): Accepted, amended by 0143, 0145, 0263 · 2026-10-19 - [0006 — Naming, exports and imports](https://docs.stackra.figentra.com/adr/0006-naming-exports-and-imports.md): Accepted, amended by 0128, 0233 · 2026-10-19 - [0007 — Source documentation standard](https://docs.stackra.figentra.com/adr/0007-source-documentation-standard.md): Accepted, amended by 0128 · 2026-10-19 - [0008 — Test placement](https://docs.stackra.figentra.com/adr/0008-test-placement.md): Superseded by 0022 · 2026-10-19 - [0009 — Secrets: two mechanisms](https://docs.stackra.figentra.com/adr/0009-secrets-two-mechanisms.md): Superseded by 0173 · 2026-10-20 - [0010 — Services are independent workspace members](https://docs.stackra.figentra.com/adr/0010-services-are-independent-workspace-members.md): Accepted · 2026-10-19 - [0011 — Rejected and deferred technologies](https://docs.stackra.figentra.com/adr/0011-rejected-and-deferred-technologies.md): Superseded by 0227 · 2026-10-20 - [0012 — Code host and CI](https://docs.stackra.figentra.com/adr/0012-code-host-and-ci.md): Accepted · 2026-10-19 - [0013 — Versioning and release](https://docs.stackra.figentra.com/adr/0013-versioning-and-release.md): Superseded by 0025 · 2026-10-19 - [0014 — Data ownership and ORM](https://docs.stackra.figentra.com/adr/0014-data-ownership-and-orm.md): Accepted, amended by 0160 · 2026-10-19 - [0015 — Contract packages](https://docs.stackra.figentra.com/adr/0015-contract-packages.md): Superseded by 0117 · 2026-10-19 - [0016 — `.agents/` is the source of truth](https://docs.stackra.figentra.com/adr/0016-agents-source-of-truth.md): Accepted, amended by 0282 · 2026-10-19 - [0017 — Agent roster and models](https://docs.stackra.figentra.com/adr/0017-agent-roster-and-models.md): Superseded by 0193 · 2026-10-20 - [0018 — Framework design record](https://docs.stackra.figentra.com/adr/0018-framework-design-record.md): Superseded by 0228 · 2026-10-20 - [0019 — Supply chain hardening](https://docs.stackra.figentra.com/adr/0019-supply-chain-hardening.md): Superseded by 0174 · 2026-10-20 - [0020 — Observability and crash reporting](https://docs.stackra.figentra.com/adr/0020-observability-and-crash-reporting.md): Superseded by 0184 · 2026-10-20 - [0021 — AI engine and agent write safety](https://docs.stackra.figentra.com/adr/0021-ai-engine-and-agent-write-safety.md): Proposed · 2026-10-19 - [0022 — Tests live in __tests__ folders](https://docs.stackra.figentra.com/adr/0022-tests-live-in-tests-folders.md): Accepted, amended by 0269 · 2026-10-19 - [0023 — Stackra is a framework; products consume it](https://docs.stackra.figentra.com/adr/0023-stackra-is-a-framework.md): Accepted · 2026-10-19 - [0024 — MIT license, with stated exclusions](https://docs.stackra.figentra.com/adr/0024-mit-license-with-exclusions.md): Accepted, amended by 0195, 0291 · 2026-10-19 - [0025 — Packages publish to npm.figentra.com; every package builds to ESM dist](https://docs.stackra.figentra.com/adr/0025-packages-publish-to-private-registry.md): Superseded by 0177 · 2026-10-20 - [0026 — Turborepo remote cache self-hosted on Cloudflare R2](https://docs.stackra.figentra.com/adr/0026-turborepo-remote-cache-on-r2.md): Accepted · 2026-10-19 - [0027 — Every CLI the repo needs is pinned in mise](https://docs.stackra.figentra.com/adr/0027-cli-tools-pinned-in-mise.md): Accepted · 2026-10-19 - [0028 — Package categories appear with their first package](https://docs.stackra.figentra.com/adr/0028-package-categories-appear-with-first-package.md): Accepted, amended by 0127 · 2026-10-19 - [0029 — Encore.ts as one application under services/](https://docs.stackra.figentra.com/adr/0029-encore-ts-one-app.md): Superseded by 0075 · 2026-10-19 - [0030 — Encore Cloud deploys into the owner's AWS; four environments](https://docs.stackra.figentra.com/adr/0030-encore-cloud-on-owner-aws.md): Superseded by 0170 · 2026-10-20 - [0031 — Coarse services, split on evidence](https://docs.stackra.figentra.com/adr/0031-coarse-services-split-on-evidence.md): Superseded by 0200 · 2026-10-20 - [0032 — REST api(), generated TypeScript client, prefixed UUIDv7 ids](https://docs.stackra.figentra.com/adr/0032-rest-api-generated-client-uuidv7-ids.md): Superseded by 0142 · 2026-10-20 - [0033 — Encore Pub/Sub and cron, with a transactional outbox](https://docs.stackra.figentra.com/adr/0033-pubsub-cron-transactional-outbox.md): Superseded by 0078 · 2026-10-19 - [0034 — Encore object storage, GuardDuty malware scan, upload limits](https://docs.stackra.figentra.com/adr/0034-object-storage-malware-scan-limits.md): Superseded by 0222 · 2026-10-20 - [0035 — Resend for email, with SPF, DKIM and DMARC](https://docs.stackra.figentra.com/adr/0035-resend-email-with-spf-dkim-dmarc.md): Superseded by 0191 · 2026-10-20 - [0036 — Idempotency keys in Encore cache for 24 hours; Postgres for money](https://docs.stackra.figentra.com/adr/0036-idempotency-cache-and-postgres.md): Superseded by 0136 · 2026-10-20 - [0037 — API versioning by the Stackra-Version date header](https://docs.stackra.figentra.com/adr/0037-api-versioning-by-date-header.md): Superseded by 0118 · 2026-10-19 - [0038 — Rate limits: app token buckets and Cloudflare WAF](https://docs.stackra.figentra.com/adr/0038-rate-limits-app-buckets-and-waf.md): Superseded by 0217 · 2026-10-20 - [0039 — OpenAPI to Mintlify API reference, and an OAuth developer guide](https://docs.stackra.figentra.com/adr/0039-openapi-mintlify-and-oauth-guide.md): Proposed · 2026-10-19 - [0040 — Services are organised as DDD feature modules](https://docs.stackra.figentra.com/adr/0040-ddd-feature-modules-in-services.md): Superseded by 0130 · 2026-10-20 - [0041 — Decorated controllers, handlers and crons via a build-time generator](https://docs.stackra.figentra.com/adr/0041-decorated-controllers-and-build-time-generator.md): Superseded by 0091 · 2026-10-19 - [0042 — DI-first with one container per service](https://docs.stackra.figentra.com/adr/0042-di-first-with-one-container-per-service.md): Accepted, amended by 0143, 0147, 0263 · 2026-10-19 - [0043 — @stackra/workflow is Medusa-style steps and workflows](https://docs.stackra.figentra.com/adr/0043-workflow-package-medusa-style.md): Superseded by 0102 · 2026-10-19 - [0044 — Laravel-style package configuration](https://docs.stackra.figentra.com/adr/0044-laravel-style-package-config.md): Superseded by 0146 · 2026-10-20 - [0045 — @stackra/tenancy: pool by default, silo on demand](https://docs.stackra.figentra.com/adr/0045-tenancy-package-pool-default-silo-on-demand.md): Superseded by 0088 · 2026-10-19 - [0046 — Global data invariants and per-model opt-ins](https://docs.stackra.figentra.com/adr/0046-global-data-invariants-and-per-model-opt-ins.md): Superseded by 0134 · 2026-10-20 - [0047 — Audit service fed by events](https://docs.stackra.figentra.com/adr/0047-audit-service-via-events.md): Superseded by 0212 · 2026-10-20 - [0048 — Point-in-time recovery and a quarterly restore drill](https://docs.stackra.figentra.com/adr/0048-point-in-time-recovery-and-quarterly-restore-drill.md): Superseded by 0186 · 2026-10-20 - [0049 — @stackra/search: a driver interface, Postgres first](https://docs.stackra.figentra.com/adr/0049-search-driver-interface.md): Superseded by 0089 · 2026-10-19 - [0050 — @stackra/ai on AI SDK core, Bedrock by default](https://docs.stackra.figentra.com/adr/0050-ai-package-on-ai-sdk-bedrock-default.md): Superseded by 0100 · 2026-10-19 - [0051 — Better Auth identity service](https://docs.stackra.figentra.com/adr/0051-better-auth-identity-service.md): Superseded by 0087 · 2026-10-19 - [0052 — The console is a Vite + React single-page app](https://docs.stackra.figentra.com/adr/0052-console-is-a-vite-react-spa.md): Superseded by 0164 · 2026-10-20 - [0053 — Routes are decorator classes compiled to router adapters; no file-based routing](https://docs.stackra.figentra.com/adr/0053-decorator-route-classes-compiled-to-router-adapters.md): Proposed · 2026-10-19 - [0054 — TanStack Query for server state, Zustand for client state](https://docs.stackra.figentra.com/adr/0054-tanstack-query-and-zustand-for-client-state.md): Superseded by 0079 · 2026-10-19 - [0055 — Forms use react-hook-form and Zod with thin HeroUI field adapters](https://docs.stackra.figentra.com/adr/0055-forms-react-hook-form-zod-heroui-adapters.md): Proposed · 2026-10-19 - [0056 — HeroUI v3 and Pro on web; share logic and tokens, not components](https://docs.stackra.figentra.com/adr/0056-heroui-v3-pro-on-web-share-everything-but-components.md): Superseded by 0165 · 2026-10-20 - [0057 — The landing site is React Router 7 framework mode on Cloudflare Workers](https://docs.stackra.figentra.com/adr/0057-landing-is-react-router-framework-mode-on-workers.md): Superseded by 0176 · 2026-10-20 - [0058 — The desktop app is Electron](https://docs.stackra.figentra.com/adr/0058-desktop-is-electron.md): Superseded by 0181 · 2026-10-20 - [0059 — Mobile offline: encrypted persisted Query cache and a persisted mutation queue](https://docs.stackra.figentra.com/adr/0059-offline-encrypted-query-cache-and-mutation-queue.md): Accepted, amended by 0268 · 2026-10-20 - [0060 — i18n keys and logical CSS from day one; English launch; light and dark](https://docs.stackra.figentra.com/adr/0060-i18n-logical-css-light-and-dark.md): Superseded by 0080 · 2026-10-19 - [0061 — Mobile keeps React Navigation 7 and native tabs; one app](https://docs.stackra.figentra.com/adr/0061-mobile-keeps-react-navigation-and-native-tabs.md): Proposed · 2026-10-19 - [0062 — Mobile: EAS Update, Expo push and Sentry from day one](https://docs.stackra.figentra.com/adr/0062-mobile-release-push-and-crash-reporting.md): Superseded by 0180 · 2026-10-20 - [0063 — Cloudflare hosts the web surfaces](https://docs.stackra.figentra.com/adr/0063-cloudflare-hosts-web-surfaces.md): Superseded by 0175 · 2026-10-20 - [0065 — The Linear gate is checked offline](https://docs.stackra.figentra.com/adr/0065-linear-gate-is-checked-offline.md): Accepted, amended by 0268 · 2026-10-19 - [0066 — Claude leads; OpenCode executes routed tasks in worktrees](https://docs.stackra.figentra.com/adr/0066-delegation-to-opencode-by-routing-matrix.md): Accepted · 2026-10-20 - [0067 — spec-kit is the SDLC, with a mandatory clarify gate](https://docs.stackra.figentra.com/adr/0067-spec-kit-is-the-sdlc.md): Accepted, amended by 0282 · 2026-10-19 - [0068 — runway: CI/CD built inside Stackra](https://docs.stackra.figentra.com/adr/0068-runway-cicd-built-inside-stackra.md): Superseded by 0168 · 2026-10-20 - [0069 — Testing strategy and coverage floors](https://docs.stackra.figentra.com/adr/0069-testing-strategy-and-coverage.md): Superseded by 0182 · 2026-10-20 - [0070 — Quality budgets: accessibility, Web Vitals, bundle, mobile startup](https://docs.stackra.figentra.com/adr/0070-quality-budgets.md): Superseded by 0183 · 2026-10-20 - [0071 — Privacy: export, erasure, platform declarations and templates](https://docs.stackra.figentra.com/adr/0071-privacy-obligations.md): Superseded by 0189 · 2026-10-20 - [0072 — SOC 2 groundwork](https://docs.stackra.figentra.com/adr/0072-soc2-groundwork.md): Superseded by 0187 · 2026-10-20 - [0073 — Observability: Better Stack, Sentry and Encore tracing](https://docs.stackra.figentra.com/adr/0073-observability-better-stack-sentry-encore.md): Superseded by 0184 · 2026-10-20 - [0074 — Open core: @stackra-pro on the private registry](https://docs.stackra.figentra.com/adr/0074-open-core-licensing.md): Superseded by 0077 · 2026-10-19 - [0075 — Stackra ships packages; Figentra OS ships the product services](https://docs.stackra.figentra.com/adr/0075-stackra-ships-packages-figentra-os-ships-services.md): Accepted · 2026-10-20 - [0076 — Every package runs in SaaS, on-prem and air-gapped deployments](https://docs.stackra.figentra.com/adr/0076-every-package-runs-saas-on-prem-and-air-gapped.md): Proposed · 2026-10-19 - [0077 — Open core: the free and Pro package lists](https://docs.stackra.figentra.com/adr/0077-open-core-free-and-pro-lists.md): Superseded by 0202 · 2026-10-20 - [0078 — The messaging layer: eight packages, one question each](https://docs.stackra.figentra.com/adr/0078-messaging-layer-eight-packages.md): Accepted, amended by 0141, 0148, 0260 · 2026-10-19 - [0079 — Client state is @stackra/state (ported Figentra signals); Query owns optimism and the offline queue](https://docs.stackra.figentra.com/adr/0079-client-state-is-stackra-state.md): Accepted · 2026-10-20 - [0080 — i18n is the ported Figentra i18n package; i18next is dropped](https://docs.stackra.figentra.com/adr/0080-i18n-is-the-figentra-i18n-port.md): Accepted, amended by 0268 · 2026-10-20 - [0081 — The gate chain is fully configurable per app, with a warning when tenancy or iam is omitted](https://docs.stackra.figentra.com/adr/0081-gate-chain-configurable-per-app.md): Superseded by 0138 · 2026-10-20 - [0082 — Public ids are a prefix plus base32 of one UUIDv7; four API areas](https://docs.stackra.figentra.com/adr/0082-public-ids-and-api-areas.md): Accepted, amended by 0135 · 2026-10-20 - [0083 — npm scopes: @stackra for packages, @figentra for this repository's apps and services; @stackra/console is the CLI framework](https://docs.stackra.figentra.com/adr/0083-npm-scopes-and-cli-names.md): Accepted · 2026-10-20 - [0084 — Figentra OS package port plan](https://docs.stackra.figentra.com/adr/0084-figentra-os-package-port-plan.md): Accepted, amended by 0127, 0145, 0225, 0270, 0291 · 2026-10-20 - [0085 — Logger reporters: CloudWatch kept; Encore log, Sentry and Better Stack added](https://docs.stackra.figentra.com/adr/0085-logger-reporters.md): Superseded by 0147 · 2026-10-20 - [0086 — @stackra/notifications is a full engine, with every channel free](https://docs.stackra.figentra.com/adr/0086-notifications-full-engine-all-channels-free.md): Proposed · 2026-10-19 - [0087 — Identity and IAM are driver packages; enterprise features plug in as Pro](https://docs.stackra.figentra.com/adr/0087-identity-and-iam-are-driver-packages.md): Superseded by 0206 · 2026-10-20 - [0088 — @stackra/tenancy: pool and RLS are free; DB-per-tenant and the scope tree are Pro](https://docs.stackra.figentra.com/adr/0088-tenancy-free-pool-pro-silo-and-scope.md): Superseded by 0210 · 2026-10-20 - [0089 — @stackra/search is written fresh; Meilisearch and OpenSearch are Pro drivers](https://docs.stackra.figentra.com/adr/0089-search-fresh-with-pro-engine-drivers.md): Superseded by 0221 · 2026-10-20 - [0090 — Codegen discovers decorators through each member's root module](https://docs.stackra.figentra.com/adr/0090-codegen-discovery-by-root-module.md): Accepted, amended by 0144, 0268 · 2026-10-19 - [0091 — The Encore app is generated into .stackra/encore; services hold no Encore files](https://docs.stackra.figentra.com/adr/0091-generated-encore-app-in-stackra-folder.md): Accepted, amended by 0158, 0268 · 2026-10-19 - [0092 — The IR is ported with decorator-derived kinds; the definition package is dropped](https://docs.stackra.figentra.com/adr/0092-ir-ported-definition-package-dropped.md): Accepted · 2026-10-19 - [0093 — Better Auth integration: container hooks, iam-only authorization, an owned MikroORM adapter, global auth tables](https://docs.stackra.figentra.com/adr/0093-better-auth-integration.md): Superseded by 0206 · 2026-10-20 - [0094 — Decorators are the only authoring style; workflows are declarative @Step graphs](https://docs.stackra.figentra.com/adr/0094-decorators-only-authoring.md): Accepted, amended by 0145, 0152 · 2026-10-19 - [0095 — @stackra/validation: Laravel-style decorators compiled to one Zod schema, plus an output serializer](https://docs.stackra.figentra.com/adr/0095-zod-inside-field-decorators.md): Accepted, amended by 0133, 0162 · 2026-10-19 - [0096 — Trait naming grammar and the trait list](https://docs.stackra.figentra.com/adr/0096-trait-naming-grammar.md): Accepted, amended by 0133, 0162 · 2026-10-19 - [0097 — @stackra/model and @stackra/database; gen emits MikroORM EntitySchema](https://docs.stackra.figentra.com/adr/0097-model-and-database-packages.md): Accepted, amended by 0133, 0159, 0161, 0162 · 2026-10-19 - [0098 — Actions are the unit of behaviour, in @stackra/actions, with one pipeline and a typed actor](https://docs.stackra.figentra.com/adr/0098-actions-are-the-unit.md): Accepted, amended by 0136, 0137, 0139, 0155, 0264 · 2026-10-19 - [0099 — One action risk scale, L0 to L4, with derived MCP hints and effect tags; change risk is R0 to R3](https://docs.stackra.figentra.com/adr/0099-risk-scale-l0-to-l4.md): Accepted, amended by 0268 · 2026-10-19 - [0100 — One free @stackra/ai: agents, tools, skills, MCP and A2A on AI SDK, every tool call an action](https://docs.stackra.figentra.com/adr/0100-ai-model-and-ownership.md): Accepted, amended by 0155, 0156, 0267 · 2026-10-19 - [0101 — Every operation is an action; a workflow sits behind it only when the criteria hit](https://docs.stackra.figentra.com/adr/0101-action-first-workflow-behind-when-needed.md): Accepted, amended by 0265 · 2026-10-19 - [0102 — The workflow engine: in-process steps with a Postgres journal, outbox staging and hooks, ported from Medusa's MIT code](https://docs.stackra.figentra.com/adr/0102-workflow-engine-in-process-journal.md): Accepted, amended by 0151, 0152, 0291 · 2026-10-19 - [0103 — @stackra/locking: server-side named locks behind a driver](https://docs.stackra.figentra.com/adr/0103-locking-package.md): Accepted, amended by 0149 · 2026-10-19 - [0104 — Cross-module relations are @Link declarations, read through query.graph](https://docs.stackra.figentra.com/adr/0104-links-and-query-graph.md): Accepted, amended by 0268 · 2026-10-19 - [0105 — @Crud generates a model's service methods and opt-in actions](https://docs.stackra.figentra.com/adr/0105-crud-generates-service-methods.md): Accepted · 2026-10-19 - [0106 — Infisical Agent Vault, split by environment; the model never sees a secret](https://docs.stackra.figentra.com/adr/0106-infisical-agent-vault-per-environment.md): Superseded by 0267 · 2026-10-19 - [0107 — Three homes for keys; tenant credentials live in @stackra/connections](https://docs.stackra.figentra.com/adr/0107-connections-store-and-three-key-homes.md): Accepted · 2026-10-19 - [0108 — Scoped settings: each service owns its values; the registry owns the schema](https://docs.stackra.figentra.com/adr/0108-scoped-settings.md): Accepted · 2026-10-19 - [0109 — The registry: build manifests published by CI to a Postgres-backed registry service](https://docs.stackra.figentra.com/adr/0109-registry-manifests-published-by-ci.md): Accepted · 2026-10-19 - [0110 — The experience service is server-driven UI at level L2: trees of registered coded components, no code over the wire](https://docs.stackra.figentra.com/adr/0110-experience-is-the-sdui-service-at-l2.md): Accepted, amended by 0139, 0154, 0164 · 2026-10-19 - [0111 — The module is the unit of contribution; services and apps only host modules](https://docs.stackra.figentra.com/adr/0111-module-is-the-unit-of-contribution.md): Accepted, amended by 0214, 0259 · 2026-10-19 - [0112 — Experience packages, @stackra/ui parity and the renderer kit](https://docs.stackra.figentra.com/adr/0112-experience-packages-and-renderer-kit.md): Accepted, amended by 0164 · 2026-10-19 - [0113 — HeroUI Pro reaches Stackra Pro customers as a private mirror bundle, with a bring-your-own-key option](https://docs.stackra.figentra.com/adr/0113-heroui-pro-distribution.md): Superseded by 0197 · 2026-10-20 - [0114 — The page builder builds every page, including our own marketing site; MDX and Sanity are dropped](https://docs.stackra.figentra.com/adr/0114-page-builder-for-every-page.md): Accepted · 2026-10-19 - [0115 — Built forms are documents of kind form; they submit to an action; the editors are Pro](https://docs.stackra.figentra.com/adr/0115-form-builder.md): Accepted · 2026-10-19 - [0116 — @stackra/content: content types are models with a trait bundle; custom fields are a free, bounded trait](https://docs.stackra.figentra.com/adr/0116-content-types-and-custom-fields.md): Accepted · 2026-10-19 - [0117 — Shared primitives live in @stackra/contracts, each package has a types-only ./contracts entry, and each package owns its decorators](https://docs.stackra.figentra.com/adr/0117-contracts-placement-and-decorator-ownership.md): Accepted, amended by 0140, 0141, 0144, 0260 · 2026-10-19 - [0118 — @stackra/versioning is built now and stays dormant: date versions pinned per API key or OAuth app](https://docs.stackra.figentra.com/adr/0118-api-versioning-dormant-package.md): Accepted, amended by 0136, 0268 · 2026-10-19 - [0119 — Merge policy: Quality Gate is the only required check; Claude merges only through pnpm pr:merge](https://docs.stackra.figentra.com/adr/0119-merge-policy-and-release-authority.md): Accepted, amended by 0285 · 2026-10-19 - [0120 — The SDLC: specs in .agents/specs, four lanes, and change risk R0 to R3](https://docs.stackra.figentra.com/adr/0120-sdlc-spec-location-lanes-and-change-risk.md): Accepted · 2026-10-19 - [0121 — SDLC tooling: sdlc retired, spec-kit pinned, a local Linear extension, the ported roles and who runs what](https://docs.stackra.figentra.com/adr/0121-sdlc-tooling-roles-and-linear.md): Accepted, amended by 0258, 0282 · 2026-10-19 - [0122 — The workflow studio: coded workflows, configurable knobs, and tenant automations as data that references code](https://docs.stackra.figentra.com/adr/0122-workflow-studio-three-layers.md): Accepted, amended by 0153, 0154 · 2026-10-19 - [0123 — Delivery order follows the dependency graph](https://docs.stackra.figentra.com/adr/0123-delivery-order-follows-the-dependency-graph.md): Accepted · 2026-10-20 - [0124 — Encore is the generated runtime target; service source stays plain TypeScript](https://docs.stackra.figentra.com/adr/0124-encore-is-the-generated-runtime-target.md): Accepted, amended by 0158, 0159 · 2026-10-20 - [0125 — The constitution is amended to match Accepted ADRs and locked owner decisions](https://docs.stackra.figentra.com/adr/0125-constitution-amended-to-match-accepted-adrs.md): Accepted · 2026-10-20 - [0126 — Member shapes and scaffold templates](https://docs.stackra.figentra.com/adr/0126-member-shapes-and-scaffold-templates.md): Accepted, amended by 0234, 0249, 0259, 0264, 0269, 0281 · 2026-10-20 - [0127 — Package categories, including infrastructure and commerce](https://docs.stackra.figentra.com/adr/0127-package-categories-including-infrastructure.md): Accepted, amended by 0282, 0286 · 2026-10-20 - [0128 — Code conventions: enums, classes, components and kind folders](https://docs.stackra.figentra.com/adr/0128-code-conventions-enums-classes-components-and-kind-folders.md): Accepted, amended by 0268 · 2026-10-20 - [0129 — Code standards are enforced by a house lint plugin and shipped as @stackra/coding-standard](https://docs.stackra.figentra.com/adr/0129-house-lint-plugin-and-coding-standard.md): Accepted · 2026-10-20 - [0130 — Module layout by semantic kind; no controllers](https://docs.stackra.figentra.com/adr/0130-module-layout-by-semantic-kind.md): Accepted, amended by 0259, 0264 · 2026-10-20 - [0131 — Module key, version and deprecation](https://docs.stackra.figentra.com/adr/0131-module-key-version-and-deprecation.md): Accepted, amended by 0264 · 2026-10-20 - [0132 — Permissions are a module catalogue; policies are providers](https://docs.stackra.figentra.com/adr/0132-permissions-catalogue-and-policy-providers.md): Accepted, amended by 0263 · 2026-10-20 - [0133 — Field semantics, model keys, rename-safe fields and lifecycle events](https://docs.stackra.figentra.com/adr/0133-field-semantics-model-keys-rename-safe-fields-and-lifecycle-events.md): Accepted, amended by 0264 · 2026-10-20 - [0134 — Data invariants, field classification and the delete lifecycle](https://docs.stackra.figentra.com/adr/0134-data-invariants-classification-and-delete-lifecycle.md): Accepted · 2026-10-20 - [0135 — Public id format](https://docs.stackra.figentra.com/adr/0135-public-id-format.md): Accepted · 2026-10-20 - [0136 — The action runtime contract: handler context, transaction, idempotency and versions](https://docs.stackra.figentra.com/adr/0136-action-runtime-contract.md): Accepted, amended by 0268 · 2026-10-20 - [0137 — Declared action execution options and refusal codes](https://docs.stackra.figentra.com/adr/0137-declared-action-options-and-refusal-codes.md): Accepted · 2026-10-20 - [0138 — The pipeline order is fixed; apps toggle and parameterise gates](https://docs.stackra.figentra.com/adr/0138-pipeline-order-is-fixed.md): Accepted · 2026-10-20 - [0139 — Actions declare their user experience](https://docs.stackra.figentra.com/adr/0139-actions-declare-their-user-experience.md): Accepted · 2026-10-20 - [0140 — The error envelope and error kinds](https://docs.stackra.figentra.com/adr/0140-error-envelope-and-error-kinds.md): Accepted · 2026-10-20 - [0141 — Integration event names and the envelope](https://docs.stackra.figentra.com/adr/0141-integration-event-names-and-envelope.md): Accepted, amended by 0260 · 2026-10-20 - [0142 — Cross-service transport goes through drivers](https://docs.stackra.figentra.com/adr/0142-cross-service-transport-through-drivers.md): Accepted, amended by 0260 · 2026-10-20 - [0143 — Container scopes, module registration, lifecycle and testing](https://docs.stackra.figentra.com/adr/0143-container-scopes-registration-lifecycle-and-testing.md): Accepted, amended by 0263 · 2026-10-20 - [0144 — A typed MetadataRegistry, and every decorator package ships an Explorer](https://docs.stackra.figentra.com/adr/0144-metadata-registry-and-explorers.md): Accepted, amended by 0263, 0264 · 2026-10-20 - [0145 — Tokens are defineToken values; container-backed global helpers are banned](https://docs.stackra.figentra.com/adr/0145-tokens-are-define-token-values-and-global-helpers-are-banned.md): Accepted, amended by 0247, 0263, 0264 · 2026-10-20 - [0146 — Package configuration: TypeScript files, layered overrides and secret references](https://docs.stackra.figentra.com/adr/0146-package-configuration-typescript-layers-and-secret-references.md): Accepted, amended by 0263, 0281 · 2026-10-20 - [0147 — Logger and runtime telemetry defaults](https://docs.stackra.figentra.com/adr/0147-logger-and-runtime-telemetry-defaults.md): Accepted · 2026-10-20 - [0148 — Queue and scheduler: full job features, fair queuing and tenant schedules](https://docs.stackra.figentra.com/adr/0148-queue-and-scheduler-full-job-features-fair-queuing-and-tenant-schedules.md): Accepted · 2026-10-20 - [0149 — Locking: fencing tokens, auto-renew and @WithLock](https://docs.stackra.figentra.com/adr/0149-locking-fencing-tokens-auto-renew-and-with-lock.md): Accepted · 2026-10-20 - [0150 — @stackra/cache](https://docs.stackra.figentra.com/adr/0150-cache-package.md): Accepted · 2026-10-20 - [0151 — The workflow engine is a port with a native driver and a Temporal driver](https://docs.stackra.figentra.com/adr/0151-workflow-engine-is-a-port-with-native-and-temporal-drivers.md): Accepted, amended by 0292 · 2026-10-20 - [0152 — Workflow semantics: timeouts, waits, pinned versions, operations and one graph format](https://docs.stackra.figentra.com/adr/0152-workflow-semantics-timeouts-waits-pinned-versions-and-one-graph-format.md): Accepted, amended by 0292 · 2026-10-20 - [0153 — Automations run as principals; every package exposes its capabilities as building blocks](https://docs.stackra.figentra.com/adr/0153-automations-run-as-principals-and-every-package-exposes-building-blocks.md): Accepted · 2026-10-20 - [0154 — Tenant code runs only in a sandboxed code step](https://docs.stackra.figentra.com/adr/0154-tenant-code-runs-only-in-a-sandboxed-code-step.md): Accepted · 2026-10-20 - [0155 — AI-native rule: queries are MCP tools, and all AI code is free](https://docs.stackra.figentra.com/adr/0155-queries-are-mcp-tools-and-all-ai-code-is-free.md): Accepted · 2026-10-20 - [0156 — The AI runtime: provider drivers, a managed-runtime driver, memory and guardrails](https://docs.stackra.figentra.com/adr/0156-ai-runtime-provider-drivers-memory-and-guardrails.md): Accepted · 2026-10-20 - [0157 — stackra inspect and stackra diff](https://docs.stackra.figentra.com/adr/0157-stackra-inspect-and-stackra-diff.md): Accepted · 2026-10-20 - [0158 — Gen artefacts: committed OpenAPI and manifest, a CI-published client, deploy-mode targets](https://docs.stackra.figentra.com/adr/0158-gen-artefacts-openapi-manifest-and-client.md): Accepted, amended by 0260, 0268 · 2026-10-20 - [0159 — Migrations: gen-ordered SQL, migrations shipped in packages, and safety rules](https://docs.stackra.figentra.com/adr/0159-migrations-gen-ordered-sql-and-safety-rules.md): Accepted · 2026-10-20 - [0160 — Raw SQL at runtime and the approved Postgres extensions](https://docs.stackra.figentra.com/adr/0160-raw-sql-at-runtime-and-the-approved-postgres-extensions.md): Accepted · 2026-10-20 - [0161 — @stackra/state-machine](https://docs.stackra.figentra.com/adr/0161-state-machine-package.md): Accepted · 2026-10-20 - [0162 — Validation, translatable-field and EntitySchema clarifications](https://docs.stackra.figentra.com/adr/0162-validation-translatable-fields-and-entityschema-placement.md): Accepted · 2026-10-20 - [0163 — Reports, exports, imports and declared read models](https://docs.stackra.figentra.com/adr/0163-reports-exports-imports-and-declared-read-models.md): Accepted, amended by 0260 · 2026-10-20 - [0164 — Console panels are Filament-style resources rendered by @stackra/panel](https://docs.stackra.figentra.com/adr/0164-console-panels-are-resources-rendered-by-the-panel-package.md): Accepted · 2026-10-20 - [0165 — The web client stack restated: the @stackra/ui contract, form adapters, no Next.js](https://docs.stackra.figentra.com/adr/0165-web-client-stack-ui-contract-form-adapters-and-no-nextjs.md): Accepted, amended by 0268 · 2026-10-20 - [0166 — CI policy: runners, budgets, concurrency, job shape and the check matrix](https://docs.stackra.figentra.com/adr/0166-ci-policy-runners-budgets-concurrency-and-check-matrix.md): Accepted · 2026-10-20 - [0167 — Workflow hardening, outside contributors and bot credentials](https://docs.stackra.figentra.com/adr/0167-workflow-hardening-outside-contributors-and-bot-credentials.md): Accepted · 2026-10-20 - [0168 — Runway: public reusable workflows, build order and the runway.yaml schema](https://docs.stackra.figentra.com/adr/0168-runway-public-reusable-workflows-build-order-and-runway-yaml.md): Accepted, amended by 0289 · 2026-10-20 - [0169 — Topology: runway.yaml packs logical services into deployables](https://docs.stackra.figentra.com/adr/0169-topology-runway-yaml-packs-logical-services-into-deployables.md): Accepted, amended by 0289 · 2026-10-20 - [0170 — Deployment: what deploys where, and how a release is promoted](https://docs.stackra.figentra.com/adr/0170-deployment-what-deploys-where-and-how-a-release-is-promoted.md): Accepted, amended by 0289 · 2026-10-20 - [0171 — Infrastructure as code: Pulumi TypeScript packages owned by Stackra](https://docs.stackra.figentra.com/adr/0171-infrastructure-as-code-pulumi-typescript-owned-by-stackra.md): Accepted, amended by 0289 · 2026-10-20 - [0172 — AWS accounts, primary region and cloud cost controls](https://docs.stackra.figentra.com/adr/0172-aws-accounts-primary-region-and-cloud-cost-controls.md): Accepted · 2026-10-20 - [0173 — Secrets: Infisical is the source of production secrets, and runway syncs them](https://docs.stackra.figentra.com/adr/0173-secrets-infisical-is-the-source-of-production-secrets.md): Accepted, amended by 0267 · 2026-10-20 - [0174 — Supply chain: images, signing, SBOM, dependency policy and rotation](https://docs.stackra.figentra.com/adr/0174-supply-chain-images-signing-sbom-dependency-policy-and-rotation.md): Accepted, amended by 0287 · 2026-10-20 - [0175 — Edge, domains and TLS](https://docs.stackra.figentra.com/adr/0175-edge-domains-and-tls.md): Accepted, amended by 0290 · 2026-10-20 - [0176 — The marketing site: a placeholder now, prerendered from the experience service later](https://docs.stackra.figentra.com/adr/0176-marketing-site-placeholder-then-prerendered-from-the-experience-service.md): Accepted · 2026-10-20 - [0177 — Package distribution and release lines: npmjs for free, Keygen Cloud for Pro](https://docs.stackra.figentra.com/adr/0177-package-distribution-npmjs-and-keygen.md): Accepted, amended by 0289 · 2026-10-20 - [0178 — Licensing: Keygen licences and the @stackra/licensing verifier](https://docs.stackra.figentra.com/adr/0178-licensing-keygen-licences-and-the-stackra-licensing-verifier.md): Accepted · 2026-10-20 - [0179 — On-prem and air-gapped delivery](https://docs.stackra.figentra.com/adr/0179-on-prem-and-air-gapped-delivery.md): Accepted, amended by 0289 · 2026-10-20 - [0180 — Mobile apps and release trains](https://docs.stackra.figentra.com/adr/0180-mobile-apps-and-release-trains.md): Accepted · 2026-10-20 - [0181 — The desktop app's pipeline](https://docs.stackra.figentra.com/adr/0181-the-desktop-app-pipeline.md): Accepted · 2026-10-20 - [0182 — Testing strategy v2: tiers, coverage, infrastructure and policies](https://docs.stackra.figentra.com/adr/0182-testing-strategy-v2-tiers-coverage-infrastructure-and-policies.md): Accepted · 2026-10-20 - [0183 — Quality budgets with numbers](https://docs.stackra.figentra.com/adr/0183-quality-budgets-with-numbers.md): Accepted · 2026-10-20 - [0184 — Telemetry: OpenTelemetry, OTLP, SLIs, heartbeats and log retention](https://docs.stackra.figentra.com/adr/0184-telemetry-opentelemetry-otlp-slis-heartbeats-and-log-retention.md): Accepted · 2026-10-20 - [0185 — Incident response, on-call, the status page and support tiers](https://docs.stackra.figentra.com/adr/0185-incident-response-on-call-status-page-and-support-tiers.md): Accepted · 2026-10-20 - [0186 — Backups and disaster recovery](https://docs.stackra.figentra.com/adr/0186-backups-and-disaster-recovery.md): Accepted, amended by 0272 · 2026-10-20 - [0187 — The security and compliance programme](https://docs.stackra.figentra.com/adr/0187-security-and-compliance-programme.md): Accepted · 2026-10-20 - [0188 — Operator access and the encryption key hierarchy](https://docs.stackra.figentra.com/adr/0188-operator-access-and-the-encryption-key-hierarchy.md): Accepted · 2026-10-20 - [0189 — Privacy operations and data retention](https://docs.stackra.figentra.com/adr/0189-privacy-operations-and-data-retention.md): Accepted · 2026-10-20 - [0190 — Seed profiles and our product analytics](https://docs.stackra.figentra.com/adr/0190-seed-profiles-and-product-analytics.md): Accepted · 2026-10-20 - [0191 — Email deliverability](https://docs.stackra.figentra.com/adr/0191-email-deliverability.md): Accepted · 2026-10-20 - [0192 — Translation workflow and Arabic defaults](https://docs.stackra.figentra.com/adr/0192-translation-workflow-and-arabic-defaults.md): Accepted · 2026-10-20 - [0193 — Agents and model policy](https://docs.stackra.figentra.com/adr/0193-agents-and-model-policy.md): Accepted, amended by 0258 · 2026-10-20 - [0194 — Developer and agent compute](https://docs.stackra.figentra.com/adr/0194-developer-and-agent-compute.md): Accepted, amended by 0287 · 2026-10-20 - [0195 — Organisation, legal and release communication](https://docs.stackra.figentra.com/adr/0195-organisation-legal-and-release-communication.md): Accepted, amended by 0291 · 2026-10-20 - [0196 — Repository config is YAML wherever the reader supports it](https://docs.stackra.figentra.com/adr/0196-repository-config-is-yaml-wherever-the-reader-supports-it.md): Accepted · 2026-10-20 - [0197 — HeroUI Pro is used only in our own apps until an OEM agreement exists](https://docs.stackra.figentra.com/adr/0197-heroui-pro-is-used-only-in-our-own-apps.md): Accepted · 2026-10-20 - [0198 — SDLC: spec location, spec states, traceability and roadmap structure](https://docs.stackra.figentra.com/adr/0198-sdlc-spec-location-states-traceability-and-roadmap.md): Accepted · 2026-10-20 - [0199 — Developer experience: create-stackra-app, upgrades, stackra dev, docs and the agent kit](https://docs.stackra.figentra.com/adr/0199-developer-experience-create-stackra-app-upgrades-stackra-dev-and-docs.md): Accepted, amended by 0268, 0282, 0290 · 2026-10-20 - [0200 — Stackra and Figentra OS: horizontal services, a private OS repo and co-development](https://docs.stackra.figentra.com/adr/0200-stackra-and-figentra-os-horizontal-services-private-os-repo.md): Accepted · 2026-10-20 - [0201 — The app split: framework packages, platform core and first-party apps](https://docs.stackra.figentra.com/adr/0201-the-app-split-framework-platform-core-and-first-party-apps.md): Accepted · 2026-10-20 - [0202 — @stackra-pro is developer-side; OS capability is free code gated by entitlements](https://docs.stackra.figentra.com/adr/0202-stackra-pro-is-developer-side-os-capability-is-free-code.md): Accepted · 2026-10-20 - [0203 — The commercial model: billing provider, metric and tier names](https://docs.stackra.figentra.com/adr/0203-the-commercial-model-billing-provider-and-tier-names.md): Accepted · 2026-10-20 - [0204 — Reference services: identity, notes and registry](https://docs.stackra.figentra.com/adr/0204-reference-services-identity-notes-and-registry.md): Accepted · 2026-10-20 - [0205 — The Figentra OS build order and the first slice](https://docs.stackra.figentra.com/adr/0205-the-figentra-os-build-order-and-the-first-slice.md): Accepted · 2026-10-20 - [0206 — ZITADEL is the identity provider; @stackra/identity is provider-neutral](https://docs.stackra.figentra.com/adr/0206-zitadel-is-the-identity-provider-and-stackra-identity-is-provider-neutral.md): Accepted, amended by 0268 · 2026-10-20 - [0207 — Authentication assurance and machine identities](https://docs.stackra.figentra.com/adr/0207-authentication-assurance-and-machine-identities.md): Accepted, amended by 0274, 0278 · 2026-10-20 - [0208 — The IAM model: scope tree, roles, conditions and deny, delegation and permission names](https://docs.stackra.figentra.com/adr/0208-iam-model-scope-tree-roles-conditions-deny-delegation-and-permission-names.md): Accepted · 2026-10-20 - [0209 — IAM enforcement: the pipeline gate, an SQL predicate, an embedded PDP and service-to-service calls](https://docs.stackra.figentra.com/adr/0209-iam-enforcement-pipeline-gate-sql-predicate-embedded-pdp-and-service-calls.md): Accepted · 2026-10-20 - [0210 — Tenancy: a recursive tenant tree, the lifecycle, one context per request, and region](https://docs.stackra.figentra.com/adr/0210-tenancy-recursive-tenant-tree-lifecycle-one-context-and-region.md): Accepted, amended by 0272, 0275 · 2026-10-20 - [0211 — Memberships and support access](https://docs.stackra.figentra.com/adr/0211-memberships-and-support-access.md): Accepted, amended by 0273 · 2026-10-20 - [0212 — Audit: evidence, access logs, a hash chain and retention](https://docs.stackra.figentra.com/adr/0212-audit-evidence-access-logs-hash-chain-and-retention.md): Accepted · 2026-10-20 - [0213 — Settings v2: the full cascade, flags as a settings kind, YAML packs and revisions](https://docs.stackra.figentra.com/adr/0213-settings-v2-cascade-flags-as-a-kind-yaml-packs-and-revisions.md): Accepted · 2026-10-20 - [0214 — Registry v2 and the module install lifecycle](https://docs.stackra.figentra.com/adr/0214-registry-v2-and-the-module-install-lifecycle.md): Accepted · 2026-10-20 - [0215 — Entitlements](https://docs.stackra.figentra.com/adr/0215-entitlements.md): Accepted · 2026-10-20 - [0216 — Meters and usage events](https://docs.stackra.figentra.com/adr/0216-meters-and-usage-events.md): Accepted · 2026-10-20 - [0217 — API surfaces: MCP first plus REST, SDKs and rate limits](https://docs.stackra.figentra.com/adr/0217-api-surfaces-mcp-first-plus-rest-sdks-and-rate-limits.md): Accepted, amended by 0274, 0278 · 2026-10-20 - [0218 — Integrations: the connector SDK and connections per chain level](https://docs.stackra.figentra.com/adr/0218-integrations-the-connector-sdk-and-connections-per-chain-level.md): Accepted · 2026-10-20 - [0219 — The merchant-account chain and registered price models](https://docs.stackra.figentra.com/adr/0219-the-merchant-account-chain-and-registered-price-models.md): Accepted · 2026-10-20 - [0220 — @stackra/money and the ledger package](https://docs.stackra.figentra.com/adr/0220-stackra-money-and-the-ledger-package.md): Accepted, amended by 0268 · 2026-10-20 - [0221 — Search: Postgres hybrid, ElasticSuite parity, Arabic and operations](https://docs.stackra.figentra.com/adr/0221-search-postgres-hybrid-elasticsuite-parity-arabic-and-operations.md): Accepted · 2026-10-20 - [0222 — Files and media: storage drivers, uploads, scanning and public assets](https://docs.stackra.figentra.com/adr/0222-files-and-media-storage-drivers-uploads-scanning-and-public-assets.md): Accepted · 2026-10-20 - [0223 — Notifications: more channels, cascading templates, manual sends and preferences](https://docs.stackra.figentra.com/adr/0223-notifications-channels-cascading-templates-manual-sends-and-preferences.md): Accepted · 2026-10-20 - [0224 — @stackra/webhooks](https://docs.stackra.figentra.com/adr/0224-stackra-webhooks.md): Accepted · 2026-10-20 - [0225 — Realtime drivers, co-editing and the Commentable trait](https://docs.stackra.figentra.com/adr/0225-realtime-drivers-co-editing-and-the-commentable-trait.md): Accepted · 2026-10-20 - [0226 — Content: tenant-defined types at runtime, and headless delivery](https://docs.stackra.figentra.com/adr/0226-content-tenant-defined-types-at-runtime-and-headless-delivery.md): Accepted · 2026-10-20 - [0227 — Rejected and deferred technologies, refreshed](https://docs.stackra.figentra.com/adr/0227-rejected-and-deferred-technologies-refreshed.md): Accepted, amended by 0267, 0283, 0287 · 2026-10-20 - [0228 — Proposed ADRs settled](https://docs.stackra.figentra.com/adr/0228-proposed-adrs-settled.md): Accepted · 2026-10-20 - [0229 — The constitution amended for the 2026-10-20 decisions](https://docs.stackra.figentra.com/adr/0229-constitution-amended-for-the-2026-10-20-decisions.md): Accepted · 2026-10-20 - [0230 — Reviews come from a separate reviewer identity, never the author](https://docs.stackra.figentra.com/adr/0230-reviewer-identity-separate-from-builder.md): Accepted, amended by 0285 · 2026-10-20 · amended 2026-10-21 (STA-208) - [0231 — Naming and casing standard](https://docs.stackra.figentra.com/adr/0231-naming-and-casing-standard.md): Accepted, amended by 0264 · 2026-10-20 - [0232 — @stackra/errors package](https://docs.stackra.figentra.com/adr/0232-stackra-errors-package.md): Accepted · 2026-10-20 - [0233 — Imports use #subpath aliases only](https://docs.stackra.figentra.com/adr/0233-imports-use-subpath-aliases-only.md): Accepted · 2026-10-20 - [0234 — Module assets and storage](https://docs.stackra.figentra.com/adr/0234-module-assets-and-storage.md): Accepted, amended by 0263, 0264 · 2026-10-20 - [0235 — Devices and IoT: minimal now, full later](https://docs.stackra.figentra.com/adr/0235-devices-and-iot-minimal-now-full-later.md): Accepted · 2026-10-20 - [0236 — Translation providers as connectors](https://docs.stackra.figentra.com/adr/0236-translation-providers-as-connectors.md): Accepted · 2026-10-20 - [0237 — The API gateway is generated, in four layers, with no gateway service](https://docs.stackra.figentra.com/adr/0237-generated-api-gateway-in-four-layers.md): Accepted, amended by 0290 · 2026-10-20 - [0238 — Database and connection model: one server per environment, one logical database per service](https://docs.stackra.figentra.com/adr/0238-database-and-connection-model.md): Accepted · 2026-10-20 - [0239 — RLS shape: equality on tenant_id, with read models for organisation views](https://docs.stackra.figentra.com/adr/0239-rls-shape-equality-on-tenant-id-with-read-models-for-org-views.md): Accepted · 2026-10-20 - [0240 — The scope tree is free code; its depth is a plan entitlement](https://docs.stackra.figentra.com/adr/0240-scope-tree-is-free-code-with-depth-by-plan.md): Accepted · 2026-10-20 - [0241 — Identity first slice: central login app, the BFF and the identity reference service](https://docs.stackra.figentra.com/adr/0241-identity-first-slice-central-login-app-bff-and-reference-service.md): Accepted, amended by 0268 · 2026-10-20 - [0242 — Commercial model: per-product plan ladders, shared add-ons, hybrid metric, and a 14-day trial](https://docs.stackra.figentra.com/adr/0242-commercial-model-plan-ladder-add-ons-metric-and-trial.md): Accepted · 2026-10-20 - [0243 — Organisations on the tenant tree: consolidated billing, guardrails and the standalone exit](https://docs.stackra.figentra.com/adr/0243-organisations-on-the-tenant-tree-consolidated-billing-guardrails-and-standalone-exit.md): Accepted, amended by 0272, 0279 · 2026-10-20 - [0244 — Markets, owned by pricing](https://docs.stackra.figentra.com/adr/0244-markets-owned-by-pricing.md): Accepted · 2026-10-20 - [0245 — The AI intelligence plane: skills, prompts, context providers, plans and intents over actions](https://docs.stackra.figentra.com/adr/0245-ai-intelligence-plane-skills-prompts-context-providers-plans-and-intents.md): Accepted · 2026-10-20 - [0246 — Devtools: dev-only, for frontend and backend](https://docs.stackra.figentra.com/adr/0246-devtools-dev-only-for-apps-and-services.md): Accepted · 2026-10-20 - [0247 — Declaration rule: decorators annotate code, define* creates values](https://docs.stackra.figentra.com/adr/0247-declaration-rule-decorators-annotate-define-creates-values.md): Accepted, amended by 0264 · 2026-10-20 - [0248 — Delivery scope: build everything, SaaS first, on-prem and air-gapped kept green](https://docs.stackra.figentra.com/adr/0248-delivery-scope-saas-first-on-prem-kept-green.md): Accepted · 2026-10-20 - [0249 — One app, three targets: web, PWA and Electron desktop from one member](https://docs.stackra.figentra.com/adr/0249-one-app-three-targets-web-pwa-and-electron.md): Accepted · 2026-10-20 - [0250 — @stackra/platform: capability ports, drivers, capability gate and the client-manifest capability section](https://docs.stackra.figentra.com/adr/0250-stackra-platform-capability-ports-drivers-and-gate.md): Accepted · 2026-10-20 - [0251 — The desktop bridge is generated from @DesktopAction; the Electron hardening baseline](https://docs.stackra.figentra.com/adr/0251-desktop-bridge-generated-from-desktop-action-and-electron-hardening.md): Accepted · 2026-10-20 - [0252 — Offline on every client: completing the mutation queue](https://docs.stackra.figentra.com/adr/0252-offline-on-every-client-completing-the-mutation-queue.md): Proposed · 2026-10-20 - [0253 — Peripherals are Web-API first; native modules only on evidence; device presets](https://docs.stackra.figentra.com/adr/0253-peripherals-web-api-first-and-device-presets.md): Accepted · 2026-10-20 - [0254 — Desktop release: signing, notarisation, the R2 update feed, channels and version policy](https://docs.stackra.figentra.com/adr/0254-desktop-release-signing-update-feed-channels-and-version-policy.md): Accepted · 2026-10-20 - [0255 — PWA: vite-plugin-pwa, service worker scope and push strategy per platform](https://docs.stackra.figentra.com/adr/0255-pwa-service-worker-scope-and-push-per-platform.md): Accepted · 2026-10-20 - [0256 — Client storage: one @stackra/storage package with named stores and per-platform drivers](https://docs.stackra.figentra.com/adr/0256-client-storage-one-stackra-storage-package.md): Accepted · 2026-10-20 - [0257 — Secret-manager agent and the secrets inbox](https://docs.stackra.figentra.com/adr/0257-secret-manager-agent-and-the-secrets-inbox.md): Proposed · 2026-10-20 - [0258 — Agent roster v2, Claude-only agents and skill fencing](https://docs.stackra.figentra.com/adr/0258-agent-roster-v2-and-skill-fencing.md): Accepted · 2026-10-20 - [0259 — Module placement: three homes and the placement test](https://docs.stackra.figentra.com/adr/0259-module-placement-three-homes.md): Accepted · 2026-10-21 - [0260 — Cross-service reach: one generated client with call, command and typed events](https://docs.stackra.figentra.com/adr/0260-cross-service-calls-through-injected-clients-and-events.md): Accepted · 2026-10-21 - [0261 — Generated #stackra modules: real files in .stackra/gen, imported through the #stackra alias](https://docs.stackra.figentra.com/adr/0261-generated-stackra-modules-in-stackra-gen.md): Accepted, amended by 0265 · 2026-10-21 - [0262 — Module catalogue generated from code, module plans in spec folders, and the module generator](https://docs.stackra.figentra.com/adr/0262-module-catalogue-and-module-generator.md): Accepted · 2026-10-21 - [0263 — DI stays; gen writes the wiring: same-name tokens, inferred module edges, config layers](https://docs.stackra.figentra.com/adr/0263-di-stays-and-gen-writes-the-wiring.md): Accepted · 2026-10-21 - [0264 — Declaration vocabulary: one module key grammar, the define family closed at eight, kind folders, and one listener form](https://docs.stackra.figentra.com/adr/0264-declaration-vocabulary-module-keys-define-family-and-kind-folders.md): Accepted · 2026-10-21 - [0265 — Hook points: owner-declared transform and verify hooks, with implicit Before and After on actions](https://docs.stackra.figentra.com/adr/0265-hook-points-transform-and-verify.md): Accepted · 2026-10-21 - [0266 — Capabilities phase in as one option, one config driver, and a memory driver and fake before production](https://docs.stackra.figentra.com/adr/0266-capabilities-phase-in-one-option-one-driver-memory-first.md): Accepted · 2026-10-21 - [0267 — Infisical Agent Vault is deferred; the model never sees a secret, and egress is direct](https://docs.stackra.figentra.com/adr/0267-infisical-agent-vault-deferred.md): Deferred · 2026-10-21 - [0268 — Register answers of 2026-10-21: the thin items R1 to R18 settled, each recorded on the page it changes](https://docs.stackra.figentra.com/adr/0268-register-answers-thin-items-r1-to-r18.md): Accepted, amended by 0274 · 2026-10-21 - [0269 — @stackra/testing: entries, what it holds, and where domain helpers live](https://docs.stackra.figentra.com/adr/0269-stackra-testing-package-entries-and-helper-placement.md): Accepted · 2026-10-21 - [0270 — Builder architecture: one editor kernel, document kinds and collaboration levels](https://docs.stackra.figentra.com/adr/0270-builder-architecture-one-editor-kernel-document-kinds-and-collaboration-levels.md): Accepted · 2026-10-21 - [0271 — Saved views](https://docs.stackra.figentra.com/adr/0271-saved-views.md): Accepted · 2026-10-21 - [0272 — Account model: a personal workspace at signup and opt-in organisations](https://docs.stackra.figentra.com/adr/0272-account-model-personal-workspace-and-opt-in-organisations.md): Accepted · 2026-10-21 - [0273 — Active role: one presentation role per session inside a tenant](https://docs.stackra.figentra.com/adr/0273-active-role-within-a-tenant.md): Accepted · 2026-10-21 - [0274 — App grants and the Connect-app page for OAuth apps and MCP clients](https://docs.stackra.figentra.com/adr/0274-app-grants-and-the-connect-app-page.md): Accepted · 2026-10-21 - [0275 — Tenant handles: format, uniqueness, reserved words and availability](https://docs.stackra.figentra.com/adr/0275-tenant-handles.md): Accepted · 2026-10-21 - [0276 — Tenant custom domains: ownership, verification, TLS and the primary domain](https://docs.stackra.figentra.com/adr/0276-tenant-custom-domains.md): Accepted · 2026-10-21 - [0277 — CLI and desktop sign-in: loopback PKCE, device code and the OS keychain](https://docs.stackra.figentra.com/adr/0277-cli-and-desktop-sign-in.md): Accepted · 2026-10-21 - [0278 — API keys: Stackra issues them, with a scanner prefix, checksum, rotation overlap, expiry and revoke](https://docs.stackra.figentra.com/adr/0278-api-key-lifecycle.md): Accepted · 2026-10-21 - [0279 — Signup and first-run onboarding: hosted registration, an onboarding form and the checklist engine](https://docs.stackra.figentra.com/adr/0279-signup-and-first-run-onboarding.md): Accepted · 2026-10-21 - [0280 — Sandbox to live promotion and the environment banner](https://docs.stackra.figentra.com/adr/0280-sandbox-to-live-promotion-and-environment-banner.md): Accepted · 2026-10-21 - [0281 — Desktop surfaces: targets per app, desktop modes and overlay styles](https://docs.stackra.figentra.com/adr/0281-desktop-surfaces-targets-desktop-modes-and-overlay-styles.md): Accepted · 2026-10-22 - [0282 — Developer experience: @stackra/skills, @stackra/cli, @stackra/mcp and Vellum as the SDLC](https://docs.stackra.figentra.com/adr/0282-developer-experience-skills-cli-mcp-and-vellum-as-the-sdlc.md): Accepted, amended by 0286 · 2026-10-22 - [0283 — A browser-extension agent connector is deferred](https://docs.stackra.figentra.com/adr/0283-browser-extension-agent-connector-deferred.md): Deferred · 2026-10-22 - [0284 — Hosted static files: one Cloudflare static-assets Worker member at static.stackra.figentra.com](https://docs.stackra.figentra.com/adr/0284-hosted-static-files-one-cloudflare-static-assets-worker.md): Accepted · 2026-10-22 - [0285 — An AI-REVIEW verdict binds to the pull request's patch id](https://docs.stackra.figentra.com/adr/0285-review-verdict-binds-to-the-patch-id.md): Accepted · 2026-10-22 - [0286 — Vellum as the SDLC: spike bar, approvals, evidence, distribution and licence](https://docs.stackra.figentra.com/adr/0286-vellum-as-the-sdlc-spike-bar-approvals-evidence-and-distribution.md): Accepted · 2026-10-22 - [0287 — Agent sandboxes and the remote runner: one system, one image, short-lived credentials](https://docs.stackra.figentra.com/adr/0287-agent-sandboxes-and-the-remote-runner.md): Accepted · 2026-10-22 - [0288 — Merging: the queue fallback and the STA-302 prerequisite](https://docs.stackra.figentra.com/adr/0288-merging-the-queue-fallback-and-the-sta-302-order.md): Accepted · 2026-10-22 - [0289 — Runway and environments: Workers, one Encore app, one preview host and publishing](https://docs.stackra.figentra.com/adr/0289-runway-and-environments-workers-one-encore-app-previews-and-publishing.md): Accepted · 2026-10-22 - [0290 — Dev environment and Cloudflare services: zones, tunnels, Access, Turnstile, email and npm names](https://docs.stackra.figentra.com/adr/0290-dev-environment-and-cloudflare-services.md): Accepted · 2026-10-22 - [0291 — Porting and provenance: one assignment, one legal name, one vocabulary and fresh writing](https://docs.stackra.figentra.com/adr/0291-porting-provenance-and-the-third-party-reading-rule.md): Accepted · 2026-10-22 - [0292 — Workflow engine drivers: a Postgres-journal default, a Temporal driver, and Trigger.dev to evaluate](https://docs.stackra.figentra.com/adr/0292-workflow-engine-drivers-a-postgres-journal-default-temporal-and-trigger-dev-to-evaluate.md): Accepted · 2026-10-22 - [Member standards](https://docs.stackra.figentra.com/standards/members.md): What every app, package and service must contain, and which check enforces each rule. - [Package standards](https://docs.stackra.figentra.com/standards/packages.md): The entries-first package shape, exports, barrels, and the provenance of copied code. - [Repository structure](https://docs.stackra.figentra.com/standards/structure.md): The categories, kind folders, banned folders, file suffixes and test tiers every member follows, generated from tools/scripts/structure.mjs. - [Service standards](https://docs.stackra.figentra.com/standards/services.md): The eight things a complete service must have, and what is checked today. - [App standards](https://docs.stackra.figentra.com/standards/apps.md): Rules for the console, mobile, desktop and docs apps: leaves of the graph, build-time config, budgets, no fixtures in the build. - [Code style](https://docs.stackra.figentra.com/standards/code-style.md): File contract, TSDoc, naming, one declaration per file, imports and typed errors. - [Testing](https://docs.stackra.figentra.com/standards/testing.md): Where tests live, what a green run proves, fakes instead of secrets, and the end-to-end matrix. - [Testing by file kind](https://docs.stackra.figentra.com/standards/testing-by-kind.md): Which test each kind of source file needs, and the file name that test takes. Must match tools/scripts/structure.mjs. - [Dependencies](https://docs.stackra.figentra.com/standards/dependencies.md): One version per dependency in catalogs, toolchain pins in mise.toml, install-script and licence gates. - [Internationalisation and RTL](https://docs.stackra.figentra.com/standards/i18n-rtl.md): ICU messages with typed keys, locales defined by apps, and layout written in logical directions. - [UI and accessibility](https://docs.stackra.figentra.com/standards/ui-and-accessibility.md): Reuse-first UI on the shared components, design tokens only, WCAG 2.2 AA, and how the accessibility review runs. - [Stackra setup runbook](https://docs.stackra.figentra.com/runbooks/setup.md): Every account, where each secret name lives, the ordered setup steps and which ones only the owner can do. Names only. - [Secrets](https://docs.stackra.figentra.com/runbooks/secrets.md): Two kinds of secret, two mechanisms: who sets a value, where it lives and how code or CI reads it. - [GitHub identities](https://docs.stackra.figentra.com/runbooks/github-identities.md): Which GitHub identity each actor uses, the bot commands that replace plain gh and git, and what the owner sets up. - [CI](https://docs.stackra.figentra.com/runbooks/ci.md): One required check that runs pnpm verify, how to reproduce it locally with zero secrets, and what to do when CI is down. - [Release](https://docs.stackra.figentra.com/runbooks/release.md): Changesets per member, the version-packages pull request, tags and recovery. - [Mobile release](https://docs.stackra.figentra.com/runbooks/mobile-release.md): EAS builds, signs, submits and updates the Expo app; a human bootstraps the stores once. - [Renovate](https://docs.stackra.figentra.com/runbooks/renovate.md): One shared dependency policy: one-day release age, SHA digests, no automerge, advisories bypass the wait. - [Deploys](https://docs.stackra.figentra.com/runbooks/deploys.md): Agents prepare, the owner runs every deploy: staging first, then production from the same commit, and roll back by redeploying a recorded release. - [Upgrade](https://docs.stackra.figentra.com/runbooks/upgrade.md): Checklists for toolchain, Expo SDK and preset upgrades. - [Fresh machine](https://docs.stackra.figentra.com/runbooks/fresh-machine.md): Clone, install the pinned toolchain, log in, and let pnpm doctor tell you what is still missing. - [Working with agents](https://docs.stackra.figentra.com/agents/index.md): How AI agents work in this repository: one .agents/ source, delegation to tiered subagents, and the gates that decide what merges. - [Roster](https://docs.stackra.figentra.com/agents/roster.md): The agents that work in this repository: tier, model, whether they block, and what each owns. - [Hooks](https://docs.stackra.figentra.com/agents/hooks.md): What each agent hook denies or reminds, how settings wire them, and how they are tested. - [Skills](https://docs.stackra.figentra.com/agents/skills.md): Plugin skills, vendored skills, how to install them, and what is deliberately not vendored. - [Knowledge-work plugins](https://docs.stackra.figentra.com/agents/plugins.md): The four Anthropic plugins every session has, what each is for, and where Stackra's own agents and skills take precedence. - [Spec lifecycle](https://docs.stackra.figentra.com/agents/spec-lifecycle.md): How work that is worth specifying moves from idea to merged change with GitHub spec-kit: clarify before plan, a Linear issue per spec, and where a finding goes. - [Concurrent sessions](https://docs.stackra.figentra.com/agents/concurrent-sessions.md): Working safely when several agent sessions share a clone: preconditions, ownership of a change, worktrees, and phased work. - [Rules that don't rot](https://docs.stackra.figentra.com/agents/rules-that-dont-rot.md): Every rule names the check that fails when it breaks, and every vendored copy needs a drift check. - [Markdown syntax](https://docs.stackra.figentra.com/writing/markdown.md): Headings, text formatting, lists and tables. - [Code blocks](https://docs.stackra.figentra.com/writing/code.md): Syntax highlighting, titles, groups and line highlights. - [Images and embeds](https://docs.stackra.figentra.com/writing/images.md): Pictures, light/dark variants and video. - [Components](https://docs.stackra.figentra.com/writing/components.md): Callouts, cards, steps, tabs and accordions. - [Navigation](https://docs.stackra.figentra.com/writing/navigation.md): Adding pages, groups and tabs in docs.json. - [Reusable snippets](https://docs.stackra.figentra.com/writing/reusable-snippets.md): Write a passage once and include it on many pages. - [Site settings](https://docs.stackra.figentra.com/writing/settings.md): What each part of docs.json controls. This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.