Skip to content
The foundation under itShipping systemdeveloper-experience

Guardrails on new work

A half-built feature cannot reach the team.

New work in Growth-OS is generated complete: input contracts, permission-checked server services, client wiring, a tenant-scoped stream shape and tests. Anything scaffolded stays draft and out of the production registry until a certification run passes. Known mistakes, unscoped caches or server internals imported into browser code, fail a check instead of spreading.

  • 1 command to start a complete feature
  • 0 draft resources in the production registry
  • 1 verify pass before a release

How it works

The mechanism end to end, as implemented in the repository.

  1. 1

    Scaffold the slice

    One command generates contracts, permission-checked server services with idempotent receipts and version checks, client wiring, a tenant-scoped shape and tests. It refuses to overwrite existing code.

  2. 2

    Work with fast feedback

    Test commands run only what the change touches, and a doctor command reports configuration and service health without printing a secret.

  3. 3

    Certify to promote

    A certification run against a disposable database is the only way a draft resource becomes certified, and the registry check rejects anything that skipped it.

  4. 4

    Verify before release

    One verify pass runs the architecture, registry, migration and bundle gates, so drift shows up as a failed check with evidence rather than a surprise later.

Interactive example

See it working

This walkthrough demonstrates the implemented backend contract without using an account, credentials, or provider calls.

Interactive example

Walk the checks we run before shipping

  1. $ bun run scaffold resource · passed

Showing 1 of 4 checks

Deterministic sample data only. No account, provider, or network connection is used by the interaction.

The problem this solves

Without a shared foundation, every team rebuilds these edge cases, differently.

The copy that lost the check

A new feature starts by copying the last one, and each copy drops a permission check here and a version column there until the pattern is no longer a pattern. Generating the slice keeps every one of them complete.

The prototype that went live

A half-finished experiment gets registered, deployed and depended on before anyone decided it was ready. Draft maturity keeps it out of the production registry until certification says otherwise.

Rules that live only in a document

Conventions in a file nobody reads under deadline get re-argued in every review and quietly broken between them. Here breaking one fails a check.

Highlights

Why it matters

Whole features, not snippets

One command generates the full slice: contracts, permission-checked server code, client wiring, a tenant-scoped shape and tests, already connected.

Unfinished stays unshipped

A new scaffold is draft, omitted from the production registry, and rejected by the registry check until a certification run proves it works.

Shortcuts turn red

A pattern check catches literal query keys, unscoped cache operations, browser imports of server internals and unrestricted stream shapes, and the existing debt can only shrink.

Engineering guarantees

What this does and does not promise

Safety boundary

Checks say where they ran. A pass on a laptop or a disposable database is never presented as proof about the deployment, and a lane that could not run is a named limitation rather than a quiet success.

Implementation evidence

The boundary above is code, not a claim. These files carry the contract:

  • scripts/scaffold.ts
  • scripts/certify-resource.ts
  • scripts/check-patterns.ts
  • docs/DEVELOPER-EXPERIENCE.md
  • docs/RELEASE-CERTIFICATION.md
Questions

Frequently asked questions

What guardrails on new work rests on

The docs describe the same contracts this page demonstrates.