@shiftleftpt/sbd-toe-mcp 0.20.0-beta.34 → 0.20.0-beta.36

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.
@@ -124,9 +124,39 @@ function activateChapters(input, technologies, activation) {
124
124
  for (const chapter of chapters)
125
125
  push(chapter, "stack", token);
126
126
  }
127
+ /**
128
+ * 0.20.0-beta.36 — a CADEIA completa, não o último elo.
129
+ *
130
+ * Declarando `secrets` + `exposure="public"` e nunca `architecture`, a banda atribuía o
131
+ * cap. 04 a `trigger: architecture` — um concern que o chamador não declarou. O traço
132
+ * tinha a verdade («exposure='public' activates architecture»), mas o `activated_by`
133
+ * registava só o fim: `exposure → architecture → cap. 04`. A promessa de auditabilidade
134
+ * quebra-se aí: quem retira o `architecture` da chamada não desactiva o capítulo.
135
+ */
136
+ const upstreamOf = (concern) => {
137
+ const out = [];
138
+ if (input.exposure !== undefined && (EXPOSURE_ACTIVATION[input.exposure] ?? []).includes(concern))
139
+ out.push({ source: "exposure", trigger: `exposure=${input.exposure}` });
140
+ if (input.data_sensitivity !== undefined && (SENSITIVITY_ACTIVATION[input.data_sensitivity] ?? []).includes(concern))
141
+ out.push({ source: "data_sensitivity", trigger: `data_sensitivity=${input.data_sensitivity}` });
142
+ return out;
143
+ };
127
144
  for (const concern of activation.concerns) {
128
- for (const chapter of CONCERN_TO_DOMAIN_CHAPTERS[concern] ?? [])
145
+ for (const chapter of CONCERN_TO_DOMAIN_CHAPTERS[concern] ?? []) {
129
146
  push(chapter, "concern", concern);
147
+ const entry = byChapter.get(chapter);
148
+ if (entry !== undefined) {
149
+ const declaredByCaller = input.concerns.includes(concern);
150
+ for (const up of upstreamOf(concern))
151
+ if (!entry.activated_by.some((a) => a.trigger === up.trigger))
152
+ entry.activated_by.push(up);
153
+ if (!declaredByCaller && entry.activated_by.some((a) => /^(exposure|data_sensitivity)=/.test(a.trigger)))
154
+ entry.derived_chain = [
155
+ ...(entry.derived_chain ?? []),
156
+ `${entry.activated_by.find((a) => /^(exposure|data_sensitivity)=/.test(a.trigger))?.trigger} → concerns=["${concern}"] (regra publicada) → ${chapter}`
157
+ ];
158
+ }
159
+ }
130
160
  }
131
161
  return out;
132
162
  }
@@ -249,6 +279,44 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
249
279
  const declarative = mode !== "discover";
250
280
  const technologies = declarative ? normalizeDeclaredTechnologies(technologiesRaw, input.stack) : technologiesRaw;
251
281
  const declared = declaredActivatorsOf(input, technologies);
282
+ /**
283
+ * Termos do `task_context` que não ancoram em NENHUM valor do vocabulário. Conservador de
284
+ * propósito: só compostos hifenizados e termos longos fora de uma lista de palavras
285
+ * comuns — um falso positivo aqui é ruído, e ruído mina a declaração.
286
+ */
287
+ const unmodelledSignals = (() => {
288
+ if (!declarative)
289
+ return [];
290
+ const text = (input.taskTrimmed ?? "").toLowerCase();
291
+ if (text.length === 0)
292
+ return [];
293
+ const vocab = buildActivationVocabulary();
294
+ const known = new Set([
295
+ ...vocab.concerns.values.map((c) => String(c.value)),
296
+ ...vocab.technologies.values.map((t) => String(t.value)),
297
+ ...vocab.exposure.values.map((e) => String(e.value)),
298
+ ...vocab.data_sensitivity.values.map((d) => String(d.value)),
299
+ ]);
300
+ const COMMON = new Set([
301
+ "para", "com", "dados", "aplicacao", "aplicação", "sistema", "novo", "nova", "utilizador",
302
+ "utilizadores", "implementar", "criar", "adicionar", "endpoint", "servico", "serviço",
303
+ "feature", "funcionalidade", "projecto", "projeto", "equipa", "cliente", "clientes",
304
+ "that", "with", "the", "and", "for", "our", "new", "data", "users", "service", "application",
305
+ ]);
306
+ const out = new Set();
307
+ for (const token of text.split(/[^a-zà-ú0-9-]+/).filter(Boolean)) {
308
+ const hyphenated = token.includes("-") && token.length >= 7;
309
+ const longWord = !token.includes("-") && token.length >= 8;
310
+ if (!hyphenated && !longWord)
311
+ continue;
312
+ if (known.has(token) || COMMON.has(token))
313
+ continue;
314
+ if ([...known].some((k) => token.includes(k) || k.includes(token)))
315
+ continue;
316
+ out.add(token);
317
+ }
318
+ return [...out].sort().slice(0, 8);
319
+ })();
252
320
  // beta.23 (P0-3): a regra nomeada SES-008 é EFEITO de uma tecnologia declarada.
253
321
  // Tem de ser conhecida ANTES da guarda anti-zero — senão a guarda deita fora uma
254
322
  // declaração que activa mesmo alguma coisa (era o caso de `technologies:["jwt"]`).
@@ -394,6 +462,18 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
394
462
  needs_input: buildNeedsInput(input, declared, inert),
395
463
  ...(unknownTechnologies.length > 0 ? { unknown_technologies: unknownTechnologies } : {}),
396
464
  ...(unknownStructural.length > 0 ? { unknown_structural: unknownStructural } : {}),
465
+ ...(unmodelledSignals.length > 0
466
+ ? {
467
+ unmodelled_signals: {
468
+ values: unmodelledSignals,
469
+ note: `Termos do teu \`task_context\` que NÃO ancoram em nenhum valor do vocabulário: ${unmodelledSignals.join(", ")}. ` +
470
+ "Isto NÃO seleccionou nada — é uma declaração de IGNORÂNCIA, para distinguires «não te perguntei isso» de " +
471
+ "«não sei o que isso é». O assunto pode estar coberto por requisitos que o Manual publica sob outro nome " +
472
+ "(pede por estrutura: `chapters`/`categories`, ou `explain_sbd_toe_topic`), ou pode simplesmente não estar " +
473
+ "modelado. Não assumas cobertura a partir do silêncio."
474
+ }
475
+ }
476
+ : {}),
397
477
  task_record: taskRecord,
398
478
  };
399
479
  }
@@ -735,6 +815,18 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
735
815
  },
736
816
  ...(unknownTechnologies.length > 0 ? { unknown_technologies: unknownTechnologies } : {}),
737
817
  ...(unknownStructural.length > 0 ? { unknown_structural: unknownStructural } : {}),
818
+ ...(unmodelledSignals.length > 0
819
+ ? {
820
+ unmodelled_signals: {
821
+ values: unmodelledSignals,
822
+ note: `Termos do teu \`task_context\` que NÃO ancoram em nenhum valor do vocabulário: ${unmodelledSignals.join(", ")}. ` +
823
+ "Isto NÃO seleccionou nada — é uma declaração de IGNORÂNCIA, para distinguires «não te perguntei isso» de " +
824
+ "«não sei o que isso é». O assunto pode estar coberto por requisitos que o Manual publica sob outro nome " +
825
+ "(pede por estrutura: `chapters`/`categories`, ou `explain_sbd_toe_topic`), ou pode simplesmente não estar " +
826
+ "modelado. Não assumas cobertura a partir do silêncio."
827
+ }
828
+ }
829
+ : {}),
738
830
  task_record: taskRecord,
739
831
  };
740
832
  }
@@ -778,6 +870,18 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
778
870
  mode,
779
871
  ...(unknownTechnologies.length > 0 ? { unknown_technologies: unknownTechnologies } : {}),
780
872
  ...(unknownStructural.length > 0 ? { unknown_structural: unknownStructural } : {}),
873
+ ...(unmodelledSignals.length > 0
874
+ ? {
875
+ unmodelled_signals: {
876
+ values: unmodelledSignals,
877
+ note: `Termos do teu \`task_context\` que NÃO ancoram em nenhum valor do vocabulário: ${unmodelledSignals.join(", ")}. ` +
878
+ "Isto NÃO seleccionou nada — é uma declaração de IGNORÂNCIA, para distinguires «não te perguntei isso» de " +
879
+ "«não sei o que isso é». O assunto pode estar coberto por requisitos que o Manual publica sob outro nome " +
880
+ "(pede por estrutura: `chapters`/`categories`, ou `explain_sbd_toe_topic`), ou pode simplesmente não estar " +
881
+ "modelado. Não assumas cobertura a partir do silêncio."
882
+ }
883
+ }
884
+ : {}),
781
885
  ...(out_of_scope_chapters && out_of_scope_chapters.count > 0 ? { out_of_scope_chapters } : {}),
782
886
  task_record: taskRecord,
783
887
  };
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/serving/selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/serving/selection.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,13 @@ export interface AssessData {
68
68
  gaps: number;
69
69
  not_reported: number;
70
70
  };
71
+ /** 0.20.0-beta.36 — âmbito da avaliação e o DENOMINADOR explicado. */
72
+ scope: {
73
+ chapter?: string;
74
+ published_total: number;
75
+ applicable_at_level: number;
76
+ note: string;
77
+ };
71
78
  /** Count of gaps actually returned in `gaps` (≤ totals.gaps — page per_kpi for the rest). */
72
79
  gaps_returned: number;
73
80
  gaps_coverage: {
@@ -68,7 +68,13 @@ export function handleAssessImplementation(args) {
68
68
  if (typeof v === "number" && Number.isFinite(v))
69
69
  submitted.set(k, v);
70
70
  }
71
- const metrics = loadMetrics();
71
+ /**
72
+ * 0.20.0-beta.36 — ÂMBITO. Quatro KPIs do cap. 07 faziam avaliar 95 do Manual inteiro e
73
+ * fechar com `posture: below` e 91 not_reported — um veredicto que não é o da pergunta.
74
+ * `chapter` restringe o universo; sem ele, o global mantém-se como estava.
75
+ */
76
+ const chapterScope = typeof args["chapter"] === "string" ? args["chapter"] : undefined;
77
+ const metrics = loadMetrics().filter((m) => chapterScope === undefined || m.chapter_id === chapterScope);
72
78
  // 0.15.1 (item 5): auto-relato VAZIO é rejeitado com erro instrutivo — um objecto {}
73
79
  // não é uma avaliação; a lista de metric_ids válidos é derivada do catálogo.
74
80
  if (kpiValuesArg && typeof kpiValuesArg === "object" && Object.keys(kpiValuesArg).length === 0) {
@@ -156,6 +162,17 @@ export function handleAssessImplementation(args) {
156
162
  per_kpi: page.items,
157
163
  gaps: boundedGaps,
158
164
  totals: { applicable, meets, gaps: gaps.length, not_reported: notReported },
165
+ scope: {
166
+ ...(chapterScope !== undefined ? { chapter: chapterScope } : {}),
167
+ published_total: loadMetrics().length,
168
+ applicable_at_level: applicable,
169
+ note: (chapterScope !== undefined
170
+ ? `Avaliação RESTRITA ao capítulo \`${chapterScope}\`: o veredicto é DESTE âmbito, não do Manual inteiro. `
171
+ : "Avaliação do Manual INTEIRO — se a tua pergunta é sobre um capítulo, passa `chapter` ou o `posture` responde a uma pergunta que não fizeste. ") +
172
+ `DENOMINADORES: o Manual publica ${loadMetrics().length} KPIs no total; ${applicable} aplicam-se a ${riskLevel} ` +
173
+ "(a diferença são KPIs cujo `thresholds_by_level` não define alvo para este nível — não é omissão, é proporcionalidade). " +
174
+ "Os KPIs que o Manual define pedem-se em `get_sbd_toe_chapter_capability`.",
175
+ },
159
176
  gaps_returned: boundedGaps.length,
160
177
  gaps_coverage: { total: gapsSorted.length, returned: boundedGaps.length, offset: gapsOffset, nextOffset: gapsNext, hasMore: gapsNext !== null },
161
178
  unknown_metrics: unknownMetrics,
@@ -1 +1 @@
1
- {"version":3,"file":"assess-implementation.js","sourceRoot":"","sources":["../../src/tools/assess-implementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assess-implementation.js","sourceRoot":"","sources":["../../src/tools/assess-implementation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Affordance } from "../serving/protocol-envelope.js";
2
+ export interface ExplainTopicResult {
3
+ provenance: {
4
+ kg: string;
5
+ server: string;
6
+ content_type: string;
7
+ produced_by: string;
8
+ source_data: string;
9
+ note: string;
10
+ };
11
+ reading: {
12
+ id: "CONSULT";
13
+ note: string;
14
+ };
15
+ [key: string]: unknown;
16
+ next?: Affordance[];
17
+ }
18
+ export declare function handleExplainTopic(args: Record<string, unknown>): ExplainTopicResult;
@@ -0,0 +1,213 @@
1
+ /**
2
+ * explain_sbd_toe_topic — a leitura CONSULT: «o que é que o Manual diz sobre X?»
3
+ *
4
+ * 0.20.0-beta.35. O Eixo I media o GR-05 em 5/7, com duas peças em falta e a mesma causa:
5
+ * a leitura de CONHECIMENTO estava a ser servida por superfícies de SELECÇÃO.
6
+ *
7
+ * 1. **Os 26 antipadrões não tinham caminho próprio.** «O que NÃO fazer» é metade do valor
8
+ * de um manual de segurança e não havia porta — só o `resolve_entities` genérico.
9
+ * 2. **Todas as superfícies normativas exigiam `risk_level`** para responder a uma pergunta
10
+ * de conhecimento: uma exigência de SELECÇÃO aplicada a uma leitura que, por natureza,
11
+ * não tem projecto nem nível. O oráculo lista isso como must-NOT do caso.
12
+ *
13
+ * A regra que esta superfície aplica: **o nível ANOTA, não filtra.** Cada requisito vem com
14
+ * os níveis em que se aplica (`applies_at`), e o chamador não precisa de declarar um nível
15
+ * que ainda não tem. Se ele o declarar, é anotação (`your_level`), nunca filtro.
16
+ *
17
+ * FRONTEIRA, e é deliberada: o `risk_level` continua OBRIGATÓRIO onde é legítimo — na
18
+ * SELECÇÃO (`select_sbd_toe_requirements`), no `prepare_sbd_toe_codegen_context` e na vista
19
+ * de CAPACIDADE. Aí a pergunta é «o que se aplica ao MEU caso», e sem nível não há resposta
20
+ * honesta. Aqui a pergunta é «o que diz o Manual», e o nível é uma anotação.
21
+ */
22
+ import { getOntologyData } from "./ontology-loader.js";
23
+ import { categoriesForConcerns, VALID_CONCERNS } from "./prepare-codegen-context.js";
24
+ import { servedKgReleaseTag, servingServerVersion } from "../version-info.js";
25
+ import { paginate } from "../serving/response-shaping.js";
26
+ const LEVELS = ["L1", "L2", "L3"];
27
+ export function handleExplainTopic(args) {
28
+ const o = getOntologyData();
29
+ const concern = typeof args["concern"] === "string" ? args["concern"] : undefined;
30
+ const category = typeof args["category"] === "string" ? args["category"] : undefined;
31
+ const chapter = typeof args["chapter"] === "string" ? args["chapter"] : undefined;
32
+ const annotateLevel = typeof args["risk_level"] === "string" ? args["risk_level"] : undefined;
33
+ const provenance = {
34
+ kg: servedKgReleaseTag(),
35
+ server: servingServerVersion(),
36
+ content_type: "canonical",
37
+ produced_by: "topic_crossing_projection",
38
+ source_data: "runtime/requirements + practices + evidence_patterns + threats + antipatterns (+ links)",
39
+ note: "manual-grounded: tudo o que vem aqui é entidade publicada do Manual. NADA é inferido e nada é " +
40
+ "selecionado para um projecto — esta é a leitura de CONHECIMENTO."
41
+ };
42
+ const reading = {
43
+ id: "CONSULT",
44
+ note: "Leitura CONSULT — «o que o Manual DIZ sobre X», sem tarefa e sem projecto. O `risk_level` é " +
45
+ "OPCIONAL aqui e ANOTA (`applies_at` por requisito), nunca filtra: uma pergunta de conhecimento não " +
46
+ "tem nível. Se o que queres é «o que se aplica ao MEU caso», isso é selecção — " +
47
+ "`select_sbd_toe_requirements`, onde o nível é obrigatório e com razão."
48
+ };
49
+ // âmbito do tópico: por conceito (concern), por estrutura (category/chapter)
50
+ const categories = new Set();
51
+ if (concern !== undefined)
52
+ for (const c of categoriesForConcerns([concern]))
53
+ categories.add(c);
54
+ if (category !== undefined)
55
+ categories.add(category);
56
+ const inScope = (requirementCategory, bundle) => (categories.size === 0 || categories.has(requirementCategory)) && (chapter === undefined || bundle === chapter);
57
+ if (concern !== undefined && !VALID_CONCERNS.includes(concern)) {
58
+ return {
59
+ provenance,
60
+ reading,
61
+ status: "unknown_concern",
62
+ requested: concern,
63
+ valid_values: [...VALID_CONCERNS],
64
+ note: `\`${concern}\` não é um valor do vocabulário. Os válidos vêm acima; ou pede por estrutura (\`category\`/\`chapter\`).`
65
+ };
66
+ }
67
+ if (concern === undefined && category === undefined && chapter === undefined) {
68
+ return {
69
+ provenance,
70
+ reading,
71
+ status: "needs_topic",
72
+ note: "Diz sobre O QUÊ: `concern=\"secrets\"` (conceito), `category=\"ENC\"` ou `chapter=\"08-iac-infraestrutura\"` " +
73
+ "(estrutura). Não é preciso `risk_level` — esta leitura não filtra por nível."
74
+ };
75
+ }
76
+ const requirements = o.requirements.filter((r) => inScope(r.category, r.source_bundle));
77
+ const reqIds = new Set(requirements.map((r) => r.requirement_id));
78
+ const chapters = new Set(requirements.map((r) => r.source_bundle).filter((x) => typeof x === "string"));
79
+ const offsetArg = typeof args["offset"] === "number" ? Math.max(0, Math.floor(args["offset"])) : 0;
80
+ const limitArg = typeof args["limit"] === "number" ? Math.max(1, Math.floor(args["limit"])) : 20;
81
+ const page = paginate(requirements, { offset: offsetArg, limit: limitArg }, requirements.length || 1);
82
+ // ANTIPADRÕES — «o que NÃO fazer», a peça que não tinha porta
83
+ const apReqLinks = o.antipatternRequirementLinks ?? [];
84
+ const apThreatLinks = o.antipatternThreatLinks ?? [];
85
+ /**
86
+ * Dois caminhos até um antipadrão: o CAPÍTULO onde vive, e a LIGAÇÃO a um requisito do
87
+ * âmbito. Nenhum se inventa — são os dois que o bundle publica.
88
+ */
89
+ const antipatterns = (o.antipatterns ?? [])
90
+ .filter((a) => {
91
+ const id = a.antipattern_id;
92
+ const bundles = a.bundle_ids ?? [];
93
+ const byChapter = chapter !== undefined ? bundles.includes(chapter) : bundles.some((b) => chapters.has(b));
94
+ const byLink = apReqLinks.some((l) => l.source_id === id && reqIds.has(l.target_id));
95
+ return byChapter || byLink;
96
+ })
97
+ .map((a) => {
98
+ const id = a.antipattern_id;
99
+ return {
100
+ antipattern_id: id,
101
+ label: a.label,
102
+ risk: a.risk,
103
+ chapters: a.bundle_ids ?? [],
104
+ linked_requirements: apReqLinks.filter((l) => l.source_id === id).map((l) => l.target_id),
105
+ linked_threats: apThreatLinks.filter((l) => l.source_id === id).map((l) => l.target_id)
106
+ };
107
+ });
108
+ const practices = (o.practices ?? []).filter((p) => {
109
+ const bundle = p.chapter_id ?? p.bundle_id;
110
+ return bundle !== undefined && chapters.has(bundle);
111
+ });
112
+ const evidence = (o.evidencePatterns ?? []).filter((e) => typeof e.maps_to_requirement_id === "string" && reqIds.has(e.maps_to_requirement_id));
113
+ const threats = (o.threats ?? []).filter((t) => {
114
+ const ch = t.chapter_id;
115
+ return ch !== undefined && chapters.has(ch);
116
+ });
117
+ const phases = [...new Set((o.assignments ?? []).filter((a) => chapters.has(a.chapter_id)).map((a) => a.phase))]
118
+ .filter((p) => p !== "unassigned")
119
+ .sort();
120
+ return {
121
+ provenance,
122
+ reading,
123
+ topic: { concern, category, chapter, categories: [...categories].sort(), chapters: [...chapters].sort() },
124
+ ...(annotateLevel !== undefined ? { your_level: { value: annotateLevel, note: "ANOTAÇÃO: destaca o que se aplica a este nível. NÃO filtrou nada — a resposta é a mesma sem ele." } } : {}),
125
+ requirements: {
126
+ note: "REQUISITO — o que o Manual EXIGE. `applies_at` diz em que níveis se aplica: é anotação, não filtro. " +
127
+ "Distingue-se da ORIENTAÇÃO (práticas), que descreve COMO fazer e não é exigível por si.",
128
+ total: requirements.length,
129
+ values: page.items.map((r) => ({
130
+ requirement_id: r.requirement_id,
131
+ name: r.name,
132
+ category: r.category,
133
+ chapter: r.source_bundle,
134
+ kind: "requirement",
135
+ applies_at: LEVELS.filter((l) => r.applicable_levels?.[l] === true),
136
+ ...(annotateLevel !== undefined ? { applies_to_your_level: r.applicable_levels?.[annotateLevel] === true } : {})
137
+ })),
138
+ coverage: { ...page.coverage, total: requirements.length }
139
+ },
140
+ anti_patterns: {
141
+ // Zero DECLARADO, nunca mudo: um tópico sem antipadrão publicado não é «não há o que
142
+ // evitar» — é o Manual a publicá-los por capítulo de domínio, e este tópico não estar
143
+ // lá. A porta existe e diz onde eles estão.
144
+ note: (antipatterns.length === 0
145
+ ? `NENHUM antipadrão ESTRUTURALMENTE ligado a este tópico. Isto NÃO significa que não haja nada a evitar — ` +
146
+ `e a consequência de o deixar assim é conhecida: quem segue o atalho sai a pensar que o Manual nada diz ` +
147
+ `sobre o que evitar aqui. Por isso o catálogo COMPLETO vem em \`elsewhere\`: são ${(o.antipatterns ?? []).length}, ` +
148
+ "com o capítulo de cada um e a chamada concreta para o ler. O servidor NÃO afirma quais são relevantes para " +
149
+ "este tópico — não tem ligação publicada que o diga, e não a inventa: lê os rótulos e decide tu. "
150
+ : `O QUE NÃO FAZER — ${antipatterns.length} antipadrões publicados para este tópico. `) +
151
+ "É a metade do Manual " +
152
+ "que não tinha caminho próprio até 0.20.0-beta.35. As ligações a requisitos e ameaças são as que o " +
153
+ `bundle publica (${apReqLinks.length} req · ${apThreatLinks.length} ameaças no TOTAL do bundle — são POUCAS, ` +
154
+ "e não se inventam: um antipadrão sem ligação continua a ser conhecimento válido do Manual).",
155
+ total: antipatterns.length,
156
+ values: antipatterns,
157
+ /**
158
+ * Conservação NA BANDA (emenda v1.2 do oráculo): uma banda anunciada e vazia, havendo
159
+ * conteúdo no bundle, tem de dar o CAMINHO CONCRETO — não a lista genérica de onde
160
+ * «poderá estar». Aqui o caminho é o catálogo inteiro (são 26) com a chamada por
161
+ * capítulo, porque o servidor não tem ligação estrutural que diga quais interessam a
162
+ * este tópico e não a inventa.
163
+ */
164
+ ...(antipatterns.length === 0
165
+ ? {
166
+ elsewhere: {
167
+ note: "Todos os antipadrões publicados, com a chamada concreta por capítulo. Um deles pode ser " +
168
+ "exactamente sobre o teu tópico sem o bundle publicar a ligação — é por isso que vêm aqui inteiros.",
169
+ by_chapter: [...new Set((o.antipatterns ?? []).flatMap((a) => a.bundle_ids ?? []))]
170
+ .sort()
171
+ .map((ch) => ({
172
+ chapter: ch,
173
+ total: (o.antipatterns ?? []).filter((a) => (a.bundle_ids ?? []).includes(ch)).length,
174
+ read_with: `explain_sbd_toe_topic(chapter="${ch}")`,
175
+ labels: (o.antipatterns ?? [])
176
+ .filter((a) => (a.bundle_ids ?? []).includes(ch))
177
+ .map((a) => a.label)
178
+ }))
179
+ }
180
+ }
181
+ : {})
182
+ },
183
+ guidance: {
184
+ note: "ORIENTAÇÃO — práticas: descrevem COMO fazer. Não são exigíveis por si; o que é exigível são os requisitos.",
185
+ practices: practices.length,
186
+ sample: practices.slice(0, 5).map((p) => ({ id: p.practice_id ?? p.id, label: p.label ?? p.name }))
187
+ },
188
+ proof: { note: "PROVA — padrões de evidência que fecham requisito→prova.", evidence_patterns: evidence.length },
189
+ threats: { note: "AMEAÇAS publicadas nos capítulos deste tópico.", total: threats.length },
190
+ where_in_lifecycle: { note: "Fases do ciclo onde este tópico tem trabalho atribuído.", phases },
191
+ next: [
192
+ {
193
+ intent: "O que NÃO fazer, em detalhe (todos os antipadrões)",
194
+ tool: "resolve_entities",
195
+ with: 'record_type="antipattern"',
196
+ kind: "structural"
197
+ },
198
+ {
199
+ intent: "O que se aplica ao MEU caso (aí sim, com nível)",
200
+ tool: "select_sbd_toe_requirements",
201
+ with: `risk_level="L2"${concern !== undefined ? `, concerns=["${concern}"]` : ""}`,
202
+ kind: "structural"
203
+ },
204
+ {
205
+ intent: "As provas destes requisitos",
206
+ tool: "get_sbd_toe_verification_matrix",
207
+ with: `risk_level="L2", requirement_ids=[${page.items.slice(0, 3).map((r) => `"${r.requirement_id}"`).join(", ")}]`,
208
+ kind: "structural"
209
+ }
210
+ ]
211
+ };
212
+ }
213
+ //# sourceMappingURL=explain-topic.js.map