File size: 4,549 Bytes
e72603e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# usage.md β€” operating Savante

Practical instructions: install, invoke, adapt, wire into CI, and read the
verdicts.

## Install

Into one repository:

```bash
git clone https://github.com/cryptoAGI/savante
cp    savante/.claude/agents/savante.md  <your-repo>/.claude/agents/
cp -r savante/.claude/skills/sagi        <your-repo>/.claude/skills/
```

For every project on the machine, use `~/.claude/agents/` and
`~/.claude/skills/` instead.

The agent type registers at the **next** Claude Code session start. Until
then the `/sagi` skill's fallback path works immediately (it instructs a
general-purpose agent to adopt the charter).

## Invoke

Inside Claude Code, any of:

```
/sagi review the payment router changes
have savante review the parsec-wallet production readiness
savante: is this suite deploy-ready?
render a verdict on <claim>
```

Give it a *claim to verify*, not a vibe to discuss: "production-ready?",
"does the code do what QUANTUM.md says?", "should this merge?". Savante
verifies β€” it runs the tests and reports actual counts, reads the actual git
state, greps for the capability a document asserts. Reviews of a full repo
take minutes, not seconds; that is the verification running.

## Read the verdict

```
FINDINGS       what is KNOWN, with file:line evidence
               + "not yet known" items, each with its deciding experiment
VERDICT:       APPROVE | APPROVE_WITH_CONDITIONS | REJECT | DEFER
RATIONALE:     the deciding constraint, board-minute style
CONDITIONS:    numbered; each independently verifiable
RISKS WATCHED: what Savante keeps watching if this proceeds
```

Interpretation:

- **APPROVE** β€” the claim survived verification as stated.
- **APPROVE_WITH_CONDITIONS** β€” sound core, enumerated gaps; the conditions
  are the work list, each one checkable when done.
- **REJECT** β€” the claim failed against evidence; the rationale names where.
- **DEFER** β€” the decision belongs to the operator's signature, not to
  gatherable evidence. Treat as "stop and ask the human," never as failure.
- **not yet known** β€” not hedging: a fact about the current evidence, with
  the experiment that would decide it. Run the experiment, re-review.

Re-reviews: after satisfying conditions, invoke again with "re-verify the
conditions from the last savante review of <target>."

## Adapt to your repository

Edit one section of `.claude/agents/savante.md` β€” **"Canon you measure
against"** β€” to point at your own doctrine documents (architecture docs,
ADRs, strategy files). Optionally adjust the standing constraints to your
project's equivalents (budget baseline, governance gates). If your charter
lives at a nonstandard path, update the absolute path in the skill's
fallback instruction. Everything else β€” epistemology, verdict contract,
read-only tools β€” is the invariant core; leave it.

No canon at all still works: Savante measures claims against the code itself.

## CI gate (headless)

```yaml
# .github/workflows/savante.yml
name: savante
on: [pull_request]
jobs:
  verdict:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with: { fetch-depth: 0 }
      - name: Savante review gate
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          out=$(claude -p "Invoke the sagi skill: review this branch's diff
            against the base branch. Print ONLY the verdict block." \
            --allowedTools "Read,Grep,Glob,Bash")
          echo "$out"
          echo "$out" | grep -qE 'VERDICT.*APPROVE'   # blocks on REJECT/DEFER
```

Use `grep -qE 'VERDICT.*: *APPROVE$'` to also block on
APPROVE_WITH_CONDITIONS. Add a step posting CONDITIONS as a PR comment if
you want the work list surfaced.

## Scheduled audit

```bash
# weekly: one verdict over the week's changes
claude -p "Invoke the sagi skill: review everything changed in the last 7
days (git log --since='7 days ago'); render one verdict per subsystem." \
  --allowedTools "Read,Grep,Glob,Bash"
```

Cron it and route the output wherever your team reads reports. This is the
standing-audit mode: rarely intervenes, always watching.

## Boundaries (by design)

- Savante **never edits files** β€” it has no Write/Edit tools. If a review
  should lead to fixes, that is a separate, ordinary coding task afterward.
- Savante **does not approve what it has not read**. Point it at what
  matters; it reads before it rules.
- Savante **renders DEFER** rather than guessing on operator-jurisdiction
  decisions. That is the charter working, not a limitation.