# 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 sets every value and an agent never 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 Pro 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 · 2026-10-19 - [0006 — Naming, exports and imports](https://docs.stackra.figentra.com/adr/0006-naming-exports-and-imports.md): Accepted, amended by 0128 · 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): Accepted · 2026-10-19 - [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): Accepted · 2026-10-19 - [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 · 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 · 2026-10-19 - [0017 — Agent roster and models](https://docs.stackra.figentra.com/adr/0017-agent-roster-and-models.md): Accepted · 2026-10-19 - [0018 — Framework design record](https://docs.stackra.figentra.com/adr/0018-framework-design-record.md): Proposed · 2026-10-19 - [0019 — Supply chain hardening](https://docs.stackra.figentra.com/adr/0019-supply-chain-hardening.md): Proposed · 2026-10-19 - [0020 — Observability and crash reporting](https://docs.stackra.figentra.com/adr/0020-observability-and-crash-reporting.md): Proposed · 2026-10-19 - [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 · 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 · 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): Accepted · 2026-10-19 - [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): Proposed · 2026-10-19 - [0031 — Coarse services, split on evidence](https://docs.stackra.figentra.com/adr/0031-coarse-services-split-on-evidence.md): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [0035 — Resend for email, with SPF, DKIM and DMARC](https://docs.stackra.figentra.com/adr/0035-resend-email-with-spf-dkim-dmarc.md): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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 · 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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [0058 — The desktop app is Electron](https://docs.stackra.figentra.com/adr/0058-desktop-is-electron.md): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [0063 — Cloudflare hosts the web surfaces](https://docs.stackra.figentra.com/adr/0063-cloudflare-hosts-web-surfaces.md): Proposed · 2026-10-19 - [0065 — The Linear gate is checked offline](https://docs.stackra.figentra.com/adr/0065-linear-gate-is-checked-offline.md): Accepted · 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-19 - [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 · 2026-10-19 - [0068 — runway: CI/CD built inside Stackra](https://docs.stackra.figentra.com/adr/0068-runway-cicd-built-inside-stackra.md): Proposed · 2026-10-19 - [0069 — Testing strategy and coverage floors](https://docs.stackra.figentra.com/adr/0069-testing-strategy-and-coverage.md): Proposed · 2026-10-19 - [0070 — Quality budgets: accessibility, Web Vitals, bundle, mobile startup](https://docs.stackra.figentra.com/adr/0070-quality-budgets.md): Proposed · 2026-10-19 - [0071 — Privacy: export, erasure, platform declarations and templates](https://docs.stackra.figentra.com/adr/0071-privacy-obligations.md): Proposed · 2026-10-19 - [0072 — SOC 2 groundwork](https://docs.stackra.figentra.com/adr/0072-soc2-groundwork.md): Proposed · 2026-10-19 - [0073 — Observability: Better Stack, Sentry and Encore tracing](https://docs.stackra.figentra.com/adr/0073-observability-better-stack-sentry-encore.md): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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 · 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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [0084 — Figentra OS package port plan](https://docs.stackra.figentra.com/adr/0084-figentra-os-package-port-plan.md): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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): Proposed · 2026-10-19 - [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 · 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 · 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): Proposed · 2026-10-19 - [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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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): Accepted · 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 · 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 · 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 · 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): Accepted · 2026-10-19 - [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 · 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 · 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 · 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 · 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): Proposed · 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 · 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 · 2026-10-20 - [0127 — Package categories, including infrastructure and commerce](https://docs.stackra.figentra.com/adr/0127-package-categories-including-infrastructure.md): Accepted · 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 · 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 · 2026-10-20 - [0131 — Module key, version and deprecation](https://docs.stackra.figentra.com/adr/0131-module-key-version-and-deprecation.md): Accepted · 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 · 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 · 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 · 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 · 2026-10-20 - [0142 — Cross-service transport goes through drivers](https://docs.stackra.figentra.com/adr/0142-cross-service-transport-through-drivers.md): Accepted · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 · 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 - [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. - [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. - [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. - [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. - [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.