@fitlab-ai/agent-infra 0.9.1 → 0.9.2

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.
Files changed (283) hide show
  1. package/README.md +16 -4
  2. package/README.zh-CN.md +16 -4
  3. package/bin/cli.ts +12 -0
  4. package/dist/bin/cli.js +14 -0
  5. package/dist/bin/internal-cli.js +15 -0
  6. package/dist/lib/agent-client.js +163 -0
  7. package/dist/lib/agent-clients/adapter.js +294 -0
  8. package/dist/lib/agent-clients/adapters/claude-code.js +62 -0
  9. package/dist/lib/agent-clients/adapters/codex-sandbox.js +210 -0
  10. package/dist/lib/agent-clients/adapters/codex.js +54 -0
  11. package/dist/lib/agent-clients/adapters/gemini-cli.js +64 -0
  12. package/dist/lib/agent-clients/adapters/index.js +20 -0
  13. package/dist/lib/agent-clients/adapters/opencode.js +64 -0
  14. package/dist/lib/agent-clients/config.js +177 -0
  15. package/dist/lib/agent-clients/custom-tuis.js +99 -0
  16. package/dist/lib/agent-clients/invocation.js +9 -0
  17. package/dist/lib/agent-clients/next-steps.js +38 -0
  18. package/dist/lib/agent-clients/project-assets.js +45 -0
  19. package/dist/lib/agent-clients/reconcile.js +235 -0
  20. package/dist/lib/agent-clients/registry.js +72 -0
  21. package/dist/lib/agent-clients/schema.js +57 -0
  22. package/dist/lib/agent-clients/types.js +29 -0
  23. package/dist/lib/builtin-tuis.js +9 -14
  24. package/dist/lib/defaults.json +85 -73
  25. package/dist/lib/git/review-snapshot.js +25 -10
  26. package/dist/lib/git/reviewed-commit-equivalence.js +110 -0
  27. package/dist/lib/init.js +47 -91
  28. package/dist/lib/internal/agent-client.js +117 -0
  29. package/dist/lib/internal/git-workflow.js +1 -1
  30. package/dist/lib/internal/release-workflow.js +71 -16
  31. package/dist/lib/internal/task-orchestration.js +151 -0
  32. package/dist/lib/internal/task-review.js +65 -0
  33. package/dist/lib/merge.js +2 -1
  34. package/dist/lib/platform/adapters.js +38 -1
  35. package/dist/lib/platform/change-request-git-evidence.js +113 -0
  36. package/dist/lib/platform/merged-pr-equivalence.js +41 -11
  37. package/dist/lib/platform/pr-checks.js +38 -10
  38. package/dist/lib/platform/pull-requests.js +110 -6
  39. package/dist/lib/platform/releases.js +1 -1
  40. package/dist/lib/platform/verification-required.js +8 -10
  41. package/dist/lib/prompt.js +15 -3
  42. package/dist/lib/release/channels.js +4 -1
  43. package/dist/lib/release/workflow.js +4 -2
  44. package/dist/lib/remove-dir.js +25 -0
  45. package/dist/lib/run/tui.js +8 -2
  46. package/dist/lib/sandbox/agent-client-reconciler.js +234 -0
  47. package/dist/lib/sandbox/clipboard/linux.js +2 -1
  48. package/dist/lib/sandbox/commands/create.js +76 -180
  49. package/dist/lib/sandbox/commands/enter.js +17 -1
  50. package/dist/lib/sandbox/commands/prune.js +2 -2
  51. package/dist/lib/sandbox/commands/rm.js +3 -2
  52. package/dist/lib/sandbox/config.js +21 -4
  53. package/dist/lib/sandbox/constants.js +3 -0
  54. package/dist/lib/sandbox/dockerfile.js +2 -1
  55. package/dist/lib/sandbox/managed-fs.js +10 -5
  56. package/dist/lib/sandbox/recovery.js +52 -36
  57. package/dist/lib/sandbox/shell.js +1 -1
  58. package/dist/lib/sandbox/tool-types.js +8 -0
  59. package/dist/lib/sandbox/tools.js +2 -126
  60. package/dist/lib/task/artifact-lifecycle.js +1 -49
  61. package/dist/lib/task/commands/decisions.js +50 -20
  62. package/dist/lib/task/delegation-receipts.js +107 -0
  63. package/dist/lib/task/events.js +100 -1
  64. package/dist/lib/task/orchestration.js +420 -0
  65. package/dist/lib/task/review-artifacts.js +143 -59
  66. package/dist/lib/task/review-finalization.js +166 -0
  67. package/dist/lib/task/review-fingerprint.js +4 -0
  68. package/dist/lib/task/verification-checks.js +2 -1
  69. package/dist/lib/task/verification-engine.js +156 -28
  70. package/dist/lib/task/verification-review.js +1 -1
  71. package/dist/lib/task/verification.js +3 -1
  72. package/dist/lib/task/workspace-snapshot.js +34 -0
  73. package/dist/lib/update.js +42 -161
  74. package/lib/agent-client.ts +214 -0
  75. package/lib/agent-clients/adapter.ts +461 -0
  76. package/lib/agent-clients/adapters/claude-code.ts +70 -0
  77. package/lib/agent-clients/adapters/codex-sandbox.ts +245 -0
  78. package/lib/agent-clients/adapters/codex.ts +58 -0
  79. package/lib/agent-clients/adapters/gemini-cli.ts +65 -0
  80. package/lib/agent-clients/adapters/index.ts +27 -0
  81. package/lib/agent-clients/adapters/opencode.ts +66 -0
  82. package/lib/agent-clients/config.ts +278 -0
  83. package/lib/agent-clients/custom-tuis.ts +149 -0
  84. package/lib/agent-clients/invocation.ts +19 -0
  85. package/lib/agent-clients/next-steps.ts +72 -0
  86. package/lib/agent-clients/project-assets.ts +96 -0
  87. package/lib/agent-clients/reconcile.ts +324 -0
  88. package/lib/agent-clients/registry.ts +144 -0
  89. package/lib/agent-clients/schema.ts +62 -0
  90. package/lib/agent-clients/types.ts +78 -0
  91. package/lib/benchmark/schemas/v1.0.0/case-manifest.schema.json +120 -0
  92. package/lib/benchmark/schemas/v1.0.0/common.schema.json +109 -0
  93. package/lib/benchmark/schemas/v1.0.0/grader-result.schema.json +160 -0
  94. package/lib/benchmark/schemas/v1.0.0/run-manifest.schema.json +122 -0
  95. package/lib/benchmark/schemas/v1.0.0/subject.schema.json +227 -0
  96. package/lib/builtin-tuis.ts +16 -15
  97. package/lib/defaults.json +24 -12
  98. package/lib/git/review-snapshot.ts +39 -9
  99. package/lib/git/reviewed-commit-equivalence.ts +135 -0
  100. package/lib/init.ts +53 -121
  101. package/lib/internal/agent-client.ts +131 -0
  102. package/lib/internal/git-workflow.ts +1 -1
  103. package/lib/internal/release-workflow.ts +68 -16
  104. package/lib/internal/task-orchestration.ts +132 -0
  105. package/lib/internal/task-review.ts +65 -0
  106. package/lib/merge.ts +2 -1
  107. package/lib/platform/adapters.ts +142 -3
  108. package/lib/platform/change-request-git-evidence.ts +159 -0
  109. package/lib/platform/merged-pr-equivalence.ts +51 -14
  110. package/lib/platform/pr-checks.ts +50 -22
  111. package/lib/platform/pull-requests.ts +134 -25
  112. package/lib/platform/releases.ts +1 -1
  113. package/lib/platform/verification-required.ts +12 -10
  114. package/lib/prompt.ts +16 -3
  115. package/lib/release/channels.ts +4 -1
  116. package/lib/release/workflow.ts +4 -3
  117. package/lib/remove-dir.ts +28 -0
  118. package/lib/run/tui.ts +9 -1
  119. package/lib/sandbox/agent-client-reconciler.ts +378 -0
  120. package/lib/sandbox/clipboard/linux.ts +2 -1
  121. package/lib/sandbox/commands/create.ts +111 -192
  122. package/lib/sandbox/commands/enter.ts +23 -1
  123. package/lib/sandbox/commands/prune.ts +2 -2
  124. package/lib/sandbox/commands/rm.ts +3 -2
  125. package/lib/sandbox/config.ts +31 -4
  126. package/lib/sandbox/constants.ts +6 -0
  127. package/lib/sandbox/dockerfile.ts +2 -1
  128. package/lib/sandbox/managed-fs.ts +18 -5
  129. package/lib/sandbox/recovery.ts +98 -67
  130. package/lib/sandbox/shell.ts +1 -1
  131. package/lib/sandbox/tool-types.ts +143 -0
  132. package/lib/sandbox/tools.ts +5 -157
  133. package/lib/task/artifact-lifecycle.ts +1 -38
  134. package/lib/task/commands/decisions.ts +53 -20
  135. package/lib/task/delegation-receipts.ts +170 -0
  136. package/lib/task/events.ts +110 -2
  137. package/lib/task/orchestration.ts +543 -0
  138. package/lib/task/review-artifacts.ts +201 -69
  139. package/lib/task/review-finalization.ts +275 -0
  140. package/lib/task/review-fingerprint.ts +5 -0
  141. package/lib/task/verification-checks.ts +2 -1
  142. package/lib/task/verification-engine.ts +177 -28
  143. package/lib/task/verification-review.ts +1 -0
  144. package/lib/task/verification.ts +5 -2
  145. package/lib/task/workspace-snapshot.ts +36 -0
  146. package/lib/update.ts +48 -184
  147. package/package.json +2 -2
  148. package/templates/.agents/README.en.md +21 -20
  149. package/templates/.agents/README.zh-CN.md +21 -20
  150. package/templates/.agents/hooks/lifecycle-delegation.js +64 -0
  151. package/templates/.agents/rules/README.en.md +2 -0
  152. package/templates/.agents/rules/README.zh-CN.md +2 -0
  153. package/templates/.agents/rules/commit-and-pr.en.md +1 -0
  154. package/templates/.agents/rules/commit-and-pr.zh-CN.md +1 -0
  155. package/templates/.agents/rules/human-decision-context.en.md +14 -12
  156. package/templates/.agents/rules/human-decision-context.zh-CN.md +14 -12
  157. package/templates/.agents/rules/lifecycle-orchestration.en.md +21 -0
  158. package/templates/.agents/rules/lifecycle-orchestration.zh-CN.md +21 -0
  159. package/templates/.agents/rules/next-step-output.en.md +16 -0
  160. package/templates/.agents/rules/next-step-output.zh-CN.md +16 -0
  161. package/templates/.agents/rules/no-mid-flow-questions.en.md +2 -0
  162. package/templates/.agents/rules/no-mid-flow-questions.zh-CN.md +2 -0
  163. package/templates/.agents/rules/release-commands.github.en.md +11 -5
  164. package/templates/.agents/rules/release-commands.github.zh-CN.md +11 -5
  165. package/templates/.agents/rules/review-handshake.en.md +4 -4
  166. package/templates/.agents/rules/review-handshake.zh-CN.md +4 -4
  167. package/templates/.agents/rules/review-method.en.md +113 -0
  168. package/templates/.agents/rules/review-method.zh-CN.md +98 -0
  169. package/templates/.agents/skills/analyze-task/SKILL.en.md +5 -5
  170. package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +5 -5
  171. package/templates/.agents/skills/block-task/SKILL.en.md +4 -4
  172. package/templates/.agents/skills/block-task/SKILL.zh-CN.md +4 -4
  173. package/templates/.agents/skills/cancel-task/SKILL.en.md +4 -4
  174. package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +5 -5
  175. package/templates/.agents/skills/check-task/SKILL.en.md +16 -16
  176. package/templates/.agents/skills/check-task/SKILL.zh-CN.md +16 -16
  177. package/templates/.agents/skills/close-codescan/SKILL.en.md +4 -4
  178. package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +4 -4
  179. package/templates/.agents/skills/close-dependabot/SKILL.en.md +4 -4
  180. package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +4 -4
  181. package/templates/.agents/skills/code-task/SKILL.en.md +1 -1
  182. package/templates/.agents/skills/code-task/SKILL.zh-CN.md +2 -2
  183. package/templates/.agents/skills/code-task/reference/fix-mode.en.md +14 -16
  184. package/templates/.agents/skills/code-task/reference/fix-mode.zh-CN.md +14 -16
  185. package/templates/.agents/skills/code-task/reference/output-template.en.md +3 -3
  186. package/templates/.agents/skills/code-task/reference/output-template.zh-CN.md +3 -3
  187. package/templates/.agents/skills/commit/SKILL.en.md +11 -1
  188. package/templates/.agents/skills/commit/SKILL.zh-CN.md +11 -1
  189. package/templates/.agents/skills/commit/reference/task-status-update.en.md +24 -28
  190. package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +24 -28
  191. package/templates/.agents/skills/complete-task/SKILL.en.md +2 -2
  192. package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +2 -2
  193. package/templates/.agents/skills/create-pr/SKILL.en.md +10 -10
  194. package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +10 -10
  195. package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +3 -3
  196. package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +3 -3
  197. package/templates/.agents/skills/create-task/SKILL.en.md +11 -11
  198. package/templates/.agents/skills/create-task/SKILL.zh-CN.md +11 -11
  199. package/templates/.agents/skills/import-codescan/SKILL.en.md +5 -5
  200. package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +5 -5
  201. package/templates/.agents/skills/import-dependabot/SKILL.en.md +5 -5
  202. package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +5 -5
  203. package/templates/.agents/skills/import-issue/SKILL.en.md +5 -5
  204. package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +5 -5
  205. package/templates/.agents/skills/init-labels/SKILL.en.md +4 -4
  206. package/templates/.agents/skills/init-labels/SKILL.zh-CN.md +4 -4
  207. package/templates/.agents/skills/init-milestones/SKILL.en.md +4 -4
  208. package/templates/.agents/skills/init-milestones/SKILL.zh-CN.md +4 -4
  209. package/templates/.agents/skills/plan-task/SKILL.en.md +5 -5
  210. package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +5 -5
  211. package/templates/.agents/skills/refine-title/SKILL.en.md +1 -1
  212. package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +1 -1
  213. package/templates/.agents/skills/release/SKILL.en.md +1 -1
  214. package/templates/.agents/skills/review-analysis/SKILL.en.md +13 -2
  215. package/templates/.agents/skills/review-analysis/SKILL.zh-CN.md +14 -3
  216. package/templates/.agents/skills/review-analysis/config/verify.en.json +6 -0
  217. package/templates/.agents/skills/review-analysis/config/verify.zh-CN.json +6 -0
  218. package/templates/.agents/skills/review-analysis/reference/output-templates.en.md +13 -15
  219. package/templates/.agents/skills/review-analysis/reference/output-templates.zh-CN.md +13 -15
  220. package/templates/.agents/skills/review-analysis/reference/report-template.en.md +51 -5
  221. package/templates/.agents/skills/review-analysis/reference/report-template.zh-CN.md +52 -6
  222. package/templates/.agents/skills/review-analysis/reference/review-criteria.en.md +25 -22
  223. package/templates/.agents/skills/review-analysis/reference/review-criteria.zh-CN.md +25 -22
  224. package/templates/.agents/skills/review-code/SKILL.en.md +28 -8
  225. package/templates/.agents/skills/review-code/SKILL.zh-CN.md +28 -8
  226. package/templates/.agents/skills/review-code/config/verify.en.json +7 -0
  227. package/templates/.agents/skills/review-code/config/verify.zh-CN.json +7 -0
  228. package/templates/.agents/skills/review-code/reference/concurrency-risks.en.md +25 -0
  229. package/templates/.agents/skills/review-code/reference/concurrency-risks.zh-CN.md +25 -0
  230. package/templates/.agents/skills/review-code/reference/cross-platform-risks.en.md +27 -0
  231. package/templates/.agents/skills/review-code/reference/cross-platform-risks.zh-CN.md +27 -0
  232. package/templates/.agents/skills/review-code/reference/documentation-antipatterns.en.md +13 -0
  233. package/templates/.agents/skills/review-code/reference/documentation-antipatterns.zh-CN.md +13 -0
  234. package/templates/.agents/skills/review-code/reference/migration-risks.en.md +25 -0
  235. package/templates/.agents/skills/review-code/reference/migration-risks.zh-CN.md +25 -0
  236. package/templates/.agents/skills/review-code/reference/output-templates.en.md +22 -24
  237. package/templates/.agents/skills/review-code/reference/output-templates.zh-CN.md +22 -24
  238. package/templates/.agents/skills/review-code/reference/report-template.en.md +54 -7
  239. package/templates/.agents/skills/review-code/reference/report-template.zh-CN.md +54 -7
  240. package/templates/.agents/skills/review-code/reference/review-criteria.en.md +29 -24
  241. package/templates/.agents/skills/review-code/reference/review-criteria.zh-CN.md +29 -24
  242. package/templates/.agents/skills/review-code/reference/security-risks.en.md +25 -0
  243. package/templates/.agents/skills/review-code/reference/security-risks.zh-CN.md +25 -0
  244. package/templates/.agents/skills/review-plan/SKILL.en.md +13 -2
  245. package/templates/.agents/skills/review-plan/SKILL.zh-CN.md +14 -3
  246. package/templates/.agents/skills/review-plan/config/verify.en.json +6 -0
  247. package/templates/.agents/skills/review-plan/config/verify.zh-CN.json +6 -0
  248. package/templates/.agents/skills/review-plan/reference/output-templates.en.md +13 -15
  249. package/templates/.agents/skills/review-plan/reference/output-templates.zh-CN.md +13 -15
  250. package/templates/.agents/skills/review-plan/reference/report-template.en.md +61 -5
  251. package/templates/.agents/skills/review-plan/reference/report-template.zh-CN.md +61 -5
  252. package/templates/.agents/skills/review-plan/reference/review-criteria.en.md +21 -24
  253. package/templates/.agents/skills/review-plan/reference/review-criteria.zh-CN.md +21 -24
  254. package/templates/.agents/skills/run-task/SKILL.en.md +22 -0
  255. package/templates/.agents/skills/run-task/SKILL.zh-CN.md +22 -0
  256. package/templates/.agents/skills/run-task/config/verify.en.json +9 -0
  257. package/templates/.agents/skills/run-task/config/verify.zh-CN.json +9 -0
  258. package/templates/.agents/skills/test/SKILL.en.md +4 -4
  259. package/templates/.agents/skills/test/SKILL.zh-CN.md +4 -4
  260. package/templates/.agents/skills/test-integration/SKILL.en.md +4 -4
  261. package/templates/.agents/skills/test-integration/SKILL.zh-CN.md +4 -4
  262. package/templates/.agents/skills/update-agent-infra/SKILL.en.md +5 -5
  263. package/templates/.agents/skills/update-agent-infra/SKILL.zh-CN.md +5 -5
  264. package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +647 -203
  265. package/templates/.agents/skills/upgrade-dependency/SKILL.en.md +4 -4
  266. package/templates/.agents/skills/upgrade-dependency/SKILL.zh-CN.md +4 -4
  267. package/templates/.agents/skills/watch-pr/SKILL.en.md +8 -8
  268. package/templates/.agents/skills/watch-pr/SKILL.zh-CN.md +8 -8
  269. package/templates/.claude/agents/agent-infra-lifecycle-executor.en.md +6 -0
  270. package/templates/.claude/agents/agent-infra-lifecycle-executor.zh-CN.md +6 -0
  271. package/templates/.claude/agents/agent-infra-lifecycle-reviewer.en.md +6 -0
  272. package/templates/.claude/agents/agent-infra-lifecycle-reviewer.zh-CN.md +6 -0
  273. package/templates/.claude/commands/run-task.en.md +8 -0
  274. package/templates/.claude/commands/run-task.zh-CN.md +8 -0
  275. package/templates/.claude/settings.json +24 -0
  276. package/templates/.codex/agents/agent-infra-lifecycle-executor.en.toml +3 -0
  277. package/templates/.codex/agents/agent-infra-lifecycle-executor.zh-CN.toml +3 -0
  278. package/templates/.codex/agents/agent-infra-lifecycle-reviewer.en.toml +3 -0
  279. package/templates/.codex/agents/agent-infra-lifecycle-reviewer.zh-CN.toml +3 -0
  280. package/templates/.gemini/commands/_project_/run-task.en.toml +8 -0
  281. package/templates/.gemini/commands/_project_/run-task.zh-CN.toml +8 -0
  282. package/templates/.opencode/commands/run-task.en.md +11 -0
  283. package/templates/.opencode/commands/run-task.zh-CN.md +11 -0
@@ -0,0 +1,120 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/fitlab-ai/agent-infra/lib/benchmark/schemas/v1.0.0/case-manifest.schema.json",
4
+ "title": "agent-infra benchmark case manifest",
5
+ "description": "A trusted-side Case description with an explicit Agent-visible projection.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "contractVersion",
10
+ "dataset",
11
+ "case",
12
+ "sourceRevision",
13
+ "sourceDigest",
14
+ "seed",
15
+ "agentVisible",
16
+ "graderOnly",
17
+ "qualification"
18
+ ],
19
+ "properties": {
20
+ "contractVersion": {
21
+ "$ref": "common.schema.json#/definitions/contractVersion"
22
+ },
23
+ "dataset": {
24
+ "$ref": "common.schema.json#/definitions/datasetIdentity"
25
+ },
26
+ "case": {
27
+ "$ref": "common.schema.json#/definitions/caseIdentity"
28
+ },
29
+ "sourceRevision": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "sourceDigest": {
34
+ "$ref": "common.schema.json#/definitions/digest"
35
+ },
36
+ "seed": {
37
+ "type": "integer",
38
+ "minimum": 0
39
+ },
40
+ "agentVisible": {
41
+ "type": "object",
42
+ "additionalProperties": false,
43
+ "required": [
44
+ "task"
45
+ ],
46
+ "properties": {
47
+ "task": {
48
+ "type": "string",
49
+ "minLength": 1
50
+ },
51
+ "artifacts": {
52
+ "type": "array",
53
+ "items": {
54
+ "type": "object",
55
+ "additionalProperties": false,
56
+ "required": [
57
+ "path",
58
+ "digest"
59
+ ],
60
+ "properties": {
61
+ "path": {
62
+ "type": "string",
63
+ "minLength": 1
64
+ },
65
+ "digest": {
66
+ "$ref": "common.schema.json#/definitions/digest"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ "parameters": {
72
+ "type": "object",
73
+ "additionalProperties": true
74
+ }
75
+ }
76
+ },
77
+ "graderOnly": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "required": [
81
+ "graderRef",
82
+ "inputDigest"
83
+ ],
84
+ "properties": {
85
+ "graderRef": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ },
89
+ "inputDigest": {
90
+ "$ref": "common.schema.json#/definitions/digest"
91
+ }
92
+ }
93
+ },
94
+ "challengeDigest": {
95
+ "$ref": "common.schema.json#/definitions/digest"
96
+ },
97
+ "qualification": {
98
+ "type": "object",
99
+ "additionalProperties": false,
100
+ "required": [
101
+ "status"
102
+ ],
103
+ "properties": {
104
+ "status": {
105
+ "enum": [
106
+ "qualified",
107
+ "rejected",
108
+ "pending"
109
+ ]
110
+ },
111
+ "evidenceSummary": {
112
+ "type": "string"
113
+ }
114
+ }
115
+ },
116
+ "extensions": {
117
+ "$ref": "common.schema.json#/definitions/extensions"
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/fitlab-ai/agent-infra/lib/benchmark/schemas/v1.0.0/common.schema.json",
4
+ "title": "agent-infra benchmark common definitions",
5
+ "description": "Shared definitions for the agent-infra Benchmark Contract v1.0.0.",
6
+ "definitions": {
7
+ "contractVersion": {
8
+ "const": "1.0.0"
9
+ },
10
+ "semanticVersion": {
11
+ "type": "string",
12
+ "pattern": "^v?[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?(?:\\+[0-9A-Za-z.-]+)?$"
13
+ },
14
+ "digest": {
15
+ "type": "object",
16
+ "additionalProperties": false,
17
+ "required": [
18
+ "algorithm",
19
+ "value"
20
+ ],
21
+ "properties": {
22
+ "algorithm": {
23
+ "type": "string",
24
+ "pattern": "^[a-z0-9][a-z0-9-]*$"
25
+ },
26
+ "value": {
27
+ "type": "string",
28
+ "pattern": "^[0-9a-fA-F]+$"
29
+ }
30
+ }
31
+ },
32
+ "datasetIdentity": {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": [
36
+ "datasetId",
37
+ "datasetVersion",
38
+ "datasetDigest"
39
+ ],
40
+ "properties": {
41
+ "datasetId": {
42
+ "type": "string",
43
+ "minLength": 1
44
+ },
45
+ "datasetVersion": {
46
+ "type": "string",
47
+ "minLength": 1
48
+ },
49
+ "datasetDigest": {
50
+ "$ref": "#/definitions/digest"
51
+ }
52
+ }
53
+ },
54
+ "caseIdentity": {
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "required": [
58
+ "caseId",
59
+ "caseVersion"
60
+ ],
61
+ "properties": {
62
+ "caseId": {
63
+ "type": "string",
64
+ "minLength": 1
65
+ },
66
+ "caseVersion": {
67
+ "type": "string",
68
+ "minLength": 1
69
+ }
70
+ }
71
+ },
72
+ "checkSummary": {
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": [
76
+ "checkId",
77
+ "status"
78
+ ],
79
+ "properties": {
80
+ "checkId": {
81
+ "type": "string",
82
+ "minLength": 1
83
+ },
84
+ "status": {
85
+ "enum": [
86
+ "passed",
87
+ "failed",
88
+ "blocked"
89
+ ]
90
+ },
91
+ "category": {
92
+ "type": "string",
93
+ "minLength": 1
94
+ },
95
+ "summary": {
96
+ "type": "string"
97
+ },
98
+ "durationMs": {
99
+ "type": "integer",
100
+ "minimum": 0
101
+ }
102
+ }
103
+ },
104
+ "extensions": {
105
+ "type": "object",
106
+ "additionalProperties": true
107
+ }
108
+ }
109
+ }
@@ -0,0 +1,160 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/fitlab-ai/agent-infra/lib/benchmark/schemas/v1.0.0/grader-result.schema.json",
4
+ "title": "agent-infra benchmark grader result",
5
+ "description": "The sanitized public projection of a trusted Grader result.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "contractVersion",
10
+ "runId",
11
+ "dataset",
12
+ "case",
13
+ "status",
14
+ "checks",
15
+ "durationMs",
16
+ "sanitization"
17
+ ],
18
+ "properties": {
19
+ "contractVersion": {
20
+ "$ref": "common.schema.json#/definitions/contractVersion"
21
+ },
22
+ "runId": {
23
+ "type": "string",
24
+ "minLength": 1
25
+ },
26
+ "dataset": {
27
+ "$ref": "common.schema.json#/definitions/datasetIdentity"
28
+ },
29
+ "case": {
30
+ "$ref": "common.schema.json#/definitions/caseIdentity"
31
+ },
32
+ "status": {
33
+ "enum": [
34
+ "passed",
35
+ "failed",
36
+ "blocked"
37
+ ]
38
+ },
39
+ "failureCategory": {
40
+ "type": "string",
41
+ "minLength": 1
42
+ },
43
+ "blockCategory": {
44
+ "type": "string",
45
+ "minLength": 1
46
+ },
47
+ "checks": {
48
+ "type": "array",
49
+ "items": {
50
+ "$ref": "common.schema.json#/definitions/checkSummary"
51
+ }
52
+ },
53
+ "durationMs": {
54
+ "type": "integer",
55
+ "minimum": 0
56
+ },
57
+ "metrics": {
58
+ "type": "object",
59
+ "additionalProperties": false,
60
+ "properties": {
61
+ "testCount": {
62
+ "type": "integer",
63
+ "minimum": 0
64
+ },
65
+ "passedTestCount": {
66
+ "type": "integer",
67
+ "minimum": 0
68
+ },
69
+ "extensions": {
70
+ "$ref": "common.schema.json#/definitions/extensions"
71
+ }
72
+ }
73
+ },
74
+ "sanitization": {
75
+ "type": "object",
76
+ "additionalProperties": false,
77
+ "required": [
78
+ "allowlistVersion",
79
+ "sanitized"
80
+ ],
81
+ "properties": {
82
+ "allowlistVersion": {
83
+ "type": "string",
84
+ "minLength": 1
85
+ },
86
+ "sanitized": {
87
+ "const": true
88
+ }
89
+ }
90
+ },
91
+ "extensions": {
92
+ "$ref": "common.schema.json#/definitions/extensions"
93
+ }
94
+ },
95
+ "allOf": [
96
+ {
97
+ "if": {
98
+ "properties": {
99
+ "status": {
100
+ "const": "passed"
101
+ }
102
+ }
103
+ },
104
+ "then": {
105
+ "not": {
106
+ "anyOf": [
107
+ {
108
+ "required": [
109
+ "failureCategory"
110
+ ]
111
+ },
112
+ {
113
+ "required": [
114
+ "blockCategory"
115
+ ]
116
+ }
117
+ ]
118
+ }
119
+ }
120
+ },
121
+ {
122
+ "if": {
123
+ "properties": {
124
+ "status": {
125
+ "const": "failed"
126
+ }
127
+ }
128
+ },
129
+ "then": {
130
+ "required": [
131
+ "failureCategory"
132
+ ],
133
+ "not": {
134
+ "required": [
135
+ "blockCategory"
136
+ ]
137
+ }
138
+ }
139
+ },
140
+ {
141
+ "if": {
142
+ "properties": {
143
+ "status": {
144
+ "const": "blocked"
145
+ }
146
+ }
147
+ },
148
+ "then": {
149
+ "required": [
150
+ "blockCategory"
151
+ ],
152
+ "not": {
153
+ "required": [
154
+ "failureCategory"
155
+ ]
156
+ }
157
+ }
158
+ }
159
+ ]
160
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/fitlab-ai/agent-infra/lib/benchmark/schemas/v1.0.0/run-manifest.schema.json",
4
+ "title": "agent-infra benchmark run manifest",
5
+ "description": "Reproducibility metadata for one Subject execution of one Case.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "contractVersion",
10
+ "runId",
11
+ "frameworkVersion",
12
+ "dataset",
13
+ "case",
14
+ "subject",
15
+ "seed",
16
+ "repetitionIndex",
17
+ "repetitionCount",
18
+ "comparisonGroupId",
19
+ "conditionsDigest",
20
+ "startedAt",
21
+ "finishedAt"
22
+ ],
23
+ "properties": {
24
+ "contractVersion": {
25
+ "$ref": "common.schema.json#/definitions/contractVersion"
26
+ },
27
+ "runId": {
28
+ "type": "string",
29
+ "minLength": 1
30
+ },
31
+ "frameworkVersion": {
32
+ "$ref": "common.schema.json#/definitions/semanticVersion"
33
+ },
34
+ "dataset": {
35
+ "$ref": "common.schema.json#/definitions/datasetIdentity"
36
+ },
37
+ "case": {
38
+ "$ref": "common.schema.json#/definitions/caseIdentity"
39
+ },
40
+ "subject": {
41
+ "$ref": "subject.schema.json"
42
+ },
43
+ "seed": {
44
+ "type": "integer",
45
+ "minimum": 0
46
+ },
47
+ "repetitionIndex": {
48
+ "type": "integer",
49
+ "minimum": 1
50
+ },
51
+ "repetitionCount": {
52
+ "type": "integer",
53
+ "minimum": 1
54
+ },
55
+ "comparisonGroupId": {
56
+ "type": "string",
57
+ "minLength": 1
58
+ },
59
+ "conditionsDigest": {
60
+ "$ref": "common.schema.json#/definitions/digest"
61
+ },
62
+ "startedAt": {
63
+ "type": "string",
64
+ "format": "date-time"
65
+ },
66
+ "finishedAt": {
67
+ "type": "string",
68
+ "format": "date-time"
69
+ },
70
+ "resultRef": {
71
+ "type": "string",
72
+ "minLength": 1
73
+ },
74
+ "graderResult": {
75
+ "$ref": "grader-result.schema.json"
76
+ },
77
+ "metrics": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "properties": {
81
+ "durationMs": {
82
+ "type": "integer",
83
+ "minimum": 0
84
+ },
85
+ "turnCount": {
86
+ "type": "integer",
87
+ "minimum": 0
88
+ },
89
+ "tokenCount": {
90
+ "type": "integer",
91
+ "minimum": 0
92
+ },
93
+ "cost": {
94
+ "type": "number",
95
+ "minimum": 0
96
+ },
97
+ "costCurrency": {
98
+ "type": "string",
99
+ "minLength": 1
100
+ },
101
+ "extensions": {
102
+ "$ref": "common.schema.json#/definitions/extensions"
103
+ }
104
+ }
105
+ },
106
+ "extensions": {
107
+ "$ref": "common.schema.json#/definitions/extensions"
108
+ }
109
+ },
110
+ "oneOf": [
111
+ {
112
+ "required": [
113
+ "resultRef"
114
+ ]
115
+ },
116
+ {
117
+ "required": [
118
+ "graderResult"
119
+ ]
120
+ }
121
+ ]
122
+ }