@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.
Files changed (53) hide show
  1. package/consumed-bundle.json +15 -13
  2. package/data/entities/proportionality.json +3 -3
  3. package/data/entities/sdlc_integration.json +2192 -176
  4. package/data/publish/indexes/canonical_chunks.jsonl +4907 -4907
  5. package/data/publish/indexes/chunk_entity_mentions.jsonl +64 -4
  6. package/data/publish/indexes/chunk_relation_hints.jsonl +5 -0
  7. package/data/publish/indexes/cross_layer_referrals.jsonl +12 -0
  8. package/data/publish/indexes/mcp_chunks.jsonl +175 -175
  9. package/data/publish/indexes/publication_manifest.json +11 -11
  10. package/data/publish/ontology/declared-absences-ledger.yaml +15 -0
  11. package/data/publish/ontology/sbdtoe-ontology.yaml +55 -4
  12. package/data/publish/overlay/framework_overlay_index.json +10 -0
  13. package/data/publish/overlay/overlay_mappings.jsonl +12 -0
  14. package/data/publish/runtime/artifact_requirements.json +22 -3
  15. package/data/publish/runtime/artifacts.json +9 -4
  16. package/data/publish/runtime/assignments.json +8138 -5688
  17. package/data/publish/runtime/controls.json +2 -1
  18. package/data/publish/runtime/decision_involvements.json +349 -41
  19. package/data/publish/runtime/deterministic_manifest.json +6 -6
  20. package/data/publish/runtime/evidence_patterns.json +53 -2
  21. package/data/publish/runtime/phases.json +10 -7
  22. package/data/publish/runtime/requirement_control_links.json +40 -2
  23. package/data/publish/runtime/requirements.json +20 -1
  24. package/data/publish/runtime/roles.json +40 -0
  25. package/data/publish/runtime/user_stories.json +100 -49
  26. package/data/publish/runtime/v1/manual_maturity_progression.jsonl +336 -336
  27. package/data/publish/runtime/v1/manual_rastreabilidade.jsonl +1105 -1105
  28. package/data/publish/runtime/v1/manual_threat_mitigation.jsonl +523 -523
  29. package/data/publish/runtime/v1/v1_manifest.json +5 -5
  30. package/data/publish/semantic/antipattern_authored_links.jsonl +31 -0
  31. package/data/publish/semantic/macro_processes.jsonl +1 -1
  32. package/data/publish/semantic/mp_edges.jsonl +1 -1
  33. package/data/publish/semantic/requirement_source_coverage.jsonl +2 -1
  34. package/data/reports/run_manifest.json +9 -9
  35. package/dist/index.js +13 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/serving/authored-antipattern-links.d.ts +20 -0
  38. package/dist/serving/authored-antipattern-links.js +109 -0
  39. package/dist/serving/authored-antipattern-links.js.map +1 -0
  40. package/dist/serving/declared-absences.d.ts +32 -1
  41. package/dist/serving/declared-absences.js +60 -9
  42. package/dist/serving/declared-absences.js.map +1 -1
  43. package/dist/tools/explain-topic.js +14 -0
  44. package/dist/tools/explain-topic.js.map +1 -1
  45. package/dist/tools/generate-sbd-toe-skill.d.ts +18 -0
  46. package/dist/tools/generate-sbd-toe-skill.js +98 -8
  47. package/dist/tools/generate-sbd-toe-skill.js.map +1 -1
  48. package/dist/tools/get-guide-by-role.js +28 -7
  49. package/dist/tools/get-guide-by-role.js.map +1 -1
  50. package/dist/tools/ontology-loader.d.ts +4 -0
  51. package/dist/tools/ontology-loader.js +7 -0
  52. package/dist/tools/ontology-loader.js.map +1 -1
  53. 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
- const closed = a.status === "closed";
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: closed ? "closed" : "open",
121
- is_debt: !closed && (a.absence_type === "gap" || a.absence_type === "deferred"),
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: closed
135
- ? `FECHADA em ${a.closed_on ?? "data não registada"} — foi \`${a.absence_type}\` e já não é. ` +
136
- "Não ajas sobre ela como dívida em aberto; a evidência do fecho vem em `closed_evidence`."
137
- : MEANING[a.absence_type],
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":"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"}
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;AACnE,MAAM,WAAW,GAAG,qDAAqD,CAAC;AA4D1E,IAAI,KAAwB,CAAC;AAE7B,MAAM,UAAU,mCAAmC;IACjD,KAAK,GAAG,SAAS,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,UAAU;IACjB,MAAM,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAA4B,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAClC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA8B,CAAC;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAAE,OAAO,GAAG,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,WAAiC,EAAE,CAAC;QACxD,IAAI,OAAO,GAAG,EAAE,UAAU,KAAK,QAAQ,IAAI,OAAO,GAAG,EAAE,UAAU,KAAK,QAAQ;YAAE,SAAS;QACzF,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,0DAA0D;IAC1F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI;IACX,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IAC9E,MAAM,GAAG,GAAI,GAAG,CAAC,mBAAmB,CAAqC,EAAE,KAAK,CAAC;IACjF,MAAM,KAAK,GAAI,GAAG,CAAC,iBAAiB,CAAkD,EAAE,aAAa,CAAC;IACtG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,CAAC,CAAE,GAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,EAAE,YAAY,KAAK,QAAQ,CAAC;QACpH,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACjF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC;AACtB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAiDD,MAAM,OAAO,GAAgC;IAC3C,GAAG,EAAE,2FAA2F;IAChG,YAAY,EACV,2HAA2H;IAC7H,QAAQ,EACN,mHAAmH;IACrH,SAAS,EAAE,oHAAoH;CAChI,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,KAAe;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/E,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,SAA6B,EAC7B,OAAe,EACf,oBAA6B;IAE7B,MAAM,UAAU,GACd,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC;QACnE,CAAC,CAAC;YACE,sBAAsB,EAAE;gBACtB,KAAK,EAAE,oBAAoB;gBAC3B,IAAI,EACF,4FAA4F;oBAC5F,iGAAiG;oBACjG,8DAA8D;aACjE;SACF;QACH,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,CAAC,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,CAAC,KAAK,SAAS;QACjB,OAAO;YACL,GAAG,UAAU;YACb,YAAY,EAAE,WAAW;YACzB,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,OAAO;YACtB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,KAAK;YAClB,aAAa,EACX,iGAAiG;gBACjG,2FAA2F;gBAC3F,yCAAyC;YAC3C,IAAI,EAAE,OAAO;SACd,CAAC;IACJ;;;;;OAKG;IACH;;;OAGG;IACH,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAkB,CAAC;IAC1D,MAAM,MAAM,GAAkB,CAAC,EAAE,UAAU,IAAI,WAAW,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,KAAK,QAAQ,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,KAAK,WAAW,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC;IACpC,OAAO;QACL,GAAG,UAAU;QACb,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,MAAM;QACN,aAAa,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;QACnD,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,WAAW;YACjD,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,YAAY,EAAE,WAAW;oBACzB,IAAI,EACF,qFAAqF;wBACrF,0FAA0F;wBAC1F,2EAA2E;iBAC9E;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,IAAI,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC;QAChF,WAAW,EAAE,CAAC,CAAC,YAAY,KAAK,cAAc;QAC9C,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,CAAC,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,aAAa,EAAE,SAAS;YACtB,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,oBAAoB,2CAA2C;gBACzF,yFAAyF;gBACzF,qEAAqE;YACvE,CAAC,CAAC,MAAM;gBACN,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,oBAAoB,YAAY,CAAC,CAAC,YAAY,UAAU;oBAChG,0FAA0F;gBAC5F,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QAC7B,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC"}
@@ -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;AAG1D,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAS3C,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IACjG,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9F,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,YAAY,CAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE1G,MAAM,UAAU,GAAG;QACjB,EAAE,EAAE,kBAAkB,EAAE;QACxB,MAAM,EAAE,oBAAoB,EAAE;QAC9B,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE,yFAAyF;QACtG,IAAI,EACF,gGAAgG;YAChG,kEAAkE;KACrE,CAAC;IACF,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,SAAkB;QACtB,IAAI,EACF,8FAA8F;YAC9F,qGAAqG;YACrG,gFAAgF;YAChF,wEAAwE;KAC3E,CAAC;IAEF,6EAA6E;IAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,OAAO,KAAK,SAAS;QAAE,KAAK,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC,OAAkB,CAAC,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1G,IAAI,QAAQ,KAAK,SAAS;QAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,CAAC,mBAA2B,EAAE,MAA0B,EAAE,EAAE,CAC1E,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC;IAElH,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAkB,CAAC,EAAE,CAAC;QAC1E,OAAO;YACL,UAAU;YACV,OAAO;YACP,MAAM,EAAE,iBAAiB;YACzB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,CAAC,GAAG,cAAc,CAAC;YACjC,IAAI,EAAE,KAAK,OAAO,2GAA2G;SAC9H,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC7E,OAAO;YACL,UAAU;YACV,OAAO;YACP,MAAM,EAAE,aAAa;YACrB,IAAI,EACF,+GAA+G;gBAC/G,8EAA8E;SACjF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;IAErH,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAEtG,8DAA8D;IAC9D,MAAM,UAAU,GAAG,CAAC,CAAC,2BAA2B,IAAI,EAAE,CAAC;IACvD,MAAM,aAAa,GAAG,CAAC,CAAC,sBAAsB,IAAI,EAAE,CAAC;IACrD;;;OAGG;IACH,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;SACxC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,MAAM,EAAE,GAAI,CAAgC,CAAC,cAAc,CAAC;QAC5D,MAAM,OAAO,GAAI,CAA+B,CAAC,UAAU,IAAI,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACrF,OAAO,SAAS,IAAI,MAAM,CAAC;IAC7B,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,EAAE,GAAI,CAAgC,CAAC,cAAc,CAAC;QAC5D,OAAO;YACL,cAAc,EAAE,EAAE;YAClB,KAAK,EAAG,CAAwB,CAAC,KAAK;YACtC,IAAI,EAAG,CAAuB,CAAC,IAAI;YACnC,QAAQ,EAAG,CAA+B,CAAC,UAAU,IAAI,EAAE;YAC3D,mBAAmB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;SACxF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACjD,MAAM,MAAM,GAAI,CAAiD,CAAC,UAAU,IAAK,CAA4B,CAAC,SAAS,CAAC;QACxH,OAAO,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,sBAAsB,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAC5F,CAAC;IACF,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAI,CAA6B,CAAC,UAAU,CAAC;QACrD,OAAO,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7G,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC;SACjC,IAAI,EAAE,CAAC;IAEV,OAAO;QACL,UAAU;QACV,OAAO;QACP,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;QACzG,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,kGAAkG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1L,YAAY,EAAE;YACZ,IAAI,EACF,sGAAsG;gBACtG,yFAAyF;YAC3F,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,aAAa;gBACxB,IAAI,EAAE,aAAsB;gBAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBACnE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,aAAwC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5I,CAAC,CAAC;YACH,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE;SAC3D;QACD,aAAa,EAAE;YACb,qFAAqF;YACrF,sFAAsF;YACtF,4CAA4C;YAC5C,IAAI,EACF,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,CAAC,0GAA0G;oBAC1G,yGAAyG;oBACzG,mFAAmF,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI;oBACpH,6GAA6G;oBAC7G,kGAAkG;gBACpG,CAAC,CAAC,qBAAqB,YAAY,CAAC,MAAM,4CAA4C,CAAC;gBACzF,uBAAuB;gBACvB,oGAAoG;gBACpG,mBAAmB,UAAU,CAAC,MAAM,UAAU,aAAa,CAAC,MAAM,4CAA4C;gBAC9G,6FAA6F;YAC/F,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,MAAM,EAAE,YAAY;YACpB;;;;;;eAMG;YACH,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;gBAC3B,CAAC,CAAC;oBACE,SAAS,EAAE;wBACT,IAAI,EACF,0FAA0F;4BAC1F,oGAAoG;wBACtG,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA+B,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;6BAC/G,IAAI,EAAE;6BACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACZ,OAAO,EAAE,EAAE;4BACX,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAA+B,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;4BACpH,SAAS,EAAE,kCAAkC,EAAE,IAAI;4BACnD,MAAM,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;iCAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAA+B,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iCAC/E,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAwB,CAAC,KAAK,CAAC;yBAC/C,CAAC,CAAC;qBACN;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,4GAA4G;YAClH,SAAS,EAAE,SAAS,CAAC,MAAM;YAC3B,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAG,CAA2C,CAAC,WAAW,IAAK,CAAqB,CAAC,EAAE,EAAE,KAAK,EAAG,CAAuC,CAAC,KAAK,IAAK,CAAuB,CAAC,IAAI,EAAE,CAAC,CAAC;SAClO;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,0DAA0D,EAAE,iBAAiB,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC/G,OAAO,EAAE,EAAE,IAAI,EAAE,gDAAgD,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;QAC1F,kBAAkB,EAAE,EAAE,IAAI,EAAE,yDAAyD,EAAE,MAAM,EAAE;QAC/F,IAAI,EAAE;YACJ;gBACE,MAAM,EAAE,oDAAoD;gBAC5D,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,2BAA2B;gBACjC,IAAI,EAAE,YAAqB;aAC5B;YACD;gBACE,MAAM,EAAE,iDAAiD;gBACzD,IAAI,EAAE,6BAA6B;gBACnC,IAAI,EAAE,kBAAkB,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClF,IAAI,EAAE,YAAqB;aAC5B;YACD;gBACE,MAAM,EAAE,6BAA6B;gBACrC,IAAI,EAAE,iCAAiC;gBACvC,IAAI,EAAE,qCAAqC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACnH,IAAI,EAAE,YAAqB;aAC5B;SACF;KACF,CAAC;AACJ,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, totalChapters) {
106
+ function coverageOf(guide, allChapters) {
107
107
  const checklist = guide.role_checklist ?? [];
108
- const chapterIds = new Set(checklist.map((e) => e.chapter_id).filter(Boolean));
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
- of_total_chapters: totalChapters,
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. ${pathToRest}`);
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.size);
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
- note: `O papel \`${canonicalRole}\` é CANÓNICO e publicado (vocabulário e guia), mas esta superfície não ` +
177
- `tem atribuições de prática para ele: o bundle publica assignments para ${rolesWithAssignments.length} papéis. ` +
178
- "NÃO é ausência de responsabilidades — é ausência de MAPEAMENTO nesta superfície. Não digas que o papel " +
179
- "não tem nada a fazer, nem geres um subagente com base neste vazio: para o que o Manual exige nesta " +
180
- "área usa `select_sbd_toe_requirements` (por concern ou por estrutura, ex.: " +
181
- '`chapters=["14-governanca-contratacao"]`), e `get_sbd_toe_chapter_brief` para o capítulo.',
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
  : {}),