-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathhum.schema.json
More file actions
89 lines (86 loc) · 2.92 KB
/
hum.schema.json
File metadata and controls
89 lines (86 loc) · 2.92 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "hum config",
"type": "object",
"additionalProperties": false,
"properties": {
"$schema": { "type": "string" },
"humd": {
"type": "object",
"additionalProperties": false,
"description": "Daemon-level knobs.",
"properties": {
"permissionDuskMs": {
"type": "integer",
"minimum": 0,
"default": 60000,
"description": "Ms a pending permission-ask waits before auto-denying."
},
"driftRetentionDays": {
"type": "integer",
"minimum": 0,
"default": 30,
"description": "Days of drift-ring samples kept on disk."
}
}
},
"fs": {
"type": "object",
"additionalProperties": false,
"description": "Filesystem primitive — what humd is allowed to read and write. Built-in MCP tools (Read/Write/Edit/Glob/Grep/Bash) clamp to these roots. SpawnSpec.cwd must be inside one of them.",
"properties": {
"roots": {
"type": "array",
"default": [],
"items": {
"type": "object",
"additionalProperties": false,
"required": ["path"],
"properties": {
"path": {
"type": "string",
"description": "Absolute path or ~-relative. Tilde expanded against $HOME at load time."
},
"mode": {
"type": "string",
"enum": ["rw", "ro"],
"default": "rw",
"description": "rw — read + write tools allowed. ro — Read/Glob/Grep allowed, Write/Edit refused."
}
}
}
},
"denied": {
"type": "array",
"default": ["~/.ssh", "~/.aws", "~/.gnupg", "~/.config/hum"],
"items": { "type": "string" },
"description": "Hard blacklist. Any path under a denied prefix is refused even if it sits inside a root. Tilde expanded."
}
}
},
"nest": {
"type": "object",
"additionalProperties": false,
"description": "The pool that hosts cells. One nest per humd.",
"properties": {
"maxActiveCells": {
"type": "integer",
"minimum": 1,
"default": 4,
"description": "Hard cap on concurrent cells. See nest::NestHealth for the pressure tiers it feeds."
},
"cellIdlePruneThresholdMs": {
"type": "integer",
"minimum": 0,
"default": 300000,
"description": "Ms after last activity before a cell is considered idle and eligible for eviction."
},
"default": {
"type": "string",
"default": "claude-cli",
"description": "Hive name humd routes to when a chi:prompt doesn't pin one. A hive configures its own runtime (binary, models) via its service env, not here."
}
}
}
}
}