@shiftleftpt/sbd-toe-mcp 0.20.0-beta.25 → 0.20.0-beta.27

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.
@@ -244,7 +244,7 @@ export function _resolveThreatLandscape(args, ontologyData) {
244
244
  activeChapters: [...activeChapterNumbers].sort((a, b) => a - b).map(String),
245
245
  activeBundles: [...activeBundles].sort(),
246
246
  concernsApplied: consult.meta.concernsApplied,
247
- note: "Threat applicability resolves from consult-mode requirement scope; the defining chapters of activated controls count as in-scope (G-b 2026-08-30). mitigation_confidence uses direct control references first, then chapter/bundle or antipattern-derived alignment, then heuristic domain fallback.",
247
+ note: "Threat applicability resolves from consult-mode requirement scope; the defining chapters of activated controls count as in-scope (G-b 2026-08-30). mitigation_confidence uses direct control references first, then chapter/bundle or antipattern-derived alignment, then heuristic domain fallback. ORDEM (0.20.0-beta.26): as ameaças vêm ordenadas por mitigation_confidence e, dentro do mesmo grau, por chapter_id — NÃO é um ranking de relevância para a tua tarefa, e a paginação segue essa mesma ordem. Não presumas que as primeiras são as mais relevantes; para reduzir o âmbito, declara `concerns`.",
248
248
  },
249
249
  };
250
250
  }
@@ -266,12 +266,100 @@ export function handleGetThreatLandscape(args) {
266
266
  : [];
267
267
  const support = declaredConcerns.length > 0 ? threatConcernSupport() : { supported: [], unsupported: [] };
268
268
  const unsupportedHere = declaredConcerns.filter((c) => support.unsupported.includes(c));
269
+ // beta.27: valores FORA do vocabulário eram ignorados em silêncio aqui (o `select`
270
+ // declara-os em `unknown_concerns` desde a beta.22). Mesma classe, quarta instância —
271
+ // apanhada pela invariante entre superfícies, não por um avaliador.
272
+ // A fonte de «conhecido» é o VOCABULÁRIO, não a sondagem de suporte: `threatConcernSupport()`
273
+ // devolve listas vazias enquanto está a sondar (guarda de recursão), e usá-la aqui fazia a
274
+ // cache classificar TODOS os concerns como desconhecidos — resultado dependente da ordem
275
+ // da primeira chamada. Apanhado pela suite antes de sair da lane.
276
+ const knownConcerns = new Set(buildActivationVocabulary().concerns.values.map((c) => String(c.value)));
277
+ const unknownHere = declaredConcerns.filter((c) => !knownConcerns.has(c));
278
+ /**
279
+ * 0.20.0-beta.26 (§17-C) — quando TODOS os concerns declarados são não-roteáveis, o
280
+ * roteamento cai para o âmbito largo e devolve ~25 ameaças de GOVERNAÇÃO (MT-001..025,
281
+ * 8,4k tk) que não têm nada a ver com o que foi pedido. Cobrar esse payload para dizer
282
+ * «não sei» é o oposto do contrato: agora pede DECLARAÇÃO, com a lista do que resolve.
283
+ */
284
+ const allUnsupported = declaredConcerns.length > 0 && unsupportedHere.length + unknownHere.length === declaredConcerns.length;
285
+ if (allUnsupported) {
286
+ return {
287
+ provenance: {
288
+ kg: servedKgReleaseTag(),
289
+ server: servingServerVersion(),
290
+ content_type: "derived",
291
+ produced_by: "threat_resolution_pipeline",
292
+ source_data: "runtime/v1/manual_threat_mitigation.jsonl + activation vocabulary",
293
+ note: "Pedido de DECLARAÇÃO, não resultado: nenhum dos concerns declarados é roteável por este mapa."
294
+ },
295
+ risk_level: full.risk_level,
296
+ threats: [],
297
+ /**
298
+ * A garantia da beta.23 mantém-se LITERAL: quem aprendeu a ler
299
+ * `unsupported_concerns` continua a lê-lo. O `needs_input` acrescenta-se — não
300
+ * substitui. Uma promessa cumprida não se retira por se ter arranjado melhor.
301
+ */
302
+ unsupported_concerns: {
303
+ values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
304
+ supported_values: support.supported,
305
+ note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
306
+ "Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa. Como são TODOS os que declaraste, " +
307
+ "a resposta é um pedido de declaração (`needs_input`) em vez de um panorama largo que não pediste. " +
308
+ "NÃO concluas ausência de ameaças a partir desta resposta: para estes concerns usa select_sbd_toe_requirements."
309
+ },
310
+ needs_input: {
311
+ reason: `Nenhum dos concerns declarados (${[...new Set(declaredConcerns)].sort().join(", ")}) é roteável pelo mapa de ameaças` +
312
+ (unknownHere.length > 0 ? ` (fora do vocabulário: ${[...new Set(unknownHere)].sort().join(", ")})` : "") + ". " +
313
+ "Sem esta paragem a resposta seria o âmbito largo — ameaças de GOVERNAÇÃO sem relação com o que pediste, " +
314
+ "a custo de payload cheio, para acabar a dizer que não sabe. Zero útil não é uma resposta.",
315
+ supported_concerns: support.supported,
316
+ note: "Estes concerns TÊM requisitos — o que falta é roteamento de AMEAÇAS. Para eles usa " +
317
+ "`select_sbd_toe_requirements` com os mesmos concerns; para ameaças, declara um valor de `supported_concerns` " +
318
+ "(ou chama sem `concerns` se queres mesmo o panorama largo, sabendo que é largo).",
319
+ next: [
320
+ { intent: "Requisitos dos concerns que declaraste (existem)", tool: "select_sbd_toe_requirements", with: `risk_level="${full.risk_level}", concerns=[${declaredConcerns.map((c) => `"${c}"`).join(", ")}]`, kind: "structural" },
321
+ { intent: "Ameaças de um concern que este mapa resolve", tool: "get_threat_landscape", with: `risk_level="${full.risk_level}", concerns=["${support.supported[0] ?? "auth"}"]`, kind: "structural" }
322
+ ]
323
+ },
324
+ meta: {
325
+ threatCount: 0,
326
+ activeChapters: [],
327
+ activeBundles: [],
328
+ concernsApplied: declaredConcerns,
329
+ note: "needs_input: nenhum concern roteável declarado. Nada foi resolvido — e por isso nada é cobrado."
330
+ },
331
+ coverage: { total: 0, returned: 0, offset: 0, nextOffset: null, hasMore: false },
332
+ // RF-H: a banda `next` está em TODAS as respostas — um pedido de declaração também
333
+ // é uma resposta. Apanhado pela suite de affordances antes de sair da lane.
334
+ next: threatLandscapeAffordances(full.risk_level, support.supported.slice(0, 2))
335
+ };
336
+ }
337
+ /**
338
+ * 0.20.0-beta.27 — o concern RESOLVE mas o NÍVEL não traz capítulos: zero ameaças sem
339
+ * uma palavra. Mesma classe do `empty_at_level` do consult, encontrada pela invariante
340
+ * entre superfícies (privacy@L1, threat_modeling@L1).
341
+ */
342
+ const emptyByLevel = declaredConcerns.length > 0 &&
343
+ unsupportedHere.length === 0 &&
344
+ unknownHere.length === 0 &&
345
+ full.threats.length === 0;
269
346
  const shaped = {
270
347
  ...full,
271
- ...(unsupportedHere.length > 0
348
+ ...(emptyByLevel
349
+ ? {
350
+ empty_at_level: {
351
+ concerns: [...new Set(declaredConcerns)].sort(),
352
+ level: full.risk_level,
353
+ note: `Os concerns declarados são roteáveis, mas a ${full.risk_level} não activam capítulo nenhum — por isso zero ameaças. ` +
354
+ "NÃO é ausência de ameaças nem «não aplicável»: é o NÍVEL. Confirma noutro nível ou com " +
355
+ "`select_sbd_toe_requirements`, e não apresentes este vazio como «manual-grounded»."
356
+ }
357
+ }
358
+ : {}),
359
+ ...(unsupportedHere.length + unknownHere.length > 0
272
360
  ? {
273
361
  unsupported_concerns: {
274
- values: [...new Set(unsupportedHere)].sort(),
362
+ values: [...new Set([...unsupportedHere, ...unknownHere])].sort(),
275
363
  supported_values: support.supported,
276
364
  note: `Concerns VÁLIDOS do vocabulário que o mapa de ameaças não resolve: ${[...new Set(unsupportedHere)].sort().join(", ")}. ` +
277
365
  "Não são zero ameaças — são zero ameaças ROTEÁVEIS por este mapa, que cobre os domínios listados em supported_values. " +
@@ -1 +1 @@
1
- {"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-threat-landscape.js","sourceRoot":"","sources":["../../src/tools/get-threat-landscape.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,14 @@ export interface VerificationMatrixData {
45
45
  coverage_gaps: {
46
46
  requirements_without_evidence_pattern: number;
47
47
  sample: string[];
48
+ /**
49
+ * 0.20.0-beta.26 (P1-3, de beta.22): a ausência PARCIAL de campo também é lacuna.
50
+ * EP-ENC-001/003/006/007 existem e não trazem `validation_method`: a linha aparece,
51
+ * a coluna que a torna verificável não — e `coverage_gaps` dizia 0. Ter o padrão sem
52
+ * o método é meia cobertura, e meia cobertura declarada como total é a falha.
53
+ */
54
+ evidence_patterns_without_validation_method: number;
55
+ evidence_patterns_without_validation_method_sample: string[];
48
56
  note: string;
49
57
  };
50
58
  }
@@ -109,6 +109,11 @@ export function handleGetVerificationMatrix(args) {
109
109
  const epReqIds = new Set(eps.map((e) => e.maps_to_requirement_id).filter(Boolean));
110
110
  const applicableReqs = getOntologyData().requirements.filter((r) => r.applicable_levels[riskLevel]);
111
111
  const missing = applicableReqs.filter((r) => !epReqIds.has(r.requirement_id)).map((r) => r.requirement_id);
112
+ // P1-3: EPs desta resposta que não publicam `validation_method` — ausência PARCIAL.
113
+ const withoutMethod = rows
114
+ .filter((r) => typeof r.validation_method !== "string" || r.validation_method.length === 0)
115
+ .map((r) => r.evidence_pattern_id)
116
+ .sort();
112
117
  const offsetArg = args["offset"];
113
118
  const limitArg = args["limit"];
114
119
  const page = paginate(rows, {
@@ -133,8 +138,17 @@ export function handleGetVerificationMatrix(args) {
133
138
  coverage_gaps: {
134
139
  requirements_without_evidence_pattern: missing.length,
135
140
  sample: missing.slice(0, 10),
136
- note: `${missing.length} of ${applicableReqs.length} ${riskLevel}-applicable requirements have no ` +
137
- `EvidencePattern yet — declared gap; routed to Codex for verification-reference completion.`
141
+ evidence_patterns_without_validation_method: withoutMethod.length,
142
+ evidence_patterns_without_validation_method_sample: withoutMethod.slice(0, 10),
143
+ note:
144
+ // P1-4 (de beta.22): com n=0 não se declara lacuna nem encaminhamento que não existem.
145
+ (missing.length === 0
146
+ ? `Todos os ${applicableReqs.length} requisitos aplicáveis a ${riskLevel} têm EvidencePattern — sem lacuna a declarar e sem encaminhamento em curso.`
147
+ : `${missing.length} of ${applicableReqs.length} ${riskLevel}-applicable requirements have no ` +
148
+ `EvidencePattern yet — declared gap; routed to Codex for verification-reference completion.`) +
149
+ (withoutMethod.length > 0
150
+ ? ` COBERTURA PARCIAL: ${withoutMethod.length} EvidencePattern desta resposta não publicam \`validation_method\` (${withoutMethod.slice(0, 4).join(", ")}${withoutMethod.length > 4 ? ", …" : ""}) — a linha existe, o método de validação não. Não os apresentes como verificáveis.`
151
+ : "")
138
152
  }
139
153
  },
140
154
  provenance: {
@@ -1 +1 @@
1
- {"version":3,"file":"get-verification-matrix.js","sourceRoot":"","sources":["../../src/tools/get-verification-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-verification-matrix.js","sourceRoot":"","sources":["../../src/tools/get-verification-matrix.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,12 @@ export interface ActivatedArea {
21
21
  mapping_count: number;
22
22
  /** Distinct obligations of the framework that touch this area. */
23
23
  obligation_count: number;
24
+ /** 0.20.0-beta.26: os ids das obrigações desta área — poupa a viagem ao resolve_entities. */
25
+ obligation_ids: string[];
24
26
  /** Mapping counts broken down by target type (Practice/Requirement/Control/…). */
25
27
  by_target_type: Record<string, number>;
28
+ /** 0.20.0-beta.26: diz o que a citação É (artigo do diploma), para "30"/"25" não passarem por contagens. */
29
+ example_citation_note?: string;
26
30
  /** A representative citation from the framework for this area (first non-empty). */
27
31
  example_citation?: string;
28
32
  }
@@ -97,8 +97,20 @@ export function handleMapRegulatoryActivation(args) {
97
97
  chapter,
98
98
  mapping_count: g.count,
99
99
  obligation_count: g.obligations.size,
100
+ /**
101
+ * 0.20.0-beta.26 (§17-D): os IDs, não só a contagem. Antes o consumidor via
102
+ * `obligation_count: 7` e tinha de ir ao `resolve_entities` adivinhar quais —
103
+ * uma viagem inteira para obter o que já estava calculado aqui.
104
+ */
105
+ obligation_ids: [...g.obligations].sort(),
100
106
  by_target_type: g.byType,
101
- ...(g.citation ? { example_citation: g.citation } : {})
107
+ ...(g.citation
108
+ ? {
109
+ example_citation: g.citation,
110
+ example_citation_note: `Citação do texto do framework (ex.: "${g.citation}" é o ARTIGO/secção do diploma, não um id do manual nem uma contagem). ` +
111
+ "Os ids das obrigações estão em `obligation_ids`."
112
+ }
113
+ : {})
102
114
  }));
103
115
  const distinctObligations = new Set(mappings.map((m) => m.obligation_id).filter(Boolean)).size;
104
116
  // Coverage-preserving pagination over the activated areas.
@@ -1 +1 @@
1
- {"version":3,"file":"map-regulatory-activation.js","sourceRoot":"","sources":["../../src/tools/map-regulatory-activation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-regulatory-activation.js","sourceRoot":"","sources":["../../src/tools/map-regulatory-activation.ts"],"names":[],"mappings":"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"}
@@ -2172,8 +2172,17 @@ function applyStructuralDiet(result, detail, includeRelations) {
2172
2172
  repeat_call_hint: REPEAT_CALL_HINT,
2173
2173
  provenance: result.provenance
2174
2174
  };
2175
- if (result.debug)
2176
- dieted.debug = result.debug;
2175
+ if (result.debug) {
2176
+ // 0.20.0-beta.26 (§17-A, menor): a nota contava o cap CLÁSSICO (returned=25) mesmo
2177
+ // quando o nível dietado devolvia 5 — o número que o consumidor lia não era o que
2178
+ // recebeu. Passa a contar o efectivo, dizendo qual é o cap deste `detail`.
2179
+ dieted.debug = {
2180
+ ...result.debug,
2181
+ notes: result.debug.notes.map((note) => note.startsWith("evidence_patterns: total=")
2182
+ ? `evidence_patterns: total=${evidenceTotal} returned=${evidenceKept.length} capped=${evidenceCapped} (cap efectivo do detail="${detail}": ${evidenceCap}; cap clássico: ${EVIDENCE_PATTERN_CAP})`
2183
+ : note)
2184
+ };
2185
+ }
2177
2186
  return dieted;
2178
2187
  }
2179
2188
  export function handlePrepareCodegenContext(raw) {
@@ -2390,14 +2399,29 @@ function prepareCodegenContextCore(raw) {
2390
2399
  }
2391
2400
  return projection;
2392
2401
  }
2402
+ /**
2403
+ * 0.20.0-beta.26 (§17-A) — ORDENAÇÃO POR PERTENÇA AO ÂMBITO.
2404
+ *
2405
+ * A ordenação anterior dava 1.0 a qualquer EP ligado a um CONTROLO directo e só 0.7 ao
2406
+ * EP ligado a um REQUISITO do âmbito activado: a pertença ao controlo ganhava à pertença
2407
+ * ao requisito, e o desempate por id fazia o resto. Efeito medido: numa tarefa de
2408
+ * validação (âmbito ERR/VAL) vinham 5 em 5 EPs de fora — EP-API-002/003/007, EP-AUT-010,
2409
+ * EP-CFG-005 — e nem um EP-VAL/EP-ERR; em `auth` funcionava por SORTE ALFABÉTICA
2410
+ * (ACC < API < AUT < CFG < ERR < VAL). Pior: em «exigir reautenticação» o `minimal`
2411
+ * omitia EP-AUT-009, o padrão do requisito que a tarefa NOMEIA.
2412
+ *
2413
+ * Isto não é um modelo de relevância — é uma comparação de PERTENÇA, e é por isso que
2414
+ * pode ser uma invariante testável: o requisito do âmbito activado vem primeiro, depois
2415
+ * o controlo directo, depois o derivado, e o id só desempata dentro do mesmo escalão.
2416
+ */
2393
2417
  const scoredEvidencePatterns = v0.evidencePatterns.map((pattern) => {
2394
2418
  let score = 0;
2395
- if (pattern.maps_to_control_id &&
2396
- directControlIds.has(pattern.maps_to_control_id)) {
2397
- score = Math.max(score, 1.0);
2398
- }
2399
2419
  if (pattern.maps_to_requirement_id &&
2400
2420
  activeRequirementIdsForEvidence.has(pattern.maps_to_requirement_id)) {
2421
+ score = Math.max(score, 1.0);
2422
+ }
2423
+ if (pattern.maps_to_control_id &&
2424
+ directControlIds.has(pattern.maps_to_control_id)) {
2401
2425
  score = Math.max(score, 0.7);
2402
2426
  }
2403
2427
  if (pattern.maps_to_control_id &&
@@ -2610,7 +2634,7 @@ function prepareCodegenContextCore(raw) {
2610
2634
  trigger: pattern.maps_to_control_id ?? pattern.maps_to_requirement_id ?? "<no anchor>",
2611
2635
  score,
2612
2636
  confidence: "deterministic",
2613
- reason: `Evidence pattern dropped by relevance cap (cap=${EVIDENCE_PATTERN_CAP}).`
2637
+ reason: `Evidence pattern dropped by the scope-membership cap (cap=${EVIDENCE_PATTERN_CAP}); within a membership tier the order is by id, not by relevance.`
2614
2638
  }));
2615
2639
  result.debug = {
2616
2640
  rejected_candidates: [...activation.rejected, ...cappedEntries],