Skip to content

Cribado de políticas (Bhutan GNH + NZ LSF + Humphrey) ​

Rubrica publicada del cribado determinista que alimenta recommend_action (server/chat/policy-screen.ts).

Qué hace ​

Puntúa un texto de propuesta (o el pitch de un piloto) contra:

  1. Los 10 ejes del atlas (salud…gobernanza-democrática).
  2. Los capitales intergeneracionales estilo NZ LSF (natural, human, social, financial, physical, cultural).
  3. Una lectura Humphrey de “¿qué se mueve y para quién?”, hoy: tono positive / negative / mixed / neutral por eje, sin inventar cifras.

Reglas ​

  • Matching por límite de palabra (desempleo no coincide con empleo).
  • Keywords por eje: no se infiere el tono de celdas ambientales del país.
  • Tokens de producto (cribado, LatamGPT) no se tratan como geografía (Costa Rica / CRI).
  • human_override_required: true y export_allowed: false siempre: un humano debe autorizar cualquier exportación del cribado.
  • Determinista y aceptable; no es un LLM.

Onde vive ​

  • Código: server/chat/policy-screen.ts (+ testes).
  • Consumo: o campo policy_screen na resposta de recommend_action.
  • API: POST /api/policy-screen com { "proposal": "…" }. Corpo limitado a 16 KB (413 body_too_large acima disso); JSON inválido → 400 parse_error; maxDuration de 10 s. proposal precisa ser uma string não vazia. Qualquer outro tipo JSON (objeto, array, número, booleano) devolve 400 proposal_required: não é convertido em texto ("[object Object]") nem avaliado como se fosse uma proposta real. A própria proposta é limitada a 8.000 caracteres. Acima disso, são avaliados os primeiros 8.000 e a resposta traz truncated: true, para que quem chama saiba que o veredito cobre apenas parte do seu documento; truncar em silêncio um documento de política mudaria o resultado do cribado sem avisar ninguém, e é por isso que a bandeira existe.
  • Superfície humana: /governance/cribado (demo com eixos mistos + anulação humana para exportar).

Cada número com sua fonte — a rastreabilidade é o contrato.