@shiftleftpt/sbd-toe-mcp 0.20.0-beta.22 → 0.20.0-beta.24
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/assets/agent-guide.md +28 -60
- package/dist/index.js +17 -164
- package/dist/index.js.map +1 -1
- package/dist/serving/activation-vocabulary.d.ts +1 -0
- package/dist/serving/activation-vocabulary.js +2 -1
- package/dist/serving/activation-vocabulary.js.map +1 -1
- package/dist/serving/agent-guide.d.ts +18 -0
- package/dist/serving/agent-guide.js +180 -0
- package/dist/serving/agent-guide.js.map +1 -0
- package/dist/serving/protocol-envelope.d.ts +2 -0
- package/dist/serving/protocol-envelope.js.map +1 -1
- package/dist/serving/selection.d.ts +33 -2
- package/dist/serving/selection.js +162 -7
- package/dist/serving/selection.js.map +1 -1
- package/dist/serving/server-surface.d.ts +68 -0
- package/dist/serving/server-surface.js +169 -0
- package/dist/serving/server-surface.js.map +1 -0
- package/dist/tools/assess-implementation.js +2 -1
- package/dist/tools/assess-implementation.js.map +1 -1
- package/dist/tools/consult-security-requirements.d.ts +2 -0
- package/dist/tools/consult-security-requirements.js +3 -1
- package/dist/tools/consult-security-requirements.js.map +1 -1
- package/dist/tools/generate-sbd-toe-skill.d.ts +1 -0
- package/dist/tools/generate-sbd-toe-skill.js +6 -5
- package/dist/tools/generate-sbd-toe-skill.js.map +1 -1
- package/dist/tools/get-chapter-implementation-checklist.js +2 -1
- package/dist/tools/get-chapter-implementation-checklist.js.map +1 -1
- package/dist/tools/get-guide-by-role.d.ts +2 -0
- package/dist/tools/get-guide-by-role.js +2 -1
- package/dist/tools/get-guide-by-role.js.map +1 -1
- package/dist/tools/get-operating-model.js +2 -1
- package/dist/tools/get-operating-model.js.map +1 -1
- package/dist/tools/get-threat-landscape.d.ts +17 -0
- package/dist/tools/get-threat-landscape.js +52 -1
- package/dist/tools/get-threat-landscape.js.map +1 -1
- package/dist/tools/get-verification-matrix.js +2 -1
- package/dist/tools/get-verification-matrix.js.map +1 -1
- package/dist/tools/map-regulatory-activation.js +2 -1
- package/dist/tools/map-regulatory-activation.js.map +1 -1
- package/dist/tools/plan-rollout.js +2 -1
- package/dist/tools/plan-rollout.js.map +1 -1
- package/dist/tools/prepare-codegen-context.d.ts +12 -0
- package/dist/tools/prepare-codegen-context.js +3 -1
- package/dist/tools/prepare-codegen-context.js.map +1 -1
- package/dist/tools/resolve-entities.d.ts +2 -0
- package/dist/tools/resolve-entities.js +5 -1
- package/dist/tools/resolve-entities.js.map +1 -1
- package/dist/tools/select-requirements.d.ts +17 -0
- package/dist/tools/select-requirements.js +19 -4
- package/dist/tools/select-requirements.js.map +1 -1
- package/dist/tools/trace-requirement-sources.d.ts +1 -0
- package/dist/tools/trace-requirement-sources.js +2 -1
- package/dist/tools/trace-requirement-sources.js.map +1 -1
- package/dist/version-info.d.ts +1 -0
- package/dist/version-info.js +23 -0
- package/dist/version-info.js.map +1 -1
- package/package.json +1 -1
|
@@ -31,8 +31,8 @@ export type SelectionMode = "declarative" | "baseline" | "discover";
|
|
|
31
31
|
export type SelectionBasis = "declared" | "lexical";
|
|
32
32
|
export declare function basisOfSource(source: string): SelectionBasis;
|
|
33
33
|
export interface SelectionTraceEntry {
|
|
34
|
-
layer: "baseline" | "domain_specific" | "agents_wave" | "named_rule";
|
|
35
|
-
source: ActivationTraceEntry["source"] | "context_chapter" | "agents_wave" | "named_rule";
|
|
34
|
+
layer: "baseline" | "domain_specific" | "declared_category" | "agents_wave" | "named_rule";
|
|
35
|
+
source: ActivationTraceEntry["source"] | "context_chapter" | "declared_category" | "agents_wave" | "named_rule";
|
|
36
36
|
trigger: string;
|
|
37
37
|
score: number;
|
|
38
38
|
reason: string;
|
|
@@ -126,6 +126,30 @@ export interface SelectionResult {
|
|
|
126
126
|
mode: SelectionMode;
|
|
127
127
|
/** Presente quando nada foi declarado no modo declarativo: pedido de declaração + aula. */
|
|
128
128
|
needs_input?: NeedsInput;
|
|
129
|
+
/**
|
|
130
|
+
* 0.20.0-beta.24 — ÂMBITO DA PROMESSA: capítulos de domínio que NENHUMA declaração
|
|
131
|
+
* activou e que por isso não têm um único requisito em banda nenhuma. Até aqui
|
|
132
|
+
* desapareciam sem uma linha (no teste cego do avaliador, ~65 requisitos dos caps.
|
|
133
|
+
* 05/07/10) enquanto o cabeçalho prometia «nunca em silêncio» sem dizer sobre O QUÊ.
|
|
134
|
+
* Declara-se o que ficou FORA por capítulo — inclusive a parte que falta de um
|
|
135
|
+
* capítulo parcialmente coberto (o cap. 02 tem a baseline em banda e os REQ-AGN-*
|
|
136
|
+
* fora; a granularidade «capítulo inteiro» deixava-os cair). Contagens e caminho de
|
|
137
|
+
* recuperação — nunca os requisitos por extenso: declarar a ausência não pode custar
|
|
138
|
+
* o que custaria tê-los.
|
|
139
|
+
*/
|
|
140
|
+
out_of_scope_chapters?: {
|
|
141
|
+
scope_note: string;
|
|
142
|
+
count: number;
|
|
143
|
+
requirements_out_of_scope: number;
|
|
144
|
+
chapters: Array<{
|
|
145
|
+
chapter: string;
|
|
146
|
+
at_level: number;
|
|
147
|
+
out_of_scope: number;
|
|
148
|
+
activate_with: string;
|
|
149
|
+
}>;
|
|
150
|
+
};
|
|
151
|
+
/** 0.20.0-beta.23: tokens de `technologies` fora do vocabulário — nomeados, nunca descartados em silêncio. */
|
|
152
|
+
unknown_technologies?: string[];
|
|
129
153
|
/** O `task` é contexto registado, não motor (excepto em discover). */
|
|
130
154
|
task_record: {
|
|
131
155
|
text: string;
|
|
@@ -153,6 +177,13 @@ export declare function runSelection(context: SelectionContextInput): SelectionR
|
|
|
153
177
|
/** Tecnologias declaradas normalizadas: valor do vocabulário fechado, ou token exacto dentro do `stack`. */
|
|
154
178
|
/** Tokens do vocabulário FECHADO presentes no `stack` declarado (P1-D: dão rasto). */
|
|
155
179
|
export declare function stackTokensFromVocabulary(stack: string | undefined): string[];
|
|
180
|
+
/**
|
|
181
|
+
* 0.20.0-beta.23 (P0-3, varredura) — tokens de `technologies` que o vocabulário NÃO
|
|
182
|
+
* conhece. Mesma classe do `unknown_concerns` (beta.22): num contrato declarativo o
|
|
183
|
+
* vocabulário é o único canal, e uma gralha custa a activação inteira. Descartar em
|
|
184
|
+
* silêncio é a falha; nomear é o contrato.
|
|
185
|
+
*/
|
|
186
|
+
export declare function unknownDeclaredTechnologies(technologies: readonly string[]): string[];
|
|
156
187
|
export declare function normalizeDeclaredTechnologies(technologies: readonly string[], stack: string | undefined): string[];
|
|
157
188
|
/** Variant for callers that already ran the activation engine (prepare). */
|
|
158
189
|
export declare function runSelectionWithActivation(input: NormalizedInput, activation: ActivationResult, technologiesRaw?: readonly string[], mode?: SelectionMode): SelectionResult;
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
import { getOntologyData } from "../tools/ontology-loader.js";
|
|
23
23
|
import { VALID_CONCERNS, activate, categoriesForConcerns, normalizeInput } from "../tools/prepare-codegen-context.js";
|
|
24
24
|
import { bundlesForChangedFiles } from "../tools/map-review-scope.js";
|
|
25
|
+
import { buildActivationVocabulary } from "./activation-vocabulary.js";
|
|
25
26
|
import { EXPOSURE_CONCERNS as EXPOSURE_ACTIVATION, SENSITIVITY_CONCERNS as SENSITIVITY_ACTIVATION } from "../tools/prepare-codegen-context.js";
|
|
26
27
|
const LEVELS = ["L1", "L2", "L3"];
|
|
27
28
|
/** Concern → the domain chapter(s) whose catalogue it activates (aligned with the
|
|
@@ -155,6 +156,21 @@ export function stackTokensFromVocabulary(stack) {
|
|
|
155
156
|
}
|
|
156
157
|
return [...out].sort();
|
|
157
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* 0.20.0-beta.23 (P0-3, varredura) — tokens de `technologies` que o vocabulário NÃO
|
|
161
|
+
* conhece. Mesma classe do `unknown_concerns` (beta.22): num contrato declarativo o
|
|
162
|
+
* vocabulário é o único canal, e uma gralha custa a activação inteira. Descartar em
|
|
163
|
+
* silêncio é a falha; nomear é o contrato.
|
|
164
|
+
*/
|
|
165
|
+
export function unknownDeclaredTechnologies(technologies) {
|
|
166
|
+
const out = new Set();
|
|
167
|
+
for (const t of technologies) {
|
|
168
|
+
const key = t.trim().toLowerCase();
|
|
169
|
+
if (key.length > 0 && !(key in TECHNOLOGY_TO_CHAPTERS) && key !== SES008_TECHNOLOGY)
|
|
170
|
+
out.add(key);
|
|
171
|
+
}
|
|
172
|
+
return [...out].sort();
|
|
173
|
+
}
|
|
158
174
|
export function normalizeDeclaredTechnologies(technologies, stack) {
|
|
159
175
|
const out = new Set();
|
|
160
176
|
for (const t of technologies) {
|
|
@@ -226,6 +242,11 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
226
242
|
const declarative = mode !== "discover";
|
|
227
243
|
const technologies = declarative ? normalizeDeclaredTechnologies(technologiesRaw, input.stack) : technologiesRaw;
|
|
228
244
|
const declared = declaredActivatorsOf(input, technologies);
|
|
245
|
+
// beta.23 (P0-3): a regra nomeada SES-008 é EFEITO de uma tecnologia declarada.
|
|
246
|
+
// Tem de ser conhecida ANTES da guarda anti-zero — senão a guarda deita fora uma
|
|
247
|
+
// declaração que activa mesmo alguma coisa (era o caso de `technologies:["jwt"]`).
|
|
248
|
+
const ses008Declared = technologies.includes(SES008_TECHNOLOGY);
|
|
249
|
+
const unknownTechnologies = declarative ? unknownDeclaredTechnologies(technologiesRaw) : [];
|
|
229
250
|
const taskRecord = {
|
|
230
251
|
text: input.taskTrimmed,
|
|
231
252
|
role: "recorded_context",
|
|
@@ -248,11 +269,38 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
248
269
|
// Layer 1 — eligibility.
|
|
249
270
|
const baselineEligible = ontology.requirements.filter((r) => r.type === "base" && atLevel(r));
|
|
250
271
|
const domainEligible = ontology.requirements.filter((r) => r.type !== "base" && atLevel(r) && r.source_bundle !== undefined && chapterSet.has(r.source_bundle));
|
|
272
|
+
/**
|
|
273
|
+
* 0.20.0-beta.23 (P0-1) — CONSERVAÇÃO: o MOTOR CEDE ao vocabulário publicado.
|
|
274
|
+
*
|
|
275
|
+
* `domainEligible` exige que o CAPÍTULO do requisito esteja activado. Mas o
|
|
276
|
+
* vocabulário publicado (sbd://toe/activation-vocabulary) promete activar por
|
|
277
|
+
* CATEGORIA: `concerns:["build"]` anuncia CIC+DEV. Os requisitos DEV vivem num
|
|
278
|
+
* capítulo que o concern não activa — e desapareciam de TODAS as bandas, nem
|
|
279
|
+
* seleccionados nem narrowed_out nem excluded_by_level. Silêncio, que é o que
|
|
280
|
+
* este contrato proíbe.
|
|
281
|
+
*
|
|
282
|
+
* Decisão (programme lead, 2026-09-05): a promessa publicada é o contrato; o
|
|
283
|
+
* motor é que cede. Uma categoria DECLARADA torna elegíveis os seus requisitos
|
|
284
|
+
* ao nível, com capítulo activado ou sem ele — e com traço próprio
|
|
285
|
+
* (`declared_category`), para que a inclusão nunca seja anónima.
|
|
286
|
+
*
|
|
287
|
+
* Só no caminho declarativo: em `discover` a activação é inferida de texto e a
|
|
288
|
+
* continuidade histórica do oráculo manda (ver relatório da vaga).
|
|
289
|
+
*/
|
|
290
|
+
const domainIds = new Set(domainEligible.map((r) => r.requirement_id));
|
|
291
|
+
const categoryEligible = declarative
|
|
292
|
+
? ontology.requirements.filter((r) => r.type !== "base" &&
|
|
293
|
+
atLevel(r) &&
|
|
294
|
+
!domainIds.has(r.requirement_id) &&
|
|
295
|
+
activatedCategories.has(r.category))
|
|
296
|
+
: [];
|
|
297
|
+
const categoryEligibleIds = new Set(categoryEligible.map((r) => r.requirement_id));
|
|
251
298
|
const agentsActive = activation.concerns.includes("agents");
|
|
252
299
|
const agentsWave = agentsActive
|
|
253
300
|
? ontology.requirements.filter((r) => r.type !== "base" &&
|
|
254
301
|
atLevel(r) &&
|
|
255
302
|
!domainEligible.includes(r) &&
|
|
303
|
+
!categoryEligibleIds.has(r.requirement_id) &&
|
|
256
304
|
AGENTIC_WAVE_PATTERN.test(`${r.name} ${r.description ?? ""}`))
|
|
257
305
|
: [];
|
|
258
306
|
// `mode: "baseline"` — pedido EXPLÍCITO da baseline do nível (nunca fallback).
|
|
@@ -262,7 +310,7 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
262
310
|
// declarações VÁLIDAS e INERTES: davam selected:[] sem aviso — o mesmo ponto cego
|
|
263
311
|
// do empty_selection_warning noutra roupa. Qualquer caminho que não active nada
|
|
264
312
|
// responde needs_input, e diz QUAIS declarações foram inertes.
|
|
265
|
-
if (mode === "declarative" && activatedCategories.size === 0 && activatedChapters.length === 0) {
|
|
313
|
+
if (mode === "declarative" && activatedCategories.size === 0 && activatedChapters.length === 0 && !ses008Declared) {
|
|
266
314
|
const inert = [];
|
|
267
315
|
if (declared.exposure !== undefined && (EXPOSURE_ACTIVATION[declared.exposure] ?? []).length === 0)
|
|
268
316
|
inert.push(`exposure="${declared.exposure}"`);
|
|
@@ -270,6 +318,14 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
270
318
|
inert.push(`data_sensitivity="${declared.data_sensitivity}"`);
|
|
271
319
|
if (declared.technologies.length === 0 && input.stack)
|
|
272
320
|
inert.push(`stack="${input.stack}" (nenhum token do vocabulário)`);
|
|
321
|
+
// 4ª instância da mesma classe (P0-3, beta.23): `technologies` era o único
|
|
322
|
+
// activador que a guarda nunca nomeava — o utilizador via «nenhum activador
|
|
323
|
+
// DECLARADO» com `declared.technologies` preenchido à frente. Contradição no
|
|
324
|
+
// próprio payload.
|
|
325
|
+
if (unknownTechnologies.length > 0)
|
|
326
|
+
inert.push(`technologies=[${unknownTechnologies.join(", ")}] (fora do vocabulário publicado — valores conhecidos em sbd://toe/activation-vocabulary → technologies)`);
|
|
327
|
+
if (declared.technologies.length > 0)
|
|
328
|
+
inert.push(`technologies=[${declared.technologies.join(", ")}] (do vocabulário, mas não activam capítulo nem categoria a este nível)`);
|
|
273
329
|
// 3ª instância da mesma classe (apanhada pelo cenário TC-F-27): caminhos declarados
|
|
274
330
|
// que não casam nenhum padrão da tabela publicada activam zero — dizê-lo é o que
|
|
275
331
|
// separa «não conheço estes caminhos» de «não há nada a aplicar».
|
|
@@ -295,6 +351,7 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
295
351
|
],
|
|
296
352
|
mode,
|
|
297
353
|
needs_input: buildNeedsInput(input, declared, inert),
|
|
354
|
+
...(unknownTechnologies.length > 0 ? { unknown_technologies: unknownTechnologies } : {}),
|
|
298
355
|
task_record: taskRecord,
|
|
299
356
|
};
|
|
300
357
|
}
|
|
@@ -379,6 +436,18 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
379
436
|
},
|
|
380
437
|
]);
|
|
381
438
|
}
|
|
439
|
+
for (const r of categoryEligible) {
|
|
440
|
+
const entry = concernByCategory.get(r.category);
|
|
441
|
+
pushSelected(r, [
|
|
442
|
+
{
|
|
443
|
+
layer: "declared_category",
|
|
444
|
+
source: "declared_category",
|
|
445
|
+
trigger: entry?.trigger ?? r.category,
|
|
446
|
+
score: 0.9,
|
|
447
|
+
reason: `categoria ${r.category} PROMETIDA pelo vocabulário para o que foi declarado (${entry?.reason ?? "activação declarada"}); capítulo ${r.source_bundle ?? "?"} não activado por contexto, mas a promessa publicada é o contrato`,
|
|
448
|
+
},
|
|
449
|
+
]);
|
|
450
|
+
}
|
|
382
451
|
for (const r of agentsWave) {
|
|
383
452
|
pushSelected(r, [
|
|
384
453
|
{
|
|
@@ -419,13 +488,12 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
419
488
|
if (parked.length === 0)
|
|
420
489
|
narrowedByCategory.delete(r.category);
|
|
421
490
|
}
|
|
422
|
-
if (!baselineEligible.includes(r) && !domainEligible.includes(r))
|
|
491
|
+
if (!baselineEligible.includes(r) && !domainEligible.includes(r) && !categoryEligibleIds.has(r.requirement_id))
|
|
423
492
|
extraEligible += 1;
|
|
424
493
|
}
|
|
425
494
|
}
|
|
426
495
|
// SES-008-por-tecnologia (Author): JWT/user-token signal selects SES-008 at any level.
|
|
427
496
|
let ses008Applied = false;
|
|
428
|
-
const ses008Declared = technologies.includes(SES008_TECHNOLOGY);
|
|
429
497
|
const ses008Triggered = declarative ? ses008Declared : SES008_TECH_PATTERN.test(input.task ?? "");
|
|
430
498
|
// P1-E (0.20.0-beta.22): a regra é PUBLICADA no vocabulário — tem de deixar rasto,
|
|
431
499
|
// senão SES-008 entra e o auditor não distingue a regra da activação por exposure.
|
|
@@ -462,7 +530,7 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
462
530
|
if (parked.length === 0)
|
|
463
531
|
narrowedByCategory.delete("SES");
|
|
464
532
|
}
|
|
465
|
-
if (!baselineEligible.includes(r) && !domainEligible.includes(r))
|
|
533
|
+
if (!baselineEligible.includes(r) && !domainEligible.includes(r) && !categoryEligibleIds.has(r.requirement_id))
|
|
466
534
|
extraEligible += 1;
|
|
467
535
|
}
|
|
468
536
|
}
|
|
@@ -522,7 +590,10 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
522
590
|
for (const r of ontology.requirements) {
|
|
523
591
|
if (atLevel(r) || selectedIds.has(r.requirement_id))
|
|
524
592
|
continue;
|
|
525
|
-
const inScope = r.type === "base" ||
|
|
593
|
+
const inScope = r.type === "base" ||
|
|
594
|
+
(r.source_bundle !== undefined && chapterSet.has(r.source_bundle)) ||
|
|
595
|
+
// beta.23: categoria declarada mas requisito fora do nível — banda, não silêncio.
|
|
596
|
+
(declarative && activatedCategories.has(r.category));
|
|
526
597
|
if (!inScope)
|
|
527
598
|
continue;
|
|
528
599
|
const list = excludedByCategory.get(r.category) ?? [];
|
|
@@ -562,7 +633,7 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
562
633
|
const ni = buildNeedsInput(input, declared, []);
|
|
563
634
|
return {
|
|
564
635
|
risk_level: level,
|
|
565
|
-
eligible_count: baselineEligible.length + domainEligible.length,
|
|
636
|
+
eligible_count: baselineEligible.length + domainEligible.length + categoryEligible.length,
|
|
566
637
|
selected: [],
|
|
567
638
|
narrowed_out: [],
|
|
568
639
|
excluded_by_level,
|
|
@@ -592,9 +663,19 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
592
663
|
}
|
|
593
664
|
: {})
|
|
594
665
|
},
|
|
666
|
+
...(unknownTechnologies.length > 0 ? { unknown_technologies: unknownTechnologies } : {}),
|
|
595
667
|
task_record: taskRecord,
|
|
596
668
|
};
|
|
597
669
|
}
|
|
670
|
+
/**
|
|
671
|
+
* Banda de ausência (beta.24). Um capítulo entra aqui quando tem requisitos ao nível e
|
|
672
|
+
* NENHUM deles aparece em selected/narrowed_out/excluded_by_level — isto é, quando
|
|
673
|
+
* nada do que foi declarado lhe tocou. O caminho de recuperação é DERIVADO do
|
|
674
|
+
* vocabulário (concern > tecnologia > caminho, por esta ordem de custo para quem
|
|
675
|
+
* declara); quando o vocabulário publicado não tem forma de activar o capítulo,
|
|
676
|
+
* diz-se isso em vez de se inventar um caminho.
|
|
677
|
+
*/
|
|
678
|
+
const out_of_scope_chapters = declarative ? buildOutOfScopeChapters(level, selected, narrowed_out, excluded_by_level) : undefined;
|
|
598
679
|
const notes = [];
|
|
599
680
|
if (r1Added > 0) {
|
|
600
681
|
notes.push(`${R1_RULE_ID}: ${r1Added} requisitos do principal não-humano seleccionados por regra nomeada (decisão pós-P2 2026-08-31).`);
|
|
@@ -610,7 +691,7 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
610
691
|
}
|
|
611
692
|
return {
|
|
612
693
|
risk_level: level,
|
|
613
|
-
eligible_count: baselineEligible.length + domainEligible.length + agentsWave.length + extraEligible,
|
|
694
|
+
eligible_count: baselineEligible.length + domainEligible.length + categoryEligible.length + agentsWave.length + extraEligible,
|
|
614
695
|
selected,
|
|
615
696
|
narrowed_out,
|
|
616
697
|
excluded_by_level,
|
|
@@ -623,7 +704,81 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
623
704
|
input,
|
|
624
705
|
notes,
|
|
625
706
|
mode,
|
|
707
|
+
...(unknownTechnologies.length > 0 ? { unknown_technologies: unknownTechnologies } : {}),
|
|
708
|
+
...(out_of_scope_chapters && out_of_scope_chapters.count > 0 ? { out_of_scope_chapters } : {}),
|
|
626
709
|
task_record: taskRecord,
|
|
627
710
|
};
|
|
628
711
|
}
|
|
712
|
+
/**
|
|
713
|
+
* Como se activa um capítulo, dito com o vocabulário publicado. Ordem de preferência:
|
|
714
|
+
* o concern (uma palavra), depois a tecnologia, depois o caminho — do mais barato ao
|
|
715
|
+
* mais específico para quem declara.
|
|
716
|
+
*/
|
|
717
|
+
function activationHintFor(chapter, categories = []) {
|
|
718
|
+
const vocab = buildActivationVocabulary();
|
|
719
|
+
if (categories.length > 0) {
|
|
720
|
+
const byCategory = vocab.concerns.values
|
|
721
|
+
.filter((c) => c.activates_categories.some((cat) => categories.includes(cat)))
|
|
722
|
+
.map((c) => String(c.value));
|
|
723
|
+
if (byCategory.length > 0)
|
|
724
|
+
return `concerns=[${byCategory.slice(0, 2).map((c) => `"${c}"`).join(", ")}]`;
|
|
725
|
+
}
|
|
726
|
+
const concerns = vocab.concerns.values.filter((c) => c.activates_chapters.includes(chapter)).map((c) => String(c.value));
|
|
727
|
+
if (concerns.length > 0)
|
|
728
|
+
return `concerns=[${concerns.slice(0, 2).map((c) => `"${c}"`).join(", ")}]`;
|
|
729
|
+
const techs = vocab.technologies.values.filter((t) => t.activates_chapters.includes(chapter)).map((t) => String(t.value));
|
|
730
|
+
if (techs.length > 0)
|
|
731
|
+
return `technologies=[${techs.slice(0, 2).map((t) => `"${t}"`).join(", ")}]`;
|
|
732
|
+
// Os padrões publicados são strings de EXIBIÇÃO: alguns listam alternativas separadas
|
|
733
|
+
// por " / ". Para a dica ser copiável escolhe-se o padrão mais específico (o que activa
|
|
734
|
+
// menos capítulos) e só a primeira alternativa.
|
|
735
|
+
const paths = vocab.changed_files.patterns
|
|
736
|
+
.filter((pattern) => pattern.activates_chapters.includes(chapter))
|
|
737
|
+
.sort((a, b) => a.activates_chapters.length - b.activates_chapters.length);
|
|
738
|
+
const first = paths[0];
|
|
739
|
+
if (first !== undefined)
|
|
740
|
+
return `changed_files=["${first.pattern.split(" / ")[0].trim()}"]`;
|
|
741
|
+
return "SEM ACTIVADOR PUBLICADO — nenhum concern, tecnologia ou padrão de caminho do vocabulário activa este capítulo";
|
|
742
|
+
}
|
|
743
|
+
function buildOutOfScopeChapters(level, selected, narrowedOut, excludedByLevel) {
|
|
744
|
+
const ontology = getOntologyData();
|
|
745
|
+
const banded = new Set([
|
|
746
|
+
...selected.map((x) => x.requirement_id),
|
|
747
|
+
...narrowedOut.flatMap((g) => g.requirement_ids),
|
|
748
|
+
...excludedByLevel.flatMap((g) => g.requirement_ids),
|
|
749
|
+
]);
|
|
750
|
+
const byChapter = new Map();
|
|
751
|
+
for (const r of ontology.requirements) {
|
|
752
|
+
if (r.source_bundle === undefined)
|
|
753
|
+
continue;
|
|
754
|
+
if (r.applicable_levels?.[level] !== true)
|
|
755
|
+
continue;
|
|
756
|
+
const list = byChapter.get(r.source_bundle) ?? [];
|
|
757
|
+
list.push(r);
|
|
758
|
+
byChapter.set(r.source_bundle, list);
|
|
759
|
+
}
|
|
760
|
+
const chapters = [];
|
|
761
|
+
let outOfScope = 0;
|
|
762
|
+
for (const [chapter, reqs] of [...byChapter.entries()].sort(([a], [b]) => a.localeCompare(b))) {
|
|
763
|
+
const missing = reqs.filter((r) => !banded.has(r.requirement_id));
|
|
764
|
+
if (missing.length === 0)
|
|
765
|
+
continue;
|
|
766
|
+
const categories = [...new Set(missing.map((r) => r.category))];
|
|
767
|
+
chapters.push({
|
|
768
|
+
chapter,
|
|
769
|
+
at_level: reqs.length,
|
|
770
|
+
out_of_scope: missing.length,
|
|
771
|
+
activate_with: activationHintFor(chapter, categories),
|
|
772
|
+
});
|
|
773
|
+
outOfScope += missing.length;
|
|
774
|
+
}
|
|
775
|
+
return {
|
|
776
|
+
scope_note: `ÂMBITO: esta resposta cobre a baseline do cap. 02 a ${level}, os capítulos activados pelo que declaraste e as categorias que o vocabulário promete. ` +
|
|
777
|
+
`Fora dele ficaram ${outOfScope} requisitos em ${chapters.length} capítulos — NÃO são «não aplicáveis», são não-perguntados. ` +
|
|
778
|
+
"«Nada falta sem aviso» vale para o universo, não só para a baseline: ficam aqui por contagem, com o caminho para os trazer.",
|
|
779
|
+
count: chapters.length,
|
|
780
|
+
requirements_out_of_scope: outOfScope,
|
|
781
|
+
chapters,
|
|
782
|
+
};
|
|
783
|
+
}
|
|
629
784
|
//# sourceMappingURL=selection.js.map
|
|
@@ -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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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* server-surface — a superfície MCP declarada num só sítio.
|
|
3
|
+
*
|
|
4
|
+
* 0.20.0-beta.24: o `agent-guide` deixou de a repetir à mão. As tabelas de recursos e
|
|
5
|
+
* prompts do guia são GERADAS daqui, e a suite guarda que não divergem. Antes desta
|
|
6
|
+
* vaga havia duas listas: esta (a verdadeira) e a do guia, escrita à mão — a do guia
|
|
7
|
+
* não tinha `sbd://toe/activation-vocabulary` (o recurso que o próprio guia manda ler
|
|
8
|
+
* no passo 1) nem o prompt `prepare_grounded_codegen`.
|
|
9
|
+
*/
|
|
10
|
+
/** The single source of the resource surface — resources/list AND the
|
|
11
|
+
* read_sbd_toe_resource tool derive from THIS list (never hardcoded twice). */
|
|
12
|
+
export declare const RESOURCE_CATALOG: readonly [{
|
|
13
|
+
readonly uri: "sbd://toe/agent-guide";
|
|
14
|
+
readonly name: "SbD-ToE Agent Guide";
|
|
15
|
+
readonly description: "ENTRY POINT — READ THIS FIRST. Operational guide for AI agents: SbD-ToE identity (Security by Design — Theory of Everything), CONSULT/GUIDE modes, routing by SDLC phase and domain, tool selection, epistemic standards, chapter map, risk levels, identifier conventions.";
|
|
16
|
+
readonly mimeType: "text/markdown";
|
|
17
|
+
}, {
|
|
18
|
+
readonly uri: "sbd://toe/chapter-applicability/{riskLevel}";
|
|
19
|
+
readonly name: "SbD-ToE Chapter Applicability";
|
|
20
|
+
readonly description: "Graduated chapter applicability for a risk level (L1/L2/L3): presence always, demand scales — derived from authored assignment proportionality (0.14.0).";
|
|
21
|
+
readonly mimeType: "application/json";
|
|
22
|
+
}, {
|
|
23
|
+
readonly uri: "sbd://toe/activation-vocabulary";
|
|
24
|
+
readonly name: "SbD-ToE Activation Vocabulary";
|
|
25
|
+
readonly description: "DECLARATIVE-FIRST (0.20-beta): the CLOSED vocabulary this server accepts and what each value activates — concerns, exposure, data_sensitivity, technologies, changed_files path table, roles, phases, risk levels. Derived from the served bundle and the engine's own tables, never hand-written. Read it, map your reading of the request onto these values, and DECLARE them: the server answers the declared, it does not interpret prose.";
|
|
26
|
+
readonly mimeType: "application/json";
|
|
27
|
+
}, {
|
|
28
|
+
readonly uri: "sbd://toe/index-compact";
|
|
29
|
+
readonly name: "SbD-ToE Index Compact";
|
|
30
|
+
readonly description: "Compact JSON index of the manual, DERIVED at read-time from the served bundle (graduated demand_by_level; no minLevel). Injectable into system prompt to eliminate exploratory discovery.";
|
|
31
|
+
readonly mimeType: "application/json";
|
|
32
|
+
}, {
|
|
33
|
+
readonly uri: "sbd://toe/ontology";
|
|
34
|
+
readonly name: "SbD-ToE Ontology";
|
|
35
|
+
readonly description: string;
|
|
36
|
+
readonly mimeType: "application/yaml";
|
|
37
|
+
}, {
|
|
38
|
+
readonly uri: "sbd://toe/skill/{role}";
|
|
39
|
+
readonly name: "SbD-ToE Role Skill";
|
|
40
|
+
readonly description: string;
|
|
41
|
+
readonly mimeType: "text/markdown";
|
|
42
|
+
}, {
|
|
43
|
+
readonly uri: "sbd://toe/subagent/{role}";
|
|
44
|
+
readonly name: "SbD-ToE Role Sub-agent Definition";
|
|
45
|
+
readonly description: string;
|
|
46
|
+
readonly mimeType: "text/markdown";
|
|
47
|
+
}, {
|
|
48
|
+
readonly uri: "sbd://toe/codegen-instructions/{mode}";
|
|
49
|
+
readonly name: "SbD-ToE Codegen Instructions (per mode)";
|
|
50
|
+
readonly description: string;
|
|
51
|
+
readonly mimeType: "application/json";
|
|
52
|
+
}, {
|
|
53
|
+
readonly uri: "sbd://toe/version";
|
|
54
|
+
readonly name: "SbD-ToE MCP Version";
|
|
55
|
+
readonly description: "Version of the running SbD-ToE MCP server (name, version, description) plus the provenance of the served knowledge: manual {version, commit}, kg {release_tag, substrate_version, consumer_contract_version} and ontology {tag, commit}, read from the consumed-bundle pin.";
|
|
56
|
+
readonly mimeType: "application/json";
|
|
57
|
+
}, {
|
|
58
|
+
readonly uri: "sbd://toe/grounded-codegen-guide";
|
|
59
|
+
readonly name: "SbD-ToE Grounded Codegen Guide";
|
|
60
|
+
readonly description: string;
|
|
61
|
+
readonly mimeType: "text/markdown";
|
|
62
|
+
}];
|
|
63
|
+
/**
|
|
64
|
+
* The single source of the PROMPT surface — prompts/list derives from THIS list, and so
|
|
65
|
+
* does the agent-guide's prompt table (0.20.0-beta.24). The hand-written table in the
|
|
66
|
+
* guide listed 2 of the 3 prompts.
|
|
67
|
+
*/
|
|
68
|
+
export declare const PROMPT_CATALOG: ReadonlyArray<Record<string, unknown>>;
|