Report Issue widget V1
phase-0shipped
Live on staging.keycontent.ai with Bug / Suggestion / Question types, screenshot upload, and type-aware placeholders
Postmark rewire
phase-0shipped
Edge Function migrated from Resend to Postmark with verified sender
app_id field
phase-0shipped
Forward-compatible field for the Sentinel multi-app vision
CEO Pitch Deck
deliverable
14 slides including the "P0โP3, Elevated" elevation slide
HTML Ops Playbook
deliverable
Single-file viewer for the 5 HOW-WE-DO docs
ROADMAP.md
deliverable
Master rollout plan with Sentinel future state baked in
HOW-WE-DO-PRIORITY.md
playbook
P0โP3 + user-impact narrative + blast radius elevation
HOW-WE-DO-PR-REVIEWS.md
playbook
Behavior-based, code-free review checklist
HOW-WE-DO-INCIDENTS.md
playbook
Incident runbook with the 1 AM Rule
HOW-WE-DO-DEPLOYS.md
playbook
Three rules: staging, rollback, gradual
HOW-WE-DO-BUG-REPORTS.md
playbook
Codifies the Phase 0 widget pipeline
HOW-WE-DO-APP-AUDITS.md
playbook
Onboarding gate + quarterly re-audit checklist. Captures the first KeyContent audit inline
Register APP-AUDITS in playbook renderer
toolingshipped
PLAY 6 now renders in ops-playbook.html (73.4 KB)
HIBP password protection
auditopsshippedget_advisors
Enabled on staging + prod. `get_advisors` confirms no more leaked-password warnings
Sentinel kanban published
infrashipped
Live at coreshifthqnz.github.io/coreshift-kanbans/sentinel/ alongside DigitalArchitect. Includes kanban + playbook + roadmap. Pitch deck deliberately internal
Cloudflare org access
infrashipped
Operator now has org access. Unblocks Sentry env vars, gradual rollout, alert integration, and all downstream Phase 1+ Cloudflare work
GitHub branch protection
auditopsshippedmainstaging
Rules added on `main` + `staging`: PR required (0 approvals โ 2-person team), linear history, force-push blocked, deletion blocked. Admin bypass left enabled (judgment-call exception for Ricky)
Supabase backup retention verified
auditopsshipped
Prod has 8 days of daily physical DB backups. Storage objects NOT included (see Phase 1 Week 5 follow-up for that gap)
Sentry env vars in Railway
phase-1-w1shippedVITE_SENTRY_DSNVITE_SENTRY_ENVIRONMENT=staging
`VITE_SENTRY_DSN` + `VITE_SENTRY_ENVIRONMENT=staging` planted in Railway staging environment. Frontend builds on Railway (not Cloudflare Pages โ doc correction needed; see backlog)
Sentry SDK installation
phase-1-w1shippedkeycontent-frontendkeycontent-backend
Both `keycontent-frontend` and `keycontent-backend` actively receiving events on staging. Release tracking confirmed (commit SHA tagged on deploys). Crash-free sessions: 100%. **Phase 1 Week 1 complete.**
Better Stack uptime monitors
phase-1-w2shipped
Free tier, 3-min checks across 2 regions for production + staging. Bonus monitor on coreshifthq.com. Email alerts to operator
Public status page (Better Stack subdomain)
phase-1-w2shipped
Live at https://keycontent.betteruptime.com showing production status only. Custom domain (status.keycontent.ai) deferred โ requires Better Stack paid tier
SSL/TLS Full (Strict)
auditopsshippedkeycontent.ai
Cloudflare encryption mode bumped from Full โ Full (Strict) for `keycontent.ai`. End-to-end cert validation now enforced between CF and Railway origin
Cloudflare alert integration
phase-1-w2shipped
HTTP DDoS Attack Alert + Universal SSL Alert configured at account level. Email destination: abe@coreshifthq.com. Both enabled. **Phase 1 Week 2 complete.**
HOW-WE-DO-DEPLOYS v2 (Railway revision)
docsshipped
Standard Deploy Pipeline, Three Rules (Rule 3 reframed from "gradual" โ "observable"), Rollback Procedures, and V0 promotion example all updated to match Railway reality. Cloudflare's role narrowed to DNS+CDN+WAF
HOW-WE-DO-PR-REVIEWS v2 (Railway revision)
docsshipped
5-step review replaced with Two-Phase Review: Phase A (pre-merge, description + files-changed + clarifying Qs) + Phase B (post-merge-to-staging behavior testing). Safety net retitled to "Sentry + Better Stack + Railway fast rollback."
Cloudflare Bot Fight Mode
auditopsshippedkeycontent.ai
Enabled on `keycontent.ai` zone with JS Detections on. Free-tier bot/abuse defense for auth endpoints + general traffic
GitHub labels
phase-1-w1shipped
13 new labels (P0-P3, radius:*, status types) live in the repo
GitHub issue templates
phase-1-w1shipped
Bug / Feature / Question YAML forms merged via PR #70
GitHub project board
phase-1-w1shipped
KeyContent Triage with auto-add workflow
Sentry projects
phase-1-w1shipped
keycontent-frontend + keycontent-backend created and named
Sentry secrets (Supabase staging)
phase-1-w1shipped
SENTRY_DSN_EDGE + SENTRY_ENVIRONMENT planted
Sentry secrets (GitHub Actions)
phase-1-w1shipped
SENTRY_AUTH_TOKEN + SENTRY_ORG + SENTRY_PROJECT planted
Postmark domain verification
opsshippedkeycontent.aihello@keycontent.ai
`keycontent.ai` fully verified (DKIM + Return-Path); `hello@keycontent.ai` signature live
Gmail inbox rules
opsshippedKeyContent/Bug/Suggestion/Question
`KeyContent/Bug` (red+star+important), `/Suggestion` (yellow), `/Question` (blue+important) labels and subject filters live