Watch · Self-audit
Self-audit
Your app can name a runtime problem from its own measurements. RepoOps samples its runtime metrics, checks them on demand or on an optional schedule, and proposes a held recommendation when it finds a flap or a climb. Optional terminal capture adds build and test patterns. The hosted fleet view groups findings from connected installs, and an approved recommendation records only the change it can measure.
Start here if you want to inspect runtime findings across your installs: Runtime health. This page covers the local audit and its optional capture inputs.
See it in motion
Where to find it
- Localhost: the "Self-audit" section on
http://localhost:4000/brain-health.html- a live, read-only card for the latest finding (root cause, tier, narration source), or an honest "no finding right now" empty state. - Hosted:
repoops.ai/team/runtime-health- which installs in your team's fleet are flapping or wasteful right now, grouped per install. - API:
POST /api/self-audit/run,GET /api/self-audit(own runtime),POST /api/env-audit/run, andGET /api/env-audit(terminal and environment).
What it does for you
runtime.metric events, classifies a memory recycle flap, RSS climb, or endpoint latency regression, and proposes an AI-authored or deterministic recommendation from a fixed remediation menu. Every proposal waits for human approval.runtime.terminal event./team/runtime-health rolls up every connected install's findings, so an eng manager sees which machines are flapping without asking each developer.improved:false, and a flat re-sample stays improved:null. It never flips to true merely because a fix was applied.Configure
The five-minute metric sample runs with the app. The audit pass runs by request unless you enable its schedule. Terminal and session inputs remain separate opt-ins:
REPOOPS_SELF_AUDIT_SCHEDULE=1turns on the scheduled self-audit and environment-audit passes. The default is off;POST /api/self-audit/runandPOST /api/env-audit/runwork either way.account-settings.json::terminalCapture.enabledturns on local log-file capture. The default isfalse. Pair it withterminalCapture.logFiles, the list of named paths to tail.- Claude Code session capture (P3) needs TWO separate opt-ins, not one. This is a genuinely advanced, power-user setting, not a single toggle:
REPOOPS_DEEP_CAPTURE=1records the underlying per-turn messages. On its own, it does not feed them into self-audit.account-settings.json::terminalCapture.claudeCodeSessions, defaultfalse, is the separate consent to bridge that captured content into environment audit.
Use it well
Run a pass from Brain health when something feels off.
The Run a pass now button works without the schedule flag. A quiet window produces no proposal; a finding includes the sampled evidence that triggered it.Turn on terminalCapture.enabled once you want build/test signal, not before.
It is off by default. PointlogFilesat the build or test logs you choose; the capture path applies the repository's redactor before it appends an event.Only enable the Claude Code session bridge if you already run with deep capture on.
It has no effect unlessREPOOPS_DEEP_CAPTUREis also set. Think of it as a second, deliberate decision layered on top of an existing one, not a quick toggle.Use the fleet view to triage, not to page someone.
/team/runtime-healthgroups current findings by source machine. Check the outcome measurement before treating an approved recommendation as an improvement.
Examples
terminalCapture.claudeCodeSessions setting must also be on before repeated failed Bash commands can produce an agent-retry-loop finding.Read more
Last updated