Every transition the orchestrator drives — provisioning, starting, stopping, restarting, rotating keys, destroying — writes a row to theDocumentation Index
Fetch the complete documentation index at: https://internal.september.wtf/llms.txt
Use this file to discover all available pages before exploring further.
audit_log table. This is the durable record of what happened
to the fleet. It’s the first place to look during an incident and the
data behind every fleet metric.
Schema
| Column | Purpose |
|---|---|
timestamp | When the action started. |
product_id | The product whose engine the action targeted (nullable for system-level actions). |
user_id | The user the engine belongs to (nullable when not yet allocated). |
engine_id | The engine the action targeted (nullable for product-level actions). |
action | The action name (see below). |
actor | Who triggered it: system, the product slug, or admin. |
metadata | Action-specific JSON details. |
duration_ms | How long the action took (when measurable). |
Actions
| Action | When | Triggered by |
|---|---|---|
provision | New engine created | POST /engines/provision or auto-provision path |
start | Engine started | POST /engines/{user_id}/start |
stop | Engine stopped | POST /engines/{user_id}/stop |
wake | Sleeping engine woken | POST /admit with auto_wake=true |
destroy | Engine torn down | DELETE /engines/{user_id} |
rotate_key | API key rotated | POST /engines/{user_id}/rotate-key |
health_check | Probe result (sampled, not every tick) | health loop |
health_failed | Engine marked failed | health loop |
auto_restart_start | Auto-restart attempted | health loop |
auto_restart_success | Auto-restart succeeded | health loop |
auto_restart_failed | Auto-restart attempt failed | health loop |
auto_restart_gave_up | Stopped retrying after max attempts | health loop |
policy_register | Product registered | POST /products/register |
policy_update | Product policy changed | PUT /products/{product_id}/policy |
admit_denied | Admission denied by policy | POST /admit |
provision_denied | Provision denied by policy | POST /provision |
Common queries
Recent activity for one engine
Provisions in the last hour
/metrics endpoint runs. Useful for capacity
planning.
Auto-restart hot spots
Activity by actor
A specific user’s lifetime
Metadata conventions
Themetadata JSONB has different shape per action:
provision
health_failed
auto_restart_failed
admit_denied
Retention
audit_log grows. Without cleanup, it fills the database. A
reasonable retention policy:
audit_log to your stack handles
it.
What’s not in the audit log
- Engine
/executecalls. The orchestrator doesn’t see them; the product calls the engine directly. Per-call telemetry lives in the engine’sobservability_events. - Postgres-internal events like vacuum, autovacuum, and so on.
- Orchestrator startup and shutdown. Logged to stdout instead.
audit_log (orchestrator) with observability_events
(engine) on engine_id.
See also
- Health — what triggers
auto_restart_*actions. - Lifecycle — what triggers
provision/stop/etc. - Policy — what triggers
admit_denied/provision_denied. - API reference — every endpoint that produces audit rows.

