@shiftleftpt/sbd-toe-mcp 0.20.0-beta.21 → 0.20.0-beta.22
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/dist/index.js +24 -11
- package/dist/index.js.map +1 -1
- package/dist/serving/activation-vocabulary.d.ts +9 -0
- package/dist/serving/activation-vocabulary.js +29 -10
- package/dist/serving/activation-vocabulary.js.map +1 -1
- package/dist/serving/selection.d.ts +4 -0
- package/dist/serving/selection.js +115 -33
- package/dist/serving/selection.js.map +1 -1
- package/dist/tools/prepare-codegen-context.d.ts +7 -1
- package/dist/tools/prepare-codegen-context.js +40 -17
- package/dist/tools/prepare-codegen-context.js.map +1 -1
- package/dist/tools/select-requirements.d.ts +11 -0
- package/dist/tools/select-requirements.js +12 -0
- package/dist/tools/select-requirements.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
import { getOntologyData } from "../tools/ontology-loader.js";
|
|
23
23
|
import { VALID_CONCERNS, activate, categoriesForConcerns, normalizeInput } from "../tools/prepare-codegen-context.js";
|
|
24
24
|
import { bundlesForChangedFiles } from "../tools/map-review-scope.js";
|
|
25
|
+
import { EXPOSURE_CONCERNS as EXPOSURE_ACTIVATION, SENSITIVITY_CONCERNS as SENSITIVITY_ACTIVATION } from "../tools/prepare-codegen-context.js";
|
|
26
|
+
const LEVELS = ["L1", "L2", "L3"];
|
|
25
27
|
/** Concern → the domain chapter(s) whose catalogue it activates (aligned with the
|
|
26
28
|
* ontology's `activation_examples` and the applicability model; audited table). */
|
|
27
29
|
export const CONCERN_TO_DOMAIN_CHAPTERS = {
|
|
@@ -144,6 +146,15 @@ export function runSelection(context) {
|
|
|
144
146
|
return runSelectionWithActivation(input, activation, context.technologies ?? [], mode);
|
|
145
147
|
}
|
|
146
148
|
/** Tecnologias declaradas normalizadas: valor do vocabulário fechado, ou token exacto dentro do `stack`. */
|
|
149
|
+
/** Tokens do vocabulário FECHADO presentes no `stack` declarado (P1-D: dão rasto). */
|
|
150
|
+
export function stackTokensFromVocabulary(stack) {
|
|
151
|
+
const out = new Set();
|
|
152
|
+
for (const token of (stack ?? "").toLowerCase().split(/[^a-z0-9-]+/).filter(Boolean)) {
|
|
153
|
+
if (token in TECHNOLOGY_TO_CHAPTERS || token === SES008_TECHNOLOGY)
|
|
154
|
+
out.add(token);
|
|
155
|
+
}
|
|
156
|
+
return [...out].sort();
|
|
157
|
+
}
|
|
147
158
|
export function normalizeDeclaredTechnologies(technologies, stack) {
|
|
148
159
|
const out = new Set();
|
|
149
160
|
for (const t of technologies) {
|
|
@@ -153,11 +164,8 @@ export function normalizeDeclaredTechnologies(technologies, stack) {
|
|
|
153
164
|
}
|
|
154
165
|
// `stack` é texto livre: só conta quando traz um valor do vocabulário como TOKEN
|
|
155
166
|
// exacto — normalizar o declarado é legítimo, adivinhar prosa não.
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
if (token in TECHNOLOGY_TO_CHAPTERS || token === SES008_TECHNOLOGY)
|
|
159
|
-
out.add(token);
|
|
160
|
-
}
|
|
167
|
+
for (const token of stackTokensFromVocabulary(stack))
|
|
168
|
+
out.add(token);
|
|
161
169
|
return [...out].sort();
|
|
162
170
|
}
|
|
163
171
|
function declaredActivatorsOf(input, technologies) {
|
|
@@ -182,13 +190,16 @@ function hasAnyDeclaration(d) {
|
|
|
182
190
|
* Os candidatos saem do mesmo motor lexical do `discover` — mas aqui não seleccionam
|
|
183
191
|
* nada: são uma proposta ao LLM, que é quem tem o contexto para confirmar.
|
|
184
192
|
*/
|
|
185
|
-
function buildNeedsInput(input, declared) {
|
|
193
|
+
function buildNeedsInput(input, declared, inert = []) {
|
|
186
194
|
const exploratory = activate({ ...input, concerns: [] }, { declaredOnly: false });
|
|
187
195
|
const suggested = [...new Set(exploratory.concerns.map(String))].sort();
|
|
188
196
|
const exampleConcerns = suggested.slice(0, 3);
|
|
189
197
|
const level = input.risk_level ?? "L2";
|
|
190
198
|
return {
|
|
191
|
-
reason:
|
|
199
|
+
reason: inert.length > 0
|
|
200
|
+
? `Declarações recebidas mas INERTES: ${inert.join("; ")} — são valores válidos do vocabulário que não activam nada (estão publicados como \`activates: []\`). Zero requisitos não é uma resposta: declara pelo menos um activador com efeito (concerns, exposure authenticated/public, data_sensitivity personal/regulated/secrets, technologies ou changed_files).`
|
|
201
|
+
: "Nenhum activador DECLARADO nesta chamada. O servidor não interpreta prosa: não adivinha o âmbito a partir do `task`, e não devolve zero em silêncio. Declara o que a tua leitura do pedido justifica — tu tens o contexto (código, ticket, conversa) que o servidor nunca terá.",
|
|
202
|
+
...(inert.length > 0 ? { inert_declarations: inert } : {}),
|
|
192
203
|
declared,
|
|
193
204
|
vocabulary_resource: "sbd://toe/activation-vocabulary",
|
|
194
205
|
candidates_to_confirm: {
|
|
@@ -220,32 +231,6 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
220
231
|
role: "recorded_context",
|
|
221
232
|
affects_selection: mode === "discover",
|
|
222
233
|
};
|
|
223
|
-
// Sem NADA declarado no caminho declarativo: pedido de declaração, não resultado.
|
|
224
|
-
// (Em `baseline` o chamador pediu explicitamente a baseline do nível — segue.)
|
|
225
|
-
if (mode === "declarative" && !hasAnyDeclaration(declared)) {
|
|
226
|
-
const ontologyForEmpty = getOntologyData();
|
|
227
|
-
const eligible = ontologyForEmpty.requirements.filter((r) => r.type === "base" && r.applicable_levels?.[level] === true).length;
|
|
228
|
-
return {
|
|
229
|
-
risk_level: level,
|
|
230
|
-
eligible_count: eligible,
|
|
231
|
-
selected: [],
|
|
232
|
-
narrowed_out: [],
|
|
233
|
-
excluded_by_level: [],
|
|
234
|
-
basis_summary: { declared: 0, lexical_only: 0, lexical_share: 0 },
|
|
235
|
-
lexical_dominance_warning: null,
|
|
236
|
-
empty_selection_warning: null,
|
|
237
|
-
activated_chapters: [],
|
|
238
|
-
activated_categories: [],
|
|
239
|
-
activation,
|
|
240
|
-
input,
|
|
241
|
-
notes: [
|
|
242
|
-
"needs_input: nenhuma declaração recebida — o servidor responde ao declarado e não interpreta o `task` (modo declarativo, contrato v1.18-beta).",
|
|
243
|
-
],
|
|
244
|
-
mode,
|
|
245
|
-
needs_input: buildNeedsInput(input, declared),
|
|
246
|
-
task_record: taskRecord,
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
234
|
const ontology = getOntologyData();
|
|
250
235
|
const atLevel = (r) => r.applicable_levels?.[level] === true;
|
|
251
236
|
const activatedChapters = activateChapters(input, technologies, activation);
|
|
@@ -272,6 +257,47 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
272
257
|
: [];
|
|
273
258
|
// `mode: "baseline"` — pedido EXPLÍCITO da baseline do nível (nunca fallback).
|
|
274
259
|
const baselineMode = mode === "baseline";
|
|
260
|
+
// ── P1-A (0.20.0-beta.22): a guarda anti-zero indexa-se à ACTIVAÇÃO PRODUZIDA,
|
|
261
|
+
// não à presença de campos. `exposure=local` + `data_sensitivity=low` são
|
|
262
|
+
// declarações VÁLIDAS e INERTES: davam selected:[] sem aviso — o mesmo ponto cego
|
|
263
|
+
// do empty_selection_warning noutra roupa. Qualquer caminho que não active nada
|
|
264
|
+
// responde needs_input, e diz QUAIS declarações foram inertes.
|
|
265
|
+
if (mode === "declarative" && activatedCategories.size === 0 && activatedChapters.length === 0) {
|
|
266
|
+
const inert = [];
|
|
267
|
+
if (declared.exposure !== undefined && (EXPOSURE_ACTIVATION[declared.exposure] ?? []).length === 0)
|
|
268
|
+
inert.push(`exposure="${declared.exposure}"`);
|
|
269
|
+
if (declared.data_sensitivity !== undefined && (SENSITIVITY_ACTIVATION[declared.data_sensitivity] ?? []).length === 0)
|
|
270
|
+
inert.push(`data_sensitivity="${declared.data_sensitivity}"`);
|
|
271
|
+
if (declared.technologies.length === 0 && input.stack)
|
|
272
|
+
inert.push(`stack="${input.stack}" (nenhum token do vocabulário)`);
|
|
273
|
+
// 3ª instância da mesma classe (apanhada pelo cenário TC-F-27): caminhos declarados
|
|
274
|
+
// que não casam nenhum padrão da tabela publicada activam zero — dizê-lo é o que
|
|
275
|
+
// separa «não conheço estes caminhos» de «não há nada a aplicar».
|
|
276
|
+
if (declared.changed_files.length > 0)
|
|
277
|
+
inert.push(`changed_files=[${declared.changed_files.slice(0, 3).join(", ")}${declared.changed_files.length > 3 ? ", …" : ""}] (nenhum caminho casou a tabela de padrões publicada em sbd://toe/activation-vocabulary)`);
|
|
278
|
+
return {
|
|
279
|
+
risk_level: level,
|
|
280
|
+
eligible_count: baselineEligible.length,
|
|
281
|
+
selected: [],
|
|
282
|
+
narrowed_out: [],
|
|
283
|
+
excluded_by_level: [],
|
|
284
|
+
basis_summary: { declared: 0, lexical_only: 0, lexical_share: 0 },
|
|
285
|
+
lexical_dominance_warning: null,
|
|
286
|
+
empty_selection_warning: null,
|
|
287
|
+
activated_chapters: [],
|
|
288
|
+
activated_categories: [],
|
|
289
|
+
activation,
|
|
290
|
+
input,
|
|
291
|
+
notes: [
|
|
292
|
+
inert.length > 0
|
|
293
|
+
? `needs_input: as declarações recebidas são VÁLIDAS mas INERTES (${inert.join("; ")}) — não activam categorias nem capítulos. Zero requisitos não é resposta.`
|
|
294
|
+
: "needs_input: nenhuma declaração activou categorias ou capítulos — o servidor responde ao declarado e não interpreta o `task`."
|
|
295
|
+
],
|
|
296
|
+
mode,
|
|
297
|
+
needs_input: buildNeedsInput(input, declared, inert),
|
|
298
|
+
task_record: taskRecord,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
275
301
|
// Layer 2 — narrowing into the two declared bands.
|
|
276
302
|
const selected = [];
|
|
277
303
|
const narrowedByCategory = new Map();
|
|
@@ -401,6 +427,18 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
401
427
|
let ses008Applied = false;
|
|
402
428
|
const ses008Declared = technologies.includes(SES008_TECHNOLOGY);
|
|
403
429
|
const ses008Triggered = declarative ? ses008Declared : SES008_TECH_PATTERN.test(input.task ?? "");
|
|
430
|
+
// P1-E (0.20.0-beta.22): a regra é PUBLICADA no vocabulário — tem de deixar rasto,
|
|
431
|
+
// senão SES-008 entra e o auditor não distingue a regra da activação por exposure.
|
|
432
|
+
if (declarative && ses008Declared) {
|
|
433
|
+
activation.trace.push({
|
|
434
|
+
source: "named_rule",
|
|
435
|
+
produced: "SES-008",
|
|
436
|
+
trigger: SES008_TECHNOLOGY,
|
|
437
|
+
score: 0.95,
|
|
438
|
+
confidence: "deterministic",
|
|
439
|
+
reason: `regra NOMEADA ${SES008_RULE_ID} accionada por tecnologia declarada '${SES008_TECHNOLOGY}' (publicada em sbd://toe/activation-vocabulary): SES-008 entra a qualquer nível`
|
|
440
|
+
});
|
|
441
|
+
}
|
|
404
442
|
if (ses008Triggered && !selected.some((s) => s.requirement_id === "SES-008")) {
|
|
405
443
|
const r = ontology.requirements.find((x) => x.requirement_id === "SES-008");
|
|
406
444
|
if (r) {
|
|
@@ -513,6 +551,50 @@ export function runSelectionWithActivation(input, activation, technologiesRaw =
|
|
|
513
551
|
? `${R2_RULE_ID} (decisão pós-P2 2026-08-31): sem sinais de sessão/login/token de utilizador na tarefa, SES-* sai por narrowing declarado (o concernsMap do loader mantém auth → [AUT, ACC, SES]); com esses sinais na tarefa, fica`
|
|
514
552
|
: `elegível na baseline ${level} (cap. 02) sem sinal na tarefa/contexto — exclusão SENSÍVEL À REDACÇÃO da tarefa (não é regra de domínio): reescrever a frase ou declarar concerns explícitos pode trazê-la de volta; nunca em silêncio`,
|
|
515
553
|
}));
|
|
554
|
+
// ── P1-A (2ª instância, apanhada pela INVARIANTE): as declarações activaram
|
|
555
|
+
// categorias/capítulos, mas o filtro de NÍVEL esvaziou a selecção (ex.: `privacy`
|
|
556
|
+
// ou `threat_modeling` em L1). Continua a ser zero — logo continua a ser
|
|
557
|
+
// needs_input, agora com a explicação certa: o problema é o nível, não a falta de
|
|
558
|
+
// declaração. A banda excluded_by_level vai junto: é a prova do que existe noutro
|
|
559
|
+
// nível. Nunca zero em silêncio, qualquer que seja o caminho.
|
|
560
|
+
if (mode === "declarative" && selected.length === 0) {
|
|
561
|
+
const otherLevels = LEVELS.filter((other) => other !== level).filter((other) => ontology.requirements.some((r) => activatedCategories.has(r.category) && r.applicable_levels?.[other] === true));
|
|
562
|
+
const ni = buildNeedsInput(input, declared, []);
|
|
563
|
+
return {
|
|
564
|
+
risk_level: level,
|
|
565
|
+
eligible_count: baselineEligible.length + domainEligible.length,
|
|
566
|
+
selected: [],
|
|
567
|
+
narrowed_out: [],
|
|
568
|
+
excluded_by_level,
|
|
569
|
+
basis_summary: { declared: 0, lexical_only: 0, lexical_share: 0 },
|
|
570
|
+
lexical_dominance_warning: null,
|
|
571
|
+
empty_selection_warning: null,
|
|
572
|
+
activated_chapters: activatedChapters,
|
|
573
|
+
activated_categories: [...activatedCategories].sort(),
|
|
574
|
+
activation,
|
|
575
|
+
input,
|
|
576
|
+
notes: [
|
|
577
|
+
`needs_input: as declarações ACTIVARAM ${activatedCategories.size} categoria(s) e ${activatedChapters.length} capítulo(s), mas nenhum requisito dessas categorias se aplica a ${level} — a banda excluded_by_level mostra o que existe (e onde).`
|
|
578
|
+
],
|
|
579
|
+
mode,
|
|
580
|
+
needs_input: {
|
|
581
|
+
...ni,
|
|
582
|
+
reason: `As declarações são válidas e activaram categorias, mas o filtro de NÍVEL deixou a selecção vazia em ${level}` +
|
|
583
|
+
(otherLevels.length > 0
|
|
584
|
+
? `: os requisitos dessas categorias existem em ${otherLevels.join("/")}. Declara o nível certo para o contexto, ou declara também outras categorias — a exigência escala com o nível, o capítulo nunca se exclui.`
|
|
585
|
+
: ". Nenhum requisito publicado dessas categorias está activo em nenhum nível — vê excluded_by_level e o vocabulário.") +
|
|
586
|
+
" Zero requisitos não é uma resposta.",
|
|
587
|
+
...(excluded_by_level.length > 0
|
|
588
|
+
? {
|
|
589
|
+
inert_declarations: [
|
|
590
|
+
`nível ${level}: ${excluded_by_level.reduce((n, g) => n + g.count, 0)} requisito(s) das categorias declaradas ficam fora por applicable_levels`
|
|
591
|
+
]
|
|
592
|
+
}
|
|
593
|
+
: {})
|
|
594
|
+
},
|
|
595
|
+
task_record: taskRecord,
|
|
596
|
+
};
|
|
597
|
+
}
|
|
516
598
|
const notes = [];
|
|
517
599
|
if (r1Added > 0) {
|
|
518
600
|
notes.push(`${R1_RULE_ID}: ${r1Added} requisitos do principal não-humano seleccionados por regra nomeada (decisão pós-P2 2026-08-31).`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/serving/selection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/serving/selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,7 +93,13 @@ export interface PrepareCodegenContextInput {
|
|
|
93
93
|
export type PrepareCodegenStatus = "ready_for_codegen" | "needs_clarification" | "needs_input" | "needs_decomposition" | "unsupported_scope";
|
|
94
94
|
export interface ActivationTraceEntry {
|
|
95
95
|
/** Triggered by: explicit concern, task term, changed file, framework hint, semantic alias, compound term, or intent keyword. */
|
|
96
|
-
source: "explicit_concern" | "task_term"
|
|
96
|
+
source: "explicit_concern" | "task_term"
|
|
97
|
+
/** 0.20.0-beta.22: mapeamento determinístico concern → slice family (era `task_term` órfão). */
|
|
98
|
+
| "concern_slice_mapping"
|
|
99
|
+
/** 0.20.0-beta.22: token exacto do vocabulário fechado encontrado no `stack` declarado. */
|
|
100
|
+
| "stack_token"
|
|
101
|
+
/** 0.20.0-beta.22: regra NOMEADA accionada por tecnologia declarada (ex.: SES-008-por-tecnologia). */
|
|
102
|
+
| "named_rule" | "compound_term" | "alias_expansion" | "intent_keyword" | "changed_file" | "regulatory_framework" | "risk_level" | "exposure" | "data_sensitivity" | "context_chapter" | "scope_gate";
|
|
97
103
|
/** What the activation produced (concern, slice_family, framework_id, decision). */
|
|
98
104
|
produced: string;
|
|
99
105
|
/** The literal token or input that triggered the activation. */
|
|
@@ -33,7 +33,7 @@ import { servedKgReleaseTag } from "../version-info.js";
|
|
|
33
33
|
import { expandQueryWithAliases } from "../backend/semantic-index-gateway.js";
|
|
34
34
|
import { requirementCategoryOf } from "../serving/requirement-id.js";
|
|
35
35
|
import { prepareCodegenAffordances } from "../serving/affordances.js";
|
|
36
|
-
import {
|
|
36
|
+
import { runSelectionWithActivation, normalizeDeclaredTechnologies, stackTokensFromVocabulary } from "../serving/selection.js";
|
|
37
37
|
import { REQUIREMENT_CEILING_BY_DETAIL, COST_PER_REQ_TK, BASE_TK, PAYLOAD_PROMISE_TK, projectedCostTk } from "../serving/payload-ceilings.js";
|
|
38
38
|
const EVIDENCE_PATTERN_CAP = 25;
|
|
39
39
|
/**
|
|
@@ -760,7 +760,11 @@ export function activate(input, options = {}) {
|
|
|
760
760
|
sliceFamilyScores.set(family, score);
|
|
761
761
|
}
|
|
762
762
|
trace.push({
|
|
763
|
-
|
|
763
|
+
// 0.20.0-beta.22 (P2-A): isto NUNCA foi um termo da tarefa — é o mapeamento
|
|
764
|
+
// determinístico concern → slice family. A etiqueta `task_term` era órfã do
|
|
765
|
+
// motor lexical e aparecia mesmo com `task` vazio. Em `discover` o task_term
|
|
766
|
+
// legítimo (casamento de palavras) mantém-se; aqui a fonte diz o que é.
|
|
767
|
+
source: declaredOnly ? "concern_slice_mapping" : "task_term",
|
|
764
768
|
produced: family,
|
|
765
769
|
trigger: concern,
|
|
766
770
|
score,
|
|
@@ -797,6 +801,22 @@ export function activate(input, options = {}) {
|
|
|
797
801
|
}, concern, { capDuplicates: true });
|
|
798
802
|
}
|
|
799
803
|
}
|
|
804
|
+
// 5-pre) 0.20.0-beta.22 (P1-D): o `stack` é a ÚNICA leitura de texto que resta no
|
|
805
|
+
// caminho declarativo (token EXACTO de um conjunto fechado — normalizar o declarado).
|
|
806
|
+
// Deixava de fora o rasto: os capítulos apareciam sem que o auditor pudesse ver
|
|
807
|
+
// porquê. Agora cada token reconhecido emite a sua entrada.
|
|
808
|
+
if (declaredOnly && input.stack) {
|
|
809
|
+
for (const token of stackTokensFromVocabulary(input.stack)) {
|
|
810
|
+
trace.push({
|
|
811
|
+
source: "stack_token",
|
|
812
|
+
produced: token,
|
|
813
|
+
trigger: "stack",
|
|
814
|
+
score: 0.9,
|
|
815
|
+
confidence: "deterministic",
|
|
816
|
+
reason: `token exacto de \`technologies\` encontrado em \`stack\`: '${token}' (normalização de valor declarado; o texto livre à volta é ignorado)`
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
}
|
|
800
820
|
// 5) Risk level (informational trace entry, no concern activation).
|
|
801
821
|
if (input.risk_level) {
|
|
802
822
|
trace.push({
|
|
@@ -2186,21 +2206,9 @@ function prepareCodegenContextCore(raw) {
|
|
|
2186
2206
|
input.data_sensitivity !== undefined ||
|
|
2187
2207
|
input.changed_files.length > 0 ||
|
|
2188
2208
|
declaredTechnologies.length > 0;
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
return blocked(input, raw, "needs_input", [
|
|
2193
|
-
"Nenhum activador DECLARADO nesta chamada (concerns/exposure/data_sensitivity/technologies/changed_files).",
|
|
2194
|
-
"Contrato v1.18-beta: o servidor responde ao declarado e NÃO interpreta o `task` — que fica registado para auditoria."
|
|
2195
|
-
], [
|
|
2196
|
-
`Lê o vocabulário fechado: read_sbd_toe_resource(uri="sbd://toe/activation-vocabulary").`,
|
|
2197
|
-
`Re-chama declarando, por exemplo: ${ni?.example.with ?? 'risk_level="L2", concerns=[auth, logging]'}.`,
|
|
2198
|
-
...(ni && ni.candidates_to_confirm.from_task_text.length > 0
|
|
2199
|
-
? [`SUGESTÃO A CONFIRMAR (não é selecção), derivada do texto: [${ni.candidates_to_confirm.from_task_text.join(", ")}] — confirma e declara.`]
|
|
2200
|
-
: []),
|
|
2201
|
-
`Queres o comportamento inferencial antigo? selection_mode="discover" (exploratório).`
|
|
2202
|
-
], []);
|
|
2203
|
-
}
|
|
2209
|
+
// P1-A (0.20.0-beta.22): a decisão de needs_input é UMA e vive no motor — indexada
|
|
2210
|
+
// à activação produzida, não à presença de campos. O prepare reage ao veredicto
|
|
2211
|
+
// (abaixo, depois de correr a selecção), em vez de ter a sua própria regra.
|
|
2204
2212
|
const activation = activate(input, { declaredOnly: declarativeSelection });
|
|
2205
2213
|
// (c) The scope gate measures the request's FOCUS, not its full semantic
|
|
2206
2214
|
// expansion: explicit concerns when given, else the concerns activated by
|
|
@@ -2222,6 +2230,21 @@ function prepareCodegenContextCore(raw) {
|
|
|
2222
2230
|
// MP1 selection (G-mp1a O2): the engine composes baseline ∪ context and narrows
|
|
2223
2231
|
// by the task's declared signals — this is the requirement set served.
|
|
2224
2232
|
const selection = runSelectionWithActivation(input, activation, selectionMode === "discover" ? (raw.technologies ?? []) : declaredTechnologies, selectionMode);
|
|
2233
|
+
if (selection.needs_input) {
|
|
2234
|
+
const ni = selection.needs_input;
|
|
2235
|
+
return blocked(input, raw, "needs_input", [
|
|
2236
|
+
ni.reason,
|
|
2237
|
+
"Contrato v1.18-beta: o servidor responde ao declarado e NÃO interpreta o `task` — que fica registado para auditoria."
|
|
2238
|
+
], [
|
|
2239
|
+
`Lê o vocabulário fechado: read_sbd_toe_resource(uri="${ni.vocabulary_resource}").`,
|
|
2240
|
+
`Re-chama declarando, por exemplo: ${ni.example.with}.`,
|
|
2241
|
+
...(ni.candidates_to_confirm.from_task_text.length > 0
|
|
2242
|
+
? [`SUGESTÃO A CONFIRMAR (não é selecção), derivada do texto: [${ni.candidates_to_confirm.from_task_text.join(", ")}] — confirma e declara.`]
|
|
2243
|
+
: []),
|
|
2244
|
+
...(ni.inert_declarations?.length ? [`Declarações inertes nesta chamada: ${ni.inert_declarations.join("; ")}.`] : []),
|
|
2245
|
+
`Queres o comportamento inferencial antigo? selection_mode="discover" (exploratório).`
|
|
2246
|
+
], activation.trace);
|
|
2247
|
+
}
|
|
2225
2248
|
const estimatedRequirements = selection.selected.length;
|
|
2226
2249
|
// 0.19.4 («a promessa do minimal», lead opção 2): tecto de requisitos por-id
|
|
2227
2250
|
// por nível de detail, derivado da medição (~68 tk/req min/std, ~29 ultrathin)
|