@shiftleftpt/sbd-toe-mcp 0.20.0-beta.37 → 0.20.0-beta.39

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 (35) hide show
  1. package/data/publish/indexes/bundle_policy_links.jsonl +83 -0
  2. package/data/publish/indexes/cross_layer_referrals.jsonl +7926 -0
  3. package/data/publish/semantic/macro_processes.jsonl +6 -0
  4. package/data/publish/semantic/mp_edges.jsonl +46 -0
  5. package/dist/index.js +37 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/orchestrator/ask-manual.js +25 -2
  8. package/dist/orchestrator/ask-manual.js.map +1 -1
  9. package/dist/serving/next-band-reconciliation.d.ts +35 -0
  10. package/dist/serving/next-band-reconciliation.js +129 -0
  11. package/dist/serving/next-band-reconciliation.js.map +1 -0
  12. package/dist/serving/query-anchoring.d.ts +22 -0
  13. package/dist/serving/query-anchoring.js +74 -0
  14. package/dist/serving/query-anchoring.js.map +1 -0
  15. package/dist/tools/get-chapter-capability.js +87 -28
  16. package/dist/tools/get-chapter-capability.js.map +1 -1
  17. package/dist/tools/get-chapter-implementation-checklist.js +1 -1
  18. package/dist/tools/get-chapter-implementation-checklist.js.map +1 -1
  19. package/dist/tools/get-guide-by-role.js +37 -0
  20. package/dist/tools/get-guide-by-role.js.map +1 -1
  21. package/dist/tools/get-operating-model.d.ts +16 -1
  22. package/dist/tools/get-operating-model.js +59 -3
  23. package/dist/tools/get-operating-model.js.map +1 -1
  24. package/dist/tools/get-playbook.d.ts +2 -0
  25. package/dist/tools/get-playbook.js +2 -1
  26. package/dist/tools/get-playbook.js.map +1 -1
  27. package/dist/tools/ontology-loader.d.ts +8 -0
  28. package/dist/tools/ontology-loader.js +16 -0
  29. package/dist/tools/ontology-loader.js.map +1 -1
  30. package/dist/tools/plan-rollout.d.ts +21 -1
  31. package/dist/tools/plan-rollout.js +48 -3
  32. package/dist/tools/plan-rollout.js.map +1 -1
  33. package/dist/tools/structured-tools.js +24 -1
  34. package/dist/tools/structured-tools.js.map +1 -1
  35. package/package.json +5 -1
@@ -3,6 +3,7 @@ import { getConfig } from "../config.js";
3
3
  import { retrievePublishedContext } from "../backend/semantic-index-gateway.js";
4
4
  import { buildAnswerPrompt } from "../prompt/build-answer-prompt.js";
5
5
  import { boundList, resolveBudget, truncateText } from "../serving/response-shaping.js";
6
+ import { anchorQuery, NOTHING_PUBLISHED_NOTE } from "../serving/query-anchoring.js";
6
7
  function formatRecordDebug(retrieval, shaping) {
7
8
  if (retrieval.retrieved.length === 0) {
8
9
  return "Nenhum record recuperado.";
@@ -123,6 +124,27 @@ export async function prepareManualAnsweringContext(question, topK, options = {}
123
124
  debugText
124
125
  };
125
126
  }
127
+ /**
128
+ * 0.20.0-beta.39 — a banda de ancoragem, à cabeça da resposta.
129
+ *
130
+ * O `search` é PROSA: a banda vai no texto, porque é aí que o consumidor lê. Vai à CABEÇA
131
+ * e não no fim — uma ressalva depois de três excertos convincentes chega tarde.
132
+ */
133
+ function anchoringBanner(question) {
134
+ const a = anchorQuery(question);
135
+ if (a === undefined)
136
+ return "";
137
+ const lines = [
138
+ "⚠️ RECUPERAÇÃO, NÃO ÂMBITO — o que se segue é o que CASOU lexicalmente com a tua pergunta,",
139
+ " e não necessariamente a resposta à pergunta que fizeste. Esta superfície é NÃO-NORMATIVA."
140
+ ];
141
+ if (a.nothing_published)
142
+ lines.push("", ` ${NOTHING_PUBLISHED_NOTE}`);
143
+ else if (a.without_corpus_anchor.length > 0)
144
+ lines.push("", ` SEM ÂNCORA NO MANUAL (${a.without_corpus_anchor.length} de ${a.content_terms} termos da tua pergunta` +
145
+ ` não ocorrem no corpus publicado): ${a.without_corpus_anchor.join(", ")}.`, " Se o teu assunto está entre eles, o Manual não o publica — e o que recebes é sobre outra coisa.");
146
+ return `${lines.join("\n")}\n\n`;
147
+ }
126
148
  export async function searchManualQuestion(question, debugOverride, topK, options = {}) {
127
149
  const config = getConfig();
128
150
  // Bound the debug appendix to the search depth (topK): with debug on, the
@@ -134,9 +156,10 @@ export async function searchManualQuestion(question, debugOverride, topK, option
134
156
  excerptMaxChars: budget.maxExcerptChars,
135
157
  });
136
158
  const boundedRetrieved = boundList(prepared.retrieval.retrieved, budget.maxRecords);
159
+ const banner = anchoringBanner(question);
137
160
  const text = debugOverride ?? config.debugMode
138
- ? `${prepared.retrievalText}\n\n---\n\n${prepared.debugText}`
139
- : prepared.retrievalText;
161
+ ? `${banner}${prepared.retrievalText}\n\n---\n\n${prepared.debugText}`
162
+ : `${banner}${prepared.retrievalText}`;
140
163
  return {
141
164
  text,
142
165
  debugText: prepared.debugText,
@@ -1 +1 @@
1
- {"version":3,"file":"ask-manual.js","sourceRoot":"","sources":["../../src/orchestrator/ask-manual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-manual.js","sourceRoot":"","sources":["../../src/orchestrator/ask-manual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAqBpF,SAAS,iBAAiB,CAAC,SAA0B,EAAE,OAAsB;IAC3E,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,MAAM,OAAO,GACX,OAAO,EAAE,KAAK,KAAK,SAAS;QAC1B,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC;QAC/C,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAEtG,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;SACvB,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,SAAS,aAAa,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,WAAW,eAAe,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/L,MAAM,OAAO,GAAG;YACd,WAAW,MAAM,CAAC,KAAK,EAAE;YACzB,aAAa,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE;YACtC,WAAW,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE;YACpC,UAAU,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE;YAChC,SAAS,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE;YAChC,SAAS,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE;YACjC,cAAc,MAAM,CAAC,QAAQ,IAAI,KAAK,EAAE;YACxC,cAAc,MAAM,CAAC,aAAa,IAAI,KAAK,EAAE;YAC7C,kBAAkB,MAAM,CAAC,YAAY,IAAI,KAAK,EAAE;YAChD,iBAAiB,MAAM,CAAC,WAAW,IAAI,KAAK,EAAE;YAC9C,iBACE,MAAM,CAAC,YAAY;gBACjB,CAAC,CAAC;oBACE,MAAM,CAAC,YAAY,CAAC,UAAU;oBAC9B,MAAM,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS;wBACzC,CAAC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,GAC/B,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,SAAS;4BACzC,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,MAAM,CAAC,YAAY,CAAC,SAAS;4BAC3D,CAAC,CAAC,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE;4BACpC,CAAC,CAAC,EACN,EAAE;wBACJ,CAAC,CAAC,SAAS;oBACb,MAAM,CAAC,YAAY,CAAC,MAAM;iBAC3B;qBACE,MAAM,CAAC,OAAO,CAAC;qBACf,IAAI,CAAC,KAAK,CAAC;gBAChB,CAAC,CAAC,KACN,EAAE;YACF,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE;YACrF,YACE,OAAO,EAAE,eAAe,KAAK,SAAS;gBACpC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK;gBAC7D,CAAC,CAAC,MAAM,CAAC,OACb,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,GAAG,MAAM,KAAK,OAAO,EAAE,CAAC;IACjC,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,GAAG,IAAI,SAAS,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,KAAK,8CAA8C,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;IACnI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,SAA0B;IACtD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;YACL,2CAA2C;YAC3C,EAAE;YACF,+EAA+E;SAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO;QACL,6CAA6C;QAC7C,EAAE;QACF,SAAS,CAAC,QAAQ;aACf,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACd;YACE,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,KAAK,EAAE;YACxC,UAAU,MAAM,CAAC,SAAS,EAAE;YAC5B,aAAa,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE;YACtC,WAAW,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE;YACpC,QAAQ,MAAM,CAAC,GAAG,IAAI,KAAK,EAAE;YAC7B,YAAY,MAAM,CAAC,OAAO,EAAE;SAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;aACA,IAAI,CAAC,MAAM,CAAC;KAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAa,EACb,SAA0B,EAC1B,MAAc,EACd,MAAe,EACf,aAAsB,EACtB,OAAsB;IAEtB,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,QAAQ,GACZ,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpF,OAAO;QACL,UAAU;QACV,YAAY,KAAK,EAAE;QACnB,6BAA6B,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;QAC7E,gFAAgF;QAChF,0FAA0F;QAC1F,4CAA4C,GAAG,EAAE,EAAE,CAAC,WAAW,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,GAAG,EAAE,EAAE,CAAC,yBAAyB,IAAI,GAAG,cAAc,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE;QACrW,8CAA8C,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,uDAAuD,eAAe,SAAS,CAAC,eAAe,CAAC,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;QAC9Q,qBAAqB,SAAS,CAAC,eAAe,CAAC,gBAAgB,IAAI,KAAK,EAAE;QAC1E,2BAA2B,SAAS,CAAC,eAAe,CAAC,uBAAuB,IAAI,KAAK,EAAE;QACvF,6BAA6B,SAAS,CAAC,eAAe,CAAC,yBAAyB,IAAI,KAAK,EAAE;QAC3F,eAAe,SAAS,CAAC,eAAe,CAAC,YAAY,IAAI,KAAK,EAAE;QAChE,iBAAiB,SAAS,CAAC,eAAe,CAAC,aAAa,IAAI,KAAK,EAAE;QACnE,oBAAoB,SAAS,CAAC,eAAe,CAAC,gBAAgB,IAAI,KAAK,EAAE;QACzE,uBAAuB,SAAS,CAAC,eAAe,CAAC,mBAAmB,IAAI,KAAK,EAAE;QAC/E,4BAA4B,SAAS,CAAC,eAAe,CAAC,uBAAuB,IAAI,KAAK,EAAE;QACxF,2BAA2B,SAAS,CAAC,eAAe,CAAC,sBAAsB,IAAI,KAAK,EAAE;QACtF,wBAAwB,SAAS,CAAC,eAAe,CAAC,gBAAgB,IAAI,KAAK,EAAE;QAC7E,qBAAqB,aAAa,IAAI,KAAK,EAAE;QAC7C,2BAA2B,QAAQ,EAAE;QACrC,2BAA2B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;QAChH,EAAE;QACF,yBAAyB;QACzB,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC;QACrC,EAAE;QACF,kBAAkB;QAClB,SAAS;QACT,MAAM;QACN,KAAK;QACL,GAAG,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;YAC1D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,QAAgB,EAChB,IAAa,EACb,UAA6C,EAAE,EAC/C,YAA2B;IAO3B,MAAM,SAAS,GAAG,MAAM,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,mBAAmB,CACnC,QAAQ,EACR,SAAS,EACT,MAAM,CAAC,UAAU,EACjB,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;IAEF,OAAO;QACL,SAAS;QACT,MAAM;QACN,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG;QACZ,6FAA6F;QAC7F,+FAA+F;KAChG,CAAC;IACF,IAAI,CAAC,CAAC,iBAAiB;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,sBAAsB,EAAE,CAAC,CAAC;SACpE,IAAI,CAAC,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC;QACzC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,6BAA6B,CAAC,CAAC,qBAAqB,CAAC,MAAM,OAAO,CAAC,CAAC,aAAa,yBAAyB;YACxG,sCAAsC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAC7E,qGAAqG,CACtG,CAAC;IACJ,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAgB,EAChB,aAAuB,EACvB,IAAa,EACb,UAA6C,EAAE;IAE/C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,YAAY,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5E,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,IAAI,GACR,aAAa,IAAI,MAAM,CAAC,SAAS;QAC/B,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,aAAa,cAAc,QAAQ,CAAC,SAAS,EAAE;QACtE,CAAC,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;IAE3C,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,cAAc;YAC3C,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,gBAAgB;YACrD,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,eAAe;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;YAClC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACnF,IAAI,EAAE;gBACJ,cAAc,EAAE,gBAAgB,CAAC,KAAK;gBACtC,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ;gBAC5C,kBAAkB,EAAE,gBAAgB,CAAC,SAAS;gBAC9C,gBAAgB,EAAE,gBAAgB,CAAC,OAAO;gBAC1C,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBACjD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,IAAI,EACF,sEAAsE;oBACtE,4DAA4D;aAC/D;YACD,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK;gBACnE,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,IAAa,EACb,UAA6C,EAAE;IAE/C,8EAA8E;IAC9E,2EAA2E;IAC3E,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,MAAM,GAAG,aAAa,CAC1B,YAAY,EACZ,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QAC5E,KAAK,EAAE,MAAM,CAAC,UAAU;QACxB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IAEpF,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,SAAS;QACxB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,cAAc;YAC3C,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,gBAAgB;YACrD,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,eAAe;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;YAClC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACnF,IAAI,EAAE;gBACJ,cAAc,EAAE,gBAAgB,CAAC,KAAK;gBACtC,iBAAiB,EAAE,gBAAgB,CAAC,QAAQ;gBAC5C,kBAAkB,EAAE,gBAAgB,CAAC,SAAS;gBAC9C,gBAAgB,EAAE,gBAAgB,CAAC,OAAO;gBAC1C,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBACjD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,IAAI,EACF,kFAAkF;oBAClF,8FAA8F;aACjG;YACD,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK;gBACnE,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;SACJ;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAAgB,EAChB,QAGC,EACD,MAAc,EACd,aAAsB,EACtB,aAAuB;IAEvB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,mBAAmB,CACnC,QAAQ,EACR,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,MAAM,CAAC,UAAU,EAC1B,MAAM,EACN,aAAa,CACd,CAAC;IAEF,OAAO;QACL,IAAI,EACF,aAAa,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM;QACjF,SAAS;QACT,KAAK,EAAE;YACL,KAAK,EAAE,QAAQ;YACf,aAAa;YACb,QAAQ,EAAE,QAAQ,CAAC,SAAS,CAAC,cAAc;YAC3C,gBAAgB,EAAE,QAAQ,CAAC,SAAS,CAAC,gBAAgB;YACrD,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,eAAe;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU;YAClC,mBAAmB,EAAE,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACnF,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACvD,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAC,CAAC;YACH,WAAW,EAAE,MAAM;SACpB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * 0.20.0-beta.39 — O `next` TEM DE LER AS BANDAS DA RESPOSTA QUE O TRANSPORTA.
3
+ *
4
+ * PORQUE EXISTE. `get_guide_by_role(role="fornecedores-terceiros")` devolvia a banda
5
+ * `unsupported_role` com o aviso «não geres um subagente com base neste vazio» e, **na
6
+ * mesma resposta**, um `next` a oferecer `generate_sbd_toe_skill(role=…, format=subagent)`.
7
+ * A banda foi corrigida na b.30; o `next` é gerado por outro caminho e nunca a leu. **Num
8
+ * cliente agêntico é o `next` que é seguido, não a nota.**
9
+ *
10
+ * É dívida ESTRUTURAL, não uma instância: cada banda de silêncio nova — e a b.39 acrescenta
11
+ * três — herdaria o mesmo defeito. Por isso a reconciliação corre no ÚNICO ponto por onde
12
+ * todas as respostas passam (`sendResponse`), e não em cada tool: uma tool nova entra
13
+ * sozinha, como no varrimento de inventário vivo da b.36.
14
+ *
15
+ * COMO DECIDE, sem lista à mão. Uma banda de declaração NEGATIVA nomeia o valor que não
16
+ * suporta (`unsupported_role.value`, `unknown_*.requested`, `unmodelled_signals.values`…).
17
+ * Se um `next` menciona esse valor nos seus parâmetros, contradiz a banda da própria
18
+ * resposta. Deriva-se da forma da resposta, não de um catálogo de casos.
19
+ *
20
+ * NUNCA EM SILÊNCIO. A sugestão contraditória sai do `next` — é lá que um agente vai
21
+ * buscar o passo seguinte — e o motivo fica declarado em `next_withheld`, com a banda que
22
+ * a bloqueou. Retirar sem dizer trocaria um defeito por outro.
23
+ */
24
+ export interface WithheldAffordance {
25
+ tool: string;
26
+ with?: string;
27
+ intent?: string;
28
+ contradicts_band: string;
29
+ declared_value: string;
30
+ }
31
+ /**
32
+ * Retira do `next` as sugestões contraditadas por uma banda negativa da MESMA resposta e
33
+ * declara a retirada. Devolve `true` se mexeu em alguma coisa.
34
+ */
35
+ export declare function reconcileNextWithBands(payload: unknown): boolean;
@@ -0,0 +1,129 @@
1
+ /**
2
+ * 0.20.0-beta.39 — O `next` TEM DE LER AS BANDAS DA RESPOSTA QUE O TRANSPORTA.
3
+ *
4
+ * PORQUE EXISTE. `get_guide_by_role(role="fornecedores-terceiros")` devolvia a banda
5
+ * `unsupported_role` com o aviso «não geres um subagente com base neste vazio» e, **na
6
+ * mesma resposta**, um `next` a oferecer `generate_sbd_toe_skill(role=…, format=subagent)`.
7
+ * A banda foi corrigida na b.30; o `next` é gerado por outro caminho e nunca a leu. **Num
8
+ * cliente agêntico é o `next` que é seguido, não a nota.**
9
+ *
10
+ * É dívida ESTRUTURAL, não uma instância: cada banda de silêncio nova — e a b.39 acrescenta
11
+ * três — herdaria o mesmo defeito. Por isso a reconciliação corre no ÚNICO ponto por onde
12
+ * todas as respostas passam (`sendResponse`), e não em cada tool: uma tool nova entra
13
+ * sozinha, como no varrimento de inventário vivo da b.36.
14
+ *
15
+ * COMO DECIDE, sem lista à mão. Uma banda de declaração NEGATIVA nomeia o valor que não
16
+ * suporta (`unsupported_role.value`, `unknown_*.requested`, `unmodelled_signals.values`…).
17
+ * Se um `next` menciona esse valor nos seus parâmetros, contradiz a banda da própria
18
+ * resposta. Deriva-se da forma da resposta, não de um catálogo de casos.
19
+ *
20
+ * NUNCA EM SILÊNCIO. A sugestão contraditória sai do `next` — é lá que um agente vai
21
+ * buscar o passo seguinte — e o motivo fica declarado em `next_withheld`, com a banda que
22
+ * a bloqueou. Retirar sem dizer trocaria um defeito por outro.
23
+ */
24
+ /** Chaves cujo prefixo marca uma declaração NEGATIVA (o que a resposta NÃO suporta/sabe). */
25
+ const NEGATIVE_BAND_KEY = /^(unsupported|unknown|unmodelled|unresolved|no_|not_|missing_)/i;
26
+ /** Valores de `status` que marcam a resposta inteira como declaração negativa. */
27
+ const NEGATIVE_STATUS = /^(unsupported|unknown|unresolved|not_|no_)/i;
28
+ /** Campos onde uma banda negativa nomeia o valor em causa. */
29
+ const VALUE_FIELDS = ["value", "values", "requested", "unsupported", "unknown"];
30
+ function collectNegativeValues(node, path, out, depth = 0) {
31
+ if (depth > 4 || node === null || typeof node !== "object")
32
+ return;
33
+ if (Array.isArray(node)) {
34
+ for (const item of node)
35
+ collectNegativeValues(item, path, out, depth + 1);
36
+ return;
37
+ }
38
+ const obj = node;
39
+ const status = obj["status"];
40
+ const statusIsNegative = typeof status === "string" && NEGATIVE_STATUS.test(status);
41
+ for (const [key, value] of Object.entries(obj)) {
42
+ if (key === "next" || key === "next_withheld")
43
+ continue;
44
+ const bandName = path ? `${path}.${key}` : key;
45
+ const keyIsNegative = NEGATIVE_BAND_KEY.test(key);
46
+ if ((keyIsNegative || statusIsNegative) && value !== null && typeof value === "object") {
47
+ for (const field of VALUE_FIELDS) {
48
+ const v = value[field];
49
+ if (typeof v === "string" && v.length > 2)
50
+ out.set(v, bandName);
51
+ if (Array.isArray(v))
52
+ for (const x of v)
53
+ if (typeof x === "string" && x.length > 2)
54
+ out.set(x, bandName);
55
+ }
56
+ }
57
+ if (keyIsNegative && typeof value === "string" && value.length > 2 && !/\s/.test(value))
58
+ out.set(value, bandName);
59
+ if (statusIsNegative)
60
+ for (const field of VALUE_FIELDS) {
61
+ const v = obj[field];
62
+ if (typeof v === "string" && v.length > 2)
63
+ out.set(v, `status=${status}`);
64
+ }
65
+ collectNegativeValues(value, bandName, out, depth + 1);
66
+ }
67
+ }
68
+ /** Percorre o payload e devolve todos os arrays `next` com o objecto que os contém. */
69
+ function eachNext(node, visit, depth = 0) {
70
+ if (depth > 4 || node === null || typeof node !== "object")
71
+ return;
72
+ if (Array.isArray(node)) {
73
+ for (const item of node)
74
+ eachNext(item, visit, depth + 1);
75
+ return;
76
+ }
77
+ const obj = node;
78
+ if (Array.isArray(obj["next"]))
79
+ visit(obj);
80
+ for (const value of Object.values(obj))
81
+ eachNext(value, visit, depth + 1);
82
+ }
83
+ /**
84
+ * Retira do `next` as sugestões contraditadas por uma banda negativa da MESMA resposta e
85
+ * declara a retirada. Devolve `true` se mexeu em alguma coisa.
86
+ */
87
+ export function reconcileNextWithBands(payload) {
88
+ if (payload === null || typeof payload !== "object")
89
+ return false;
90
+ const negatives = new Map();
91
+ collectNegativeValues(payload, "", negatives);
92
+ if (negatives.size === 0)
93
+ return false;
94
+ let changed = false;
95
+ eachNext(payload, (owner) => {
96
+ const next = owner["next"];
97
+ const kept = [];
98
+ const withheld = [];
99
+ for (const aff of next) {
100
+ const withText = typeof aff["with"] === "string" ? aff["with"] : "";
101
+ const hit = [...negatives.entries()].find(([value]) => withText.includes(value));
102
+ if (hit === undefined) {
103
+ kept.push(aff);
104
+ continue;
105
+ }
106
+ withheld.push({
107
+ tool: String(aff["tool"] ?? ""),
108
+ ...(withText ? { with: withText } : {}),
109
+ ...(typeof aff["intent"] === "string" ? { intent: aff["intent"] } : {}),
110
+ contradicts_band: hit[1],
111
+ declared_value: hit[0]
112
+ });
113
+ }
114
+ if (withheld.length === 0)
115
+ return;
116
+ owner["next"] = kept;
117
+ owner["next_withheld"] = {
118
+ note: "Estas sugestões foram RETIRADAS do `next` porque contradizem uma banda desta mesma resposta — " +
119
+ "a resposta declara que não suporta o valor que a sugestão usaria. Ficam aqui declaradas, com a " +
120
+ "banda que as bloqueou: um agente segue o `next`, e seguir uma sugestão desmentida pela própria " +
121
+ "resposta produziria trabalho sobre um vazio.",
122
+ count: withheld.length,
123
+ values: withheld
124
+ };
125
+ changed = true;
126
+ });
127
+ return changed;
128
+ }
129
+ //# sourceMappingURL=next-band-reconciliation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-band-reconciliation.js","sourceRoot":"","sources":["../../src/serving/next-band-reconciliation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare function _resetQueryAnchoringCacheForTests(): void;
2
+ export interface QueryAnchoring {
3
+ note: string;
4
+ content_terms: number;
5
+ anchored: string[];
6
+ /** Termos de conteúdo da pergunta que NÃO ocorrem no corpus publicado. */
7
+ without_corpus_anchor: string[];
8
+ /**
9
+ * Verdadeiro só quando NENHUM termo de conteúdo ocorre no corpus. É deliberadamente
10
+ * estrito: uma pergunta fora de âmbito costuma trazer alguma palavra que existe algures,
11
+ * e por isso a lista `without_corpus_anchor` diz mais do que este booleano.
12
+ */
13
+ nothing_published: boolean;
14
+ }
15
+ /**
16
+ * Deriva a ancoragem de uma pergunta. Termos com 4+ caracteres, sem palavras funcionais;
17
+ * a ocorrência é substring sobre o corpus (a mesma base que a recuperação lê), o que
18
+ * apanha plurais e flexões sem inventar um lematizador que o programa não tem.
19
+ */
20
+ export declare function anchorQuery(question: string): QueryAnchoring | undefined;
21
+ /** A banda de nunca-silêncio quando NADA do que perguntaste existe no Manual. */
22
+ export declare const NOTHING_PUBLISHED_NOTE: string;
@@ -0,0 +1,74 @@
1
+ /**
2
+ * 0.20.0-beta.39 — ANCORAGEM DA PERGUNTA no corpus publicado.
3
+ *
4
+ * PORQUE EXISTE. Uma pergunta sobre segurança FÍSICA de datacenters recebeu três excertos
5
+ * de controlo de acesso LÓGICO. O servidor **não recusou e não improvisou: respondeu a
6
+ * outra pergunta sem o dizer.** A recuperação faz o que sabe fazer — casar termos — e o
7
+ * silêncio sobre o que NÃO casou é que engana.
8
+ *
9
+ * O QUE ESTE MÓDULO NÃO FAZ. Não inventa um piso numérico de relevância: um limiar de
10
+ * score seria um número escolhido por nós, e a regra do programa é declarar, não decidir.
11
+ * O que se pode derivar do corpus é objectivo — **que termos da pergunta não ocorrem em
12
+ * lado nenhum do Manual** — e é isso que se serve. `datacenter`, `instalações` e `CCTV`
13
+ * ocorrem zero vezes; `controlo de acesso` ocorre em 143 chunks. É por aí que o consumidor
14
+ * percebe que recebeu a resposta a outra coisa.
15
+ */
16
+ import { loadChunkIndex } from "./chunk-index.js";
17
+ /**
18
+ * Palavras funcionais do português (e o inglês que aparece nas perguntas). Não são termos
19
+ * de conteúdo e a sua ausência não diz nada — mantê-las inflacionaria o aviso até ao ruído.
20
+ */
21
+ const STOPWORDS = new Set([
22
+ "a", "à", "às", "ao", "aos", "as", "o", "os", "um", "uma", "uns", "umas", "de", "do", "da", "dos", "das", "em", "no", "na", "nos", "nas",
23
+ "por", "para", "com", "sem", "sob", "sobre", "entre", "que", "qual", "quais", "quando", "como", "onde", "porque", "porquê", "e", "ou",
24
+ "mas", "se", "não", "sim", "tem", "têm", "ter", "há", "é", "são", "foi", "ser", "estar", "está", "this", "that", "the", "of", "for", "and",
25
+ "what", "which", "how", "are", "is", "to", "in", "on", "at", "my", "me", "meu", "minha", "nosso", "nossa", "seu", "sua", "este", "esta",
26
+ "esse", "essa", "aquele", "aquela", "isto", "isso", "mais", "menos", "muito", "pouco", "todo", "toda", "todos", "todas", "cada", "já",
27
+ "quantos", "quantas", "quanto", "quanta", "faço", "fazes", "faz", "dizer", "diz", "sabes", "sabe", "existe", "existem", "tenho",
28
+ "requisitos", "requisito", "manual", "sbd", "toe", "preciso", "quero", "podes", "pode", "deve", "devem", "fazer", "usar"
29
+ ]);
30
+ let corpusCache;
31
+ /** O corpus publicado em minúsculas, uma vez. Título + secção + texto de cada chunk. */
32
+ function corpus() {
33
+ if (corpusCache === undefined)
34
+ corpusCache = loadChunkIndex()
35
+ .map((c) => `${c.title} ${c.section_path} ${c.text}`)
36
+ .join("\n")
37
+ .toLowerCase();
38
+ return corpusCache;
39
+ }
40
+ export function _resetQueryAnchoringCacheForTests() {
41
+ corpusCache = undefined;
42
+ }
43
+ /**
44
+ * Deriva a ancoragem de uma pergunta. Termos com 4+ caracteres, sem palavras funcionais;
45
+ * a ocorrência é substring sobre o corpus (a mesma base que a recuperação lê), o que
46
+ * apanha plurais e flexões sem inventar um lematizador que o programa não tem.
47
+ */
48
+ export function anchorQuery(question) {
49
+ const terms = [
50
+ ...new Set(question
51
+ .toLowerCase()
52
+ .split(/[^\p{L}\p{N}-]+/u)
53
+ .filter((t) => t.length >= 4 && !STOPWORDS.has(t)))
54
+ ];
55
+ if (terms.length === 0)
56
+ return undefined;
57
+ const text = corpus();
58
+ const anchored = terms.filter((t) => text.includes(t));
59
+ const missing = terms.filter((t) => !text.includes(t));
60
+ return {
61
+ note: "RECUPERAÇÃO, não decisão de âmbito: os excertos respondem ao que CASOU com a tua pergunta, que " +
62
+ "não é necessariamente o que perguntaste. Os termos sem âncora abaixo não ocorrem em lado nenhum " +
63
+ "do corpus publicado — se o teu assunto está entre eles, o que recebeste é sobre outra coisa.",
64
+ content_terms: terms.length,
65
+ anchored,
66
+ without_corpus_anchor: missing,
67
+ nothing_published: anchored.length === 0
68
+ };
69
+ }
70
+ /** A banda de nunca-silêncio quando NADA do que perguntaste existe no Manual. */
71
+ export const NOTHING_PUBLISHED_NOTE = "NADA PUBLICADO SOBRE ISTO: nenhum termo de conteúdo da tua pergunta ocorre no corpus do Manual. " +
72
+ "O que a recuperação devolve (se devolver) é o que mais se aproximou lexicalmente, e não é resposta " +
73
+ "à pergunta que fizeste. O Manual não cobre tudo — e onde não cobre, diz-se.";
74
+ //# sourceMappingURL=query-anchoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-anchoring.js","sourceRoot":"","sources":["../../src/serving/query-anchoring.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  * must-NOT do próprio caso é responder à IMPL com a lista de requisitos técnicos.
18
18
  */
19
19
  import { loadMetrics } from "./assess-implementation.js";
20
- import { getOntologyData } from "./ontology-loader.js";
20
+ import { getOntologyData, runtimeCountSemantics } from "./ontology-loader.js";
21
21
  import { servedKgReleaseTag, servingServerVersion } from "../version-info.js";
22
22
  import { paginate } from "../serving/response-shaping.js";
23
23
  const LEVELS = ["L1", "L2", "L3"];
@@ -52,10 +52,15 @@ export function handleGetChapterCapability(args) {
52
52
  kg: servedKgReleaseTag(),
53
53
  server: servingServerVersion(),
54
54
  content_type: "canonical",
55
+ content_type_by_band: {
56
+ measures: "canonical — os KPIs e os thresholds por nível como o bundle os publica",
57
+ artifacts: "derived — junções sobre a relação e sobre os padrões de evidência; cada base declara-se na banda"
58
+ },
55
59
  produced_by: "chapter_capability_projection",
56
60
  source_data: "data/publish/runtime/metrics.json + runtime/artifact_requirements + runtime/artifacts",
57
- note: "KPIs e artefactos que o MANUAL define para a capacidade do capítulo, com os thresholds por nível " +
58
- "como o bundle os publica. Nada é inventado e nada é avaliado aqui — avaliar é o " +
61
+ note: "KPIs que o MANUAL define para a capacidade do capítulo, com os thresholds por nível como o bundle " +
62
+ "os publica. A banda `artifacts` é DERIVADA e declara a base de cada conjunto — o carimbo `canonical` " +
63
+ "vale para as medidas, não para junções. Nada é inventado e nada é avaliado aqui — avaliar é o " +
59
64
  "`assess_sbd_toe_implementation`, com os valores que TU medires."
60
65
  };
61
66
  const reading = {
@@ -96,23 +101,87 @@ export function handleGetChapterCapability(args) {
96
101
  const offsetArg = typeof args["offset"] === "number" ? Math.max(0, Math.floor(args["offset"])) : 0;
97
102
  const limitArg = typeof args["limit"] === "number" ? Math.max(1, Math.floor(args["limit"])) : 25;
98
103
  const page = paginate(scoped, { offset: offsetArg, limit: limitArg }, scoped.length || 1);
99
- // artefactos da capacidade (a outra peça do GR-01), quando o pedido é por capítulo
104
+ /**
105
+ * 0.20.0-beta.39 — ARTEFACTOS: DUAS BASES, cada uma declarada, e NENHUMA delas é «o que
106
+ * este capítulo tem de produzir». Esse conjunto o Manual não publica, e afirmá-lo era a
107
+ * única falha em que esta superfície AFIRMAVA em vez de omitir.
108
+ *
109
+ * O que estava mal: contávamos os registos `ArtifactRequirement` que nomeiam o capítulo
110
+ * em `chapter_ids` (31, no cap. 01) e serviamo-los como `total` + `mandatory` sob a nota
111
+ * «tem de PRODUZIR», carimbados `canonical`. A própria fonte proíbe a operação por
112
+ * escrito — `count_semantics` diz «sum them for relation edges, NEVER FOR TOTALS» — e o
113
+ * `mandatory` não discriminava nada (45 de 45 são `true`).
114
+ *
115
+ * O que passa a fazer: serve as duas leituras possíveis com a BASE de cada uma à vista,
116
+ * a declaração da fonte VERBATIM, e nenhuma promoção de aresta a obrigação.
117
+ */
100
118
  const artifactsById = new Map((ontology.artifacts ?? []).map((a) => [a.artifact_type_id, a]));
119
+ const shapeArtifact = (id) => {
120
+ const meta = artifactsById.get(id);
121
+ return {
122
+ artifact_type_id: id,
123
+ name: meta?.name ?? id,
124
+ ...(meta?.category !== undefined ? { category: meta.category } : {}),
125
+ lifecycle_phases: meta?.lifecycle_phases ?? []
126
+ };
127
+ };
128
+ // Base A — o que os PADRÕES DE EVIDÊNCIA do capítulo esperam. Âmbito por PERTENÇA
129
+ // (EP → requisito → capítulo do requisito), nunca por prefixo do id.
130
+ const chapterOfRequirement = new Map((ontology.requirements ?? []).map((r) => [r.requirement_id, r.source_bundle]));
131
+ const chapterEvidencePatterns = chapterArg === undefined
132
+ ? []
133
+ : (ontology.evidencePatterns ?? []).filter((ep) => chapterOfRequirement.get(ep.maps_to_requirement_id) === chapterArg);
134
+ const byEvidence = [
135
+ ...new Set(chapterEvidencePatterns.flatMap((ep) => ep.expected_artifact_type_ids ?? []))
136
+ ]
137
+ .sort()
138
+ .map(shapeArtifact);
139
+ // Base B — a RELAÇÃO capítulo↔artefacto, servida como relação e nunca como total.
140
+ const relatedRecords = chapterArg === undefined
141
+ ? []
142
+ : (ontology.artifactRequirements ?? []).filter((ar) => (ar.chapter_ids ?? []).includes(chapterArg));
143
+ const relationEdges = relatedRecords.map((ar) => shapeArtifact(ar.artifact_type_id)).sort((a, b) => a.artifact_type_id.localeCompare(b.artifact_type_id));
144
+ const countSemantics = runtimeCountSemantics("data/publish/runtime/artifact_requirements.json");
145
+ const epIds = new Set(byEvidence.map((a) => a.artifact_type_id));
146
+ const relIds = new Set(relationEdges.map((a) => a.artifact_type_id));
147
+ const union = [...new Map([...byEvidence, ...relationEdges].map((a) => [a.artifact_type_id, a])).values()].sort((a, b) => a.artifact_type_id.localeCompare(b.artifact_type_id));
101
148
  const artifacts = chapterArg === undefined
102
149
  ? undefined
103
- : (ontology.artifactRequirements ?? [])
104
- .filter((ar) => (ar.chapter_ids ?? []).includes(chapterArg))
105
- .map((ar) => {
106
- const meta = artifactsById.get(ar.artifact_type_id);
107
- return {
108
- artifact_type_id: ar.artifact_type_id,
109
- name: meta?.name ?? ar.artifact_type_id,
110
- category: meta?.category,
111
- lifecycle_phases: meta?.lifecycle_phases ?? [],
112
- mandatory: ar.mandatory === true
113
- };
114
- })
115
- .sort((a, b) => a.artifact_type_id.localeCompare(b.artifact_type_id));
150
+ : {
151
+ content_type: "derived",
152
+ note: "DUAS bases distintas, e cada artefacto diz de quais vem. **Nenhuma delas é «os artefactos que " +
153
+ "este capítulo tem de produzir»** — esse conjunto o Manual não publica, e o servidor não o inventa.",
154
+ bases: {
155
+ evidence_pattern: {
156
+ what: "artefactos nomeados em `expected_artifact_type_ids` dos padrões de evidência cujo REQUISITO " +
157
+ "pertence a este capítulo (EP → requisito → capítulo). É o conjunto com suporte em requisitos.",
158
+ evidence_patterns: chapterEvidencePatterns.length,
159
+ distinct_artifacts: epIds.size
160
+ },
161
+ chapter_relation: {
162
+ what: "registos `ArtifactRequirement` que NOMEIAM este capítulo em `chapter_ids`. São ARESTAS da " +
163
+ "relação capítulo↔artefacto — não um total, e não uma obrigação de produção.",
164
+ ...(countSemantics !== undefined ? { source_declares: countSemantics } : {}),
165
+ relation_edges: relationEdges.length
166
+ }
167
+ },
168
+ only_in_evidence_pattern: [...epIds].filter((id) => !relIds.has(id)).sort(),
169
+ values: union.map((a) => ({
170
+ ...a,
171
+ bases: [
172
+ ...(epIds.has(a.artifact_type_id) ? ["evidence_pattern"] : []),
173
+ ...(relIds.has(a.artifact_type_id) ? ["chapter_relation"] : [])
174
+ ]
175
+ })),
176
+ declared_limits: {
177
+ no_mandatory_count: "a fonte traz `mandatory: true` em 45 de 45 registos — o campo não discrimina nada, e por isso " +
178
+ "NÃO se serve aqui uma contagem de obrigatoriedade. Achado de CONTEÚDO, reportado ao programa; " +
179
+ "o servidor declara o que recebe e não compensa.",
180
+ relation_broader_than_provenance: "há registos cujo `chapter_ids` é mais largo que a sua própria proveniência — o do SBOM nomeia os " +
181
+ "15 capítulos enquanto os seus `source_practice_ids` cobrem 7. Por isso a relação vem como " +
182
+ "relação: lê-la como obrigação herdaria a largura."
183
+ }
184
+ };
116
185
  return {
117
186
  provenance,
118
187
  reading,
@@ -120,17 +189,7 @@ export function handleGetChapterCapability(args) {
120
189
  ...(level !== undefined ? { risk_level: level } : {}),
121
190
  measures: page.items.map((m) => measureOf(m, level)),
122
191
  coverage: { ...page.coverage, total: scoped.length },
123
- ...(artifacts !== undefined
124
- ? {
125
- artifacts: {
126
- note: "Artefactos que esta capacidade tem de PRODUZIR (o Manual declara que não fornece templates — " +
127
- "define o que tem de existir, não como se escreve).",
128
- total: artifacts.length,
129
- mandatory: artifacts.filter((a) => a.mandatory).length,
130
- values: artifacts
131
- }
132
- }
133
- : {}),
192
+ ...(artifacts !== undefined ? { artifacts } : {}),
134
193
  next: [
135
194
  {
136
195
  intent: "Avaliar-te contra ESTES KPIs (traz os teus valores medidos)",
@@ -1 +1 @@
1
- {"version":3,"file":"get-chapter-capability.js","sourceRoot":"","sources":["../../src/tools/get-chapter-capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-chapter-capability.js","sourceRoot":"","sources":["../../src/tools/get-chapter-capability.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ export function handleGetChapterImplementationChecklist(args) {
96
96
  items: chunks.length,
97
97
  note: `MAGRO e declarado: o Manual publica ${chunks.length} bloco(s) de checklist para \`${bundle}\` — ` +
98
98
  "não é um checklist de capacidade organizacional, são as secções de prosa que existem. " +
99
- "NÃO concluas que implementar este capítulo tem 2 passos. Para a capacidade e a medida usa " +
99
+ `NÃO concluas que implementar este capítulo tem ${chunks.length} passo(s). Para a capacidade e a medida usa ` +
100
100
  `\`get_sbd_toe_chapter_capability(chapter="${bundle}")\`; para o que o capítulo cobre, ` +
101
101
  `\`get_sbd_toe_chapter_brief(chapterId="${bundle}")\`.`
102
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-chapter-implementation-checklist.js","sourceRoot":"","sources":["../../src/tools/get-chapter-implementation-checklist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAqB,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAE1F,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAiBtC,SAAS,MAAM,CAAC,CAAc;IAC5B,OAAO;QACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,IAA6B;IAE7B,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,EAAE;YACpE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,qBAAqB,UAAU,sBAAsB,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAChG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,UAAU,GAAG,EAAE,EAAE,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxF,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,yBAAyB,CAAC,CAAC;IAC5E,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,IAAI,MAAM,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,IAAI,GAAqD,mBAAmB,CAAC;IACjF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,YAAY,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACxE,IAAI,GAAG,0BAA0B,CAAC;IACpC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,QAAQ,CACnB,MAAM,EACN;QACE,MAAM,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC7D,KAAK,EAAE,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;KACpD,EACD,MAAM,CAAC,MAAM,IAAI,CAAC,CACnB,CAAC;IAEF,MAAM,QAAQ,GAAqD;QACjE,GAAG,IAAI,CAAC,QAAQ;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,IAAI;KACb,CAAC;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO;QACL,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM;YACf,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAC7B;;;;;;eAMG;YACH,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACrB,CAAC,CAAC;oBACE,mBAAmB,EAAE;wBACnB,KAAK,EAAE,MAAM;wBACb,IAAI,EACF,gBAAgB,MAAM,qEAAqE;4BAC3F,UAAU,IAAI,kFAAkF;4BAChG,mFAAmF;4BACnF,0CAA0C,GAAG,WAAW,GAAG,uCAAuC;qBACrG;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP;;;;;eAKG;YACH,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;gBACzC,CAAC,CAAC;oBACE,QAAQ,EAAE;wBACR,KAAK,EAAE,MAAM,CAAC,MAAM;wBACpB,IAAI,EACF,uCAAuC,MAAM,CAAC,MAAM,iCAAiC,MAAM,OAAO;4BAClG,wFAAwF;4BACxF,4FAA4F;4BAC5F,6CAA6C,MAAM,qCAAqC;4BACxF,0CAA0C,MAAM,OAAO;qBAC1D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;SACjC;QACD,UAAU,EAAE;YACV,EAAE,EAAE,kBAAkB,EAAE;YACxB,MAAM,EAAE,oBAAoB,EAAE;YAC9B,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,qCAAqC;YAClD,WAAW,EAAE,qDAAqD,IAAI,YAAY,MAAM,GAAG;YAC3F,IAAI,EACF,+EAA+E;gBAC/E,4FAA4F;SAC/F;QACD,QAAQ;QACR,IAAI,EAAE,gBAAgB,CAAC;YACrB;gBACE,MAAM,EAAE,2EAA2E;gBACnF,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,GAAG,QAAQ,0CAA0C;gBAC3D,IAAI,EAAE,YAAY;aACnB;YACD;gBACE,MAAM,EAAE,iEAAiE;gBACzE,IAAI,EAAE,+BAA+B;gBACrC,IAAI,EAAE,8CAA8C;gBACpD,IAAI,EAAE,UAAU;aACjB;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-chapter-implementation-checklist.js","sourceRoot":"","sources":["../../src/tools/get-chapter-implementation-checklist.ts"],"names":[],"mappings":"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"}