Skip to main content

Runbooks

Written to be followed at 2am by someone who did not build the thing.

Pam is not answering

  1. Check credits first. Most often this is a board at zero, which is correct behaviour rather than an incident.
  2. /api/settings/ai-diag as a secretary or chair — it exercises the real chat shape, not just credentials.
  3. If it reports a Bedrock error, the hint names the cause. The five we have actually hit are covered in bedrockErrorHint, and each names its own fix.

Bedrock model access is an AWS Marketplace subscription. If the error names aws-marketplace:Subscribe, do NOT grant that to the runtime credential — attach AWSMarketplaceManageSubscriptions to an admin temporarily, invoke the model once, then detach. The subscription is account-wide and outlives the permission.

Nothing is happening on schedule

The scheduler runs from the ops host, not Vercel.

crontab -l # expect */5
/opt/ai4boards/src/scripts/scheduler.sh # run it by hand

A 401 means CRON_SECRET on the box and in Vercel disagree.

A customer cannot pay

node scripts/stripe-verify.mjs

Most likely a catalogue row pointing at an archived Price. That happens when a repricing archives the old Price and fails to write the new id.

A board is out of credits mid-month

Not an incident. Confirm from ai_credit_ledger which feature consumed them — usually daily briefs for a large board — and advise a top-up or a plan change.