@saulwade/swl-ses 1.6.1 → 1.6.5
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/CLAUDE.md +3 -3
- package/README.md +4 -4
- package/agentes/_intent-spec.md +73 -0
- package/agentes/auto-evolucion-swl.md +24 -0
- package/agentes/cloud-infra-swl.md +25 -0
- package/agentes/datos-swl.md +23 -0
- package/agentes/devops-ci-swl.md +24 -0
- package/agentes/gh-fix-ci-swl.md +275 -0
- package/agentes/migrador-swl.md +22 -0
- package/agentes/nemesis-auditor-swl.md +90 -1
- package/agentes/pagos-swl.md +25 -0
- package/agentes/release-manager-swl.md +24 -0
- package/agentes/sre-swl.md +24 -0
- package/comandos/swl/exportar-vault.md +106 -14
- package/comandos/swl/nemesis.md +70 -3
- package/comandos/swl/planear-fase.md +16 -0
- package/comandos/swl/release.md +62 -2
- package/comandos/swl/salud.md +32 -0
- package/comandos/swl/verificar.md +116 -2
- package/habilidades/agent-browser/SKILL.md +111 -4
- package/habilidades/agent-deep-links/SKILL.md +148 -0
- package/habilidades/aprender-de-git-diff/SKILL.md +288 -0
- package/habilidades/backend-async-postgres-testing/SKILL.md +215 -0
- package/habilidades/backend-error-design/SKILL.md +221 -0
- package/habilidades/browser-interaction-patterns/SKILL.md +514 -0
- package/habilidades/browser-research-domains/SKILL.md +635 -0
- package/habilidades/changelog-generator/SKILL.md +172 -0
- package/habilidades/changelog-generator/scripts/parse-commits.js +354 -0
- package/habilidades/devsecops-pipeline-security/SKILL.md +3 -0
- package/habilidades/diseno-herramientas-agente/SKILL.md +17 -1
- package/habilidades/fastapi-experto/SKILL.md +49 -4
- package/habilidades/harness-claude-code/SKILL.md +4 -1
- package/habilidades/meta-skills-estandar/SKILL.md +6 -0
- package/habilidades/meta-skills-estandar/recursos/skill-judge-rubrica.md +281 -0
- package/habilidades/postgresql-experto/SKILL.md +80 -4
- package/habilidades/proceso-autoverificacion-evidencias/SKILL.md +258 -0
- package/habilidades/proceso-confianza-pre-implementacion/SKILL.md +246 -0
- package/habilidades/proceso-ddia-fundamentos/SKILL.md +255 -0
- package/habilidades/proceso-ddia-streaming/SKILL.md +231 -0
- package/habilidades/proceso-discovery-machote/SKILL.md +157 -0
- package/habilidades/proceso-intent-engineering/SKILL.md +269 -0
- package/habilidades/proceso-modular-split/SKILL.md +256 -0
- package/habilidades/reducir-entropia/SKILL.md +219 -0
- package/habilidades/tdd-workflow/SKILL.md +12 -5
- package/hooks/extraccion-aprendizajes.js +8 -0
- package/hooks/lib/deep-links.js +185 -0
- package/hooks/lib/evolution-tracker.js +115 -18
- package/hooks/lib/gateway-notify.js +70 -7
- package/hooks/lib/task-budget.js +218 -0
- package/hooks/validar-intent-spec.js +222 -0
- package/manifiestos/hooks-config.json +9 -0
- package/manifiestos/modulos.json +22 -3
- package/manifiestos/skills-lock.json +1247 -1142
- package/package.json +3 -3
- package/plugin.json +18 -2
- package/reglas/arquitectura.md +38 -0
- package/reglas/arreglar-al-detectar.md +93 -0
- package/reglas/auditorias-documentales-estructurales.md +38 -0
- package/reglas/fragmentos-compartidos.md +26 -0
- package/reglas/intent-engineering.md +214 -0
- package/reglas/registro-componentes-nuevos.md +52 -0
- package/reglas/tests-cleanup.md +220 -0
- package/schemas/agent-frontmatter.schema.json +294 -167
- package/schemas/agent-message.schema.json +73 -53
- package/schemas/agent-output-implementacion.schema.json +114 -85
- package/schemas/agent-output-planificacion.schema.json +150 -113
- package/schemas/agent-output-review.schema.json +98 -78
- package/schemas/diary-entry.schema.json +42 -10
- package/schemas/hook-profiles.schema.json +54 -39
- package/schemas/hooks-config.schema.json +89 -74
- package/schemas/instinct.schema.json +152 -115
- package/schemas/modulos.schema.json +38 -29
- package/schemas/perfiles.schema.json +36 -28
- package/schemas/plugin.schema.json +77 -64
- package/schemas/skill-evals.schema.json +119 -95
- package/schemas/skill-frontmatter.schema.json +245 -170
- package/scripts/generar-inventario.js +3 -1
- package/scripts/lib/mcp_config.py +29 -14
- package/scripts/lib/schema-version.js +164 -0
- package/scripts/mcp-orchestrator.py +153 -131
- package/scripts/mcp-pool-manager.py +132 -107
- package/scripts/mcp-telemetry.py +139 -120
- package/scripts/validar-manifest.js +1 -1
- package/scripts/validar.js +3 -2
- package/scripts/verificar-release.js +199 -1
|
@@ -1,85 +1,114 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"estado"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"description": "
|
|
22
|
-
},
|
|
23
|
-
"
|
|
24
|
-
"type": "
|
|
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
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$schemaVersion": "1.0.0",
|
|
4
|
+
"title": "AgentOutputImplementacion",
|
|
5
|
+
"description": "Schema para output estructurado del agente implementador. Garantiza formato parseable para el orquestador.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"estado",
|
|
9
|
+
"slicesCompletados",
|
|
10
|
+
"slicesTotal",
|
|
11
|
+
"commits"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"estado": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"enum": [
|
|
17
|
+
"COMPLETADO",
|
|
18
|
+
"PARCIAL",
|
|
19
|
+
"BLOQUEADO"
|
|
20
|
+
],
|
|
21
|
+
"description": "Estado final de la implementacion"
|
|
22
|
+
},
|
|
23
|
+
"slicesCompletados": {
|
|
24
|
+
"type": "integer",
|
|
25
|
+
"minimum": 0,
|
|
26
|
+
"description": "Cantidad de slices completados exitosamente"
|
|
27
|
+
},
|
|
28
|
+
"slicesTotal": {
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"minimum": 1,
|
|
31
|
+
"description": "Cantidad total de slices en el plan"
|
|
32
|
+
},
|
|
33
|
+
"commits": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": [
|
|
38
|
+
"hash",
|
|
39
|
+
"slice",
|
|
40
|
+
"mensaje"
|
|
41
|
+
],
|
|
42
|
+
"properties": {
|
|
43
|
+
"hash": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "Hash corto del commit (7 chars)"
|
|
46
|
+
},
|
|
47
|
+
"slice": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "ID del slice (ej: T-01)"
|
|
50
|
+
},
|
|
51
|
+
"mensaje": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Mensaje del commit"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"desviaciones": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"required": [
|
|
63
|
+
"slice",
|
|
64
|
+
"regla",
|
|
65
|
+
"descripcion"
|
|
66
|
+
],
|
|
67
|
+
"properties": {
|
|
68
|
+
"slice": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "ID del slice donde ocurrio la desviacion"
|
|
71
|
+
},
|
|
72
|
+
"regla": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"AUTO-FIX",
|
|
76
|
+
"AUTO-ADD",
|
|
77
|
+
"AUTO-FIX-TEST",
|
|
78
|
+
"STOP"
|
|
79
|
+
],
|
|
80
|
+
"description": "Regla de desviacion aplicada (1-4)"
|
|
81
|
+
},
|
|
82
|
+
"descripcion": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "Que se desvio y por que"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"default": []
|
|
89
|
+
},
|
|
90
|
+
"pendiente": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Descripcion del bloqueo (solo si estado = BLOQUEADO o PARCIAL)"
|
|
93
|
+
},
|
|
94
|
+
"tokenUsage": {
|
|
95
|
+
"type": "object",
|
|
96
|
+
"properties": {
|
|
97
|
+
"input": {
|
|
98
|
+
"type": "integer",
|
|
99
|
+
"minimum": 0
|
|
100
|
+
},
|
|
101
|
+
"output": {
|
|
102
|
+
"type": "integer",
|
|
103
|
+
"minimum": 0
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"description": "Tokens consumidos en la implementacion"
|
|
107
|
+
},
|
|
108
|
+
"toolCalls": {
|
|
109
|
+
"type": "integer",
|
|
110
|
+
"minimum": 0,
|
|
111
|
+
"description": "Total de tool calls ejecutados"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -1,113 +1,150 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"tareas"
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"titulo"
|
|
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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$schemaVersion": "1.0.0",
|
|
4
|
+
"title": "AgentOutputPlanificacion",
|
|
5
|
+
"description": "Schema para output estructurado del agente planificador. Formato parseable para ejecutar-fase.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"tareas",
|
|
9
|
+
"oleadas",
|
|
10
|
+
"duracionEstimada"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"tareas": {
|
|
14
|
+
"type": "array",
|
|
15
|
+
"minItems": 1,
|
|
16
|
+
"items": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"required": [
|
|
19
|
+
"id",
|
|
20
|
+
"titulo",
|
|
21
|
+
"tipo",
|
|
22
|
+
"descripcion",
|
|
23
|
+
"entregable",
|
|
24
|
+
"verificacion",
|
|
25
|
+
"tiempoEstimado"
|
|
26
|
+
],
|
|
27
|
+
"properties": {
|
|
28
|
+
"id": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"pattern": "^T-\\d{2,3}$",
|
|
31
|
+
"description": "ID de la tarea (ej: T-01, T-02)"
|
|
32
|
+
},
|
|
33
|
+
"titulo": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "Nombre descriptivo de la tarea"
|
|
36
|
+
},
|
|
37
|
+
"tipo": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"enum": [
|
|
40
|
+
"AFK",
|
|
41
|
+
"HITL"
|
|
42
|
+
],
|
|
43
|
+
"description": "AFK = autonoma, HITL = requiere decision humana"
|
|
44
|
+
},
|
|
45
|
+
"descripcion": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"minLength": 20,
|
|
48
|
+
"description": "Que hacer, sin ambiguedad"
|
|
49
|
+
},
|
|
50
|
+
"entregable": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "Que existe cuando la tarea esta completa"
|
|
53
|
+
},
|
|
54
|
+
"verificacion": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"description": "Comando o condicion observable para verificar"
|
|
57
|
+
},
|
|
58
|
+
"dependencias": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"pattern": "^T-\\d{2,3}$"
|
|
63
|
+
},
|
|
64
|
+
"default": [],
|
|
65
|
+
"description": "IDs de tareas que deben completarse antes"
|
|
66
|
+
},
|
|
67
|
+
"tiempoEstimado": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "Estimacion (ej: 30 min, 1h)"
|
|
70
|
+
},
|
|
71
|
+
"oleada": {
|
|
72
|
+
"type": "integer",
|
|
73
|
+
"minimum": 1,
|
|
74
|
+
"description": "Numero de oleada a la que pertenece"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"oleadas": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"minItems": 1,
|
|
82
|
+
"items": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"required": [
|
|
85
|
+
"numero",
|
|
86
|
+
"nombre",
|
|
87
|
+
"tareas"
|
|
88
|
+
],
|
|
89
|
+
"properties": {
|
|
90
|
+
"numero": {
|
|
91
|
+
"type": "integer",
|
|
92
|
+
"minimum": 1
|
|
93
|
+
},
|
|
94
|
+
"nombre": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "Nombre conceptual de la oleada"
|
|
97
|
+
},
|
|
98
|
+
"tareas": {
|
|
99
|
+
"type": "array",
|
|
100
|
+
"items": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"pattern": "^T-\\d{2,3}$"
|
|
103
|
+
},
|
|
104
|
+
"description": "IDs de tareas en esta oleada"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"riesgos": {
|
|
110
|
+
"type": "array",
|
|
111
|
+
"items": {
|
|
112
|
+
"type": "object",
|
|
113
|
+
"required": [
|
|
114
|
+
"tarea",
|
|
115
|
+
"riesgo",
|
|
116
|
+
"mitigacion"
|
|
117
|
+
],
|
|
118
|
+
"properties": {
|
|
119
|
+
"tarea": {
|
|
120
|
+
"type": "string"
|
|
121
|
+
},
|
|
122
|
+
"riesgo": {
|
|
123
|
+
"type": "string"
|
|
124
|
+
},
|
|
125
|
+
"probabilidad": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"enum": [
|
|
128
|
+
"baja",
|
|
129
|
+
"media",
|
|
130
|
+
"alta"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"mitigacion": {
|
|
134
|
+
"type": "string"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"default": []
|
|
139
|
+
},
|
|
140
|
+
"duracionEstimada": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"description": "Duracion total estimada (ej: 4h, 2 dias)"
|
|
143
|
+
},
|
|
144
|
+
"tareasHITL": {
|
|
145
|
+
"type": "integer",
|
|
146
|
+
"minimum": 0,
|
|
147
|
+
"description": "Cantidad de tareas que requieren intervencion humana"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -1,78 +1,98 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"veredicto"
|
|
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
|
-
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$schemaVersion": "1.0.0",
|
|
4
|
+
"title": "AgentOutputReview",
|
|
5
|
+
"description": "Schema para output estructurado de agentes revisores (codigo, seguridad, lenguaje). Garantiza formato parseable entre agentes.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": [
|
|
8
|
+
"veredicto",
|
|
9
|
+
"criticos",
|
|
10
|
+
"mayores",
|
|
11
|
+
"menores",
|
|
12
|
+
"hallazgos"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"veredicto": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"enum": [
|
|
18
|
+
"APROBADO",
|
|
19
|
+
"APROBADO_CON_OBSERVACIONES",
|
|
20
|
+
"REQUIERE_CORRECCIONES",
|
|
21
|
+
"RECHAZADO"
|
|
22
|
+
],
|
|
23
|
+
"description": "Resultado global de la revision"
|
|
24
|
+
},
|
|
25
|
+
"criticos": {
|
|
26
|
+
"type": "integer",
|
|
27
|
+
"minimum": 0,
|
|
28
|
+
"description": "Cantidad de hallazgos criticos (bloquean merge)"
|
|
29
|
+
},
|
|
30
|
+
"mayores": {
|
|
31
|
+
"type": "integer",
|
|
32
|
+
"minimum": 0,
|
|
33
|
+
"description": "Cantidad de hallazgos mayores (requieren atencion)"
|
|
34
|
+
},
|
|
35
|
+
"menores": {
|
|
36
|
+
"type": "integer",
|
|
37
|
+
"minimum": 0,
|
|
38
|
+
"description": "Cantidad de hallazgos menores (sugerencias)"
|
|
39
|
+
},
|
|
40
|
+
"hallazgos": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"items": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"required": [
|
|
45
|
+
"severidad",
|
|
46
|
+
"archivo",
|
|
47
|
+
"descripcion"
|
|
48
|
+
],
|
|
49
|
+
"properties": {
|
|
50
|
+
"severidad": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"enum": [
|
|
53
|
+
"CRITICO",
|
|
54
|
+
"MAYOR",
|
|
55
|
+
"MENOR"
|
|
56
|
+
],
|
|
57
|
+
"description": "Nivel de severidad del hallazgo"
|
|
58
|
+
},
|
|
59
|
+
"archivo": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "Ruta del archivo afectado"
|
|
62
|
+
},
|
|
63
|
+
"linea": {
|
|
64
|
+
"type": "integer",
|
|
65
|
+
"minimum": 1,
|
|
66
|
+
"description": "Numero de linea (opcional)"
|
|
67
|
+
},
|
|
68
|
+
"descripcion": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Que se encontro"
|
|
71
|
+
},
|
|
72
|
+
"fix": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "Como corregirlo"
|
|
75
|
+
},
|
|
76
|
+
"cvss": {
|
|
77
|
+
"type": "number",
|
|
78
|
+
"minimum": 0,
|
|
79
|
+
"maximum": 10,
|
|
80
|
+
"description": "Score CVSSv3 (solo para revisor-seguridad)"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"cobertura": {
|
|
86
|
+
"type": "number",
|
|
87
|
+
"minimum": 0,
|
|
88
|
+
"maximum": 100,
|
|
89
|
+
"description": "Porcentaje de cobertura de tests (si aplica)"
|
|
90
|
+
},
|
|
91
|
+
"score": {
|
|
92
|
+
"type": "number",
|
|
93
|
+
"minimum": 0,
|
|
94
|
+
"maximum": 10,
|
|
95
|
+
"description": "Score global de calidad 0-10"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|