agent-roast 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/schema.json ADDED
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://raw.githubusercontent.com/Nari-Ab/agent-roast/main/schema.json",
4
+ "title": "Agent Roast configuration",
5
+ "description": "Offline review policy. Changes are policy changes and require human review.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string"
11
+ },
12
+ "failOn": {
13
+ "description": "Enabled rules which block; an empty array is advisory.",
14
+ "type": "array",
15
+ "items": {
16
+ "enum": [
17
+ "test-skip",
18
+ "type-escape",
19
+ "swallowed-error",
20
+ "panic-loop",
21
+ "trivial-assert",
22
+ "stub-abandonment",
23
+ "test-focus"
24
+ ]
25
+ }
26
+ },
27
+ "ignorePaths": {
28
+ "description": "Repository-relative simple glob or directory-prefix exclusions.",
29
+ "type": "array",
30
+ "items": {
31
+ "type": "string",
32
+ "maxLength": 1024
33
+ },
34
+ "maxItems": 1000
35
+ },
36
+ "scoreThreshold": {
37
+ "type": "number",
38
+ "minimum": 0,
39
+ "maximum": 100
40
+ },
41
+ "panicLoopWindowMinutes": {
42
+ "type": "number",
43
+ "exclusiveMinimum": 0
44
+ },
45
+ "rules": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "properties": {
49
+ "test-skip": {
50
+ "enum": [
51
+ "error",
52
+ "warn",
53
+ "off"
54
+ ]
55
+ },
56
+ "type-escape": {
57
+ "enum": [
58
+ "error",
59
+ "warn",
60
+ "off"
61
+ ]
62
+ },
63
+ "swallowed-error": {
64
+ "enum": [
65
+ "error",
66
+ "warn",
67
+ "off"
68
+ ]
69
+ },
70
+ "panic-loop": {
71
+ "enum": [
72
+ "error",
73
+ "warn",
74
+ "off"
75
+ ]
76
+ },
77
+ "trivial-assert": {
78
+ "enum": [
79
+ "error",
80
+ "warn",
81
+ "off"
82
+ ]
83
+ },
84
+ "stub-abandonment": {
85
+ "enum": [
86
+ "error",
87
+ "warn",
88
+ "off"
89
+ ]
90
+ },
91
+ "test-focus": {
92
+ "enum": [
93
+ "error",
94
+ "warn",
95
+ "off"
96
+ ]
97
+ }
98
+ }
99
+ },
100
+ "exceptions": {
101
+ "description": "Precise, reviewed allowances. A new duplicate beyond count remains actionable; expiry includes its UTC date.",
102
+ "type": "array",
103
+ "maxItems": 1000,
104
+ "items": {
105
+ "type": "object",
106
+ "additionalProperties": false,
107
+ "required": [
108
+ "fingerprint",
109
+ "count",
110
+ "reason",
111
+ "expires"
112
+ ],
113
+ "properties": {
114
+ "fingerprint": {
115
+ "type": "string",
116
+ "pattern": "^[a-f0-9]{64}$"
117
+ },
118
+ "count": {
119
+ "type": "integer",
120
+ "minimum": 1,
121
+ "maximum": 100000
122
+ },
123
+ "reason": {
124
+ "type": "string",
125
+ "minLength": 1,
126
+ "maxLength": 1000,
127
+ "pattern": "^(?=.*\\S)[^\\u0000-\\u001f\\u007f-\\u009f\\u061c\\u200e\\u200f\\u2028-\\u202e\\u2066-\\u2069]*$"
128
+ },
129
+ "expires": {
130
+ "type": "string",
131
+ "format": "date",
132
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }