@shiftleftpt/sbd-toe-mcp 0.20.0-beta.36 → 0.20.0-beta.37
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/consumed-bundle.json +13 -14
- package/data/entities/proportionality.json +3 -3
- package/data/entities/sdlc_integration.json +3 -3
- package/data/publish/indexes/canonical_chunks.jsonl +4907 -4907
- package/data/publish/indexes/mcp_chunks.jsonl +1 -1
- package/data/publish/indexes/publication_manifest.json +1 -1
- package/data/publish/ontology/sbdtoe-ontology.yaml +1350 -2
- package/data/publish/runtime/deterministic_manifest.json +1 -1
- package/data/publish/runtime/v1/manual_maturity_progression.jsonl +336 -336
- package/data/publish/runtime/v1/manual_rastreabilidade.jsonl +1105 -1105
- package/data/publish/runtime/v1/manual_threat_mitigation.jsonl +523 -523
- package/data/publish/runtime/v1/v1_manifest.json +5 -5
- package/data/reports/run_manifest.json +9 -9
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -1
- package/dist/serving/agent-guide.js +6 -0
- package/dist/serving/agent-guide.js.map +1 -1
- package/dist/tools/get-macro-processes.d.ts +18 -0
- package/dist/tools/get-macro-processes.js +196 -0
- package/dist/tools/get-macro-processes.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* get_sbd_toe_macro_processes — a vista PROCESSUAL (MP1–MP5).
|
|
3
|
+
*
|
|
4
|
+
* 0.20.0-beta.37. O Eixo I dava ao GR-03 — «organização sem programa de segurança
|
|
5
|
+
* aplicacional: por onde começamos e com que sequência?» — NÃO SERVIDO, porque a peça
|
|
6
|
+
* central (a sequência/programa) só existia como PROSA. O ciclo dos macro-processos passou-a
|
|
7
|
+
* a dados: `semantic/macro_processes.jsonl` + `mp_edges.jsonl`. Esta tool é a última perna.
|
|
8
|
+
*
|
|
9
|
+
* Invariantes que esta superfície respeita, e que não se negoceiam:
|
|
10
|
+
* 1. **Declarativo, não enumerado.** Activa-se por ser CHAMADA — o consumidor declara a
|
|
11
|
+
* leitura que quer. Não há detecção lexical de «programa» em prosa nenhuma.
|
|
12
|
+
* 2. **Ordem = só `dependency`.** As arestas `feedback` NUNCA entram na ordem: se
|
|
13
|
+
* entrassem, os cinco MP ciclariam. Vêm servidas à parte e marcadas como tal.
|
|
14
|
+
* 3. **MP ↔ fase do SDLC é LACUNA DECLARADA** — travessia parcial e não publicada. Não se
|
|
15
|
+
* deriva de capítulos nem de assignments; declara-se, verbatim, o que a fonte diz.
|
|
16
|
+
* 4. **Três segmentações sem contenção.** MacroProcess, capítulo e fase são agregações
|
|
17
|
+
* paralelas do mesmo substrato. `traverses_bundles` é PERCURSO publicado, nunca contenção.
|
|
18
|
+
* 5. **Não existe entidade «programa»** — e é deliberado. A tool serve os cinco MP e a
|
|
19
|
+
* ordem publicada; não inventa um agregador que a curadoria recusou.
|
|
20
|
+
*/
|
|
21
|
+
import { readFileSync } from "node:fs";
|
|
22
|
+
import { resolveAppPath } from "../config.js";
|
|
23
|
+
import { servedKgReleaseTag, servingServerVersion } from "../version-info.js";
|
|
24
|
+
let cache;
|
|
25
|
+
function load() {
|
|
26
|
+
if (cache !== undefined)
|
|
27
|
+
return cache;
|
|
28
|
+
const read = (rel) => {
|
|
29
|
+
try {
|
|
30
|
+
return readFileSync(resolveAppPath(rel), "utf-8")
|
|
31
|
+
.split("\n")
|
|
32
|
+
.filter((l) => l.trim().length > 0)
|
|
33
|
+
.map((l) => JSON.parse(l));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const mp = read("data/publish/semantic/macro_processes.jsonl");
|
|
40
|
+
const ed = read("data/publish/semantic/mp_edges.jsonl");
|
|
41
|
+
if (mp.length === 0 || ed.length === 0)
|
|
42
|
+
return undefined;
|
|
43
|
+
// ambos abrem com um registo de CABEÇALHO auto-descritivo — conta a partir do 2.º
|
|
44
|
+
cache = { header: mp[0], items: mp.slice(1), edgeHeader: ed[0], edges: ed.slice(1) };
|
|
45
|
+
return cache;
|
|
46
|
+
}
|
|
47
|
+
const str = (r, k) => (typeof r[k] === "string" ? r[k] : undefined);
|
|
48
|
+
export function handleGetMacroProcesses(args) {
|
|
49
|
+
const data = load();
|
|
50
|
+
const provenance = {
|
|
51
|
+
kg: servedKgReleaseTag(),
|
|
52
|
+
server: servingServerVersion(),
|
|
53
|
+
content_type: "canonical",
|
|
54
|
+
produced_by: "macro_process_projection",
|
|
55
|
+
source_data: "data/publish/semantic/macro_processes.jsonl + mp_edges.jsonl",
|
|
56
|
+
note: "Macro-processos publicados pelo Manual (ontologia v2.5 × Manual v1.8.1). A ORDEM é a que a fonte " +
|
|
57
|
+
"publica em `adoption_order_levels` — não é calculada aqui, e não se infere de capítulos nem de fases."
|
|
58
|
+
};
|
|
59
|
+
const reading = {
|
|
60
|
+
id: "PROGRAMA",
|
|
61
|
+
note: "Leitura PROGRAMA — «por onde começamos e com que sequência». É a vista PROCESSUAL: os cinco " +
|
|
62
|
+
"macro-processos e a ordem de adopção publicada. NÃO é a leitura GUIDE (que requisitos se aplicam a " +
|
|
63
|
+
"uma tarefa) nem a IMPL (a capacidade de um capítulo): pedir o programa e receber 273 requisitos, ou " +
|
|
64
|
+
"um capítulo isolado, seria responder a outra pergunta."
|
|
65
|
+
};
|
|
66
|
+
if (data === undefined) {
|
|
67
|
+
return {
|
|
68
|
+
provenance,
|
|
69
|
+
reading,
|
|
70
|
+
status: "not_published",
|
|
71
|
+
note: "Este bundle não publica a vista processual (`semantic/macro_processes.jsonl`). Não é ausência de " +
|
|
72
|
+
"programa — é ausência do artefacto nesta build. Declarado, não silencioso."
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const { header, items, edgeHeader, edges } = data;
|
|
76
|
+
const mpId = typeof args["mp_id"] === "string" ? args["mp_id"] : undefined;
|
|
77
|
+
// ── um macro-processo em detalhe
|
|
78
|
+
if (mpId !== undefined) {
|
|
79
|
+
const mp = items.find((m) => str(m, "mp_id") === mpId);
|
|
80
|
+
if (mp === undefined)
|
|
81
|
+
return {
|
|
82
|
+
provenance,
|
|
83
|
+
reading,
|
|
84
|
+
status: "unknown_macro_process",
|
|
85
|
+
requested: mpId,
|
|
86
|
+
known: items.map((m) => str(m, "mp_id")).filter(Boolean),
|
|
87
|
+
note: `\`${mpId}\` não é um macro-processo publicado. Os cinco ids vêm acima.`
|
|
88
|
+
};
|
|
89
|
+
const consumes = edges.filter((e) => str(e, "to_mp") === mpId);
|
|
90
|
+
return {
|
|
91
|
+
provenance,
|
|
92
|
+
reading,
|
|
93
|
+
macro_process: mp,
|
|
94
|
+
prerequisites: {
|
|
95
|
+
note: "Só arestas `dependency` — o que TEM de existir antes deste MP. As `feedback` estão à parte e não são pré-requisito.",
|
|
96
|
+
values: consumes.filter((e) => str(e, "kind") === "dependency")
|
|
97
|
+
},
|
|
98
|
+
feedback_received: {
|
|
99
|
+
note: "REALIMENTAÇÃO, não pré-requisito: fecha o laço depois de o MP correr. Se entrasse na ordem, os " +
|
|
100
|
+
"cinco macro-processos ciclariam — por isso está fora dela, por definição da fonte.",
|
|
101
|
+
values: consumes.filter((e) => str(e, "kind") === "feedback")
|
|
102
|
+
},
|
|
103
|
+
traversal_note: str(header, "model_note") ?? str(edgeHeader, "model_note"),
|
|
104
|
+
next: [
|
|
105
|
+
{ intent: "A ordem de adopção completa", tool: "get_sbd_toe_macro_processes", with: "", kind: "structural" },
|
|
106
|
+
{
|
|
107
|
+
intent: "Os requisitos de um capítulo que este MP atravessa",
|
|
108
|
+
tool: "select_sbd_toe_requirements",
|
|
109
|
+
with: `risk_level="L2", chapters=["${mp["traverses_bundles"]?.[1] ?? "01-classificacao-aplicacoes"}"]`,
|
|
110
|
+
kind: "structural"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
// ── a vista de PROGRAMA: ordem publicada + os cinco MP + os limites declarados
|
|
116
|
+
const levels = (edgeHeader["adoption_order_levels"] ?? header["adoption_order_levels"]);
|
|
117
|
+
const dependencies = edges.filter((e) => str(e, "kind") === "dependency");
|
|
118
|
+
const feedback = edges.filter((e) => str(e, "kind") === "feedback");
|
|
119
|
+
const pathEdges = edges.filter((e) => ["fluxo", "piso", "ramo", "fecho", "laço"].includes(str(e, "kind") ?? ""));
|
|
120
|
+
const roles = [...new Set(items.flatMap((m) => [str(m, "owner_role"), ...(m["participant_roles"] ?? [])]))]
|
|
121
|
+
.filter((x) => typeof x === "string")
|
|
122
|
+
.sort();
|
|
123
|
+
return {
|
|
124
|
+
provenance,
|
|
125
|
+
reading,
|
|
126
|
+
adoption_order: {
|
|
127
|
+
note: "A ordem PUBLICADA pela fonte, por níveis: dentro do mesmo nível os MP são incomparáveis (declarado, " +
|
|
128
|
+
"não inferido). Deriva EXCLUSIVAMENTE das arestas `dependency`.",
|
|
129
|
+
rule: str(edgeHeader, "adoption_order_rule") ?? str(header, "adoption_order_rule"),
|
|
130
|
+
levels: levels ?? [],
|
|
131
|
+
first_step: (levels ?? [])[0]?.[0],
|
|
132
|
+
excluded_from_order: {
|
|
133
|
+
kind: "feedback",
|
|
134
|
+
count: feedback.length,
|
|
135
|
+
note: "As arestas de REALIMENTAÇÃO estão fora da ordem por definição da fonte: incluí-las tornaria o grafo " +
|
|
136
|
+
"cíclico e os cinco MP deixariam de ter sequência. Vêm servidas, mas nunca como pré-requisito."
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
macro_processes: items.map((m) => ({
|
|
140
|
+
mp_id: str(m, "mp_id"),
|
|
141
|
+
label: str(m, "label") ?? str(m, "name_pt"),
|
|
142
|
+
question: str(m, "question"),
|
|
143
|
+
continuity: str(m, "continuity"),
|
|
144
|
+
invariant: str(m, "invariant"),
|
|
145
|
+
owner_role: str(m, "owner_role"),
|
|
146
|
+
participant_roles: m["participant_roles"] ?? [],
|
|
147
|
+
traverses_bundles: m["traverses_bundles"] ?? [],
|
|
148
|
+
read_with: `get_sbd_toe_macro_processes(mp_id="${str(m, "mp_id") ?? ""}")`
|
|
149
|
+
})),
|
|
150
|
+
prerequisites: {
|
|
151
|
+
note: "O que é pré-requisito de quê — pares `dependency`, com o artefacto consumido (`via`) e as refs.",
|
|
152
|
+
total: dependencies.length,
|
|
153
|
+
values: dependencies.map((e) => ({
|
|
154
|
+
from_mp: str(e, "from_mp"),
|
|
155
|
+
to_mp: str(e, "to_mp"),
|
|
156
|
+
via: str(e, "via"),
|
|
157
|
+
output: str(e, "output_text"),
|
|
158
|
+
refs: e["refs"] ?? []
|
|
159
|
+
}))
|
|
160
|
+
},
|
|
161
|
+
feedback_loops: {
|
|
162
|
+
note: "Realimentações — fecham o laço, NÃO entram na ordem de adopção.",
|
|
163
|
+
total: feedback.length,
|
|
164
|
+
values: feedback.map((e) => ({ from_mp: str(e, "from_mp"), to_mp: str(e, "to_mp"), via: str(e, "via") }))
|
|
165
|
+
},
|
|
166
|
+
chapter_path: {
|
|
167
|
+
note: "Percurso de CAPÍTULOS publicado (fluxo · piso · ramo · fecho · laço). É percurso, NUNCA contenção: " +
|
|
168
|
+
"MacroProcess, capítulo e fase são três segmentações paralelas do mesmo substrato.",
|
|
169
|
+
total: pathEdges.length
|
|
170
|
+
},
|
|
171
|
+
roles_involved: {
|
|
172
|
+
note: "Papéis que os MP nomeiam, resolvidos contra os canónicos do bundle. Para o que cada um faz, `get_guide_by_role`.",
|
|
173
|
+
values: roles
|
|
174
|
+
},
|
|
175
|
+
declared_limits: {
|
|
176
|
+
no_programme_entity: "NÃO existe entidade «programa» no modelo, e é deliberado (recusa de curadoria, ratificada). O que se " +
|
|
177
|
+
"publica são os cinco macro-processos e a ordem entre eles. Um «programa» é o que a TUA organização " +
|
|
178
|
+
"monta com isto — o servidor não o modela e não o inventa.",
|
|
179
|
+
sdlc_phase_traversal: str(edgeHeader, "sdlc_phase_traversal") ??
|
|
180
|
+
edgeHeader["sdlc_phase_traversal"]?.["reason"] ??
|
|
181
|
+
"A travessia MP ↔ fase do SDLC é PARCIAL e NÃO PUBLICADA — lacuna declarada, nunca derivada.",
|
|
182
|
+
three_segmentations: str(edgeHeader, "model_note") ?? str(header, "model_note")
|
|
183
|
+
},
|
|
184
|
+
next: [
|
|
185
|
+
{
|
|
186
|
+
intent: "O primeiro passo real: o método de classificação (cap. 01)",
|
|
187
|
+
tool: "select_sbd_toe_requirements",
|
|
188
|
+
with: 'risk_level="L1", chapters=["01-classificacao-aplicacoes"]',
|
|
189
|
+
kind: "structural"
|
|
190
|
+
},
|
|
191
|
+
{ intent: "Um macro-processo em detalhe", tool: "get_sbd_toe_macro_processes", with: 'mp_id="MP-01"', kind: "structural" },
|
|
192
|
+
{ intent: "O que cada papel faz", tool: "get_guide_by_role", with: 'risk_level="L2", role="appsec-engineer"', kind: "structural" }
|
|
193
|
+
]
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=get-macro-processes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-macro-processes.js","sourceRoot":"","sources":["../../src/tools/get-macro-processes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shiftleftpt/sbd-toe-mcp",
|
|
3
|
-
"version": "0.20.0-beta.
|
|
3
|
+
"version": "0.20.0-beta.37",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "MCP server for the SbD-ToE (Security by Design — Theory of Everything) security manual — structured tools for Claude, GitHub Copilot and other MCP clients",
|
|
6
6
|
"keywords": [
|