-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.example.toml
More file actions
73 lines (60 loc) · 3.21 KB
/
Copy pathconfig.example.toml
File metadata and controls
73 lines (60 loc) · 3.21 KB
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
# graph-engineering site configuration.
#
# Copy to `config.toml` (gitignored) and edit. Everything here was hardcoded until
# 2026-08-07; the values below are the DEFAULTS the tools fall back to when no config file
# exists, so a fresh clone still runs — it just will not know about your repos.
#
# Every setting can also be overridden by the environment variable named beside it, which is
# what the systemd units use. Precedence: environment > config.toml > these defaults.
[paths]
# Where your git checkouts live. The nightly sweep discovers repos here.
# env: AGENT_INFRA_PROJECTS
projects = "~/projects"
# Scratch for logs and temp files. Point this at real disk, not a tmpfs — a graph build
# writing hundreds of MB into RAM is how you take a box down.
# env: AGENT_INFRA_SCRATCH
scratch = "/tmp"
# Optional. A second tree of machine-owned mirrors, if something else (a deploy hook, CI)
# rebuilds graphs outside your working checkouts. Leave empty if you have only one tree —
# the drift report then simply has nothing to compare and says so.
# env: AGENT_INFRA_MIRRORS
mirrors = ""
[forge]
# Optional allowlist for the canonical forge. When set, remotes on every other host are
# excluded from graph discovery and refresh. GitHub is always excluded.
# env: AGENT_INFRA_CANONICAL_FORGE_HOSTS (comma-separated)
canonical_hosts = []
[graph]
# Repos whose graphs are maintained by some OTHER process, so the nightly sweep skips them.
# Two processes writing one graphify-out can corrupt a graph that agents then trust.
# Format: "<org>/<repo>", matched against the git remote — NOT the directory name, because
# two checkouts of one repo must collapse to a single entry.
# env: AGENT_INFRA_EXTERNALLY_MANAGED (comma-separated)
externally_managed = []
# A repo with fewer commits than this in the last 30 days has a graph that is still true;
# rebuilding it burns budget the active repos need.
min_commits_30d = 5
# Don't rebuild a graph newer than this, even for an active repo.
max_graph_age_hours = 20
# Largest net node reduction auto-retried with --force. Node IDs embed line numbers, so
# moved code renames nodes rather than deleting them: a revert once produced 22 removed /
# 20 added = net -2 and the shrink-guard read it as data loss. A LARGE drop is the
# truncation that guard exists to catch and must still fail loudly.
max_auto_force_shrink = 50
[limits]
# Refuse to start a graph build below this much free space. A build that fills the disk
# takes the box down with it.
min_free_gb = 25
# Per-repo build ceiling. One pathological repo must not starve every other repo.
build_timeout_sec = 1800
# Whole-sweep ceiling. Sized so a sweep started at night is always done before the workday.
sweep_budget_sec = 21600
[adoption]
# Skills whose adoption you are deliberately tracking. A skill enters this list when it
# ships and leaves when it is clearly established or clearly abandoned.
# env: AGENT_INFRA_WATCHED_SKILLS (comma-separated)
watched_skills = []
# Weeks of zero invocations after which the TRIGGER, not the tool, is the likely problem.
# Skills are model-invoked: they fire only when the description matches how someone actually
# phrases a request, so a never-invoked skill is usually a description problem.
stale_weeks = 2