@archsight/aios 1.0.0 → 1.1.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.
Files changed (54) hide show
  1. package/CHANGELOG.md +80 -8
  2. package/LICENSE +184 -21
  3. package/README.md +163 -135
  4. package/agents/README.md +2 -1
  5. package/agents/euclid/constraints.md +2 -1
  6. package/agents/euclid/responsibilities.md +1 -1
  7. package/agents/euclid/role.md +1 -1
  8. package/agents/euclid/system-prompt.md +5 -2
  9. package/agents/euclid/workflow.md +3 -3
  10. package/bin/archsight-aios.mjs +436 -1
  11. package/docs/quickstart.md +2 -1
  12. package/governance/README.md +3 -0
  13. package/governance/arbitration-protocol.md +153 -0
  14. package/package.json +68 -68
  15. package/runtime/README.md +7 -0
  16. package/runtime/agent-routing.md +98 -72
  17. package/runtime/archsight-aios.manifest.json +312 -290
  18. package/runtime/capability-adapters.json +27 -0
  19. package/runtime/capability-registry.json +458 -0
  20. package/runtime/capability-registry.schema.json +135 -0
  21. package/runtime/skill-routing.md +61 -55
  22. package/skills/README.md +54 -30
  23. package/skills/aios-arch/SKILL.md +195 -149
  24. package/skills/aios-arch/agents/openai.yaml +3 -3
  25. package/skills/aios-ceo/SKILL.md +180 -89
  26. package/skills/aios-ceo/agents/openai.yaml +4 -4
  27. package/skills/aios-design/SKILL.md +107 -99
  28. package/skills/aios-design/agents/openai.yaml +4 -4
  29. package/skills/aios-exec/SKILL.md +69 -58
  30. package/skills/aios-exec/agents/openai.yaml +3 -3
  31. package/skills/aios-knowledge/SKILL.md +65 -54
  32. package/skills/aios-knowledge/agents/openai.yaml +3 -3
  33. package/skills/aios-plan/SKILL.md +93 -75
  34. package/skills/aios-plan/agents/openai.yaml +3 -3
  35. package/skills/aios-review/SKILL.md +72 -61
  36. package/skills/aios-review/agents/openai.yaml +3 -3
  37. package/skills/aios-runtime/SKILL.md +69 -58
  38. package/skills/aios-runtime/agents/openai.yaml +3 -3
  39. package/skills/aios-structural/SKILL.md +67 -0
  40. package/skills/aios-structural/agents/openai.yaml +4 -0
  41. package/templates/project-ai/.ai/ARCHSIGHT_AIOS_RULES.md +30 -25
  42. package/templates/project-ai/.ai/agent-routing.md +48 -42
  43. package/templates/project-ai/.ai/skills.md +38 -32
  44. package/templates/project-ai/.ai/workflows.md +38 -35
  45. package/templates/project-ai/AGENTS.md +25 -25
  46. package/templates/project-ai/CLAUDE.md +25 -25
  47. package/templates/project-ai/GEMINI.md +25 -25
  48. package/workflows/README.md +2 -0
  49. package/workflows/architecture-review.md +103 -79
  50. package/workflows/bug-fixing.md +63 -62
  51. package/workflows/code-review.md +55 -54
  52. package/workflows/feature-development.md +64 -56
  53. package/workflows/rag-pipeline.md +9 -5
  54. package/workflows/review.md +74 -70
@@ -0,0 +1,27 @@
1
+ {
2
+ "schema": 1,
3
+ "description": "ArchSight AIOS 本地 Capability Adapter 映射。当前只声明 stdio MCP 本地调用,不开放网络服务。",
4
+ "adapters": [
5
+ {
6
+ "id": "archsight-solver.local-mcp",
7
+ "transport": "stdio-mcp",
8
+ "capabilityIds": [
9
+ "solver.beam_deflection",
10
+ "solver.beam_deflection_serviceability_check",
11
+ "solver.frame_displacement",
12
+ "solver.truss_member_force"
13
+ ],
14
+ "command": "python",
15
+ "args": ["-m", "backend.capabilities.mcp_server"],
16
+ "cwdEnv": "ARCHSIGHT_SOLVER_HOME",
17
+ "defaultSiblingDir": "archsight-solver",
18
+ "timeoutMs": 30000,
19
+ "toolNameMap": {
20
+ "solver.beam_deflection": "beam_deflection",
21
+ "solver.beam_deflection_serviceability_check": "beam_deflection_serviceability_check",
22
+ "solver.frame_displacement": "frame_displacement",
23
+ "solver.truss_member_force": "truss_member_force"
24
+ }
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,458 @@
1
+ {
2
+ "schema": 1,
3
+ "description": "ArchSight AIOS 最小 Capability 注册表。注册表定义接口、权限边界和证据契约;本地工具适配器由 runtime/capability-adapters.json 声明。",
4
+ "capabilities": [
5
+ {
6
+ "id": "repo.test_runner",
7
+ "type": "verification",
8
+ "ownerAgents": ["hephaestus", "argus", "mason"],
9
+ "allowedSkills": ["aios-exec", "aios-review", "aios-plan"],
10
+ "authorityLevel": "L1",
11
+ "description": "运行项目声明的测试、构建、lint、typecheck 或 smoke 命令,并把退出码和摘要作为交付仲裁证据。",
12
+ "status": "adapter-required",
13
+ "inputSchema": {
14
+ "type": "object",
15
+ "required": ["cwd", "command"],
16
+ "properties": {
17
+ "cwd": {
18
+ "type": "string"
19
+ },
20
+ "command": {
21
+ "type": "string"
22
+ },
23
+ "timeoutSeconds": {
24
+ "type": "integer",
25
+ "minimum": 1
26
+ }
27
+ }
28
+ },
29
+ "outputSchema": {
30
+ "type": "object",
31
+ "required": ["status", "exitCode", "command", "stdoutSummary", "stderrSummary"],
32
+ "properties": {
33
+ "status": {
34
+ "type": "string",
35
+ "enum": ["pass", "fail", "error"]
36
+ },
37
+ "exitCode": {
38
+ "type": "integer"
39
+ },
40
+ "command": {
41
+ "type": "string"
42
+ },
43
+ "stdoutSummary": {
44
+ "type": "string"
45
+ },
46
+ "stderrSummary": {
47
+ "type": "string"
48
+ },
49
+ "artifacts": {
50
+ "type": "array",
51
+ "items": {
52
+ "type": "string"
53
+ }
54
+ }
55
+ }
56
+ },
57
+ "evidenceContract": {
58
+ "requiredFields": ["command", "exitCode", "status"],
59
+ "invalidWhenMissing": ["command", "exitCode", "status"]
60
+ },
61
+ "blockingRules": [
62
+ {
63
+ "when": "status == fail",
64
+ "severity": "P0",
65
+ "action": "block"
66
+ },
67
+ {
68
+ "when": "status == error",
69
+ "severity": "P1",
70
+ "action": "hold"
71
+ }
72
+ ],
73
+ "humanEscalation": ["skip_required_tests", "production_release_after_failed_check"]
74
+ },
75
+ {
76
+ "id": "knowledge.norm_lookup",
77
+ "type": "compliance_lookup",
78
+ "ownerAgents": ["vitruvius", "athena"],
79
+ "allowedSkills": ["aios-knowledge", "aios-arch", "aios-ceo"],
80
+ "authorityLevel": "L3",
81
+ "description": "按地区、专业、版本、条文和适用条件检索规范知识,返回可追溯引用和适用性判断。",
82
+ "status": "declared-interface",
83
+ "inputSchema": {
84
+ "type": "object",
85
+ "required": ["query"],
86
+ "properties": {
87
+ "query": {
88
+ "type": "string"
89
+ },
90
+ "region": {
91
+ "type": "string"
92
+ },
93
+ "discipline": {
94
+ "type": "string"
95
+ },
96
+ "sourceVersion": {
97
+ "type": "string"
98
+ },
99
+ "projectCondition": {
100
+ "type": "string"
101
+ }
102
+ }
103
+ },
104
+ "outputSchema": {
105
+ "type": "object",
106
+ "required": ["status", "citations", "applicability"],
107
+ "properties": {
108
+ "status": {
109
+ "type": "string",
110
+ "enum": ["found", "not_found", "conflict", "inapplicable", "error"]
111
+ },
112
+ "citations": {
113
+ "type": "array",
114
+ "items": {
115
+ "type": "object"
116
+ }
117
+ },
118
+ "applicability": {
119
+ "type": "string",
120
+ "enum": ["applicable", "not_applicable", "need_context"]
121
+ },
122
+ "sourceVersion": {
123
+ "type": "string"
124
+ },
125
+ "notes": {
126
+ "type": "string"
127
+ }
128
+ }
129
+ },
130
+ "evidenceContract": {
131
+ "requiredFields": ["status", "citations", "applicability", "sourceVersion"],
132
+ "invalidWhenMissing": ["citations", "applicability", "sourceVersion"]
133
+ },
134
+ "blockingRules": [
135
+ {
136
+ "when": "status == conflict",
137
+ "severity": "P0",
138
+ "action": "hold"
139
+ },
140
+ {
141
+ "when": "applicability == need_context",
142
+ "severity": "P1",
143
+ "action": "hold"
144
+ }
145
+ ],
146
+ "humanEscalation": ["legal_compliance_final_claim", "formal_drawing_review"]
147
+ },
148
+ {
149
+ "id": "solver.beam_deflection",
150
+ "type": "deterministic_solver",
151
+ "ownerAgents": ["euclid"],
152
+ "allowedSkills": ["aios-structural"],
153
+ "authorityLevel": "L1",
154
+ "description": "梁挠度计算接口示例。LLM 只负责参数提取和结果解释,数值计算必须由外部求解器完成。",
155
+ "status": "implemented",
156
+ "inputSchema": {
157
+ "type": "object",
158
+ "required": ["span", "elasticModulus", "secondMomentOfArea", "load"],
159
+ "properties": {
160
+ "span": {
161
+ "type": "object",
162
+ "required": ["value", "unit"]
163
+ },
164
+ "elasticModulus": {
165
+ "type": "object",
166
+ "required": ["value", "unit"]
167
+ },
168
+ "secondMomentOfArea": {
169
+ "type": "object",
170
+ "required": ["value", "unit"]
171
+ },
172
+ "load": {
173
+ "type": "object",
174
+ "required": ["value", "unit", "case"]
175
+ },
176
+ "boundaryCondition": {
177
+ "type": "string"
178
+ }
179
+ }
180
+ },
181
+ "outputSchema": {
182
+ "type": "object",
183
+ "required": ["status", "deflection", "inputValidated", "formulaRef"],
184
+ "properties": {
185
+ "status": {
186
+ "type": "string",
187
+ "enum": ["pass", "fail", "invalid_input", "error"]
188
+ },
189
+ "deflection": {
190
+ "type": "object",
191
+ "required": ["value", "unit"]
192
+ },
193
+ "inputValidated": {
194
+ "type": "boolean"
195
+ },
196
+ "formulaRef": {
197
+ "type": "string"
198
+ },
199
+ "warnings": {
200
+ "type": "array",
201
+ "items": {
202
+ "type": "string"
203
+ }
204
+ }
205
+ }
206
+ },
207
+ "evidenceContract": {
208
+ "requiredFields": ["status", "deflection", "inputValidated", "formulaRef"],
209
+ "invalidWhenMissing": ["inputValidated", "formulaRef"]
210
+ },
211
+ "blockingRules": [
212
+ {
213
+ "when": "status == invalid_input",
214
+ "severity": "P0",
215
+ "action": "block"
216
+ },
217
+ {
218
+ "when": "inputValidated == false",
219
+ "severity": "P0",
220
+ "action": "block"
221
+ },
222
+ {
223
+ "when": "status == error",
224
+ "severity": "P1",
225
+ "action": "hold"
226
+ }
227
+ ],
228
+ "humanEscalation": ["structural_safety_final_claim", "production_structural_design"]
229
+ },
230
+ {
231
+ "id": "solver.beam_deflection_serviceability_check",
232
+ "type": "deterministic_solver",
233
+ "ownerAgents": ["euclid"],
234
+ "allowedSkills": ["aios-structural"],
235
+ "authorityLevel": "L1",
236
+ "description": "梁挠度正常使用限值校核接口。当前用于挠度服务性校核,不代表材料强度、稳定或规范承载力设计。",
237
+ "status": "implemented",
238
+ "inputSchema": {
239
+ "type": "object",
240
+ "required": ["span", "elasticModulus", "secondMomentOfArea", "load"],
241
+ "properties": {
242
+ "span": {
243
+ "type": "object",
244
+ "required": ["value", "unit"]
245
+ },
246
+ "elasticModulus": {
247
+ "type": "object",
248
+ "required": ["value", "unit"]
249
+ },
250
+ "secondMomentOfArea": {
251
+ "type": "object",
252
+ "required": ["value", "unit"]
253
+ },
254
+ "load": {
255
+ "type": "object",
256
+ "required": ["value", "unit", "case"]
257
+ },
258
+ "boundaryCondition": {
259
+ "type": "string"
260
+ },
261
+ "deflectionLimitRatio": {
262
+ "type": "number"
263
+ }
264
+ }
265
+ },
266
+ "outputSchema": {
267
+ "type": "object",
268
+ "required": ["status", "checkType", "deflection", "allowable", "inputValidated"],
269
+ "properties": {
270
+ "status": {
271
+ "type": "string",
272
+ "enum": ["pass", "fail", "invalid_input", "error"]
273
+ },
274
+ "checkType": {
275
+ "type": "string"
276
+ },
277
+ "deflection": {
278
+ "type": "object"
279
+ },
280
+ "allowable": {
281
+ "type": "object"
282
+ },
283
+ "inputValidated": {
284
+ "type": "boolean"
285
+ },
286
+ "warnings": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "string"
290
+ }
291
+ }
292
+ }
293
+ },
294
+ "evidenceContract": {
295
+ "requiredFields": ["status", "checkType", "deflection", "allowable", "inputValidated"],
296
+ "invalidWhenMissing": ["inputValidated", "deflection", "allowable"]
297
+ },
298
+ "blockingRules": [
299
+ {
300
+ "when": "status == fail",
301
+ "severity": "P1",
302
+ "action": "hold"
303
+ },
304
+ {
305
+ "when": "status == invalid_input",
306
+ "severity": "P0",
307
+ "action": "block"
308
+ },
309
+ {
310
+ "when": "status == error",
311
+ "severity": "P1",
312
+ "action": "hold"
313
+ }
314
+ ],
315
+ "humanEscalation": ["structural_capacity_final_claim", "production_structural_design"]
316
+ },
317
+ {
318
+ "id": "solver.frame_displacement",
319
+ "type": "deterministic_solver",
320
+ "ownerAgents": ["euclid"],
321
+ "allowedSkills": ["aios-structural", "aios-arch"],
322
+ "authorityLevel": "L1",
323
+ "description": "二维平面框架位移求解接口,返回最大位移、控制节点、目标节点和内力控制摘要。",
324
+ "status": "implemented",
325
+ "inputSchema": {
326
+ "type": "object",
327
+ "properties": {
328
+ "payload": {
329
+ "type": "object"
330
+ },
331
+ "structure": {
332
+ "type": "object"
333
+ },
334
+ "targetNodeId": {
335
+ "type": "string"
336
+ }
337
+ }
338
+ },
339
+ "outputSchema": {
340
+ "type": "object",
341
+ "required": ["status", "maxDisplacement", "inputValidated"],
342
+ "properties": {
343
+ "status": {
344
+ "type": "string",
345
+ "enum": ["pass", "fail", "invalid_input", "error"]
346
+ },
347
+ "maxDisplacement": {
348
+ "type": "object"
349
+ },
350
+ "targetNode": {
351
+ "type": "object"
352
+ },
353
+ "inputValidated": {
354
+ "type": "boolean"
355
+ },
356
+ "warnings": {
357
+ "type": "array",
358
+ "items": {
359
+ "type": "string"
360
+ }
361
+ }
362
+ }
363
+ },
364
+ "evidenceContract": {
365
+ "requiredFields": ["status", "maxDisplacement", "inputValidated"],
366
+ "invalidWhenMissing": ["inputValidated", "maxDisplacement"]
367
+ },
368
+ "blockingRules": [
369
+ {
370
+ "when": "status == fail",
371
+ "severity": "P1",
372
+ "action": "hold"
373
+ },
374
+ {
375
+ "when": "status == invalid_input",
376
+ "severity": "P0",
377
+ "action": "block"
378
+ },
379
+ {
380
+ "when": "status == error",
381
+ "severity": "P1",
382
+ "action": "hold"
383
+ }
384
+ ],
385
+ "humanEscalation": ["structural_safety_final_claim", "production_structural_design"]
386
+ },
387
+ {
388
+ "id": "solver.truss_member_force",
389
+ "type": "deterministic_solver",
390
+ "ownerAgents": ["euclid"],
391
+ "allowedSkills": ["aios-structural", "aios-arch"],
392
+ "authorityLevel": "L1",
393
+ "description": "二维平面桁架杆件轴力求解接口,返回最大轴力、控制杆件和指定杆件结果。",
394
+ "status": "implemented",
395
+ "inputSchema": {
396
+ "type": "object",
397
+ "properties": {
398
+ "payload": {
399
+ "type": "object"
400
+ },
401
+ "structure": {
402
+ "type": "object"
403
+ },
404
+ "targetMemberId": {
405
+ "type": "string"
406
+ }
407
+ }
408
+ },
409
+ "outputSchema": {
410
+ "type": "object",
411
+ "required": ["status", "maxAxialForce", "inputValidated"],
412
+ "properties": {
413
+ "status": {
414
+ "type": "string",
415
+ "enum": ["pass", "fail", "invalid_input", "error"]
416
+ },
417
+ "maxAxialForce": {
418
+ "type": "object"
419
+ },
420
+ "targetMember": {
421
+ "type": "object"
422
+ },
423
+ "inputValidated": {
424
+ "type": "boolean"
425
+ },
426
+ "warnings": {
427
+ "type": "array",
428
+ "items": {
429
+ "type": "string"
430
+ }
431
+ }
432
+ }
433
+ },
434
+ "evidenceContract": {
435
+ "requiredFields": ["status", "maxAxialForce", "inputValidated"],
436
+ "invalidWhenMissing": ["inputValidated", "maxAxialForce"]
437
+ },
438
+ "blockingRules": [
439
+ {
440
+ "when": "status == fail",
441
+ "severity": "P1",
442
+ "action": "hold"
443
+ },
444
+ {
445
+ "when": "status == invalid_input",
446
+ "severity": "P0",
447
+ "action": "block"
448
+ },
449
+ {
450
+ "when": "status == error",
451
+ "severity": "P1",
452
+ "action": "hold"
453
+ }
454
+ ],
455
+ "humanEscalation": ["structural_safety_final_claim", "production_structural_design"]
456
+ }
457
+ ]
458
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://archsightlabs.github.io/aios/schemas/capability-registry.schema.json",
4
+ "title": "ArchSight AIOS Capability Registry",
5
+ "type": "object",
6
+ "required": ["schema", "capabilities"],
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "schema": {
10
+ "type": "integer",
11
+ "const": 1
12
+ },
13
+ "description": {
14
+ "type": "string"
15
+ },
16
+ "capabilities": {
17
+ "type": "array",
18
+ "minItems": 1,
19
+ "items": {
20
+ "type": "object",
21
+ "required": [
22
+ "id",
23
+ "type",
24
+ "ownerAgents",
25
+ "authorityLevel",
26
+ "description",
27
+ "status",
28
+ "inputSchema",
29
+ "outputSchema",
30
+ "evidenceContract",
31
+ "blockingRules"
32
+ ],
33
+ "additionalProperties": false,
34
+ "properties": {
35
+ "id": {
36
+ "type": "string",
37
+ "pattern": "^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*)+$"
38
+ },
39
+ "type": {
40
+ "type": "string",
41
+ "enum": [
42
+ "verification",
43
+ "deterministic_solver",
44
+ "compliance_lookup",
45
+ "security_scanner",
46
+ "repository_fact",
47
+ "runtime_adapter"
48
+ ]
49
+ },
50
+ "ownerAgents": {
51
+ "type": "array",
52
+ "minItems": 1,
53
+ "items": {
54
+ "type": "string"
55
+ },
56
+ "uniqueItems": true
57
+ },
58
+ "allowedSkills": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "string"
62
+ },
63
+ "uniqueItems": true
64
+ },
65
+ "authorityLevel": {
66
+ "type": "string",
67
+ "enum": ["L1", "L2", "L3"]
68
+ },
69
+ "description": {
70
+ "type": "string"
71
+ },
72
+ "status": {
73
+ "type": "string",
74
+ "enum": ["declared-interface", "adapter-required", "implemented"]
75
+ },
76
+ "inputSchema": {
77
+ "type": "object"
78
+ },
79
+ "outputSchema": {
80
+ "type": "object"
81
+ },
82
+ "evidenceContract": {
83
+ "type": "object",
84
+ "required": ["requiredFields", "invalidWhenMissing"],
85
+ "additionalProperties": false,
86
+ "properties": {
87
+ "requiredFields": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "string"
91
+ },
92
+ "uniqueItems": true
93
+ },
94
+ "invalidWhenMissing": {
95
+ "type": "array",
96
+ "items": {
97
+ "type": "string"
98
+ },
99
+ "uniqueItems": true
100
+ }
101
+ }
102
+ },
103
+ "blockingRules": {
104
+ "type": "array",
105
+ "items": {
106
+ "type": "object",
107
+ "required": ["when", "severity", "action"],
108
+ "additionalProperties": false,
109
+ "properties": {
110
+ "when": {
111
+ "type": "string"
112
+ },
113
+ "severity": {
114
+ "type": "string",
115
+ "enum": ["P0", "P1", "P2"]
116
+ },
117
+ "action": {
118
+ "type": "string",
119
+ "enum": ["block", "hold", "revise", "human_escalation"]
120
+ }
121
+ }
122
+ }
123
+ },
124
+ "humanEscalation": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "string"
128
+ },
129
+ "uniqueItems": true
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ }