How CARTIE works with your team. You always have the kill-switch.
Every action CARTIE takes on your repo runs at a tier you chose, inside a Shadow Mode window you can extend forever. There is no path where CARTIE merges code without an explicit policy you set.
Shadow Mode
Default ON for 14 days on every new repo. CARTIE generates the diff internally and emails you a weekly digest — but never opens a PR.
Safe default
New repos default to T3 (Draft PR + Slack). CARTIE never auto-merges unless you opt the repo in to T1 explicitly.
Excluded paths
Glob-pattern blocklist. src/payments/**, auth modules, security boundaries — never touched, regardless of tier.
The four autonomy tiers
Set per repo. Change anytime. Each tier explicitly defines what CARTIE may and may not do in your codebase.
Tier 4 · T4
Detect only
CARTIE flags it. Your engineer writes the fix.
1 of 4
When to use
Anything touching auth, payments, security, PII, or one-way-doors.
Risk profile
Zero — CARTIE never touches your repo.
What actually happens when a spike fires
1Cost spike fires in Slack with a 3-bullet root cause
2Code Tracer points to the exact line + suggested diff
3No PR opens. Your engineer copy-pastes the diff (or ignores it).
Tier 3 · T3Safe default
Draft PR + Slack
CARTIE opens a DRAFT PR. You un-draft and merge.
2 of 4
When to use
Default for every new repo. Trust-building tier.
Risk profile
Low — no merge is possible without a human un-drafting + clicking merge.
What actually happens when a spike fires
1Cost spike + Code Tracer fires identically to T4
2CARTIE opens a DRAFT PR on your repo with the diff
3Slack pings the configured reviewer team with a 1-line summary
4Your engineer reviews, removes the DRAFT flag, merges
Tier 2 · T2
Auto-PR + human merges
CARTIE opens a real PR. Your engineer reviews + merges.
3 of 4
When to use
Repos with full CI + code owners. After ~30 days at T3 with zero false-positives.
Risk profile
Medium — relies on your CI catching anything CARTIE missed.
What actually happens when a spike fires
1Cost spike fires + diff opens as a regular PR (not draft)
2Required reviewers + CI checks gate the merge
3Your engineer merges when satisfied
Tier 1 · T1Opt-in only
Auto-merge after CI + 24h soak
CARTIE opens, CI passes, 24h soak, auto-merges.
4 of 4
When to use
Mature repos with deep test coverage. Opt-in PER repo.
Risk profile
High — CARTIE merges without explicit human approval. Customer must opt in per repo.
What actually happens when a spike fires
1Cost spike fires + diff opens as PR
2CI runs to completion — must pass
324-hour soak window for your team to override
4CARTIE auto-merges after the soak if nobody intervenes
Shadow Mode · 14-day default
CARTIE earns your trust before opening a single PR.
For the first 14 days on any new repo (regardless of the tier you picked), CARTIE runs in Shadow Mode: it produces every diff and Slack notification it would have sent — but the PR is generated internally only. You see exactly what CARTIE would have done, and you decide if its judgment matches yours. Graduate the repo manually when you're ready, or extend Shadow indefinitely.
Day 0
Repo added · tier picked · shadow ON
Days 1–14
Weekly Slack digest: "here's what we would have shipped"
Day 14+
You graduate (or extend shadow). PRs go live at your chosen tier.
A worked example
Friday 3 p.m. Engine #12 (Anomaly Engine) detects $4,200/day spike in your Anthropic spend. Repo policy: T3 + Shadow OFF (you graduated 6 weeks ago).
15:00 — Anomaly Engine fires. Cost up 4× vs. 30-day baseline.
15:01 — Code Tracer scans your repo. Finds 3 call sites using claude-opus-4-5 in a tight loop.
15:02 — DRAFT PR opens: swap to claude-haiku-4-5 (estimated 67% cost reduction, same task quality on this prompt family).
15:02 — Slack ping to #cartie-cost with PR link + 3-line diff summary + estimated savings.