@shiftleftpt/sbd-toe-mcp 0.20.0-beta.40 → 0.20.0-beta.42

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.
Files changed (37) hide show
  1. package/dist/index.js +32 -2
  2. package/dist/index.js.map +1 -1
  3. package/dist/serving/declared-absences.d.ts +12 -1
  4. package/dist/serving/declared-absences.js +13 -1
  5. package/dist/serving/declared-absences.js.map +1 -1
  6. package/dist/serving/protocol-envelope.d.ts +16 -0
  7. package/dist/serving/protocol-envelope.js +19 -0
  8. package/dist/serving/protocol-envelope.js.map +1 -1
  9. package/dist/tools/assess-implementation.js +18 -0
  10. package/dist/tools/assess-implementation.js.map +1 -1
  11. package/dist/tools/generate-sbd-toe-skill.js +15 -0
  12. package/dist/tools/generate-sbd-toe-skill.js.map +1 -1
  13. package/dist/tools/get-chapter-implementation-checklist.js +14 -1
  14. package/dist/tools/get-chapter-implementation-checklist.js.map +1 -1
  15. package/dist/tools/get-guide-by-role.js +84 -1
  16. package/dist/tools/get-guide-by-role.js.map +1 -1
  17. package/dist/tools/get-macro-processes.js +16 -4
  18. package/dist/tools/get-macro-processes.js.map +1 -1
  19. package/dist/tools/map-regulatory-activation.js +9 -1
  20. package/dist/tools/map-regulatory-activation.js.map +1 -1
  21. package/dist/tools/map-review-scope.d.ts +2 -0
  22. package/dist/tools/map-review-scope.js +9 -1
  23. package/dist/tools/map-review-scope.js.map +1 -1
  24. package/dist/tools/plan-repo-governance.d.ts +2 -0
  25. package/dist/tools/plan-repo-governance.js +3 -0
  26. package/dist/tools/plan-repo-governance.js.map +1 -1
  27. package/dist/tools/prepare-codegen-context.d.ts +6 -2
  28. package/dist/tools/prepare-codegen-context.js +14 -0
  29. package/dist/tools/prepare-codegen-context.js.map +1 -1
  30. package/dist/tools/resolve-entities.js +31 -2
  31. package/dist/tools/resolve-entities.js.map +1 -1
  32. package/dist/tools/structured-tools.js +107 -10
  33. package/dist/tools/structured-tools.js.map +1 -1
  34. package/dist/tools/trace-graph.d.ts +8 -0
  35. package/dist/tools/trace-graph.js +58 -0
  36. package/dist/tools/trace-graph.js.map +1 -1
  37. package/package.json +3 -2
@@ -2,7 +2,8 @@ import { CANONICAL_ANCHOR, CURATED_TITLES, GRADUATED_SEMANTICS, demandByLevel, g
2
2
  import { readFileSync } from "node:fs";
3
3
  import { retrievePublishedContext } from "../backend/semantic-index-gateway.js";
4
4
  import { resolveAppPath } from "../config.js";
5
- import { getOntologyData } from "./ontology-loader.js";
5
+ import { getOntologyData, resolveRoleId } from "./ontology-loader.js";
6
+ import { structuralProvenance } from "../serving/protocol-envelope.js";
6
7
  import { describeRequirementCitation, describeRequirementGap } from "../serving/requirement-id.js";
7
8
  import { listChaptersAffordances, queryEntitiesAffordances, chapterBriefAffordances, mapApplicabilityAffordances } from "../serving/affordances.js";
8
9
  const VALID_RISK_LEVELS = ["L1", "L2", "L3"];
@@ -69,7 +70,12 @@ function summarizeChunkText(text) {
69
70
  return compact.length > 0 ? compact : undefined;
70
71
  }
71
72
  export function handleListSbdToeChapters(args) {
72
- return { ...handleListSbdToeChaptersCore(args), next: listChaptersAffordances() };
73
+ return {
74
+ provenance: structuralProvenance("chapter_catalogue_projection", "indexes/bundle_catalog.jsonl + runtime/assignments.json", "Catálogo dos capítulos com aplicabilidade graduada e `demand_by_level` derivada dos assignments " +
75
+ "autorados. Títulos legíveis do catálogo publicado; nada é inventado."),
76
+ ...handleListSbdToeChaptersCore(args),
77
+ next: listChaptersAffordances()
78
+ };
73
79
  }
74
80
  function handleListSbdToeChaptersCore(args) {
75
81
  const riskLevelArg = args["riskLevel"];
@@ -129,7 +135,12 @@ export async function handleQuerySbdToeEntities(args) {
129
135
  if (citation)
130
136
  core["citation_note"] = citation;
131
137
  }
132
- return { ...core, next: queryEntitiesAffordances() };
138
+ return {
139
+ provenance: structuralProvenance("entity_query_projection", "runtime/* + indexes/* (bundle publicado)", "Resolução semântica de entidades: id exacto quando o `query` é um id publicado, senão pesquisa " +
140
+ "sobre o bundle. É RECUPERAÇÃO, não decisão de âmbito — o `match` diz por que via foi resolvido."),
141
+ ...core,
142
+ next: queryEntitiesAffordances()
143
+ };
133
144
  }
134
145
  async function handleQuerySbdToeEntitiesCore(args) {
135
146
  const query = args["query"];
@@ -257,7 +268,12 @@ export function handleGetSbdToeChapterBrief(args) {
257
268
  const chapterId = typeof args["chapterId"] === "string" ? args["chapterId"] : undefined;
258
269
  const briefCore = handleGetSbdToeChapterBriefCore(args);
259
270
  // 0.15.1 (P0-7b): nunca sugerir tools com o id que ESTA resposta acabou de invalidar.
260
- return { ...briefCore, next: chapterBriefAffordances(briefCore["found"] === false ? undefined : chapterId) };
271
+ return {
272
+ provenance: structuralProvenance("chapter_brief_projection", "runtime/assignments.json + runtime/artifact_requirements.json + indexes/mcp_chunks.jsonl", "Retrato do capítulo: papéis e fases derivados dos assignments autorados, artefactos separados " +
273
+ "entre os que o capítulo DEFINE e os que apenas cita, objectivo resumido do chunk de intro."),
274
+ ...briefCore,
275
+ next: chapterBriefAffordances(briefCore["found"] === false ? undefined : chapterId)
276
+ };
261
277
  }
262
278
  function handleGetSbdToeChapterBriefCore(args) {
263
279
  const chapterId = args["chapterId"];
@@ -438,7 +454,12 @@ function buildActivatedBundles(riskLevel, technologies) {
438
454
  }
439
455
  export function handleMapSbdToeApplicability(args) {
440
456
  const riskLevel = typeof args["riskLevel"] === "string" ? args["riskLevel"] : undefined;
441
- return { ...handleMapSbdToeApplicabilityCore(args), next: mapApplicabilityAffordances(riskLevel) };
457
+ return {
458
+ provenance: structuralProvenance("graduated_applicability_projection", "runtime/assignments.json (proportionality) + indexes/bundle_catalog.jsonl", "Aplicabilidade GRADUADA: presença em todos os capítulos, exigência derivada da proporcionalidade " +
459
+ "dos assignments autorados por nível. O campo estático de nível mínimo morreu na 0.14.0."),
460
+ ...handleMapSbdToeApplicabilityCore(args),
461
+ next: mapApplicabilityAffordances(riskLevel)
462
+ };
442
463
  }
443
464
  function handleMapSbdToeApplicabilityCore(args) {
444
465
  const riskLevelArg = args["riskLevel"];
@@ -469,20 +490,63 @@ function handleMapSbdToeApplicabilityCore(args) {
469
490
  }
470
491
  technologies = technologiesArg.filter(isValidTechnology);
471
492
  }
472
- // Validate optional projectRole allowlist
493
+ /*
494
+ * 0.20.0-beta.41 — DOIS VOCABULÁRIOS DE PAPEL, reconciliados pela fonte publicada.
495
+ *
496
+ * Esta tool tinha um enum próprio de 5 valores — developer · architect · security ·
497
+ * devops · manager — DISJUNTO dos 13 papéis canónicos. Só o `developer` coincidia por
498
+ * acaso: os outros quatro devolviam `user_stories: []` nos 15 capítulos, em silêncio,
499
+ * como se o papel não tivesse nada a fazer.
500
+ *
501
+ * O bundle PUBLICA aliases (`roles.json`), e o `resolveRoleId` já os lê — esta tool é que
502
+ * não os usava. Passa a aceitar os canónicos e os aliases publicados, e o legado resolve-se
503
+ * por eles: `devops` → `devops-sre` é resolução, não invenção. Onde NÃO há alias publicado
504
+ * (`architect`, `security`, `manager`), o servidor **não inventa a correspondência** —
505
+ * declara que o valor não é um papel do vocabulário e mostra os que existem.
506
+ */
473
507
  const projectRoleArg = args["projectRole"];
474
- if (projectRoleArg !== undefined && !isValidProjectRole(projectRoleArg)) {
508
+ const ontologyRoles = getOntologyData().roles ?? [];
509
+ const requestedRole = typeof projectRoleArg === "string" ? projectRoleArg : undefined;
510
+ const resolvedRole = requestedRole !== undefined ? resolveRoleId(requestedRole, ontologyRoles) : undefined;
511
+ if (projectRoleArg !== undefined && resolvedRole === undefined && !isValidProjectRole(projectRoleArg)) {
512
+ const canonical = ontologyRoles.map((r) => r.role_id).sort();
475
513
  const err = {
476
514
  code: -32602,
477
- message: `Valor inválido em "projectRole": "${String(projectRoleArg)}". Valores permitidos: ${VALID_PROJECT_ROLES.join(", ")}.`,
478
- data: { invalidValue: projectRoleArg }
515
+ message: `Valor inválido em "projectRole": "${String(projectRoleArg)}". Papéis canónicos: ${canonical.join(", ")} (aliases publicados também são aceites).`,
516
+ data: { invalidValue: projectRoleArg, canonical_roles: canonical }
479
517
  };
480
518
  throw Object.assign(new Error(err.message), { rpcError: err });
481
519
  }
482
520
  // Ciclo 0.14.0 (decisão do Author): aplicabilidade GRADUADA — presença sempre,
483
521
  // exigência derivada dos assignments autorados; active/excluded binários morreram.
484
- const projectRoleForView = typeof args["projectRole"] === "string" ? args["projectRole"] : undefined;
522
+ const projectRoleForView = resolvedRole ?? (typeof projectRoleArg === "string" ? projectRoleArg : undefined);
485
523
  const chapters = gradedChapters(riskLevel, projectRoleForView);
524
+ /**
525
+ * A banda do vocabulário: como o que pediste foi lido. Só sai quando pediste um papel —
526
+ * e sai SEMPRE que pediste, resolvido ou não, porque «foi resolvido para outro id» é
527
+ * informação tanto como «não é um papel deste vocabulário».
528
+ */
529
+ const role_vocabulary = requestedRole === undefined
530
+ ? undefined
531
+ : {
532
+ requested: requestedRole,
533
+ resolved_to: resolvedRole ?? null,
534
+ resolution: resolvedRole === undefined
535
+ ? "unresolved"
536
+ : resolvedRole === requestedRole
537
+ ? "canonical"
538
+ : "published_alias",
539
+ canonical_roles: ontologyRoles.map((r) => r.role_id).sort(),
540
+ note: resolvedRole === undefined
541
+ ? `\`${requestedRole}\` é um valor LEGADO desta tool e **não é um papel do vocabulário publicado** — ` +
542
+ "não tem alias em `roles.json`, e o servidor não inventa a correspondência. A vista por papel vem " +
543
+ "VAZIA por isso, e não porque o papel não tenha responsabilidades. Escolhe um dos canónicos acima " +
544
+ "(ou um alias publicado) para a obteres."
545
+ : resolvedRole === requestedRole
546
+ ? "papel canónico, usado tal como o pediste."
547
+ : `resolvido pelo ALIAS publicado em \`roles.json\`: \`${requestedRole}\` → \`${resolvedRole}\`. ` +
548
+ "A resolução vem da fonte, não de uma tabela desta tool."
549
+ };
486
550
  const activatedBundles = buildActivatedBundles(riskLevel, technologies);
487
551
  // conditional = chapters activated by the provided CONTEXT (technologies),
488
552
  // beyond the risk baseline. Previously hardcoded [] (a dead field while the
@@ -503,10 +567,43 @@ function handleMapSbdToeApplicabilityCore(args) {
503
567
  conditional.push({ chapterId: bundle.chapterId, reason: bundle.reason });
504
568
  }
505
569
  }
570
+ /**
571
+ * 0.20.0-beta.41 — BANDA POR RESULTADO VAZIO (C1).
572
+ *
573
+ * A maquinaria de declaração estava indexada a VALORES não suportados, não a RESULTADOS
574
+ * vazios: um papel que a tool aceita mas para o qual não há uma única user story sai com
575
+ * 15 vistas vazias e nenhuma palavra. Passa a haver banda — e ela distingue as duas causas,
576
+ * que pedem reacções diferentes: **vocabulário** (pediste algo que não é um papel) ou
577
+ * **combinação sem resultados** (o papel existe e este corte não devolve nada).
578
+ */
579
+ const roleStories = requestedRole === undefined
580
+ ? 0
581
+ : chapters.reduce((acc, c) => acc + ((c.role_view?.user_stories ?? []).length), 0);
582
+ const empty_role_view = requestedRole !== undefined && roleStories === 0
583
+ ? {
584
+ requested_role: requestedRole,
585
+ ...(resolvedRole !== undefined ? { resolved_to: resolvedRole } : {}),
586
+ user_stories: 0,
587
+ chapters_examined: chapters.length,
588
+ cause: resolvedRole === undefined ? "unresolved_vocabulary" : "no_results_for_combination",
589
+ note: resolvedRole === undefined
590
+ ? "VAZIO POR VOCABULÁRIO: o valor pedido não é um papel publicado, e por isso não há vista " +
591
+ "por papel. Vê `role_vocabulary.canonical_roles`. **Não concluas que o papel não tem " +
592
+ "responsabilidades** — conclui que não é este o nome dele."
593
+ : "VAZIO POR COMBINAÇÃO: o papel é canónico e o bundle não publica user stories para ele " +
594
+ `ao nível \`${riskLevel}\`. **Não é ausência de responsabilidades — é ausência de MAPEAMENTO ` +
595
+ "nesta superfície.** Para o que o Manual exige nesta área usa `select_sbd_toe_requirements`.",
596
+ reach_with: resolvedRole === undefined
597
+ ? `map_sbd_toe_applicability(riskLevel="${riskLevel}", projectRole="developer")`
598
+ : `get_guide_by_role(risk_level="${riskLevel}", role="${resolvedRole}")`
599
+ }
600
+ : undefined;
506
601
  return {
507
602
  riskLevel,
508
603
  semantics: GRADUATED_SEMANTICS,
509
604
  canonical_anchor: CANONICAL_ANCHOR,
605
+ ...(role_vocabulary ? { role_vocabulary } : {}),
606
+ ...(empty_role_view ? { empty_role_view } : {}),
510
607
  chapters,
511
608
  conditional,
512
609
  activatedBundles
@@ -1 +1 @@
1
- {"version":3,"file":"structured-tools.js","sourceRoot":"","sources":["../../src/tools/structured-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structured-tools.js","sourceRoot":"","sources":["../../src/tools/structured-tools.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,14 @@ export type GraphLens = "slice_implementation" | "objective_realization" | "mech
2
2
  export interface TraceGraphResult {
3
3
  lens: GraphLens;
4
4
  anchor: string | null;
5
+ /** 0.20.0-beta.42 — porque é que a travessia veio vazia, e que âncoras a lente aceita. */
6
+ empty_traversal?: Record<string, unknown>;
7
+ next?: {
8
+ intent: string;
9
+ tool: string;
10
+ with: string;
11
+ kind: string;
12
+ }[];
5
13
  rows: Record<string, string | undefined>[];
6
14
  total: number;
7
15
  page: number;
@@ -39,6 +39,15 @@ const COLUMNS = {
39
39
  };
40
40
  /** Columns that are SPARQL literals (kept verbatim); all others are entity IRIs → idFromIri. */
41
41
  const LITERAL_COLUMNS = new Set(["kind"]);
42
+ /**
43
+ * 0.20.0-beta.42 — a coluna por onde CADA lente ancora. Sem isto, uma âncora que não é do
44
+ * tipo da lente (um id de requisito numa lente de slices) devolvia 0 linhas em silêncio.
45
+ */
46
+ const ANCHOR_COLUMN = {
47
+ slice_implementation: "slice",
48
+ objective_realization: "objective",
49
+ mechanism_provenance: "target",
50
+ };
42
51
  const MAX_PAGE_SIZE = 200;
43
52
  export function handleTraceGraph(args) {
44
53
  const lens = args["lens"];
@@ -63,10 +72,45 @@ export function handleTraceGraph(args) {
63
72
  }
64
73
  return out;
65
74
  });
75
+ /**
76
+ * 0.20.0-beta.42 — NUNCA-SILÊNCIO nesta superfície também (célula `never_silent` da matriz).
77
+ *
78
+ * Era a classe da b.41 numa superfície que ficou de fora — exactamente o padrão que o
79
+ * auditor nomeou: «a classe é fechada onde o achado foi reportado e não é varrida às
80
+ * superfícies irmãs». Uma âncora do tipo errado (um id de requisito numa lente de slices)
81
+ * devolvia `rows: [], total: 0` e mais nada; o cenário TC-G-02 dava-o por declarado porque
82
+ * a âncora vinha ecoada e havia `provenance.note` — uma fasquia baixa que a matriz subiu.
83
+ *
84
+ * As âncoras válidas DERIVAM-SE do grafo: é a coluna de ancoragem da mesma lente sem
85
+ * filtro. Não há lista à mão, e uma projecção nova traz as suas âncoras sozinha.
86
+ */
87
+ const emptyAnchored = anchor !== null && result.total === 0
88
+ ? (() => {
89
+ const column = ANCHOR_COLUMN[l];
90
+ const all = query(LENSES[l](), { page: 0, pageSize: MAX_PAGE_SIZE });
91
+ const valid = [...new Set(all.rows.map((raw) => idFromIri(String(raw[column] ?? ""))).filter((x) => x.length > 0))].sort();
92
+ return {
93
+ requested_anchor: anchor,
94
+ anchor_column: column,
95
+ reason: valid.includes(anchor) ? "no_rows_for_anchor" : "anchor_not_in_lens",
96
+ note: valid.includes(anchor)
97
+ ? `\`${anchor}\` É uma âncora desta lente e não tem travessia publicada — o vazio é do CONTEÚDO, não do pedido.`
98
+ : `\`${anchor}\` **não é uma âncora desta lente**: \`${l}\` ancora em \`${column}\`. Não é «não há travessia» — ` +
99
+ "é «pediste por um eixo que esta lente não usa». As âncoras válidas vêm abaixo, derivadas do próprio grafo.",
100
+ valid_anchors: {
101
+ total: valid.length,
102
+ sample: valid.slice(0, 12),
103
+ ...(valid.length > 12 ? { note: `amostra de ${valid.length}; corre a lente sem \`anchor\` para as ver todas` } : {})
104
+ },
105
+ reach_with: `trace_sbd_toe_graph(lens="${l}"${valid.length > 0 ? `, anchor="${valid[0]}"` : ""})`
106
+ };
107
+ })()
108
+ : undefined;
66
109
  return {
67
110
  lens: l,
68
111
  anchor,
69
112
  rows,
113
+ ...(emptyAnchored ? { empty_traversal: emptyAnchored } : {}),
70
114
  total: result.total,
71
115
  page: result.page,
72
116
  pageSize: result.pageSize,
@@ -79,6 +123,20 @@ export function handleTraceGraph(args) {
79
123
  "Deterministic (ORDER BY) and coverage-preserving (total + cursor). " +
80
124
  "IRIs are an internal projection detail; output is entity ids.",
81
125
  },
126
+ /*
127
+ * 0.20.0-beta.42 — a superfície navegava e não dizia para onde se podia ir a seguir
128
+ * (célula `next` da matriz). Quando a travessia vem vazia, o passo seguinte é a
129
+ * recuperação; quando traz linhas, é resolver as entidades que ela nomeia.
130
+ */
131
+ next: emptyAnchored
132
+ ? [
133
+ { intent: "A mesma lente sem âncora, para ver o que ela cobre", tool: "trace_sbd_toe_graph", with: `lens="${l}"`, kind: "structural" },
134
+ { intent: "Uma âncora válida desta lente", tool: "trace_sbd_toe_graph", with: String(emptyAnchored.reach_with).replace(/^trace_sbd_toe_graph\(|\)$/g, ""), kind: "structural" }
135
+ ]
136
+ : [
137
+ { intent: "Resolver as entidades que a travessia nomeia", tool: "resolve_entities", with: 'record_type="practice", filters', kind: "structural" },
138
+ { intent: "Outra lente sobre o mesmo grafo", tool: "trace_sbd_toe_graph", with: `lens="${l === "slice_implementation" ? "mechanism_provenance" : "slice_implementation"}"`, kind: "structural" }
139
+ ],
82
140
  };
83
141
  }
84
142
  //# sourceMappingURL=trace-graph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace-graph.js","sourceRoot":"","sources":["../../src/tools/trace-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trace-graph.js","sourceRoot":"","sources":["../../src/tools/trace-graph.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.40",
3
+ "version": "0.20.0-beta.42",
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": [
@@ -100,7 +100,8 @@
100
100
  "test:coverage": "vitest run --coverage",
101
101
  "eval:acceptance": "node scripts/run-acceptance-scenarios.mjs",
102
102
  "eval:axis-h": "node scripts/run-axis-h-selection.mjs",
103
- "eval:axis-i": "node scripts/run-axis-i-readings.mjs"
103
+ "eval:axis-i": "node scripts/run-axis-i-readings.mjs",
104
+ "gate:band-matrix": "node scripts/band-surface-matrix.mjs"
104
105
  },
105
106
  "engines": {
106
107
  "node": ">=20.9.0"