{
  "_note": "B2 Decision Intelligence policy — §28 materiality weights, band thresholds, token detectors, and routine ceiling (BIZ-0001 / WF-0037 / ADR-0125). Editing any weight or threshold is an ADR act (constitution §9). Modules: runtime/execution/materiality-score.mjs, runtime/execution/decision-need-classifier.mjs.",
  "schemaVersion": 1,

  "materialityWeights": {
    "_note": "Additive integer weights per §28 TABLE 4. One signal per key.",
    "publicContractChange":  5,
    "breakingChange":        5,
    "crossCuttingArch":      5,
    "dataMigration":         5,
    "authChange":            5,
    "invariantChange":       5,
    "materialCompliance":    5,
    "newBoundary":           4,
    "newPersistence":        4,
    "structuralVendor":      4,
    "complexRollout":        4,
    "expensiveReversal":     4,
    "multiTeam":             3,
    "reusableStandard":      3,
    "importantPerf":         3,
    "localReversible":       0,
    "coveredByAcceptedAdr": -10
  },

  "materialityBands": {
    "_note": "§28 TABLE 4 bands. required: score >= 8; recommended: 4 <= score < 8; none: score < 4.",
    "required":    8,
    "recommended": 4,
    "none":        0
  },

  "routineCeilingDefault": 3,

  "regulatedDomains": ["lgpd", "fintech", "healthcare"],

  "materialKinds": [
    "ARCHITECTURE",
    "POLICY",
    "COMPLIANCE",
    "BUSINESS_AUTHORIZATION",
    "OPERATION_AUTHORIZATION",
    "LIFECYCLE"
  ],

  "publicContractTokens": [
    "public api", "public contract", "exported interface", "external api",
    "breaking api", "api version", "public surface", "client-facing",
    "api pública", "api publica", "contrato público", "contrato publico",
    "interface exportada", "api externa", "superfície pública", "superficie publica"
  ],

  "breakingTokens": [
    "breaking change", "breaking-change", "semver major", "incompatible change",
    "backward incompatible", "non-backward-compatible",
    "quebra de compatibilidade", "mudança incompatível", "mudanca incompativel"
  ],

  "crossCuttingArchTokens": [
    "cross-cutting", "cross cutting", "kit-wide", "platform-wide",
    "across modules", "across the repo", "fleet", "foundation",
    "architectural change", "cross-module",
    "entre módulos", "entre modulos", "entre o repositório", "entre o repositorio",
    "fundação", "fundacao", "mudança arquitetural", "mudanca arquitetural"
  ],

  "dataMigrationTokens": [
    "data migration", "schema migration", "migrate data", "database migration",
    "db migration", "migrate the database", "schema change", "drop column",
    "alter table", "data model change", "migrate schema",
    "migração de dados", "migracao de dados", "migração de esquema", "migracao de esquema",
    "migrar dados", "migração do banco de dados", "migracao do banco de dados",
    "migrar o banco de dados", "migrar esquema"
  ],

  "authTokens": [
    "authentication", "authorization", "auth", "oauth", "jwt", "permissions",
    "access control", "rbac", "roles and permissions", "security policy",
    "credential", "login", "sso",
    "autenticação", "autenticacao", "autorização", "autorizacao",
    "permissões", "permissoes", "credencial"
  ],

  "invariantTokens": [
    "invariant", "constraint", "integrity rule", "business rule", "domain rule",
    "protocol change", "contract change", "interface contract",
    "invariante", "restrição", "restricao", "regra de negócio", "regra de negocio",
    "regra de domínio", "regra de dominio"
  ],

  "materialComplianceTokens": [
    "compliance", "lgpd", "gdpr", "hipaa", "pci", "regulatory", "fintech",
    "audit trail", "data protection", "legal requirement",
    "conformidade", "regulatório", "regulatorio", "trilha de auditoria",
    "proteção de dados", "protecao de dados", "requisito legal"
  ],

  "newBoundaryTokens": [
    "new module", "new service", "new package", "module boundary",
    "service boundary", "new component", "new subsystem", "new plugin",
    "new layer",
    "novo módulo", "novo modulo", "novo serviço", "novo servico",
    "novo componente", "novo subsistema", "nova camada"
  ],

  "persistenceTokens": [
    "new database", "new storage", "persistence layer", "data store",
    "database engine", "storage strategy", "new orm", "cache layer",
    "persistence strategy",
    "novo banco de dados", "novo armazenamento", "camada de persistência",
    "camada de persistencia"
  ],

  "vendorTokens": [
    "new dependency", "third-party", "vendor", "external library",
    "new library", "npm package", "sdk integration", "third party",
    "external service",
    "nova dependência", "nova dependencia", "biblioteca externa", "terceiros"
  ],

  "rolloutTokens": [
    "feature flag", "rollout", "canary", "phased release", "gradual rollout",
    "rollback plan", "deployment strategy", "release strategy",
    "implantação", "implantacao", "lançamento gradual", "lancamento gradual",
    "plano de rollback"
  ],

  "reversalTokens": [
    "irreversible", "one-way", "cannot revert", "no rollback", "permanent change",
    "data deletion", "delete data", "drop table", "expensive reversal",
    "difficult to revert", "hard to undo", "rewrite", "replace",
    "irreversível", "irreversivel", "reescrever", "substituir",
    "mudança permanente", "mudanca permanente", "exclusão de dados", "exclusao de dados"
  ],

  "multiTeamTokens": [
    "multiple teams", "multi-team", "across teams", "cross-team", "cross-product",
    "multiple products", "team coordination", "shared service", "platform team",
    "inter-team",
    "várias equipes", "varias equipes", "entre equipes", "entre produtos",
    "coordenação de equipe", "coordenacao de equipe"
  ],

  "reusableStandardTokens": [
    "new standard", "reusable pattern", "shared pattern", "common library",
    "design pattern", "coding standard", "best practice", "template",
    "reusable component", "shared library",
    "novo padrão", "novo padrao", "padrão reutilizável", "padrao reutilizavel",
    "boa prática", "boa pratica", "biblioteca compartilhada"
  ],

  "perfTokens": [
    "performance", "latency", "throughput", "scalability", "performance trade-off",
    "performance impact", "optimization", "memory usage", "cpu usage",
    "benchmark", "perf regression",
    "desempenho", "otimização", "otimizacao", "escalabilidade",
    "uso de memória", "uso de memoria"
  ],

  "emergencyEnvelope": {
    "_note": "K2 EMERGENCY_GOVERNANCE fires ONLY on these token groups (design §6).",
    "restoreSafety": ["revert", "rollback", "restore", "roll back", "reverter", "restaurar"],
    "productionHotfix": ["hotfix", "production incident", "prod down", "outage", "incidente em produção", "incidente em producao", "produção fora do ar", "producao fora do ar", "queda"],
    "updaterSafety": ["updater", "--update", "defer update", "atualizador", "adiar atualização", "adiar atualizacao"]
  },

  "lifecycleTokens": [
    "supersede", "deprecate", "transfer ownership", "replace adr",
    "substituir adr", "descontinuar", "depreciar", "transferir propriedade"
  ]
}
