# ADR-0002: Explicit schema bootstrap policy

- **Status:** accepted
- **Date:** 2026-06-25

## Context

MVP called schema bootstrap (`create_all`) on every startup. `REQ-10` requires explicit, opt-in schema bootstrap behavior so normal production startup does not mutate schema.

## Decision

Add environment-aware bootstrap policy:

1. New settings:
   - `environment`: `development` | `test` | `production`
   - `bootstrap_schema_on_startup`: optional explicit override
2. Default behavior:
   - Development/test: bootstrap enabled
   - Production: bootstrap disabled
3. App startup calls `create_all` only when policy evaluates true.

## Consequences

### Positive
- Production startup behavior is safer and policy-driven.
- Local development remains simple by default.

### Tradeoffs
- Deployments now require explicit schema management in production.

## Alternatives Considered

1. **Always bootstrap in all environments**
   - Rejected: violates `REQ-10` intent.
2. **Disable bootstrap everywhere immediately**
   - Rejected: hurts local developer workflow without migration tool replacement yet.
