OPERATIONS.md in the checkout. These are the principal settings:
SMTP and allowlisted HTTPS webhooks are optional. Individual review requests cannot nominate their own delivery destinations. Production checks apply before database setup, including offline bootstrap. The checkpoint and safety container names must differ. An acknowledgement alone does not prove real administrator or writer separation.
Production enables certificate-verified database TLS even when the connection URL omits SSL flags. If
sslmode is present it must be verify-full. Insecure or ambiguous SSL parameters and query-string host overrides are refused. HAIP_DATABASE_CA_FILE adds a private CA without disabling verification.
Offline bootstrap requires an operator token generated from at least 32 cryptographically random bytes, encoded as unpadded base64url or hexadecimal. Short or obviously repeated values are refused. Format checks cannot establish the randomness of a supplied secret. Never reuse a fixture token or use a password.
The trust manifest is strict, schema-validated JSON with matching issuer and protocol revision, unique key IDs and public-only Ed25519 keys. The selected signing key must match its public entry and be currently valid and unrevoked. Expired public keys may remain for historical verification. A supplied discovery manifest does not establish trust by itself.
Bundle registration has separate operational limits: publisher 2/minute with burst 5 and 20/day, and tenant 10/minute with burst 20 and 100/day. Retained bundle bytes are capped at 1 GiB per publisher and per tenant, with linked producer retention limits also enforced. Identical idempotent retries do not consume an additional registration slot.
Routes may lower their request limits but may never exceed the reference maxima. Stable principal counters survive token rotation. Reassignment, cleanup and supersession do not reset fatigue limits. Creation reserves response capacity so an existing review can still be resolved when creation is throttled.
Review and grant defaults are 24 hours each, execution one hour, private reconciliation seven days and audit retention 90 days. Execution-private material has an absolute cap of nine days and one hour from acceptance. Reads enforce captured expiry immediately. Background cleanup persists transitions in indexed batches of 50 due requests, releasing the tenant lock between batches.