@donartcha/openlag 0.1.5 → 0.1.6
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/dist/cli/openlag.js +16 -17
- package/package.json +1 -1
- package/scripts/cli/init.ts +15 -15
- package/scripts/lint/lint-rules.ts +1 -1
- package/src/core/semantic/artifact-layers.ts +1 -2
package/dist/cli/openlag.js
CHANGED
|
@@ -83,7 +83,6 @@ var LayerInferenceRules = {
|
|
|
83
83
|
CODE_ENTITY: "IMPLEMENTATION",
|
|
84
84
|
DATABASE_ENTITY: "IMPLEMENTATION",
|
|
85
85
|
TEST_CASE: "IMPLEMENTATION",
|
|
86
|
-
TEST: "IMPLEMENTATION",
|
|
87
86
|
CHANGE: "IMPLEMENTATION",
|
|
88
87
|
BUG: "IMPLEMENTATION",
|
|
89
88
|
RISK: "IMPLEMENTATION",
|
|
@@ -1091,8 +1090,8 @@ async function initProject(projectName, projectDesc, includeAllRelations) {
|
|
|
1091
1090
|
content: `relation: IMPLEMENTS
|
|
1092
1091
|
description: "Conecta implementaci\xF3n con necesidad funcional/t\xE9cnica."
|
|
1093
1092
|
category: TRACEABILITY
|
|
1094
|
-
allowedFrom: [CODE_ENTITY
|
|
1095
|
-
allowedTo: [REQUIREMENT, FEATURE,
|
|
1093
|
+
allowedFrom: [CODE_ENTITY]
|
|
1094
|
+
allowedTo: [REQUIREMENT, FEATURE, BUG, API]
|
|
1096
1095
|
multiplicity:
|
|
1097
1096
|
from: many
|
|
1098
1097
|
to: many
|
|
@@ -1104,8 +1103,8 @@ validation:
|
|
|
1104
1103
|
content: `relation: TESTS
|
|
1105
1104
|
description: "Conecta tests con comportamiento validado."
|
|
1106
1105
|
category: TRACEABILITY
|
|
1107
|
-
allowedFrom: [TEST_CASE
|
|
1108
|
-
allowedTo: [
|
|
1106
|
+
allowedFrom: [TEST_CASE]
|
|
1107
|
+
allowedTo: [CODE_ENTITY, REQUIREMENT, FEATURE, BUG, USE_CASE]
|
|
1109
1108
|
multiplicity:
|
|
1110
1109
|
from: many
|
|
1111
1110
|
to: many
|
|
@@ -1117,8 +1116,8 @@ validation:
|
|
|
1117
1116
|
content: `relation: REFINES
|
|
1118
1117
|
description: "Descompone artefactos en otros m\xE1s concretos."
|
|
1119
1118
|
category: TRACEABILITY
|
|
1120
|
-
allowedFrom: [FEATURE, REQUIREMENT
|
|
1121
|
-
allowedTo: [EPIC, FEATURE,
|
|
1119
|
+
allowedFrom: [EPIC, FEATURE, REQUIREMENT]
|
|
1120
|
+
allowedTo: [EPIC, FEATURE, REQUIREMENT]
|
|
1122
1121
|
multiplicity:
|
|
1123
1122
|
from: many
|
|
1124
1123
|
to: many
|
|
@@ -1130,8 +1129,8 @@ validation:
|
|
|
1130
1129
|
content: `relation: FIXES
|
|
1131
1130
|
description: "Conecta correcciones con bugs o incidentes."
|
|
1132
1131
|
category: TRACEABILITY
|
|
1133
|
-
allowedFrom: [
|
|
1134
|
-
allowedTo: [BUG, INCIDENT
|
|
1132
|
+
allowedFrom: [CODE_ENTITY, CHANGE, DECISION]
|
|
1133
|
+
allowedTo: [BUG, INCIDENT]
|
|
1135
1134
|
multiplicity:
|
|
1136
1135
|
from: many
|
|
1137
1136
|
to: many
|
|
@@ -1143,8 +1142,8 @@ validation:
|
|
|
1143
1142
|
content: `relation: DOCUMENTS
|
|
1144
1143
|
description: "Conecta documentaci\xF3n con el artefacto descrito."
|
|
1145
1144
|
category: SEMANTIC
|
|
1146
|
-
allowedFrom: [DOCUMENTATION
|
|
1147
|
-
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY,
|
|
1145
|
+
allowedFrom: [DOCUMENTATION]
|
|
1146
|
+
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY, DOCUMENTATION, INCIDENT, INFRASTRUCTURE, DEPLOYMENT, MONITORING, MAINTENANCE, SYSTEM_VERSION, VERSION, LIBRARY, ENVIRONMENT, CHECK, PROCESS, PIPELINE]
|
|
1148
1147
|
multiplicity:
|
|
1149
1148
|
from: many
|
|
1150
1149
|
to: many
|
|
@@ -1156,8 +1155,8 @@ validation:
|
|
|
1156
1155
|
content: `relation: JUSTIFIES
|
|
1157
1156
|
description: "Conecta decisiones con aquello que justifican."
|
|
1158
1157
|
category: SEMANTIC
|
|
1159
|
-
allowedFrom: [DECISION
|
|
1160
|
-
allowedTo: [DESIGN, REQUIREMENT, FEATURE,
|
|
1158
|
+
allowedFrom: [DECISION]
|
|
1159
|
+
allowedTo: [DESIGN, REQUIREMENT, FEATURE, CODE_ENTITY, COMPONENT]
|
|
1161
1160
|
multiplicity:
|
|
1162
1161
|
from: many
|
|
1163
1162
|
to: many
|
|
@@ -1255,7 +1254,7 @@ validation:
|
|
|
1255
1254
|
description: "Aver\xEDas o rupturas confirmadas."
|
|
1256
1255
|
category: OPERATIONAL
|
|
1257
1256
|
allowedFrom: [CHANGE, CODE_ENTITY, COMPONENT, SYSTEM_VERSION]
|
|
1258
|
-
allowedTo: [TEST_CASE,
|
|
1257
|
+
allowedTo: [TEST_CASE, API, COMPONENT, REQUIREMENT, FEATURE]
|
|
1259
1258
|
multiplicity:
|
|
1260
1259
|
from: many
|
|
1261
1260
|
to: many
|
|
@@ -1352,8 +1351,8 @@ description: |
|
|
|
1352
1351
|
type: RELATES_TO
|
|
1353
1352
|
rationale: "No encaja con USES o DEPENDS_ON debido al contexto X."
|
|
1354
1353
|
category: SEMANTIC
|
|
1355
|
-
allowedFrom: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY,
|
|
1356
|
-
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY,
|
|
1354
|
+
allowedFrom: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY, DOCUMENTATION, INCIDENT, INFRASTRUCTURE, DEPLOYMENT, MONITORING, MAINTENANCE, SYSTEM_VERSION, VERSION, LIBRARY, ENVIRONMENT, CHECK, PROCESS, PIPELINE]
|
|
1355
|
+
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY, DOCUMENTATION, INCIDENT, INFRASTRUCTURE, DEPLOYMENT, MONITORING, MAINTENANCE, SYSTEM_VERSION, VERSION, LIBRARY, ENVIRONMENT, CHECK, PROCESS, PIPELINE]
|
|
1357
1356
|
multiplicity:
|
|
1358
1357
|
from: many
|
|
1359
1358
|
to: many
|
|
@@ -1590,7 +1589,7 @@ function runLintRules(data, profile) {
|
|
|
1590
1589
|
addIssue("codeWithoutRequirement", `${artifact.id} has no requirement associated`, artifact.file, artifact.id, artifact.status);
|
|
1591
1590
|
}
|
|
1592
1591
|
}
|
|
1593
|
-
if (artifact.type === "
|
|
1592
|
+
if (artifact.type === "TEST_CASE") {
|
|
1594
1593
|
const hasReq = reqsByTest.has(artifact.id);
|
|
1595
1594
|
if (!hasReq) {
|
|
1596
1595
|
addIssue("orphanArtifact", `${artifact.id} is a test without associated requirement`, artifact.file, artifact.id, artifact.status);
|
package/package.json
CHANGED
package/scripts/cli/init.ts
CHANGED
|
@@ -85,8 +85,8 @@ export async function initProject(projectName?: string, projectDesc?: string, in
|
|
|
85
85
|
content: `relation: IMPLEMENTS
|
|
86
86
|
description: "Conecta implementación con necesidad funcional/técnica."
|
|
87
87
|
category: TRACEABILITY
|
|
88
|
-
allowedFrom: [CODE_ENTITY
|
|
89
|
-
allowedTo: [REQUIREMENT, FEATURE,
|
|
88
|
+
allowedFrom: [CODE_ENTITY]
|
|
89
|
+
allowedTo: [REQUIREMENT, FEATURE, BUG, API]
|
|
90
90
|
multiplicity:
|
|
91
91
|
from: many
|
|
92
92
|
to: many
|
|
@@ -98,8 +98,8 @@ validation:
|
|
|
98
98
|
content: `relation: TESTS
|
|
99
99
|
description: "Conecta tests con comportamiento validado."
|
|
100
100
|
category: TRACEABILITY
|
|
101
|
-
allowedFrom: [TEST_CASE
|
|
102
|
-
allowedTo: [
|
|
101
|
+
allowedFrom: [TEST_CASE]
|
|
102
|
+
allowedTo: [CODE_ENTITY, REQUIREMENT, FEATURE, BUG, USE_CASE]
|
|
103
103
|
multiplicity:
|
|
104
104
|
from: many
|
|
105
105
|
to: many
|
|
@@ -111,8 +111,8 @@ validation:
|
|
|
111
111
|
content: `relation: REFINES
|
|
112
112
|
description: "Descompone artefactos en otros más concretos."
|
|
113
113
|
category: TRACEABILITY
|
|
114
|
-
allowedFrom: [FEATURE, REQUIREMENT
|
|
115
|
-
allowedTo: [EPIC, FEATURE,
|
|
114
|
+
allowedFrom: [EPIC, FEATURE, REQUIREMENT]
|
|
115
|
+
allowedTo: [EPIC, FEATURE, REQUIREMENT]
|
|
116
116
|
multiplicity:
|
|
117
117
|
from: many
|
|
118
118
|
to: many
|
|
@@ -124,8 +124,8 @@ validation:
|
|
|
124
124
|
content: `relation: FIXES
|
|
125
125
|
description: "Conecta correcciones con bugs o incidentes."
|
|
126
126
|
category: TRACEABILITY
|
|
127
|
-
allowedFrom: [
|
|
128
|
-
allowedTo: [BUG, INCIDENT
|
|
127
|
+
allowedFrom: [CODE_ENTITY, CHANGE, DECISION]
|
|
128
|
+
allowedTo: [BUG, INCIDENT]
|
|
129
129
|
multiplicity:
|
|
130
130
|
from: many
|
|
131
131
|
to: many
|
|
@@ -137,8 +137,8 @@ validation:
|
|
|
137
137
|
content: `relation: DOCUMENTS
|
|
138
138
|
description: "Conecta documentación con el artefacto descrito."
|
|
139
139
|
category: SEMANTIC
|
|
140
|
-
allowedFrom: [DOCUMENTATION
|
|
141
|
-
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY,
|
|
140
|
+
allowedFrom: [DOCUMENTATION]
|
|
141
|
+
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY, DOCUMENTATION, INCIDENT, INFRASTRUCTURE, DEPLOYMENT, MONITORING, MAINTENANCE, SYSTEM_VERSION, VERSION, LIBRARY, ENVIRONMENT, CHECK, PROCESS, PIPELINE]
|
|
142
142
|
multiplicity:
|
|
143
143
|
from: many
|
|
144
144
|
to: many
|
|
@@ -150,8 +150,8 @@ validation:
|
|
|
150
150
|
content: `relation: JUSTIFIES
|
|
151
151
|
description: "Conecta decisiones con aquello que justifican."
|
|
152
152
|
category: SEMANTIC
|
|
153
|
-
allowedFrom: [DECISION
|
|
154
|
-
allowedTo: [DESIGN, REQUIREMENT, FEATURE,
|
|
153
|
+
allowedFrom: [DECISION]
|
|
154
|
+
allowedTo: [DESIGN, REQUIREMENT, FEATURE, CODE_ENTITY, COMPONENT]
|
|
155
155
|
multiplicity:
|
|
156
156
|
from: many
|
|
157
157
|
to: many
|
|
@@ -251,7 +251,7 @@ validation:
|
|
|
251
251
|
description: "Averías o rupturas confirmadas."
|
|
252
252
|
category: OPERATIONAL
|
|
253
253
|
allowedFrom: [CHANGE, CODE_ENTITY, COMPONENT, SYSTEM_VERSION]
|
|
254
|
-
allowedTo: [TEST_CASE,
|
|
254
|
+
allowedTo: [TEST_CASE, API, COMPONENT, REQUIREMENT, FEATURE]
|
|
255
255
|
multiplicity:
|
|
256
256
|
from: many
|
|
257
257
|
to: many
|
|
@@ -348,8 +348,8 @@ description: |
|
|
|
348
348
|
type: RELATES_TO
|
|
349
349
|
rationale: "No encaja con USES o DEPENDS_ON debido al contexto X."
|
|
350
350
|
category: SEMANTIC
|
|
351
|
-
allowedFrom: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY,
|
|
352
|
-
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY,
|
|
351
|
+
allowedFrom: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY, DOCUMENTATION, INCIDENT, INFRASTRUCTURE, DEPLOYMENT, MONITORING, MAINTENANCE, SYSTEM_VERSION, VERSION, LIBRARY, ENVIRONMENT, CHECK, PROCESS, PIPELINE]
|
|
352
|
+
allowedTo: [PROJECT, EPIC, FEATURE, REQUIREMENT, BUSINESS_RULE, USE_CASE, DESIGN, DECISION, CODE_ENTITY, TEST_CASE, CHANGE, BUG, RISK, GLOSSARY_TERM, COMPONENT, API, DATABASE_ENTITY, DOCUMENTATION, INCIDENT, INFRASTRUCTURE, DEPLOYMENT, MONITORING, MAINTENANCE, SYSTEM_VERSION, VERSION, LIBRARY, ENVIRONMENT, CHECK, PROCESS, PIPELINE]
|
|
353
353
|
multiplicity:
|
|
354
354
|
from: many
|
|
355
355
|
to: many
|
|
@@ -127,7 +127,7 @@ export function runLintRules(data: OpenLagData, profile: LintProfile): LintIssue
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
if (artifact.type === '
|
|
130
|
+
if (artifact.type === 'TEST_CASE') {
|
|
131
131
|
const hasReq = reqsByTest.has(artifact.id);
|
|
132
132
|
if (!hasReq) {
|
|
133
133
|
addIssue('orphanArtifact', `${artifact.id} is a test without associated requirement`, artifact.file, artifact.id, artifact.status);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ArtifactType, ArtifactLayer } from '../../types.js';
|
|
2
2
|
|
|
3
|
-
export const LayerInferenceRules: Record<ArtifactType, ArtifactLayer
|
|
3
|
+
export const LayerInferenceRules: Partial<Record<ArtifactType, ArtifactLayer>> = {
|
|
4
4
|
PROJECT: 'BUSINESS',
|
|
5
5
|
EPIC: 'BUSINESS',
|
|
6
6
|
FEATURE: 'BUSINESS',
|
|
@@ -16,7 +16,6 @@ export const LayerInferenceRules: Record<ArtifactType, ArtifactLayer> = {
|
|
|
16
16
|
CODE_ENTITY: 'IMPLEMENTATION',
|
|
17
17
|
DATABASE_ENTITY: 'IMPLEMENTATION',
|
|
18
18
|
TEST_CASE: 'IMPLEMENTATION',
|
|
19
|
-
TEST: 'IMPLEMENTATION',
|
|
20
19
|
CHANGE: 'IMPLEMENTATION',
|
|
21
20
|
BUG: 'IMPLEMENTATION',
|
|
22
21
|
RISK: 'IMPLEMENTATION',
|