@shiftleftpt/sbd-toe-mcp 0.20.0-beta.47 → 0.20.0-beta.49
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 +15 -13
- package/data/entities/proportionality.json +3 -3
- package/data/entities/sdlc_integration.json +2192 -176
- package/data/publish/indexes/canonical_chunks.jsonl +4907 -4907
- package/data/publish/indexes/chunk_entity_mentions.jsonl +64 -4
- package/data/publish/indexes/chunk_relation_hints.jsonl +5 -0
- package/data/publish/indexes/cross_layer_referrals.jsonl +12 -0
- package/data/publish/indexes/mcp_chunks.jsonl +175 -175
- package/data/publish/indexes/publication_manifest.json +11 -11
- package/data/publish/ontology/declared-absences-ledger.yaml +15 -0
- package/data/publish/ontology/sbdtoe-ontology.yaml +55 -4
- package/data/publish/overlay/framework_overlay_index.json +10 -0
- package/data/publish/overlay/overlay_mappings.jsonl +12 -0
- package/data/publish/runtime/artifact_requirements.json +22 -3
- package/data/publish/runtime/artifacts.json +9 -4
- package/data/publish/runtime/assignments.json +8138 -5688
- package/data/publish/runtime/controls.json +2 -1
- package/data/publish/runtime/decision_involvements.json +349 -41
- package/data/publish/runtime/deterministic_manifest.json +6 -6
- package/data/publish/runtime/evidence_patterns.json +53 -2
- package/data/publish/runtime/phases.json +10 -7
- package/data/publish/runtime/requirement_control_links.json +40 -2
- package/data/publish/runtime/requirements.json +20 -1
- package/data/publish/runtime/roles.json +40 -0
- package/data/publish/runtime/user_stories.json +100 -49
- 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/publish/semantic/antipattern_authored_links.jsonl +31 -0
- package/data/publish/semantic/macro_processes.jsonl +1 -1
- package/data/publish/semantic/mp_edges.jsonl +1 -1
- package/data/publish/semantic/requirement_source_coverage.jsonl +2 -1
- package/data/reports/run_manifest.json +9 -9
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/serving/authored-antipattern-links.d.ts +20 -0
- package/dist/serving/authored-antipattern-links.js +109 -0
- package/dist/serving/authored-antipattern-links.js.map +1 -0
- package/dist/serving/declared-absences.d.ts +32 -1
- package/dist/serving/declared-absences.js +60 -9
- package/dist/serving/declared-absences.js.map +1 -1
- package/dist/tools/explain-topic.js +14 -0
- package/dist/tools/explain-topic.js.map +1 -1
- package/dist/tools/generate-sbd-toe-skill.d.ts +18 -0
- package/dist/tools/generate-sbd-toe-skill.js +98 -8
- package/dist/tools/generate-sbd-toe-skill.js.map +1 -1
- package/dist/tools/get-guide-by-role.js +28 -7
- package/dist/tools/get-guide-by-role.js.map +1 -1
- package/dist/tools/ontology-loader.d.ts +4 -0
- package/dist/tools/ontology-loader.js +7 -0
- package/dist/tools/ontology-loader.js.map +1 -1
- package/package.json +3 -1
|
@@ -20,16 +20,41 @@ import { readFileSync, existsSync } from "node:fs";
|
|
|
20
20
|
import { parse as parseYaml } from "yaml";
|
|
21
21
|
import { resolveAppPath } from "../config.js";
|
|
22
22
|
const ONTOLOGY_PATH = "data/publish/ontology/sbdtoe-ontology.yaml";
|
|
23
|
+
const LEDGER_PATH = "data/publish/ontology/declared-absences-ledger.yaml";
|
|
23
24
|
let cache;
|
|
24
25
|
export function _resetDeclaredAbsencesCacheForTests() {
|
|
25
26
|
cache = undefined;
|
|
26
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* 0.20.0-beta.48 — o LEDGER de transições, append-only, e a regra que o torna autoridade.
|
|
30
|
+
*
|
|
31
|
+
* O índice e o ledger estão DELIBERADAMENTE em desacordo entre emissões de modelo: o índice
|
|
32
|
+
* só absorve transições quando corta versão (two-pass), e o ledger regista-as no momento. A
|
|
33
|
+
* regra ratificada é que **em divergência o ledger prevalece para `status`** — e ignorá-lo
|
|
34
|
+
* reintroduziria exactamente o defeito da b.45 (servir como dívida em aberto o que já não é),
|
|
35
|
+
* desta vez pelo mecanismo que existe para evitar churn de versões.
|
|
36
|
+
*/
|
|
37
|
+
function loadLedger() {
|
|
38
|
+
const path = resolveAppPath(LEDGER_PATH);
|
|
39
|
+
const out = new Map();
|
|
40
|
+
if (!existsSync(path))
|
|
41
|
+
return out;
|
|
42
|
+
const doc = parseYaml(readFileSync(path, "utf-8"));
|
|
43
|
+
if (!Array.isArray(doc.transitions))
|
|
44
|
+
return out;
|
|
45
|
+
for (const raw of doc.transitions) {
|
|
46
|
+
if (typeof raw?.absence_id !== "string" || typeof raw?.transition !== "string")
|
|
47
|
+
continue;
|
|
48
|
+
out.set(raw.absence_id, raw); // append-only: a última transição de cada id é a que vale
|
|
49
|
+
}
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
27
52
|
function load() {
|
|
28
53
|
if (cache !== undefined)
|
|
29
54
|
return cache;
|
|
30
55
|
const path = resolveAppPath(ONTOLOGY_PATH);
|
|
31
56
|
if (!existsSync(path)) {
|
|
32
|
-
cache = { items: [], model: undefined };
|
|
57
|
+
cache = { items: [], model: undefined, ledger: new Map(), ledgerRule: undefined };
|
|
33
58
|
return cache;
|
|
34
59
|
}
|
|
35
60
|
const doc = parseYaml(readFileSync(path, "utf-8"));
|
|
@@ -38,7 +63,7 @@ function load() {
|
|
|
38
63
|
const items = Array.isArray(raw)
|
|
39
64
|
? raw.filter((a) => typeof a?.absence_id === "string" && typeof a?.absence_type === "string")
|
|
40
65
|
: [];
|
|
41
|
-
cache = { items, model };
|
|
66
|
+
cache = { items, model, ledger: loadLedger(), ledgerRule: model?.status_ledger };
|
|
42
67
|
return cache;
|
|
43
68
|
}
|
|
44
69
|
export function declaredAbsences() {
|
|
@@ -100,6 +125,7 @@ export function absenceBand(absenceId, context, supersededLocalLabel) {
|
|
|
100
125
|
...superseded,
|
|
101
126
|
absence_type: "unindexed",
|
|
102
127
|
status: "open",
|
|
128
|
+
status_source: "index",
|
|
103
129
|
is_debt: false,
|
|
104
130
|
is_boundary: false,
|
|
105
131
|
what_it_means: "NÃO TIPADA — esta ausência não tem entrada no índice central `declared_absences`, e o servidor " +
|
|
@@ -113,12 +139,33 @@ export function absenceBand(absenceId, context, supersededLocalLabel) {
|
|
|
113
139
|
* verificável e com quem verificou — é a `closure_rule` da v2.8, que generaliza a regra da
|
|
114
140
|
* b.40 («o registo é do índice, nunca da superfície») ao fecho.
|
|
115
141
|
*/
|
|
116
|
-
|
|
142
|
+
/*
|
|
143
|
+
* PRECEDÊNCIA: o ledger manda no `status`. O índice mantém as tipagens (a espécie) e só
|
|
144
|
+
* absorve transições quando corta versão — entre emissões, ficam de propósito em desacordo.
|
|
145
|
+
*/
|
|
146
|
+
const t = load().ledger.get(a.absence_id);
|
|
147
|
+
const indexStatus = (a.status ?? "open");
|
|
148
|
+
const status = t?.transition ?? indexStatus;
|
|
149
|
+
const closed = status === "closed";
|
|
150
|
+
const withdrawn = status === "withdrawn";
|
|
151
|
+
const settled = closed || withdrawn;
|
|
117
152
|
return {
|
|
118
153
|
...superseded,
|
|
119
154
|
absence_type: a.absence_type,
|
|
120
|
-
status
|
|
121
|
-
|
|
155
|
+
status,
|
|
156
|
+
status_source: t !== undefined ? "ledger" : "index",
|
|
157
|
+
...(t !== undefined ? { ledger_transition: t } : {}),
|
|
158
|
+
...(t !== undefined && t.transition !== indexStatus
|
|
159
|
+
? {
|
|
160
|
+
index_disagrees: {
|
|
161
|
+
index_status: indexStatus,
|
|
162
|
+
note: "O índice ainda mostra este estado porque só absorve transições quando corta versão " +
|
|
163
|
+
"(two-pass); o LEDGER regista-as no momento e **prevalece para `status`**. A divergência " +
|
|
164
|
+
"vem à vista de propósito — achatá-la esconderia o mecanismo que a produz."
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
: {}),
|
|
168
|
+
is_debt: !settled && (a.absence_type === "gap" || a.absence_type === "deferred"),
|
|
122
169
|
is_boundary: a.absence_type === "out_of_scope",
|
|
123
170
|
...(a.closed_on !== undefined ? { closed_on: a.closed_on } : {}),
|
|
124
171
|
...(a.closed_evidence !== undefined ? { closed_evidence: a.closed_evidence } : {}),
|
|
@@ -131,10 +178,14 @@ export function absenceBand(absenceId, context, supersededLocalLabel) {
|
|
|
131
178
|
...(a.trigger !== undefined ? { trigger: a.trigger } : {}),
|
|
132
179
|
...(a.decided_by !== undefined ? { decided_by: a.decided_by } : {}),
|
|
133
180
|
...(a.decided_on !== undefined ? { decided_on: a.decided_on } : {}),
|
|
134
|
-
what_it_means:
|
|
135
|
-
? `
|
|
136
|
-
"Não
|
|
137
|
-
|
|
181
|
+
what_it_means: withdrawn
|
|
182
|
+
? `RETIRADA em ${t?.date ?? "data não registada"} — **a PREMISSA do registo era errada**. ` +
|
|
183
|
+
"Não é «fechou»: nada faltava e nada se corrige. Não esperes por ela, não a contes como " +
|
|
184
|
+
"dívida paga, e lê o `grounds` para saber que princípio a dissolveu."
|
|
185
|
+
: closed
|
|
186
|
+
? `FECHADA em ${t?.date ?? a.closed_on ?? "data não registada"} — foi \`${a.absence_type}\` e já ` +
|
|
187
|
+
"não é. Não ajas sobre ela como dívida em aberto; a evidência do fecho vem com o registo."
|
|
188
|
+
: MEANING[a.absence_type],
|
|
138
189
|
note: context
|
|
139
190
|
};
|
|
140
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declared-absences.js","sourceRoot":"","sources":["../../src/serving/declared-absences.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,aAAa,GAAG,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"declared-absences.js","sourceRoot":"","sources":["../../src/serving/declared-absences.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ import { getOntologyData } from "./ontology-loader.js";
|
|
|
23
23
|
import { categoriesForConcerns, VALID_CONCERNS } from "./prepare-codegen-context.js";
|
|
24
24
|
import { servedKgReleaseTag, servingServerVersion } from "../version-info.js";
|
|
25
25
|
import { paginate } from "../serving/response-shaping.js";
|
|
26
|
+
import { authoredLinksBand } from "../serving/authored-antipattern-links.js";
|
|
26
27
|
const LEVELS = ["L1", "L2", "L3"];
|
|
27
28
|
export function handleExplainTopic(args) {
|
|
28
29
|
const o = getOntologyData();
|
|
@@ -137,6 +138,19 @@ export function handleExplainTopic(args) {
|
|
|
137
138
|
})),
|
|
138
139
|
coverage: { ...page.coverage, total: requirements.length }
|
|
139
140
|
},
|
|
141
|
+
/*
|
|
142
|
+
* 0.20.0-beta.48 (KG v1.12.0) — A CAMADA AUTORADA, ao lado da pontuada.
|
|
143
|
+
*
|
|
144
|
+
* A banda `anti_patterns` dizia — e com razão — que o servidor «não afirma quais são
|
|
145
|
+
* relevantes para este tópico: não tem ligação publicada que o diga». **Agora tem**: o
|
|
146
|
+
* Manual v1.14.0 anota 50 ligações (26 viola + 24 materializa), com âncora e zero ids por
|
|
147
|
+
* resolver. Entra como camada DISTINTA, porque afirma AUTORIA e a outra afirma
|
|
148
|
+
* correspondência pontuada — e porque 25 dos 30 blocos não casam com as entidades
|
|
149
|
+
* publicadas, descasamento que se declara e não se alinha.
|
|
150
|
+
*/
|
|
151
|
+
...(authoredLinksBand([...chapters]) !== undefined
|
|
152
|
+
? { anti_patterns_authored: authoredLinksBand([...chapters]) }
|
|
153
|
+
: {}),
|
|
140
154
|
anti_patterns: {
|
|
141
155
|
// Zero DECLARADO, nunca mudo: um tópico sem antipadrão publicado não é «não há o que
|
|
142
156
|
// evitar» — é o Manual a publicá-los por capítulo de domínio, e este tópico não estar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explain-topic.js","sourceRoot":"","sources":["../../src/tools/explain-topic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAgB,MAAM,8BAA8B,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"explain-topic.js","sourceRoot":"","sources":["../../src/tools/explain-topic.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,10 @@ type SkillFormat = (typeof VALID_FORMATS)[number];
|
|
|
23
23
|
type SubagentFlavour = (typeof VALID_FLAVOURS)[number];
|
|
24
24
|
export interface GenerateSkillCoverage {
|
|
25
25
|
chapters: number;
|
|
26
|
+
/** 0.20.0-beta.49 (P2) — os capítulos DA fatia, para se poder nomear os que ficam fora. */
|
|
27
|
+
chapter_ids: string[];
|
|
28
|
+
/** Os capítulos do Manual que a fatia NÃO cobre — nomeados, não contados. */
|
|
29
|
+
chapters_outside: string[];
|
|
26
30
|
of_total_chapters: number;
|
|
27
31
|
assignments: number;
|
|
28
32
|
user_stories: number;
|
|
@@ -44,6 +48,20 @@ export interface GenerateSkillOutput {
|
|
|
44
48
|
provenance: {
|
|
45
49
|
kg: string;
|
|
46
50
|
server: string;
|
|
51
|
+
/** 0.20.0-beta.49 (P1) — o Manual passa a ser DATADO aqui; `null` = ausente no pin. */
|
|
52
|
+
manual: {
|
|
53
|
+
tag: string | null;
|
|
54
|
+
version: string | null;
|
|
55
|
+
commit: string | null;
|
|
56
|
+
generated_at: string | null;
|
|
57
|
+
};
|
|
58
|
+
ontology: {
|
|
59
|
+
tag: string | null;
|
|
60
|
+
commit: string | null;
|
|
61
|
+
};
|
|
62
|
+
substrate_version: string | null;
|
|
63
|
+
/** O artefacto de texto leva a sua própria proveniência — não depende desta resposta. */
|
|
64
|
+
artifact_carries_provenance: boolean;
|
|
47
65
|
content_type: "derived";
|
|
48
66
|
produced_by: string;
|
|
49
67
|
source_data: string;
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
*
|
|
17
17
|
* Contract: agentic/em-curso/2026-06-12-pontifex-rfs-stage1-contract.md
|
|
18
18
|
*/
|
|
19
|
-
import { servedKgReleaseTag, servingServerVersion } from "../version-info.js";
|
|
19
|
+
import { servedKgReleaseTag, servingServerVersion, loadBundleProvenance } from "../version-info.js";
|
|
20
20
|
import { buildAgentGuide } from "../serving/agent-guide.js";
|
|
21
21
|
import { getOntologyData } from "./ontology-loader.js";
|
|
22
22
|
import { handleGetGuideByRole } from "./get-guide-by-role.js";
|
|
@@ -103,17 +103,68 @@ function renderSlice(guide, chapters, includeDetail) {
|
|
|
103
103
|
}
|
|
104
104
|
return lines.join("\n").trim();
|
|
105
105
|
}
|
|
106
|
-
function coverageOf(guide,
|
|
106
|
+
function coverageOf(guide, allChapters) {
|
|
107
107
|
const checklist = guide.role_checklist ?? [];
|
|
108
|
-
const chapterIds = new Set(checklist.map((e) => e.chapter_id).filter(
|
|
108
|
+
const chapterIds = new Set(checklist.map((e) => e.chapter_id).filter((x) => typeof x === "string" && x.length > 0));
|
|
109
109
|
return {
|
|
110
110
|
chapters: chapterIds.size,
|
|
111
|
-
|
|
111
|
+
chapter_ids: [...chapterIds].sort(),
|
|
112
|
+
/*
|
|
113
|
+
* 0.20.0-beta.49 (P2) — a diferença entre dois conjuntos que já existiam no mesmo escopo.
|
|
114
|
+
* O bloco dizia «N of the manual's M chapters» debaixo de «nothing hidden» e nunca nomeava
|
|
115
|
+
* os que ficavam fora: **uma contagem não é uma declaração**, e «12 de 15» diz que faltam
|
|
116
|
+
* três e esconde quais. É o `traversal_assertion_rule` — cobertura com órfãos declarados —
|
|
117
|
+
* quebrado nas palavras do próprio programa.
|
|
118
|
+
*/
|
|
119
|
+
chapters_outside: allChapters.filter((c) => !chapterIds.has(c)).sort(),
|
|
120
|
+
of_total_chapters: allChapters.length,
|
|
112
121
|
assignments: guide.meta.assignmentCount,
|
|
113
122
|
user_stories: checklist.length,
|
|
114
123
|
checklist_items: checklist.reduce((n, e) => n + e.checklist_items.length, 0)
|
|
115
124
|
};
|
|
116
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* 0.20.0-beta.49 (P1) — O ARTEFACTO DATA-SE A SI MESMO.
|
|
128
|
+
*
|
|
129
|
+
* O ficheiro que sai daqui instala-se em `.claude/agents/` e passa a viver sozinho, longe do
|
|
130
|
+
* servidor que o produziu. Até aqui não dizia de onde vinha: o frontmatter era `name` /
|
|
131
|
+
* `description` / `tools`, o corpo não levava proveniência nenhuma, e o `meta.provenance` —
|
|
132
|
+
* que nem sequer datava o Manual — viajava na resposta JSON, **que o chamador descarta no
|
|
133
|
+
* momento em que escreve o ficheiro**. A assimetria era ao contrário do que interessa: o ramo
|
|
134
|
+
* SEM role emitia um comentário com a fonte; o ramo COM role, o que se instala, não emitia
|
|
135
|
+
* nada.
|
|
136
|
+
*
|
|
137
|
+
* E há um efeito irreversível: **um artefacto instalado sem data fica sem data para sempre** —
|
|
138
|
+
* não há como datar retroactivamente um ficheiro que já está no disco de alguém.
|
|
139
|
+
*
|
|
140
|
+
* REGRA DO MÓDULO, aplicada: «Never invents versions/tags». Tudo vem do pin
|
|
141
|
+
* (`loadBundleProvenance()`) e da versão do servidor. **Um valor que o pin não traga é
|
|
142
|
+
* declarado ausente** — não se deduz, não se omite em silêncio.
|
|
143
|
+
*/
|
|
144
|
+
function renderProvenanceBlock() {
|
|
145
|
+
const p = loadBundleProvenance();
|
|
146
|
+
const MISSING = "*não declarado no pin*";
|
|
147
|
+
const v = (x) => (typeof x === "string" && x.length > 0 ? `\`${x}\`` : MISSING);
|
|
148
|
+
if (p === undefined)
|
|
149
|
+
return ("## Provenance\n" +
|
|
150
|
+
"**O pino do bundle não pôde ser lido** (`consumed-bundle.json` ausente ou ilegível no momento da " +
|
|
151
|
+
"geração). Este artefacto **não é datável** a partir de si próprio: não uses as suas afirmações " +
|
|
152
|
+
"como se estivessem ancoradas a uma versão do Manual — re-gera com um servidor com pino válido.\n\n" +
|
|
153
|
+
`- Servidor que gerou: ${v(servingServerVersion())}\n` +
|
|
154
|
+
`- Gerado em: \`${new Date().toISOString()}\` (UTC)\n`);
|
|
155
|
+
return ("## Provenance\n" +
|
|
156
|
+
"Este ficheiro é uma **projecção estrutural** do Manual SbD-ToE, congelada no momento em que foi " +
|
|
157
|
+
"gerado. Lê-se sozinho: as versões abaixo são as que o produziram, e **não se actualizam** quando o " +
|
|
158
|
+
"Manual avança. Para o refrescar, re-gera com `generate_sbd_toe_skill`.\n\n" +
|
|
159
|
+
`- **Manual:** tag ${v(p.manual.tag)} · versão ${v(p.manual.version)} · commit ${v(p.manual.commit)} · ` +
|
|
160
|
+
`publicado em ${v(p.manual.generated_at)}\n` +
|
|
161
|
+
`- **KG (bundle consumido):** ${v(p.kg.release_tag)} · sha256 ${v(p.kg.sha256)} · origem ${v(p.kg.source)}\n` +
|
|
162
|
+
`- **Substrato:** ${v(p.kg.substrate_version)} · contrato de consumo ${v(p.kg.consumer_contract_version)}\n` +
|
|
163
|
+
`- **Ontologia:** tag ${v(p.ontology.tag)} · commit ${v(p.ontology.commit)}\n` +
|
|
164
|
+
`- **Servidor que gerou:** \`@shiftleftpt/sbd-toe-mcp@${servingServerVersion()}\`\n` +
|
|
165
|
+
`- **Gerado em:** \`${new Date().toISOString()}\` (UTC)\n\n` +
|
|
166
|
+
"Um campo marcado *não declarado no pin* está ausente na origem — **não foi deduzido nem omitido**.");
|
|
167
|
+
}
|
|
117
168
|
function renderCoverageBlock(canonicalRole, riskLevel, coverage, harnessed) {
|
|
118
169
|
const pathToRest = harnessed
|
|
119
170
|
? `For the full Definition-of-Done call \`get_guide_by_role(risk_level="${riskLevel}", role="${canonicalRole}", include_detail=true)\`; ` +
|
|
@@ -125,11 +176,25 @@ function renderCoverageBlock(canonicalRole, riskLevel, coverage, harnessed) {
|
|
|
125
176
|
`chapters listed by \`list_sbd_toe_chapters\` on a connected client — where ` +
|
|
126
177
|
`\`select_sbd_toe_requirements\` narrows the requirements to a concrete task ` +
|
|
127
178
|
`(selected[] recommendation + narrowed_out[] with reasons, never silent).`;
|
|
179
|
+
/*
|
|
180
|
+
* 0.20.0-beta.49 (P2) — os órfãos NOMEADOS, nos dois sabores.
|
|
181
|
+
*
|
|
182
|
+
* O título promete que nada está escondido, e o que estava escondido era exactamente isto.
|
|
183
|
+
* No sabor `skilled` é o que mais pesa: não há ferramenta viva para percorrer o resto, e o
|
|
184
|
+
* agente ficava a saber que lhe faltavam N capítulos sem maneira de saber quais.
|
|
185
|
+
*/
|
|
186
|
+
const outside = coverage.chapters_outside;
|
|
187
|
+
const outsideBlock = outside.length === 0
|
|
188
|
+
? `\n\n**Chapters outside this slice:** none — this slice touches all ${coverage.of_total_chapters} chapters.`
|
|
189
|
+
: `\n\n**Chapters outside this slice (${outside.length} of ${coverage.of_total_chapters}), named:**\n` +
|
|
190
|
+
outside.map((c) => `- \`${c}\``).join("\n") +
|
|
191
|
+
`\n\nThey are outside the **${canonicalRole}** slice at **${riskLevel}** — not outside the manual, and ` +
|
|
192
|
+
`not irrelevant to you. A count would say ${outside.length} are missing and hide which.`;
|
|
128
193
|
return (`## Coverage (declared — nothing hidden)\n` +
|
|
129
194
|
`This is the **${canonicalRole}** slice at **${riskLevel}**: ${coverage.assignments} assignments, ` +
|
|
130
195
|
`${coverage.user_stories} user stories, ${coverage.checklist_items} checklist items across ` +
|
|
131
196
|
`${coverage.chapters} of the manual's ${coverage.of_total_chapters} chapters. ` +
|
|
132
|
-
`It is **not** the whole manual
|
|
197
|
+
`It is **not** the whole manual.${outsideBlock}\n\n${pathToRest}`);
|
|
133
198
|
}
|
|
134
199
|
function renderCoreBlock(guide) {
|
|
135
200
|
const epistemic = extractGuideSection(guide, "Epistemic standards");
|
|
@@ -202,7 +267,9 @@ function buildRoleContent(args, toolPrefix, prefixProvided) {
|
|
|
202
267
|
sliceHeading,
|
|
203
268
|
slice,
|
|
204
269
|
"",
|
|
205
|
-
renderCoverageBlock(canonicalRole, riskLevel, coverage, harnessed)
|
|
270
|
+
renderCoverageBlock(canonicalRole, riskLevel, coverage, harnessed),
|
|
271
|
+
"",
|
|
272
|
+
renderProvenanceBlock()
|
|
206
273
|
].join("\n");
|
|
207
274
|
}
|
|
208
275
|
export function handleGenerateSbdToeSkill(args = {}) {
|
|
@@ -215,9 +282,15 @@ export function handleGenerateSbdToeSkill(args = {}) {
|
|
|
215
282
|
const roleArg = typeof args["role"] === "string" ? args["role"].trim() : "";
|
|
216
283
|
// No role → original behaviour: the generic agent guide, unchanged.
|
|
217
284
|
if (!roleArg) {
|
|
285
|
+
/*
|
|
286
|
+
* 0.20.0-beta.49 — este ramo já nomeava a fonte mas NÃO a versão: «source:
|
|
287
|
+
* sbd://toe/agent-guide» sem dizer de que Manual. Passa a levar o mesmo bloco de
|
|
288
|
+
* proveniência do ramo com role — o artefacto data-se, seja qual for o ramo que o produz.
|
|
289
|
+
*/
|
|
218
290
|
const content = `<!-- SbD-ToE skill content — source: sbd://toe/agent-guide (@shiftleftpt/sbd-toe-mcp) -->\n` +
|
|
219
291
|
`<!-- Re-run generate_sbd_toe_skill to refresh. -->\n\n` +
|
|
220
|
-
readAgentGuide()
|
|
292
|
+
readAgentGuide() +
|
|
293
|
+
`\n\n---\n\n${renderProvenanceBlock()}\n`;
|
|
221
294
|
return { content, next: generateSkillAffordances() };
|
|
222
295
|
}
|
|
223
296
|
const riskLevel = typeof args["risk_level"] === "string" ? args["risk_level"] : "L2";
|
|
@@ -253,7 +326,7 @@ export function handleGenerateSbdToeSkill(args = {}) {
|
|
|
253
326
|
throw new Error(`Unknown role: "${roleArg}". Canonical roles: ${canonicalRoles.sort().join(", ")}.`);
|
|
254
327
|
}
|
|
255
328
|
const chapters = chapterIndex();
|
|
256
|
-
const coverage = coverageOf(guideOutput, chapters.
|
|
329
|
+
const coverage = coverageOf(guideOutput, [...chapters.keys()]);
|
|
257
330
|
const content = buildRoleContent({
|
|
258
331
|
roleArg,
|
|
259
332
|
canonicalRole,
|
|
@@ -294,6 +367,23 @@ export function handleGenerateSbdToeSkill(args = {}) {
|
|
|
294
367
|
provenance: {
|
|
295
368
|
kg: servedKgReleaseTag(),
|
|
296
369
|
server: servingServerVersion(),
|
|
370
|
+
/*
|
|
371
|
+
* 0.20.0-beta.49 (P1) — o `meta.provenance` carregava `kg` e `server` e **não datava o
|
|
372
|
+
* Manual**: é a mesma omissão do artefacto, no mesmo sítio, com a mesma correcção. Lido
|
|
373
|
+
* do pin; um campo que o pin não traga sai `null` e não desaparece.
|
|
374
|
+
*/
|
|
375
|
+
manual: {
|
|
376
|
+
tag: loadBundleProvenance()?.manual.tag ?? null,
|
|
377
|
+
version: loadBundleProvenance()?.manual.version ?? null,
|
|
378
|
+
commit: loadBundleProvenance()?.manual.commit ?? null,
|
|
379
|
+
generated_at: loadBundleProvenance()?.manual.generated_at ?? null
|
|
380
|
+
},
|
|
381
|
+
ontology: {
|
|
382
|
+
tag: loadBundleProvenance()?.ontology.tag ?? null,
|
|
383
|
+
commit: loadBundleProvenance()?.ontology.commit ?? null
|
|
384
|
+
},
|
|
385
|
+
substrate_version: loadBundleProvenance()?.kg.substrate_version ?? null,
|
|
386
|
+
artifact_carries_provenance: true,
|
|
297
387
|
content_type: "derived",
|
|
298
388
|
produced_by: "role_skill_projection",
|
|
299
389
|
source_data: "get_guide_by_role pipeline (runtime/{controls,practices,assignments,user_stories,roles,phases}.json) + list_sbd_toe_chapters + assets/agent-guide.md",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-sbd-toe-skill.js","sourceRoot":"","sources":["../../src/tools/generate-sbd-toe-skill.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-sbd-toe-skill.js","sourceRoot":"","sources":["../../src/tools/generate-sbd-toe-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { servedKgReleaseTag, servingServerVersion } from "../version-info.js";
|
|
14
14
|
import { buildActivationVocabulary } from "../serving/activation-vocabulary.js";
|
|
15
|
-
import { getOntologyData, resolvePhaseId, resolveRoleId } from "./ontology-loader.js";
|
|
15
|
+
import { roleScopeOf, getOntologyData, resolvePhaseId, resolveRoleId } from "./ontology-loader.js";
|
|
16
16
|
import { _resolveConsultResult } from "./consult-security-requirements.js";
|
|
17
17
|
import { guideByRoleAffordances } from "../serving/affordances.js";
|
|
18
18
|
import { absenceBand, absenceNaming } from "../serving/declared-absences.js";
|
|
@@ -150,6 +150,7 @@ export function _resolveGuideByRole(args, ontologyData) {
|
|
|
150
150
|
* DENOMINADOR ao lado, para o número não poder ser mal lido.
|
|
151
151
|
*/
|
|
152
152
|
const distinctUserStoryCount = new Set(filteredAssignments.map((assignment) => assignment.user_story?.id).filter((x) => typeof x === "string")).size;
|
|
153
|
+
const roleScope = typeof canonicalRole === "string" ? roleScopeOf(canonicalRole, ontologyData.roles ?? []) : undefined;
|
|
153
154
|
return {
|
|
154
155
|
risk_level: riskLevel,
|
|
155
156
|
roleFilter: roleArg,
|
|
@@ -173,12 +174,32 @@ export function _resolveGuideByRole(args, ontologyData) {
|
|
|
173
174
|
* autoridade para decidir qual é.
|
|
174
175
|
*/
|
|
175
176
|
absence: absenceBand(absenceNaming(canonicalRole)?.absence_id, `atribuições de prática para o papel \`${canonicalRole}\``),
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
177
|
+
/*
|
|
178
|
+
* 0.20.0-beta.48 (v2.10) — ZERO-ESPERADO, não lacuna.
|
|
179
|
+
*
|
|
180
|
+
* Esta nota dizia «ausência de MAPEAMENTO nesta superfície», o que se lê como
|
|
181
|
+
* lacuna que alguém há-de fechar. Para um papel `inter_instance` **é o estado
|
|
182
|
+
* CORRECTO**: o fornecedor não é um actor dentro da instância — é onde OUTRA
|
|
183
|
+
* instância começa. Perguntar que práticas executa é perguntar o que a instância
|
|
184
|
+
* dele executa, e a resposta é «as mesmas, no seu próprio grafo». O que a NOSSA
|
|
185
|
+
* instância modela é a INTERFACE. Foi por isto que o ABS-003 foi RETIRADO: a
|
|
186
|
+
* premissa do registo era errada.
|
|
187
|
+
*/
|
|
188
|
+
...(roleScope !== undefined ? { role_scope: roleScope } : {}),
|
|
189
|
+
note: roleScope === "inter_instance"
|
|
190
|
+
? `O papel \`${canonicalRole}\` é CANÓNICO e tem alcance **\`inter_instance\`**: não é um actor ` +
|
|
191
|
+
"dentro desta instância — é onde OUTRA começa. **Zero atribuições é o estado CORRECTO e " +
|
|
192
|
+
"esperado, não uma lacuna**: perguntar que práticas ele executa é perguntar o que a instância " +
|
|
193
|
+
"dele executa, e a resposta é «as mesmas, no seu próprio grafo». O que o Manual modela é a " +
|
|
194
|
+
"INTERFACE — cláusulas, validação, evidência entregue, acesso condicionado. Está em " +
|
|
195
|
+
"`select_sbd_toe_requirements(risk_level=…, chapters=[\"14-governanca-contratacao\"])`, " +
|
|
196
|
+
"com GOV-006 e GOV-007 como porta."
|
|
197
|
+
: `O papel \`${canonicalRole}\` é CANÓNICO e publicado (vocabulário e guia), mas esta superfície não ` +
|
|
198
|
+
`tem atribuições de prática para ele: o bundle publica assignments para ${rolesWithAssignments.length} papéis. ` +
|
|
199
|
+
"NÃO é ausência de responsabilidades — é ausência de MAPEAMENTO nesta superfície. Não digas que o papel " +
|
|
200
|
+
"não tem nada a fazer, nem geres um subagente com base neste vazio: para o que o Manual exige nesta " +
|
|
201
|
+
"área usa `select_sbd_toe_requirements` (por concern ou por estrutura, ex.: " +
|
|
202
|
+
'`chapters=["14-governanca-contratacao"]`), e `get_sbd_toe_chapter_brief` para o capítulo.',
|
|
182
203
|
},
|
|
183
204
|
}
|
|
184
205
|
: {}),
|