timmy-talking-turd/docs
Timmy ad8c8a9f4c
All checks were successful
Quality gates / quality (pull_request) Successful in 1m44s
feat(ops): release observability dashboard and incident-response flow
Implements issue #41 acceptance criteria without touching the live host:

- src/release-observability.js: sanitizeEvidence() allowlists bounded,
  privacy-safe evidence (release tag, commit, UTC time, per-check
  id/boundary/status/failure-class/latency/counters) and drops session
  identifiers, credentials, environment dumps, photo payloads, base64,
  image hashes, note text, emails, and any oversized/suspicious value.
- buildDashboard(): app/api/queue/model boundary rollups, failure-class
  counts, manual-fallback state; evaluateAlerts() with owner, threshold,
  severity, and runbook anchor per rule.
- scripts/release_dashboard.mjs: local operator CLI over sanitized
  evidence files or a loopback drill fixture; never contacts a live
  host and exits nonzero without echoing rejected input.
- docs/RELEASE-OBSERVABILITY.md: alert inventory, evidence schema,
  simulated worker-outage drill, incident flow, privacy boundary.
- Tests: sanitizer hostile-payload coverage, dashboard/alert rules,
  end-to-end loopback outage drill asserting exactly one actionable
  page alert plus graceful manual fallback, runbook/package contract.
2026-08-22 20:33:10 +00:00
..
PRODUCT-DECISIONS.md feat: simplify Timmy and add secure Hermes chat 2026-08-20 16:21:00 +00:00
RELEASE-OBSERVABILITY.md feat(ops): release observability dashboard and incident-response flow 2026-08-22 20:33:10 +00:00
STAGING-RUNBOOK.md feat: add hardened atomic staging deployment 2026-08-21 14:49:28 +00:00
TIMMY-AGENT-POLICY.md feat: simplify Timmy and add secure Hermes chat 2026-08-20 16:21:00 +00:00